文本分类(Text2Cls)
功能:实现根据一段文本信息,定位Cls标签。
后端服务:
- 通过Neo4j搭建词汇谱图。
- 构建标签与词汇的标签树。
预处理:
- 文本挖掘:根据原始数据,对不同标签的文章内容进行实体提取,获得词汇集。
- 实现方案:
- 方式一:jieba、hanlp(提取名词)
- 方式二:自行构建更好的NER任务模型(BiLSTM-CRF、Bert-CRF),对领域内的数据集进行大量人工实体标注样本、训练模型,效果更佳。
- 实现方案:
- 文本挖掘:根据原始数据,对不同标签的文章内容进行实体提取,获得词汇集。
图谱录入:
- 将标签与实体 [Cls-(r:)-NE],录入Neo4j图谱中。
标签召回:
- 提取预测文本中的实体,match图谱类别标签。
匹配排序&消歧:
- 解释:可能有的实体同属多个标签下。
- 方式一:(基于实体频次判定)
- 实体词典:对匹配的实体统计频次,排序选择最高频次的标签。
- 方式二:(基于语义层面判定,构建分类模型)
- 关于模型:
- 1.fasttext:构建标签数量个多分类模型,准确率较高。分类快,简单。
- 关于样本:
- 正样本:当前标签类别中的文本句子
- 负样本:其他标签类别中的文本句子
- 关于样本:
- 2.bert:表征更好,速度慢,增加[CLS]标签,多分类。
- 3.xlnet:除了改进bert的缺点,还引入了transfomerXL的段循环,处理超长文本。
- 1.fasttext:构建标签数量个多分类模型,准确率较高。分类快,简单。
- 关于模型:
1
2图数据库:为了利用大型图数据库,使在线速度毫秒级。离线迭代出一个大型图数据库,可以满足很多问题。
分类模型:为了解决匹配歧义问题,若单纯使用标签频次,可能偏差。transfomer系列的模型预测慢,可能需要蒸馏到小型RNN。