1.文本分类训练数据收集无监督收集训练抽取
优采云 发布时间: 2021-08-14 06:10
1.文本分类训练数据收集无监督收集训练抽取
1.文本分类训练数据集
无监督采集训练数据毫无意义。目前的无监督方法主要是抓取网页数据,将网页文本标签视为类别,然后利用现有的分类器或相似性度量来确定是否将网页文本添加到训练数据集中。这种方法对于训练数据集中有足够数据的类别更有效。对于数据不多的类别,无论是分类预测的概率值还是相似度计算的值都不会太高,所以大部分爬取的文本还是会被过滤掉,失去了扩展数据的目的。
这个文章给出了一些训练数据的下载地址。如发现链接需要付费或失效,请留言删除。
baiziyu:文本分类语料库
文章专栏里的文章这么多,但是上面文章没有人喜欢。我不知道每个人都在做什么。他们每天都在研究算法,对吧?我连语料都没有,谈什么算法,别跟我说,就用上千条数据做实验。
2. category关键词extraction
类别关键词提取最有效的方法是统计词的TF值和IDF值,然后保留高频词,去除难以区分的词。当然,手工筛选的过程还是必要的。查看实现脚本
辅助关键词抽取方法是对一个类别下的文本进行KMeans聚类,将聚类后得到的每个聚类的特征词作为类别关键词。查看实现脚本
3. category关键词extension
当你拥有一定数量的类别关键词后,你可以扩展关键词以获得更多类别关键词。扩展关键词的方法和扩展训练语料的思路是一样的,但是这里我们只能使用相似度度量的方法。使用的技术是单程。主要步骤是:
(1)每个类别中的关键词矢量化
(2)将每个类别中的关键词向量相加并求平均值得到每个类别的向量
(3)使用类别向量检索词嵌入模型中最相似的词。这里需要注意相似度阈值不要设置得太低,同时为了准确度,可以手动过滤和检索相似词。关于相似度词检索,参见百子瑜:文本分类5天征服你——第一天词嵌入和文本向量空间模型
想要了解更多类关键词extension的小伙伴可以阅读这个文章baiziyu:Single-Pass关键词extension
4. HanLP 分词系统添加新词
(1)HanLP 分类模块的分词器使用了基于viterbi算法的实词分词器,具体可以参考这个文章baiziyu:HanLP-分词器的分类模块
(2)HanLP分词的详细过程请参考百子瑜:HanLP-停用词表的使用
(3)自定义用户词汇请参考baiziyu:HanLP-自定义用户词汇,baiziyu:HanLP-停止词汇的使用
5.各类当前数据净化
数据净化对于文本分类系统的效果尤为重要。很多时候我们在分类系统效果特别低(准确率低于70%)的时候,尝试了各种算法或者改进的方法,就必须直接从语料开始,因为准确率太低了,只能说明类别在主题上重叠。这时候对各个类别下的数据进行净化就显得非常重要了。存在多个主题的文本,或同一主题的文本分散在多个类别中。
数据净化有两个步骤。第一步是过滤掉不属于某个类别的文本,第二步是将过滤后的文本放到合适的类别中。当数据充足时,直接过滤掉过滤后的文本即可,因为第二步很可能会让训练数据变得更乱。
当然,过滤文本的方式是使用类别关键词。如果文本收录超过 1 (2) 个类别关键词,则保留它,否则过滤。
另一种起次要作用的净化方法是将每个类别下的文本聚类,过滤掉小聚类中的文本。
6.品类系统的合理性验证
类别系统一般由用户指定。如果类别系统本身存在相似的类别,即同一主题有多个类别,则需要将类别合并,并采用分层分类系统。另一方面,如果一个类别收录多个主题,则需要将该类别划分为多个子类别。总而言之,对于一定级别的分类模型,类别的主题不能直接重叠,每个类别内的主题应该集中。
主要使用混淆矩阵。如果混淆矩阵的一列只有一个非零元素且该元素在对角线上,则说明对角线元素对应的类别是合适的,类别下的数据是纯的。
本节要录制的学习视频
结合5天的内容,搭建工业级多类别文本分类系统。