电商领域中有关物流评价中文分词的研究∗

2019-11-29 05:14钟静晨祁云嵩
计算机与数字工程 2019年11期
关键词:分词词典物流

钟静晨 祁云嵩

(江苏科技大学计算机学院 镇江 212003)

1 引言

中文分词对中文信息处理来说是第一要务,也可以说是自然语言处理的首要任务[1],在机器翻译[2]、信息检索[3]、文本挖掘[4]等中发挥着重要的作用。英文与中文之间存在的显著区别在于:英语中存在“单词”这一概念,空格成为了单词与单词之间的自然分隔符,而中文文本中却没有“单词”这一概念,这造成了机器理解变得很困难[5]。在中文文本中只有句子和段落能够通过标点符号或换行来简单划界,但在“词”这一方面,却缺少一个直观的分隔符。读者们只能从句子的含义中大概判定词间的距离,却无法从形式上对句子采取精准的切割。中文分词指的是将一个句子或者一段话切分成可以独立存在的词语,也就是凭借特定的规则与方法把连续成句的中文序列重新切割成词语序列的过程。因为传统分析过程的前提就是中文分词,因此倘若中文分词不能达到一定的准确率,那么存在分词错误的整个语句都有可能不被接受,将直接对语义后续分析造成影响。

计算机进以追溯到20世纪80年代。我国第一个可以应用到实践上的中文自动分词系统是CDWS[6](Chinese Distinguishing Word System),这是中文自动分词的第一次尝试,具有重要的指导意义。目前为止,也已经有了相对来说比较成熟的中文分词系统,例如中科院张华平博士开发的ICTCLAS[7]系 统(Institute of Computing Technology,Chinese Lexical Analysis System),也被广泛叫做NLPIR汉语分词系统。可用来进行词性标注、中文分词、命名实体识别以及用户词典等功能,其支持的编码有UTF-8、BIG5 和GBK。该系统还新增了许多新的功能,如篇章语义理解、新词发现、关键词提取和微博分词,不仅分词精度和分词效率比较高,能够达到了98.45%的准确率,而且它的容量比较小,很具有科研参考意义。

另外,哈工大开发的计算机语言技术平台LTP[8],该系统包含了词性标注、中文分词、依存句法分析和命名实体识别等自然语言处理的重要部分,该系统的分词准确率达到了97.4%。用Java 语言开发的IKAnalyzer 使用的是基于词典与文法分析的分词方法,支持细粒度和智能分词这两种切分模式。目前为止,中文分词领域已经取得了不错的成果,在传统文本的分词上已经达到了比较理想的精准度。由于互联网时代的发展,人们对网络的依赖性变得越来越高,网络已经成为我们生活中必不可少的一部分,因此对网络文本进行中文分词显得越来越重要,由于网络文本与传统文本的差异性,如网络文本中存在着大量的热词和表情符号,这造成了传统的分词方法应用到网络文本的分词上的效果并不是很好,因此需要针对网络文本的特点,提出适合网络文本的分词方法,为下一步中文分词的研究工作指明了方向。

2 常用的分词方法

基于词典的分词方法、基于理解的分词方法以及基于统计的分词方法[9]是目前来说最为常见的三种分词方法。下面将对几种分词方法做介绍。

2.1 基于词典的分词方法

机械分词法是以一定的方法和手段把带切割的字符串与一个足够大的词典中的词条进行比对,如果在词典中能够找到待切分的词则匹配成功[10]。文本扫描顺序、分词词典和匹配原则是基于词典分词的三要素。按照扫描方向的不同,基于词典的分词方法有正向匹配和逆向匹配[11];按照不同长度优先匹配的情况,基于词库的分词方法有最长匹配和最短匹配。常用的几种分词法有:逆向最大匹配法、正向最大匹配法、双向最大匹配法、最少切分法。基于词典的分词方法的优点不但比较容易实现,而且还能够精准地切分出所有的在词典中存在的词。如图1 所示是基于词典的分词方法的流程图。

基于词典的分词方法虽然比较简单易实现,但是它的分词准确性和效率可能会受到词典容量的影响。词典的结构也会直接对词典的查询速度造成影响。此外,基于词典的分词方法不能很好地对未登录词以及歧义词进行识别,因此在实际应用中,研究人员利用索引表、哈希表以及后缀数组等结构来改造词典结构,并采用更高效的查询算法来加快词典的查询效率。

2.2 基于理解的分词方法

