基于中文维基百科的概念获取方法研究
2021-09-16蔡海博戴忠柱
蔡海博,戴忠柱
(营口理工学院基础部,辽宁 营口 115004)
0 引言
随着科技的进步和网络技术的普及,人们学习知识的途径趋于多样化,越来越多的知识出现在网页文本中.知识是由概念以及概念之间的关系组成的,如何快速自动地获取知识,首先需要解决的是尽可能多的获取准确的概念,现在新的概念在网络中呈爆炸式增长,准确获取这些概念对人工智能、信息检索、自然语言问答等领域都起到至关重要的作用.
文本中蕴含着丰富的语义知识,目前文本知识获取的研究基础是概念获取,概念获取的数量和质量将决定后续语义关系的获取.我们可以快速获取文本已有的概念,但是如何根据已有概念获取文本中暂时未出现的隐性概念则更有研究价值.从文本中获取尽可能多的概念和语义关系可以帮助计算机构建知识结构,最大限度地理解文本内容.由此可见,概念获取在机器学习、人工智能等领域有广阔的应用前景.
维基百科(Wikipedia,简称Wiki)是世界上最大的在线百科全书,截至2021年,维基百科共有280种语言版本,包含了5 500多万页的定义和描述性信息.其中,中文维基百科共收录条目120多万条,涵盖了生活中各个领域的知识.维基百科条目具有准确性高、半结构化等特点,广泛应用于信息抽取、信息检索、知识问答等领域的研究.
1 相关工作
概念获取是知识获取研究不可逾越的关键一步.目前概念获取研究主要是面向Web语料或者特定领域文本.总的来说,概念获取的方法可以大体上分为两类:一种是基于统计的方法,另一种是基于文本语义的方法.
基于统计的方法主要是利用概念出现的频数,借助互信息、信息熵、TF-IDF等方法抽取概念.姚建仁[1]提出了一种基于互信息和上下文模式匹配的方法获取概念,首先对文本进行词法分析,利用词的上下文依赖特征实现概念获取,并且建立了概念获取和验证相统一的系统.刘磊[2]通过人工总结设定“是一个”上下位关系规则,借助《同义词词林》通过模式匹配的方法从文本中自动获取下位概念,实验表明该方法效果较好.
基于概念语义的方法是通过词法分析和聚类总结出概念的构词规则,设定约束条件获取概念.颜端武[3]在对航空发动机领域语料分词的基础上进行N元切分,利用基于统计的方法通过设定约束规则实现自动提取候选领域概念,该方法充分利用了文本语言学的特征,可以有效地获取概念,但最后验证概念准确性时需要人工判断和筛选,有待改进.Gaoying Cui[4]提出利用维基百科的定义句和分类标签抽取概念,并从70万维基页面中抽取出5万概念,实验证明该方法准确率达到78.5%.
2 概念获取
本文首先介绍了隐性概念的合成算法,然后利用基于语言学的方法从维基百科中抽取显性概念,再通过词法分析和基于统计的方法建立前部构件库、后部构件库和候选概念词构件库,最后通过基于TF-IDF的改进算法、基于构建特征向量的方法和混合加权方法计算候选概念词构件的相似度[5],人工设定阈值合成隐性概念扩充至已有概念库.隐性概念合成算法的具体流程如图1所示.
2.1 显性概念获取
概念是人们在学习认知过程中,用于表述某一类事物的特征的词汇[6].显性概念是指在文本中已经出现并被认为可以描述事物本质属性的词汇,一般为名词、动名词或者形容词.
2.1.1 语料库的获取及预处理
由于本文研究的是中文的知识获取,所以选取中文维基百科语料库作为研究对象.首先从维基百科官网下载最新的中文维基百科语料库,并对其进行预处理,步骤如下:
(1)下载最新语料库(https://dumps.wikimedia.org/zhwiki/)[7],获取压缩包,解压后该文件为XML文档(zhwiki-20210731-pages-articles.xml),文件大小为9.5 GB.
(2)抽取文本.利用Python语言抽取XML文档正文内容[8].
(3)繁简转换.使用OpenCC工具化繁为简,便于后续词法分析和概念获取.
2.1.2 显性概念获取及预处理
为使后续隐性概念获取的召回率和准确率足够高,需尽可能多地获取中文维基百科正文中的已有概念,并对其进行预处理,具体步骤如下:
(1)抽取中文维基百科的所有标题.维基百科中的每一个标题对应一篇文本,这些文本都是经过人工编写并且反复推敲的,所以用其构建初始的显性概念库.
(2)对正文内容进行分词和词性标注[9],并抽取其中名词词汇补充至显性概念库.
(3)对显性概念库中的已有概念进行去噪、去重处理.噪声包括特殊符号、除中文以外的其他语种以及英文音译的人名.
经过上述步骤后共得到3 076 842个概念,构成中文维基百科语料库的显性概念库.
2.2 隐性概念词构件库的构建
对显性概念库中已有概念的知识挖掘是本文的研究重点,通过分词和统计的方法,根据已有概念得到其前部构件库、后部构件库和隐性概念词构件库,具体步骤如下:
(1)分词.利用分词系统ICTCLAS对已有概念进行分词处理,选取具有实际意义的词汇作为候选前部构件和候选后部构件.
(2)统计.选取候选前部构件库和候选后部构件库中出现频数≥100的多字词和名词词性的单字构建前部构件库和后部构件库.
(3)将已有概念去除前部构件和后部构件构建隐性概念词构件库.
处理结果见表1.
表1 前部构件库和后部构件库的处理结果 单位:个
2.3 隐性概念合成
本文通过3种方法计算隐性概念词构件之间的相似度,并根据隐性概念词构件和前部构件及后部构件的相关度,合成隐性概念,根据实验结果选取最优方法.
2.3.1 基于TF-IDF的改进方法
该方法本质上属于统计方法,若两个隐性概念词构件和同一个标题的相关度接近,则认为其相似.首先获取两个隐性概念词构件和同一标题共现的所有语料,由于维基百科半结构化的特点,若隐性概念词构件出现在定义句的位置,则认为其包含信息比其他位置更重要,故将其权重扩大为原来的3倍.算法具体步骤如下:
输入:隐性概念词构件共现的语料集合
其中,N为语料集合的总数.
隐性概念词构件库
其中m为隐性概念词构件的总数.
公式(1)用于计算隐性概念词构件和语料的紧密程度.其中:f1(Ctf,w i)表示隐性概念词构件w i在语料C t的定义句中出现的次数;f2(Ct,w i)表示隐性概念词构件w i在语料C t的其他位置中出现的次数.
公式(2)用于表示隐性概念词构件的稀缺程度.
公式(3)用于计算隐性概念词构件w i和语料C t的相关度.
公式(4)用于计算隐性概念词构件之间的相似度.
2.3.2 基于构建特征向量的方法
该方法本质上属于基于文本语义的方法,若两个隐性概念词构件出现的上下文语境相似,则认为其相似.首先获取隐性概念词构件共现的所有语料,对其进行分词、词性标注和去重处理,然后利用统计方法选取特征词构建空间向量模型,最后利用余弦相似度的方法,计算其相似度.具体步骤如下:
(1)通过分词、词性标注和去重处理,筛选出名词、形容词和动名词作为候选特征词.
(2)利用统计方法选择特征词,并利用《同义词词林》扩充特征词库.
(3)构建空间向量模型,将隐性概念词构件表示为由特征词出现的频数构成的向量.
(4)计算向量余弦相似度表示隐性概念词构件之间的相似度sim2.
2.3.3 混合加权方法
上述基于TF-IDF的改进方法仅考虑词频对结果的影响,而基于构建特征向量的方法仅考虑语境的影响.混合加权方法综合考虑词频和语境,并设定相应的权重,计算隐性概念词构件之间的相似度.
公式(5)用于计算隐性概念词构件之间的相似度.
3 实验与分析
为验证上述方法的有效性,选取人文、科学、艺术等不同领域的500个显性概念进行验证,考虑到实验的运行效率,仅对前部构件进行处理.由于实验合成的隐性概念数量较大,因此采用网络验证的方法验证合成的隐性概念的准确性,即利用搜索引擎搜索合成的隐性概念,若该概念出现的频数超过一定阈值,则认为该隐性概念是正确的.
3.1 基于TF-IDF的改进方法
根据上述2.3.1中的方法,计算隐性概念词构件之间的相似度,并设定隐性概念词构件相似度阈值为θ1,隐形概念词构件和前部构件的相关度为θ2,超过阈值则可以合成隐性概念,仅考虑θ1取不同值时的实验结果如图2所示.
由图2可以看出,合成隐性概念的个数随着θ1取值的增大不断减少,经网络验证,当θ1=0.75时,合成隐性概念的准确率相对较高,但是由于没有考虑θ2的取值,准确率仅为37%.确定θ1的值后,由实验结果可知,当θ2=0.5时准确率最高,可以达到54%.分析可得,仅仅考虑词频,效果不太理想.
3.2 基于构建特征向量的方法
由图2可知,当θ1取值较大时,合成的隐性概念准确率较高,所以本次实验选取θ1和θ2的值相对较大,实验结果如表2所示.
由表2可知,当θ1和θ2取值越大,合成的隐性概念个数越少,经网络验证当θ1=0.75,θ2=0.5时,准确率最高,达到75%.可见概念的上下文语境要比词频的贡献更大.
表2 基于构建特征向量方法合成隐性概念结果表
3.3 混合加权方法
上述两次实验结果显示,当θ1=0.75时,效果相对较好.根据上述2.3.3中的方法,当α和θ2取不同的值时,合成的隐性概念结果如表3所示.
表3 基于混合加权方法合成隐性概念结果表
经网络验证,当α=0.4,θ1=0.75,θ2=0.5时准确率最高,达到82%,由此可见,综合考虑概念的词频和上下文语义信息,合成的隐性概念效果更好.
4 结语
本文主要研究了隐性概念的合成问题,首先利用分词和统计的方法获取维基百科中的显性概念,然后利用构词特征构建前部构件库、后部构件库和隐性概念词构件库.经过计算隐性概念词构件之间的相似度及隐性概念词构件和前后部构件的相关度,合成隐性概念,实验结果显示可以有效扩充已知概念库[10],但仍有以下不足需要考虑:
(1)由于本文使用分词工具比较频繁,因此分词和词性标注结果的准确性对实验结果有一定的影响,可知实现更加准确的分词方法也是以后待研究的工作.
(2)网络验证的准确性会有误差[11],本文判断概念正确与否的标准是概念是否在搜索引擎中以超过一定的频数出现,但是有些概念可能暂时没有在互联网中出现,经过人工判断后可能是正确的概念,比如“哈密顿望远镜”、“水利县”、“爆炸系数”等.