对与命名实体识别,采取不同的标记方式,常见的标签方式包括IO、BIO、BMEWO和BMEWO+。其中一些标签含义是:
B:begin
I:一个词的后续成分
M:中间
E:结束
W:单个词作为实体
大部分情况下,标签体系越复杂准确度也越高,但相应的训练时间也会增加。因此需要根据实际情况选择合适的标签体系。通常我们实际应用过程中,最难解决的还是标注问题。所以在做命名实体识别时,要考虑人工成本问题。
5
英文处理
在NLP领域,中文和英文的处理在大的方面都是相通的,不过在细节方面会有所差别。其中一个方面,就是中文需要解决分词的问题,而英文天然的就没有这个烦恼;另外一个方面,英文处理会面临词形还原和词根提取的问题,英文中会有时态变换(made==>make),单复数变换(cats==>cat),词根提取(arabic==>arab)。
在处理上面的问题过程中,不得不提到的一个工具是WordNet。WordNet是一个由普林斯顿大学认识科学实验室在心理学教授乔治·A·米勒的指导下建立和维护的英语字典。在WordNet中,名词、动词、形容词和副词各自被组织成一个同义词的网络,每个同义词集合都代表一个基本的语义概念,并且这些集合之间也由各种关系连接。我们可以通过WordNet来获取同义词和上位词。
6
词嵌入
在处理文本过程中,我们需要将文本转化成数字可表示的方式。词向量要做的事就是将语言数学化表示。词向量有两种实现方式:One-hot 表示,即通过向量中的一维0/1值来表示某个词;词嵌入,将词转变为固定维数的向量。
word2vec 是使用浅层和双层神经网络产生生词向量的模型,产生的词嵌入实际上是语言模型的一个副产品,网络以词表现,并且需猜测相邻位置的输入词。word2vec中词向量的训练方式有两种,cbow(continuous bags of word)和skip-gram。cbow和skip-gram的区别在于,cbow是通过输入单词的上下文(周围的词的向量和)来预测中间的单词,而skip-gram是输入中间的单词来预测它周围的词。
7
文档建模
要使计算机能够高效地处理真实文本,就必须找到一种理想的形式化表示方法,这个过程就是文档建模。文档建模一方面要能够真实地反映文档的内容,另一方面又要对不同文档具有区分能力。文档建模比较通用的方法包括布尔模型、向量空间模型(VSM)和概率模型。其中最为广泛使用的是向量空间模型。
8
利用机器学习进行模型训练
文本分类的流程如图 所示,包括训练、文本语义、文本特征处理、训练模型、模型评估和输出模型等几个主要环节。其中介绍一下一些主要的概念。
文档建模:概率模型,布尔模型,VSM;
文本语义:分词,命名实体识别,词性标注等;
文本特征处理:特征降维,包括使用评估函数(TF-IDF,互信息方法,期望交叉熵,QEMI,统计量方法,遗传算法等);特征向量权值计算;
样本分类训练:朴素贝叶斯分类器,SVM,神经网络算法,决策树,Ensemble算法等;
模型评估:召回率,正确率,F-测度值;
输出模型。
9
向量空间模型
向量空间模型是常用来处理文本挖掘的文档建模方法。VSM概念非常直观——把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语义的相似度,直观易懂。
当文档被表示为文档空间的向量时,就可以通过计算向量之间的相似性来度量文档间的相似性。它的一些实现方式包括:
1)N-gram模型:基于一定的语料库,可以利用N-Gram来预计或者评估一个句子是否合理;
2)TF-IDF模型:若某个词在一篇文档中出现频率TF高,却在其他文章中很少出现,则认为此词具有很好的类别区分能力;
3)Paragraph Vector模型:其实是word vector的一种扩展。Gensim中的Doc2Vec 以及Facebook开源的Fasttext工具也是采取了这么一种思路,它们将文本的词向量进行相加/求平均的结果作为Paragraph Vector。
10
文本特征提取算法
目前大多数中文文本分类系统都采用词作为特征项,作为特征项的词称作特征词。这些特征词作为文档的中间表示形式,用来实现文档与文档、文档与用户目标之间的相似度计算 。如果把所有的词都作为特征项,那么特征向量的维数将过于巨大。有效的特征提取算法,不仅能降低运算复杂度,还能提高分类的效率和精度。
文本特征提取的算法包含下面三个方面:
1)从原始特征中挑选出一些最具代表文本信息的特征,例如词频、TF-IDF方法;
2)基于数学方法找出对分类信息共现比较大的特征,主要例子包括互信息法、信息增益、期望交叉熵和统计量方法;
3)以特征量分析多元统计分布,例如主成分分析(PCA)。
11
文本权重计算方法
特征权重用于衡量某个特征项在文档表示中的重要程度或区分能力的强弱。选择合适的权重计算方法,对文本分类系统的分类效果能有较大的提升作用。
特征权重的计算方法包括:
1) TF-IDF;
2) 词性;
3)标题;
4)位置;
5)句法结构;
6)专业词库;
7)信息熵;
8)文档、词语长度;
9)词语间关联;
10)词语直径;
11)词语分布偏差。
其中提几点,词语直径是指词语在文本中首次出现的位置和末次出现的位置之间的距离。词语分布偏差所考虑的是词语在文章中的统计分布。在整篇文章中分布均匀的词语通常是重要的词汇。
12
分类器设计
由于文本分类本身是一个分类问题,所以一般的模式分类方法都可以用于文本分类应用中。
常用分类算法的思路包括下面四种:
1)朴素贝叶斯分类器:利用特征项和类别的联合概率来估计文本的类别概率;
2)支持向量机分类器:在向量空间中找到一个决策平面,这个平面能够最好的切割两个分类的数据点,主要用于解决二分类问题;
3)KNN方法:在训练集中找到离它最近的k个临近文本,并根据这些文本的分类来给测试文档分类;
4)决策树方法:将文本处理过程看作是一个等级分层且分解完成的复杂任务。
13
分类算法融合
聚合多个分类器,提高分类准确率称为Ensemble方法。
利用不同分类器的优势,取长补短,最后综合多个分类器的结果。Ensemble可设定目标函数(组合多个分类器),通过训练得到多个分类器的组合参数(并非简单的累加或者多数)。