让计算机自动模拟人对语句的理解进行切分句子的方法就是基于理解的分词方法,从而能够达到对词语进行自动识别的目的[12]。基于理解的分词方法的基本思想就是一边进行中文分词一边分析文本句法和文本语义,通过上下文中句法所包含的信息和上下文的语义中所包含的信息来对处理文本中出现交叠歧义的现象。一般情况下分词子系统、句法语义子系统以及总控部分是基于理解的分词方法的三个部分。但由于中文的理解并不如英文理解那么简单,存在正话反说,反话正说以及各种句式交叠融合的情况,因此把各类语言信息组织成机器能直接读取的形式比较困难,并且到目前为止该方法仍旧存在缺少完备的理论知识的问题,虽然其在歧义识别与未登录词的识别以及分词准确性上有很好的精确度,但是由于该方法在技术上还不是很成熟,造成了实施复杂性偏高、分词速度很慢。因此在一般主流应用中很少会采用此种方法。

2.3 基于统计的分词方法

由于基于词典的分词方法和基于理解的分词方法都存在着不可忽视的缺陷,并且其切分精度也不是很高,于是基于统计的分词方法成为了中文分词的首要选择。主要的统计模型有隐马尔科夫模型(Hidden Markov Model,HMM)、最大熵马尔科夫模型(Maximum Entropy Markov Model,MEMM)[13]以及条件随机场模型(Conditional Random Field,CRF)。与隐马尔科夫模型及最大熵马尔科夫模型相比较,条件随机场模型的拟合程度更好、特征选择更加灵活的优势。CRF 作为新型的基于机器学习的分词方法,对汉字进行标注是它的基本思路,就是由字构词(组词),这不仅要将汉字词语出现的频率纳入考量范围内,同时也还要根据上下文的语义语境进行考察分析,有较为出色的学习能力,所以对未登录词和歧义词来说CRF 具有良好的识别能力。

3 结合CRF 分词和字典树的逆向最大匹配算法

3.1 CRF模型概述

2001年,Lafferty等[14]将HMM与MEMM的特点相结合,提出了条件随机场模型,最大熵模型是其主要的思想来源。在机器学习领域,条件随机场模型是一种用于序列标记的无向图模型。近年来,CRF 模型常被用于自然语言处理中序列分析中的句法分析[15]、词性标注、中文分词以及命名实体识别中,并且在文本情感分析领域也有着广泛的应用[16~18]。但对任意的CRF 模型来说,不仅简单的数学表达式很难描述它的数学性质,而且还没有非常有效的算法来进行训练和推测工作。因此,本文采用了线性链上的特殊的CRF,被叫做线性链条件随机场(linear chain conditional random field,LCCRF),如图2所示。

图2 LCCRF模型

在条件概率模型P(Y|X)中,输出变量用Y 来表示,是对标记序列进行表示的;输入变量用X 来表示,表示的是需要标注的观测序列。再进行学习的时候,对训练数据集进行极大似然估计亦或是正则化的极大似然估计得到条件概率模型P(Y|X);在进行预测的时候,对与给定的输入序列x 来说,求出条件概率P(y|x) 的最大输出序列y 。在P(Y|X)中,已有的概率如式(1)所示:

式中,特征函数为:tk和sl,对应的权值为λk和μl。其中,Z(x)为规范化因子,Z(x)的表达式如式(2)所示:

对比CRF和HMM,CRF不但避免了HMM 偏标记的问题,而且还可以任意的选择特征,想对比而言,是最适合中文分词任务的机器学习模型。

3.2 利用CRF进行分词

评价数据的分词任务能够用序列标记任务来表示。先用给定的若干特征标记来标记待切分的评价数据中的单字,每个标记表示在切分结果中标记的单字的位置。再按照汉语的语法规则与实验数据,确定对当前语料来说最合适的特征模板。利用标记方法、特征模板以及当前语料来训练LCCRF 分词模型。最后,利用训练好的LCCRF 分词模型对将要进行分词的评价数据做相应的切分标记来得到分词的结果。

本文提出的分词方法主要适用于电商领域中有关物流方面的评价数据的中文分词。电商领域的评价数据基本上是由一百字以内的汉字组成,绝少部分会超过一百字以上,这就造成了评价信息中的语义信息的关联度比较大。物流相关的评价数据中所包含的词汇一般是由网络词汇,常用词汇和物流相关的专业词汇(包括未登录词)组成,例如:快递小哥、百世汇通、百世快递、顺风快递(同顺丰快递,但在评价中,有部分消费者会将顺丰快递打成顺风快递)等。为了解决这些问题,在面对标记选择和特征选择这些方面时,本文根据大部分在线商品评价数据的句子长度较短属于短文本的范畴,对常用的LCCRF分词方法做出改进和优化。

3.2.1 标记选择

对一个字来说,它有4 个状态,分别是:多字成词的第一个字即词头(Begin)、中间字即词中(Middle)、最后一个字即词尾(End)和单字成词(Single),简称B,E,M,S。经常使用的标记方法大致有3 种,分别是2-Tag 标记法、4-Tag 标记法和6-Tag标记法,在2-Tag标记法中,B表示词头,E代表以B开始的词中的字。3 种常用的标记方法如表1 所示。

表1 常用的3种标记方法

