刘申凯,周霁婷,朱永华,高洪皓,3
(1.上海大学,上海 200072;2.上海大学 计算机工程与科学学院,上海 200444;3.上海大学 计算中心,上海 200444)
在互联网的高速发展下社交网络随之兴起,微信、微博等文本形式的使用量日益增多。这类文本的大规模使用对研究自然语言处理带来了新的挑战。在社交网络中,由于这类文本的篇幅较小,包含的信息量较少,会导致语义信息的不完全。另一方面,网络文本常会包含许多新词,这些网络新词会直接影响分词的准确性,从而对理解网络文本的语义内容带来了一定的困难。目前针对这类新词识别的主要研究方法包括基于规则、基于统计以及融合规则与统计方法。
基于规则的方法对于特定领域有较高的正确率,但是制定规则需要大量人工成本,存在规则跨领域性适应能力薄弱等问题。该方法主要研究中文语法、组词规则、词性特点以及领域本体等方面,总结新词的构词规则和模式特点来建立规则库,进而通过匹配度来识别网络新词。例如,邹纲等[1]针对网页上的中文新词识别问题,提出一种从网页中自动检测新词的方法,并根据构词规则对自动检测的结果进行过滤,最终抽取新词语。该方法对高频新词有很好的识别效果。Ma等[2]针对网络新闻中的未登录词,提出一种自下而上的归并算法,同时引入一些基本语法规则,避免了过多的高频垃圾串的抽取。
统计方法有很强的领域适应能力和可扩展性,但具有需要大规模语料库和数据稀疏严重等问题。该方法主要运用大规模语料库,通过计算研究新词的成词概率,利用词频信息、词内部互信息值等统计特征获取新词集。例如,黄轩等[3]通过统计博客语料词频及二次过滤,将统计信息和词性规则相结合进行排序,以实现博客语料的新词发现,但是人工成本很高且无法识别网络中最新的流行词汇。Wang等[4]结合新词识别问题与分词问题,在对文本分词标注和新词标注的基础上,利用统计量特征对改进的条件随机场(conditional random field,CRF)模型进行训练,提高了分词和新词识别的效果,但是需要大规模语料库导致整体计算效率较低且对网络新词的识别率低下。
随着语义网概念的提出,本体和知识图谱成为文本相似度的研究基础,常用的有WordNet、《知网》、《同义词词林》等。Gabrilovich等[5]提出显性语义分析(explicit semantic analysis,ESA)方法,将维基百科派生出高维概念空间并将词语表示为权重向量,通过比较两个概念向量的余弦值等方法得到语义相关度。针对微博、微信等网络单体文本规模较小、新词构词复杂以及词汇自由度极大等特点,文中提出一种融合知识图谱和ESA方法的网络新词识别方法。利用百度提供的知识图谱Schema对原文本进行初步的分解,将无法分解的部分以ESA方法运用在百度百科上,最终在百科词条中提取核心语义信息解释原文中的网络新词。最后通过实验对该方法进行验证。
目前已有的词语识别方法大致可以分为基于字符串(string-based)的方法、基于语料库(corpus-based)的方法以及基于本体(knowledge-based)的方法[6-9]。
基于字符串的文本语义计算方法是以字符串的重复度和共现情况为主要衡量标准,根据计算的粒度进行分类,可以分为基于字符(character-based)的方法和基于词语(term-based)的方法。基于字符串的方法只是在文字层面上进行文本比较,该方法由于原理简单容易实现成为了其他方法的计算基础,不足之处在于仅仅将单个字符或者词语作为计算的标准,并未考虑词语本身的含义和上下文之间的联系。
基于语料库的词语识别方法可以分为基于词袋模型(bag of words model,BOW)的方法、基于神经网络的方法和基于搜索引擎的方法[10-12]。基于语料库的文本语义计算相对于基于字符串的语义计算方法拥有更多的语义信息,但是语义信息来源依赖于外部数据库的规模和健康度,如数据库更新的速度缓慢会导致新兴词汇的识别困难,数据库的数据不全面将直接导致语义信息的丢失,等等。
基于本体的文本语义计算能正确反映词语间的内在语义联系,但是本体更新速度慢、词汇信息有限导致不适用于新出现的词汇。基于本体的计算方法是先从词语层面计算后叠加到长文本相似度上,相比基于语料库的计算方法效率较低。由于本体的领域专业性极强会导致不利于跨领域的文本语义计算。
前文介绍的文本语义计算方法都无法解决未登录词识别和准确理解网络文本表达的内在涵义等问题,本节通过利用百度知识图谱Schema和ESA提供语义信息来解决这两个短板。
百度知识图谱Schema能计算出常见的语义结果,如知名人士的配偶情况、影视作品的导演信息等客观公认的正确信息。为了验证Schema的计算结果是否与文本具有较高的语义相似度从而能够直接替换原文,引入语义相关性对计算结果进行评估。
知识图谱(knowledge graph)是表示知识发展过程与结构关联的可视化图形,又被称为知识领域映射地图,描述了知识体系及其载体的关联信息。知识网络在本质上是一种语义网络,各个网络节点代表实体名(entity)或者概念名(concept),节点之间的边即各种语义关系。知识图谱相对于传统的本体和同义词词林有着更高的实体和概念覆盖度,实体和概念之间的各种语义关系也更加复杂和全面。
知识图谱可以准确地反映出现有实体和概念的语义相关性,且更新速度比传统的本体要快,并且知识图谱在跨领域检索上的表现也比本体更出色。对于知识图谱中的两个实体或者概念x,y,两者间的语义相关性(relativity)可以表示为:
rel(x,y)=1-
(1)
其中,lx和ly分别表示实体/概念x,y拥有的链接(link)数量和;A表示知识图谱中所有实体/概念数量的集合。
若B意味着知识图谱中某一领域实体集合,那么实体x与实体集B之间的语义相关性可以表示为:
(2)
为了保证Schema的语义计算结果符合原文情况,通过引入语义相关性函数来评估语义计算结果的可靠性。语义相关性函数是一个介于[0,1]之间的数值,数值越大则说明两个实体或者概念的相似度越高。
利用ESA方法将维基百科的词语表示为权重向量,通过比较两向量余弦值得到语义相关度。
其中余弦相似度方法是将文本转换为向量空间中的两个向量,然后计算这两个向量夹角的余弦值,余弦值越大说明两向量的夹角越小,那么这两个文本越相似。该方法具有较强的解释性,在网络文本中应用广泛但不适用于长文本。将文本X表示为n维向量X([x1,x2,…,xn]),文本Y表示为n维向量Y([y1,y2,…,yn]),那么这两个向量的夹角余弦值可以表示为:
(3)
ESA方法在计算词语与文本的关联程度中采用了传统的词频-逆文本频率(TF-IDF)方法,其计算方法如下:
rel(x,A)=TFx,A×IDFx=TFx,A×log(N/DFx)
(4)
其中,TFx,A表示词语x在文本A中出现的次数;N为总文本数;DFx表示x在所有文本中出现的次数。
传统的TF-IDF方法仅仅依靠统计模型处理词频信息,没有考虑词语之间的语义信息,在实际运用中往往会使结果不准确。例如,某个词语的词频很高但与整体的关联度很低,理应给予较低的权重值来平衡TF-IDF方法的不足。结合前文的知识图谱和搜索引擎方法提供的相关度信息,将关系密切的词归入一组,分组完成后计算权重方法如下:
(5)
其中,A为文本集合;m为文本类型的总个数;n为词语xi在组内的词频;p(Aj/xi)为词语xi在类别Aj中出现的概率。
网络文本中的已登录词在知识图谱提供词语各个类别间的可靠分布情况下,改进后的权重公式将类别内部的语义关联反映在TF-IDF方法中,解决了传统方法丢失语义信息的不足。另一方面,对于网络文本中的未登录词结合ESA方法提供核心语义信息,并将结果归入上述方法可以解决传统方法不能识别网络新词的缺点。
文中方法流程如图1所示。
(1)语料数据预处理。
图1 系统流程
以清华大学自然语言处理实验室刘知远研究员提供的分词工具THULAC_PRO_V1.0作为基础语料库,以短语的粒度对网络文本进行切分并进行词性标注。统一将文本字符转换为UTF-8编码,并过滤网络文本中一些特定格式的特殊字符串,主要有网页地址、邮箱地址、话题标识符#以及提到某人标识符@等。
(2)以短语的粒度对原文进行分词。
将原文本以短语的形式进行分割,如:《肖生克的救赎》导演/构建了/一个小镇/的/社会生态/,那么多/人物/,该立体的/立体,该脸谱的/脸谱,那么/错综复杂的关系/,处理/得/井井有条/,真是/扎心了/老铁。
(3)基于知识图谱方法进行第一轮语义识别。
将分词后的短语在百度知识图谱Schema中进行匹配计算,如果得到准确语义词汇则用新词w替换原短语p。例如p=“肖生克的救赎导演”,在知识图谱中得知w=“弗兰克·达拉邦特”为该电影导演,评估两者的语义相关性rel(p,w)=0.88,表明相关度很高,则用w代替p,若没有准确结果或者rel值小于0.6则保留原文。
(4)对未识别语料基于改进ESA方法进行语义识别。
通过步骤3的知识图谱方法处理后找到无法识别的未登录词,然后采用改进ESA算法得出相似度较高的三个义项α、β、γ,再将这三个义项与原文进行NGD计算取相似度最高的一个义项代替原文。若没有结果将该词汇标记为Un,进行人工处理加入词典。
归一化谷歌搜索引擎距离(normalized google distance,NGD)是由Cilibrasi等[10]提出的,其基本原理是给定搜索关键词x,y,搜索引擎返回包含x,y的网页数量f(x)、f(y)和同时包含x,y的网页数量f(x,y),NGD的计算公式如下所示。
(6)
例如示例中提到的老铁的α=“兄弟”,0.81,β=“哥们”,0.88,γ=“铁哥们”,0.92,其中γ的相似度值最高,用“铁哥们”代替“老铁”进行语义概括。
(5)后处理整合。
综合步骤3和步骤4的结果,并将最后的结果重新以词语的细粒度进行词性标注,示例的输出结果为:弗兰克·达拉邦特/nr 构建/v 了/c 一个/q 小镇/n 的/c 社会生态/n 那么多/q 人物/n 该/c 立体的/ad 立体/n 该/c 脸谱的/ad 脸谱/n 那么/u 错综复杂/ad 的/c 关系/n 处理/v 得/c 井井有条/n 真是/y 扎心了/v 老铁/n。
实验采用微博数据中心提供的热门话题语料库作为数据集,其中包括20个类别,共167 386条微博。分别为社会、科技、数码、财经、综艺、电影、汽车、体育、军事、健康、历史、美食、时尚、法律、艺术、宗教、旅游、国际、设计和三农类。使用清华大学自然语言处理实验室自主研发的THULAC_PRO_V1.0分词系统和情感词典作为基础资源,通过从国家语言资源监测与研究中心发布的2016年中国媒体新词库以及2017年12月前的部分网络新词中随机抽取100个新词作为测试集,通过实验对算法性能进行评价。
通过准确率P、召回率R和F值对新词发现实验的结果进行评价。计算公式如下所示:
(7)
(8)
(9)
准确率P和召回率R是目前应用于信息检索领域和统计学分类领域的两个主要度量值,反映了检索系统实验结果的质量。其中P是指检索出正确新词数与检索到的词语总数的比率,衡量的是新词查准率;召回率R是指检索出的正确新词数和文档库中所有的新词数的比率,衡量的是新词查全率;F值则是综合这二者指标的评估指标,即为正确率和召回率的调和平均值,用于综合反映整体的指标。
为了验证该方法的有效性和准确度,将不同的新词识别方法所得到的新词集作为词典,在THULAC_PRO_V1.0分词工具中进行分词和词性标注实验,结果如表1所示。
从表1可以看出,通过加入新词词典可以提高原有词典的分词准确度,同时纠正了针对新词的分词错误,尤其对于网络新词效果显著。相比其他方法,文中构建的新词词典在分词结果中有着最大的F值,验证了该方法在网络新词识别方面具有较高的查准率和查全率。
将文中方法与常见的新词语义识别方法(选取了基于规则方法、基于统计方法以及融合规则和统计方法中的代表方法)进行新词的识别对比实验,结果见表2。
实验结果分析:
方法1利用点互信息(pointwise mutual information,PMI)的改进算法与基本过滤算法相结合,从大规模百度贴吧语料中自动识别网络新词。
方法2使用基于支持向量机(support vector machine,SVM)和词特征的方法完成新词识别,并加入了少量的简单规则过滤方法,有效地提高了新词识别的效果。
方法3和方法4分别通过使用有限状态的词法猜测工具、基于机器学习的预标注工具体系来进行未登录词的抽取,实验证实了该方法的有效性并已将抽取的未登录词集合作为公开的开放资源。
表1 不同算法的分词结果 %
表2 不同算法的新词识别结果 %
这4种方法都有较高的召回率,但是新词识别的精准度较低,如在新词识别实验结果中出现“惊了个呆”“太厉害了吧”等识别结果,该类方法更倾向于规则的总结和制定。文中方法充分考虑了规则方法的识别缺陷,将规则的制订改由百科信息进行匹配,提高了网络新词识别的精准度。
方法5在传统基于规则的识别方法的基础上提出改进的C/NC-value方法,通过互信息和邻接熵提高新词发现精度。该方法有效解决了新词的边界界定问题,例如在经过一轮新词筛选后,“请/c 多多/q 点/v 赞/v”、“点/v 赞/v 以表/p 支持/v”、“点/v 赞/v”都出现在候选新词表中,通过改进的C/NC-value方法可以精准确定新词的前后边界,最终只保留新词“点赞/v”,其余情况将被算法进行过滤。
方法6是在方法5的基础上结合SVM分类器模型进行新词识别,依据候选新词集对分词后的标注语料作为训练集,将粗切分的语料作为测试集。该方法能提高对低频新词的识别度,例如“hold住/v”、“细思极恐/v”、“累觉不爱/v”等等。
方法7利用知识图谱方法进行网络新词识别,在知识图谱已有知识范围内的识别率很高且十分高效,然而对于未知信息的识别率很低。
方法8在网络新词识别的识别率很高,但是将调用大量网络资源使得整个检索过程时间相对较长。
文中提出的融合知识图谱和ESA的方法对这两种算法取长补短,利用知识图谱中的以后知识快速高效地进行初步识别,将未知信息交由ESA方法进行时间较长但精度较高的检索,最终得到一个系统时间消耗适中,实验结果更精确的网络新词识别结果。
实验结果表明,基于网络知识的网络文本相似度算法结合了词语和语义之间的关系,在挖掘词语之间的相关度方面有着更明显的优势。文中基于网络知识的网络文本相似度算法相比ESA方法能找到更准确的相关度结果,说明该算法有效提高了对网络新词的理解能力。
为了验证该方法能解决传统的语义理解方法对网络新词理解力不足的缺点,实验采用由国家语言资源监测与研究中心发布的2016年中国媒体新词库作为测试集,随机选取其中的100个词语进行相关度匹配实验。图2给出了用ESA方法和文中方法进行实验的结果。
扎心痛心0.58走心0.78点赞之交称赞0.64点头之交0.82蓝瘦难受0.88难受0.88躺赢胜利0.54稳赢0.67一脸懵逼惊呆0.66目瞪口呆0.81
图2 网络新词理解结果
从实验结果可以看出,融合知识图谱和ESA方法的网络新词识别方法比已有的ESA方法在语义计算上更精确。原有的ESA方法更倾向于字面意思进行语义识别,因此实验结果往往会出现新词中某个字的近义词。而文中方法通过在基于统计信息的文本相似度匹配过程中融入语义信息,提高了网络新词与已有词汇的相关度。
相对于常规的文本相似度算法,文中算法改进了传统的逐词匹配方式,将短语的语义信息进行高度概括后再进行词语的相关度匹配计算,优化了关键词的匹配策略,使计算结果更加精确和稳定。另一方面,文中方法结合网络知识图谱,将同义词和近义词信息考虑到相似度计算中,解决了传统方法对网络新词相关度匹配结果接近于零的缺点。
实验结果表明,基于网络知识的网络文本相似度算法结合了词语和语义之间的关系,在挖掘词语之间的相关度方面有着更明显的优势。文中方法相比显性语义分析能找到更准确的相关度结果,能有效提高对网络新词的理解能力。
融合知识图谱和ESA方法的网络新词语义识别与传统方法相比,在语义识别和网络新词理解方面表现了其优越性。对网络文本进行准确分词是挖掘社交网络文本信息重要的步骤,充分考虑网络文本的语义信息是计算相似度值的关键量尺。文中在现有语义识别计算方法的基础上提出一种改进算法,提高了计算结果的稳定性和准确性。接下来将进一步加大测试的数据量,并测试除了微博数据外的网络文本数据集,提高该方法在不同测试集中的鲁棒性。