1、1面向社区问答的中文短文本分类算法研究摘要为解决社区问答系统中的问题短文本特征词少、描述信息弱的问题,本文利用维基百科进行特征扩展以辅助中文问题短文本分类。首先通过维基百科概念及链接等信息进行词语相关概念集合抽取,并综合利用链接结构和类别体系信息进行概念间相关度计算。然后以相关概念集合为基础进行特征扩展以补充文本特征语义信息。实验结果表明,本文提出的基于特征扩展的短文本分类算法能有效提高问题短文本分类效果。 关键词社区问答;维基百科;特征扩展;短文本分类 中图分类号G254文献标识码A文章编号1008-0821(2013)10-0070-05 社区问答系统是一种基于 Web 的问答系统,如百度
2、知道、yahoo! Answers 等。作为一种具有开放性、交互性特点的知识共享模式,它能够更好的帮助人们利用互联网的资源来获取和分享信息。对用户提出的问题进行分类是社区问答系统服务的一个主要任务,将用户提问发布到合适的类别,可以方便其他用户发现和回答该提问,也有助于对系统积累的海量问答进行知识挖掘和兴趣推荐1。由于问题文本一般较短、特征稀疏,且中文文本特有的语言结构,所以传统的基于长文本的分类方法对于短文本并不能取得令人满意的效果。因此,研究中文短文本分类技术成为社区问答系统构建的一个关键问题。 2短文本的长度通常小于 160 个字符,词汇个数少并且描述信息弱,具有稀疏性和不规范性,却隐含大
3、量有价值的信息。目前,一些学者先后开始研究利用一些额外的信息来扩展文本特征辅助中文短文本分类。如王鹏2等利用依存关系对短文本进行特征扩充以实现有效的短文本分类。王细薇3等、曹叶盛4、Fan5等利用关联规则挖掘文本中词共现关系以构建特征共现集进行短文本特征扩展。宁亚辉6等提出借助知网对领域高频词进行特征扩展的短文本分类方法。王盛7等利用知网的上下位关系对短文本进行扩展。但是领域知识库一般由专家进行编撰,只包含小范围的领域和有限的主题,词汇可扩展性差且更新速度慢,难以满足社区问答系统中的问题分类的需求。范云杰8等利用维基百科对短文本进行特征扩展,其采用考虑概念类别因素基于 tf-idf 法计算概念
4、间相关度。 为提高社区问答系统中的问题文类效果,本文研究将维基百科知识库引入到中文短文本分类过程中,提出一种基于特征扩展的中文短文本分类算法。本文利用维基百科所含有的类别、概念及其链接等信息,以词语间语义相关关系为基础对短文本特征词语进行语义特征扩展,以此提高特征词所描述概念的准确性、丰富语义表达,同时在一定程度上降低短文本特征稀疏对分类性能的影响。 1 维基百科相关理论 维基百科作为一个以开放和用户协作编辑为特点的 Web2.0 知识系统,具有知识覆盖面广,结构化程度高,信息更新速度快等优点9。维基百科是一个以页面为单位组成的具有丰富链接结构的超文本文档集合,它3主要包含以下重要元素: 1.
5、1 主题页面 主题页面作为维基百科中最基本、重要的元素,其含有惟一的 ID 标识用以描述一个单独的概念。概念是维基百科的基本单位,即指被解释的一个对象、事件或命名实体,如“情报” 、 “北京奥运会” 、 “姚明”等。1.2 类别体系 类别是维基百科中对概念页面信息进行组织的一种有效手段。每一个概念页面通常归属于一个类别或多个类别。如“文本挖掘”这个概念页面归属于“数据挖掘” 、 “人工智能应用”等多个类别。每个类别可以包含若干子类别,上下层类别之间不仅反映出继承的关系,也可能是实例、包含、属性等不同的语义关系。类别之间的这种关系构成一个巨大的分类体系。 1.3 重定向 维基百科将同义的多个概念
6、用一个页面进行描述,这些概念中只有一个概念的页面包含解释描述信息,其他的概念则使用重定向链接到这个页面,包含重定向链接的页面称作重定向页面9。重定向页面的概念与目标页面概念是同义词。例如“NBA”被重定向到“国家篮球协会” ,这种重定向页面的机制同时能够处理大小写、缩写、拼写变体、专业术语等。 1.4 消岐页 消岐页是为了处理一词多义的机制9,例如消歧页面“风车(消歧4义) ”中,包含指向多个概念页面的链接:“风车” , “风车(玩具) ”,“风车(农具) ”等。 1.5 链接 页面与页面之间通过主题页面内容中的超链接联系起来10。即概念的描述之间用超链接联系,其中蕴含着重要的事实联系或语义关
7、系。 2 基于维基百科的特征扩展 为提高短文本特征词的类别特征和最大限度的保留其语义信息,本文借助维基百科知识库来挖掘短文本所蕴含的隐性信息,通过选取一些在语义层面与特征词有高度相关关系的词对特征词进行扩展以辅助短文本分类,利用抽取的维基百科词语相关概念集合作为扩展词集合,通过扩展词集合从语义层面对特征进行扩展,以构建语义向量空间。 本文中的特征扩展以现实世界词语间的语义相关关系为基础,对文本特征词进行扩展,通过某个特征词关联出若干个特征词以提高其语义描述能力。例如,短文本“李娜获得法网冠军” ,可以提取该文本的特征词李娜,获得,法网,冠军, “李娜”这个词,我们很容易根据对常识的掌握联想到“
8、网球” 、 “WTA”等词语,短文本被表示为李娜,获得,法网,冠军,网球,WTA。 本文以维基百科知识库为数据源,利用其所蕴含的概念、重定向、类别体系结构及各类链接等信息进行词语的相关概念集合构建以进行特征扩展:首先将特征词转化为主题概念,即进行词语-概念匹配,其次进行相关概念的抽取,再次,对所抽取的相关概念与主题概念间的语义相关关系进行量化,以完成相关概念集合的构建。最后,从相关概念集合5选取概念对特征词进行语义扩展。 特征扩展的具体过程如下: Step 1:进行词语概念匹配。词语概念匹配是将特征词 tk映射为维基百科中存在的主题概念 Ck。当该特征词存在重定向时,以重定向的概念作为特征词
9、tk 的主题概念,以首先解决同义词问题。如特征词“奥运会”匹配为概念“奥林匹克运动会” 。 Step 2:抽取主题概念 Ck 的相关概念。由于维基百科中的主题页面是对概念的解释,而且页面中的链接是维基百科贡献者根据锚文本与当前概念的相关性添加的,所以本文利用网页间链接关系从维基百科中抽取相关概念。由于页面上的部分锚文本所对应的概念与主题概念相关性不强,为了去除此种弱相关关系词,本文只选取与主题概念 Ck 具有互相链接关系的概念作为相关概念。因此,抽取相关概念时,对主题概念页面链出的概念进行跟踪,当且仅当该概念页面中也包含指向主题概念页面的链接时,则将此概念作为主题概念的相关概念。因此,可以得到
10、主题概念 Ck 相关的概念集合Ck(C1,C2,Cn) ,其中 Ck 与 Ci(1in)间具有相互链接关系。Step 3:进行概念间语义相关关系量化。语义相关关系量化是为了区分相关概念集合中不同概念对主题概念的贡献度。本文主要运用维基百科的链接结构和类别体系分别计算概念距离和类别距离,然后将这两个值进行线性组合计算概念间的相关度。 2.1 链接距离 本文计算链接距离的方法运用了 Milne 等提出的基于维基百科链接6的概念间语义相关度计算方法 WLM( Wikipedia Link-based Measure)11的思想。WLM 算法运用了 Google 距离的思想,其原理是概念 Ck、Ci间
11、共有的相关概念越多,概念间语义距离就越小,那么其相关性就越强。由于主题概念页面中包含其他概念的链接,表现为链出链接,而主题概念页面也可能会被其他概念页面链接,表现为链入链接。WLM 法分别对这两种链接计算相关性后再综合完成概念间的相关性计算。受 WLM 法启发,本文定义的概念 Ck、Ci 间链接距离计算公式如下: Dlink=log(max(A,B) )-log(AB)1log(W)-log(minA,B) )(1) 其中:Dlink 是指概念 Ck、Ci 间的语义距离,A、B 是指在维基百科中分别与概念 Ck、Ci 有相互链接关系的概念集合,W 则指维基百科中所有概念解释页面的集合。符号“”
12、表示取集合中的实体数量。 2.2 类别距离 WLM 算法虽然被证明在英文维基百科上效果不错,但中文维基百科在规模上不如英文维基百科,主题页面之间的链接存在一定的稀疏性。因此,对于中文维基百科仅用链接结构很难充分衡量概念间的语义距离。因此,本文在链接距离的基础上,通过计算概念所属的类别之间的距离,以便更准确衡量概念间的相关度。 在维基百科的类别体系中,一个分类节点可能包含多个上层和下层分类节点,因此两节点之间路径可能不惟一,即存在多条路径,但其中必然存在一条最短路径 d,而两节点间的最短路径越小,则其距离就越近,那么类别间的相关程度也就越高。此外,由于概念可能属于多个类别,7那么两个概念间就可能
13、存在多种分类关系的组合,也就可能对应存在多个最短路径。本文将其中最小的最短路径值作为两概念之间的类别距离,则概念 Ck 与 Ci 之间的类别距离计算公式表示为: Dcat(ck,ci)=log(min(dki)+1) (2) 其中 dki 代表概念 Ck、Ci 所属类别之间的最短路径距离,取 log 值是为了使 dki 变化幅度平均化,抑制类别距离与链接距离之间过大的差异。 2.3 相关度计算方法 为了较全面的衡量概念间的相关度,概念间语义距离应该综合考虑维基百科链接结构和类别体系中蕴含的概念间关系。本文定义的主题概念 Ck 与其相关概念 Ci 间的概念语义距离计算方法如公式(3)所示,形式上
14、表现为链接距离 Dlink 和类别距离 Dcat 的线性组合: D(ck,ci)=Dlink(ck,ci)+(1-)Dcat(ck,ci) (3) 其中 (01)为调节参数。由于概念与其本身的距离为 0,相关度设为 1,随着距离的增大,概念间的相关关系越小,当语义距离趋于无穷大时,相关度为 0。因此,本文将概念间的相关度计算公式定义为:R(ck,ci)=11D(ck,ci)+1(4) Step 4:经过上述步骤,特征词 tk 所对应的主题概念 Ck 构建的相关概念集合为(C1,R1) , (C2,R2) , (Cn,Rn) ) ,Ri(1in)代表相关概念与主题概念间的相关度,由公式(4)求得
15、。为了避免维度灾难且不引入过多噪音数据,从上述过程构建的相关概念8集合中选取相关度大于阈值 的概念对主题概念进行特征扩展,即特征词 tk 所对应扩展概念为为(C1,R1) , (C2,R2) , (Cm,Rm) ) ,其中 Ri(1im) 。 3 基于特征扩展的短文分类算法 3.1 基本思想 本文通过结合维基百科语义知识库对特征词进行扩展以辅助中文短文本分类,以丰富文本特征的语义表达、提高文本特征描述能力。首先利用维基百科挖掘概念间的语义相关关系,进而构建相关概念集合对短文本特征进行扩展,以构建语义概念向量空间,使得语义向量空间中文本的语义更准确、完整,而且可以避免短文本特征稀疏的缺点,以提高
16、短文本分类的准确度。 3.2 分类模型 面向社区问答的短文本分类模型与传统长文本类似,主要包括训练和测试两个过程,如图 1 所示。 3.2.1 训练过程 训练模块对己经标好类别的训练短文本集预处理,形成用一系列特征词表示的文本,即形成训练集的原始特征集合;然后运用基于维基百科的特征扩展方法对原始特征集合中的特征词进行语义扩展,形成新的特征集;计算特征集中每一个特征词在训练集中权重,将文本表示成由原始和扩展特征词及其权重表示的向量形式;最后用分类算 1 图 1 基于特征扩展的短文本分类模型 1 法对训练集进行分类,形成分类模型。 93.2.2 测试过程 同样使用已经标好类别的测试短文本进行预处理
17、后,将测试短文本表示成向量形式;然后利用训练过程得到的分类模型进行分类测试,根据分类结果对分类过程中的相应参数进行调整,直到得到较好的分类效果。 3.3 分类算法 根据上述基于特征扩展的短文本分类模型,可以得到相应的分类算法,算法流程具体描述如下: 输入:短文本训练集 D,待分类短文本 d Step 1:分别对短文本训练集 D 和待分类短文本 d 进行分词、去停用词等预处理,预处理之后可以得到每篇文章对应的原始特征集合。 Step 2:分别将短文本训练集 D 和待分类短文本 d 由原始特征集合转化为语义文本特征向量。顺序遍历原始特征集合中的特征词 ti,如果在维基百科中能匹配到 ti 对应的概
18、念,则利用第 3 节中的方法,对该特征词进行特征扩展。 Step 3:扩展完后进行特征权重计算,然后合并相同特征项,相应权重进行相加。由此文本有原始特征集合 d=t1,t2,tn转化为d(T1,w1) , (T2,w2) , (Tm,wm) ) 。 其中权重的计算分两种情况,如果是原文档本身存在的特征词,则其权重由 tf-idf12计算求得,而扩展来的词的权重计算方法如下: wij=wiRij(5) 公式中 wi 为被扩展词 ti 的权重,Rij 为 ti 的相关概念集合(C1,Ri1) , (C2,Ri2) , (Cn,Rin) )中概念 Cj 与 ti 所对应10概念的相关度。 Step
19、4:用支持向量机分类算法13对训练集向量进行分类,形成分类模型。 Step 5:根据训练过程得到的分类模型对待分类文本 d 进行分类。 输出:短文 d 所属的类别。 4 实验与结果分析 本文对所提出的面向社区问答的中文短文本分类方法的效果进行了实验验证。实验语料来自“新浪爱问”中收集的 10 个类别各 1 000 篇问题文本,维基百科数据来自维基百科网站下载的 zhwiki-2013-02-15 中文版 XML 数据集。本文实验采用 5 折交叉验证法,将每类文本随机平均分为 5 份,其中一份构成测试文本集,其它 4 份作为训练文本集,每份文本轮流作为测试集循环测试 5 次,取其均值为最终结果。具体实验过程如下: 4.1 特征扩展时词语相关度阈值 的确定实验 为了在不引入过多噪音数据的前提下进行高质量的特征扩展,以提高短文本分类的效果,本文首先进行不同词语相关度阈值下的分类效果对比试验,实验中统一采用本文所提出的基于特征扩展的短文本分类算法,为了得到较好的文本分类效果,通过反复试验,公式(3)中的参数 为 0.7。实验中统一使用中科院的 ICTCLAS 进行分词。不同相关度阈值下的分类效果对比实验结果如下:表 1 不同的相关度阈值下的实验结果 F1(%)比较 由表 1 平均 F1 可以看出,当词语相关度阈值 取 0.6 左右时平均