根据之前学者们的实验结论可发现,如果分词系统采用的模型是LCCRF,那么选取6-Tag 标记法则可使分词的准确率和召回率达到最高。然而汉语中尤其是较短的评价数据中,词语是由5 个及5个以上字组成的概率特别小。大部分评价数据的词语基本上都是4 个或4 个以下的汉字组成。因此,在6-Tag标记法中,不仅多出一个M2标记,而且还容易引起一些无用的特征函数,这些无用的特征函数会加大LCCRF 训练过程中所消耗的时间与空间。因此本文采用了5-Tag 标记法,即能够最大限度的降低无用的特征函数又能够完整的保留评价数据中所有的4字或4字以下词汇所蕴含的关联信息。表2是5-Tag法。

表2 5-Tag标记法

3.2.2 特征模板的选择

在特征模板的选择方面,本文选择了表3 所示的特征模板。

表3 特征模板

3.3 结合字典树的逆向最大匹配算法

词典对分词来说有很大的作用,采用上节的方法训练一个适用于评价数据分词的LCCRF 模型后,再将利用电商领域有关物流方面的词典对该模型初步分词的结果进行校正,例如:“顺丰速度好快,次日达。”基于统计方法的分词结果为“顺丰/速度/好快/,/次/日达/。”未能识别出物流方面的专业术语“次日达”,利用电商领域有关物流方面的词典对采用统计法进行初步分词的结果进行逆向最大匹配,最后得到修正后的结果是:“顺丰/速度/好快/,/次日达/。”。

字典树(Trie)又被称为单词查找树,是Hash树变形的一种树形结构,属于有序树,能够建立有效的数据检索组织结构。使用字典树的好处是可以用字符串的共有前缀来提高查询效率,能够在最大程度上降低无关字符串的比较次数,Hsah 树的查询效率要低于字典树。

字典树的逆向最大匹配算法:

输入:初步切分之后的句子S{d1,d2,d3,…,dn},d 是构成句子的词,D是电商领域中有关物流方面的词典。

输出:分词结果。

Step1:将电商领域中有关物流方面的词典以词的长度(词中所含字数的多少)进行由大到小的排序,用L 表示词的长度。

Step2:将S 从t 处向前切分L,能够得到字符串S1,句子的长度是t的初始值;电商领域中有关物流方面的词典最长的词的长度是L的初始值。

Step3:字典树的根节点与S1 中的第一个字相对应,进行一次搜索,倘若能够查询到该字,就按照该字选取相应的子树,并对该子树继续检索,一旦在某节点处,取出了全部的字,就将附在该节点上的信息给读取出来,并结束查找,跳转到Step5;没有找到的跳转到Step4。

Step4:倘若未找到,则L=L-1 ;若L=0,就跳转到Step6;若L ≠0,则跳转到Step2。

Step5:t=t-t′,查询到的词的长度用t′表示;未查询到的为1,跳转到Step2,直到t为0时,也就是遍历完句子S。

Step6:输出分词结果。

4 实验结果及分析

本文的实验数据使用人工标注好的5000 条某知名服装品牌在天猫旗舰店上有关物流方面的评价数据作为训练集,除此之外再将人工标注好了的2500条的评价数据作为测试集,表4是实验对比结构。

表4 实验对比结果

根据实验对比表可知,虽然目前普通的基于CRF的分词已经可以达到较高的准确率、召回率和F 值,但采用符合评价数据特征标记与特征模板能使中文分词的准确率、召回率与F 值分别提高了3.8%、2.7%和0.032;在结合物流方面的词典进行修正,使得分词的准确率、召回率以及F-值都有所提高,与普通的基于CRF的分词相比可知,其准确率、召回率以及F 值分别提高了4.7%、3.5%和0.041。因为词典能识别出大部分的未登录词与专业术语,能够对统计分词在物流领域分词的切分错误进行校正。因此本文提出的方法对电商领域有关物流方面的评价数据分词更具有实用性,一旦分词的准确率得到保证,那么情感分类的准确率也能得到相应的提高。

5 结语

针对绝大部分的评价数据属于常规的短文本的这个特性,本文提出了一种基于电商领域有关物流评价方面的分词方法。首先使用适用于短文本的标记选择方法和特征模板对CRF模型进行改进,然后通过改进后的CRF 模型对评价数据进行初步分词,最后利用电商领域中有关物流评价方面的词典对初步分词的结果进行逆向最大匹配,从而提高了CRF 对未登录词的识别能力以及歧义词的消解能力,进而提高了电商领域中有关物流方面评价数据分词的准确率和召回率。

猜你喜欢
分词词典物流
物流线上的毒品追踪
韩国智慧物流,为了物流产业的革新
分词在英语教学中的妙用
米兰·昆德拉的A-Z词典(节选)
米沃什词典
结巴分词在词云中的应用
结巴分词在词云中的应用
词典引发的政治辩论由来已久 精读
基于低碳物流的公路运输优化
漫画词典