更改

跳转至: 导航搜索

基于 Wikipedia 的短文本语义相关度计算方法

删除6,624字节, 2022年7月16日 (六) 09:02
无编辑摘要
互联网应用的快速发展与变革导致短文本大量出现[1],如即时聊天记录、新闻和 BBS 标题、新闻跟帖、博客评论等,近几年微博成为另一个海量的短文本信息源。短文本之间的相关度计算是很多互联网应用的关键技术。目前在文本相似度计算
( 包括短文本相似度计算) 方面已有不少研究成果,并在诸多领域得到应用[2,3]。文本相关度的概念与文本相似度的概念有联系也有区别[4]。“相关”强调的是文本内容的“关联性”,而“相 似”强调的是语义 方 面 的“相 像 性”。例 如,词 语“iPhone”和 “iPad”之间更多的是具有相关性而非相似性,“餐桌”和“书桌”之间更多的是相似而非相关。又如,两个短文本“电脑走进了农村孩子的课堂,张老师第一次使用 PPT 做公开课”和“乡村中小学计算机教育条件有待改善”均与农村地区教育中的电脑普及与使用相关,它们之间具有强烈的相关性,而语义相似度较小。互联网上的很多应用都需要文本相关度计算技术,如信息推荐系统中需要根据用户的偏好自动发现关联信息[5]; 网络舆情分析系统中需要分析热点话题之间的相关性及其演化规律[6]; 而在自动聊天系统中需要对海量的聊天记录进行归类与关联挖掘以改进自动聊天的效果[1]。<br>
网络上出现的短文本作为文本的一种,具有几个显著的特点[7],其中最重要的是单条短文本的长度一般都非常短( 如每条微博限 140 字、新闻和 BBS 标题最多也就几十个字) ,因此样本特征非常稀疏,很难准确抽取有效的语言特征,也就难以充分挖掘与利用特征之间的关联性。短文本的特征稀疏性,使得现有的文本相关度计算算法难以取得良好的效果[8]。本文首先综述了现有的文本相关度计算技术,并介绍了基于 Wikipedia ,因此样本特征非常稀疏,很难准确抽取有效的语言特征,也就难以充分挖掘与利用特征之间的关联性。短文本的特征稀疏性,使得现有的文本相关度计算算法难以取得良好的效果[8]。本文首先综述了现有的文本相关度计算技术,并介绍了基于Wikipedia 的语义相关度计算研究现状,然后提出以 Wikipedia 作为外部知识库,实现网络短文本之间的相关度计算,并具体提出了最大词语关联法和动态组块法两个短文本相关度计算算法,最后在一个网络短文本测试集上对本文算法进行了评测。
<br>
'''1. 1 1.1 文本相关度计算研究'''<br>
目前的自然语言相关度计算研究主要集中在词汇层面[4],文本之间的相关度研究由于其在网络信息处理中的重要作用近年来也逐渐成为研究热点。主流技术分为两类: 基于词语共现的方法[8,9]和基于外部知识库的方法[10,11]。词语共现模型是经典的自然语言处理模型,其基本思想是如果两个文本包含较多的共同词语那么它们是语义相关的或相似的。贾西平等[9] 提出了一个以词语共现模型为基础的概率文档相关模型,通过概率推理和合理近似,把求解文档之间的相关性转化为计算 LDA主题向量之间的相似性。赵玉茗等[10]提出以知网为知识库,提取文档中存在语义关联的词语链及其权重作为文档的形式化表达,并在此基础上进行文档之间的相关度计算。朱鲲鹏等[11]通过词频统计和基于知网的词语概念相似度计算模型来计算网页文档间的主题相关度。在短文本相关度研究方面,何海江[8]提出一种扩展向量空间模型的相关度向量空间模型( cVSM) ,并把它应用于博客和 BBS 评论文本的相关度计算领域。综合以上研究,发现现有的文本相关度计算方法基本都是借鉴文本相似度的计算方法。相似性度量虽然能够在一定程度上反映相关性度量。但是,在强调考察文本之间的关联程度而非相似程度的很多互联网应用当中,这类方法往往不能取得良好的应用效果,而短文本由于其特征稀疏性,效果更差。因此,迫切需要研究新的文本相关度( 特别是针对网络短文本的相关度) 计算方法。 <br>
'''1. 2 1.2 基于 Wikipedia 的语义相关度计算研究'''<br>
本文提出引入 Wikipedia 作为外部知识库,在计算词语之间相关度的基础上来计算短文本之间的语义相关度。Wikipedia是目前世界上规模最大、覆盖面最广的在线百科知识库[12],近年来很多研究者把它应用到自然语言处理中,取得了很好的效果[13]。Strube 等[14]最早利用 Wikipedia 作为语义知识库来对词语相关度进行计算,并与基于 WordNet 的方法作了对比,发现它在相关度计算中的优势体现在它的覆盖面比较广。Gabrilovich 等[15]提出一种基于 Wikipedia 解释文档来实现文档特征向量语义扩展的方法,可以实现对词语或者更长文本的相关度计算。 Hassan 等[16]改进了文献[15]中提出的方法,首先从 Wikipedia中抽取重要概念以及概念的解释文档,然后基于概念范围之间的距离来衡量词语语义相关度。在短文本相关度计算方面, Banerjee 等[17]首先收集 Wikipedia 解释文档,并利用开源文本检索工具 Lucene 建立文档索引,然后将短文本进行预处理得到两个单词序列,针对每个词语通过检索系统获取检索文档来进行词语语义扩展进而计算词语相关度。在国内,针对中文文本也有类似的研究。李赟[18]根据ikipedia 中文版的分类层次以及文档链接体系构建了分类图和文档图,通过概念之间的路径信息进行了概念之间的相关度计算。刘军等[19]利用 Wikipedia 的分类层次进行倒排索引,通过余弦相似度来计算两个词语的语义相关度。我们在这方面也做了一定工作,在借鉴向量空间模型和谷歌相似度计算方法基础上,提出构建 Wikipedia 分类图和相关语义向量来实现汉语词语相关度的计算[20]。该方法也是本文提出的短文本相关度计算方法的基础。 <br>
'''2 短文本语义相关度计算方法'''<br>
'''2. 1 2.1 方法描述'''<br>
从原理上来说,要度量两个短文本之间的相关性,需要对短文本进行深层的语义分析,在获取短文本深层语义的基础上来计算短文本之间的语义相关度。但是目前自然语言语义分析的技术水平还难以满足要求。我们认为,在目前的技术条件下,引入文本浅层分析技术,从语形相似性和组元相关性两个方面来综合度量两个短文本之间的语义相关性是合理、可行的。所谓语形相似性是指两个短文本在结构上、在词语构成上的共同之处。组元相关性指两个短文本包含的组成单元( 如词语和组块) 在语义方面的相关性。基于以上分析,本文引入常见的词形词序法[21]度量短文本之间的语形相似性。同时由于现有大部分研究将文本相似度作为文本相关度,而词形词序法是有代表性的文本相似度计算方法,因此本文将词形词序法作为一种传统的文本相关度计算方法,与本文方法进行实验比较。本文提出的两种方法以我们已有的基于 Wikipedia 的词语相关度计算方法[20]为基础,通过计算短文本之间的组元相关度( 词语相关度和组块相关度) ,并综合语形相似度和组元相关度来计算短文本之间的相关度。具体来说,语形相似度计算结合词语相关度计算构成最大词语关联法,语形相似度计算结合组块相关度计算得到动态组块法。 <br>
'''2. 2 2.2 词形词序法'''<br>
词形词序法是一种衡量句子相似度的常见方法[21]。短文本一般只包含 1 ~ 2 句子,甚至只包含几个词语,我们引入词形词序法来计算短文本之间的语形相似度。设 sameWC( A,B) 为短文本 A 和 B 中相同词语的个数,当同一词语在 A 和 B 中出现的次数不同时,以出现次数少的计数,则短文本 A 和 B 的词形相似度可由式( 1) 计算:
<br>
[[文件:Wikipedia公式1.png]]
<br>
WordSim( A,B) = 2 × samewc( A,B) len( A) + len( B) ( 1)
<br>
可以证明,0≤WordSim( A,B) ≤1。 设 OnceWS( A,B) 表示 A 和 B 中都出现且只出现一次的词语集合。Pfirst( A,B) 表示 OnceWS( A,B) 的词语在 A 中的位置序号构成的向量。Psecond( A,B) 表示 Pfirst( A,B) 中的分量按对应词语在 B 中的词序排列生成的向量。RevOrd( A,B) 表示Psecond( A,B) 各相邻分量的逆序数。则 A 和 B 的词序相似度可由式( 2) 计算:
<br>
[[文件:Wikipedia公式2.png]]
<br>
OrdSim( A,B) = 1 - RevOrd( A,B) OnceWS( A,B) -1 OnceWS( A,B) >1 1 OnceWS( A,B) =1 0 OnceWS( A,B) { =0 ( 2)
<br>
易证,0≤OrdSim( A,B) ≤1。综合考察词形相似度和词序相似度,短文本 A 和 B 的语形相似度可由式( 3) 计算:
Simword ( A,B) = λ1 × WordSim( A,B) + λ2 × OrdSim( A,B) ( 3)其中 λ1和 λ2为常数,并且满足 λ1 + λ2 = 1,因此 0≤Simword ( A, B) ≤1。由于词形相似度起主要作用,词序相似度起次要作用,因此一般有 λ1 > λ2。
<br>
2. 3 '''2.3 最大词语关联法'''<br>
两个短文本包含的词语( 特别是名词) 之间的语义相关性是这两个短文本之间相关性的重要反映。设 A 和 B 是两个待84 计算机应用与软件 2015 年比较的短文本,经过分词和词性过滤后,得到两个短文本的特征词向量 A' = { a1,a2,…,am } 和 B' = { b1,b2,…,bn } ,不失一般性,
可令 n≥m。构建两个短文本的词语特征相关矩阵,见式( 4) :<br>
[[文件:Wikipedia公式4.png]]
<br>
S = s11 s12 … s1j … s1n s21 s22 … s2j … s2n<br>
   <br>
si1 si2 … sij … sin<br>
   <br>
sm1 sm2 … smj … s   mn ( 4)<br>
其中 sij表示词语 ai和 bj之间的语义相关度值,0≤sij≤1,由我们
已有的基于 Wikipedia 的词语相关度计算方法计算得到[20]。矩 阵 S 第 i 行中的最大值是短文本 A 中词语 ai与短文本 B 中词语
[[文件:Wikipedia公式5.png]]
<br>
maxL = { s1,x1,s2,x2,…,sm,xm } 然后,由式( 56)计算 A 和 B 之间的词语相关度: <br>[[文件:Wikipedia公式6.png]]
<br>
然后,由式( 6) 计算 A 和 B 之间的词语相关度: Simsem ( A,B) = ∑mi = 1 ( si,xi ×槡wi × wxi ) m ( 6)
其中,wi和 wxi
分别是 ai和 bxi
用其频度表示。综合语形相似度 Simword和词语相关度 Simsem可
最终计算短文本 A 和 B 之间的相关度,见式( 7) :
Simrel ( A,B) = λ3 × Simsem ( A,B) + λ4 × Simword ( A,B) ( 7)<br>[[文件:Wikipedia公式7.png]]<br>
其中 λ3和 λ4为常数,分别为语形相似度和词语相关度的权重系
数,满足 λ3 + λ4 = 1。 2. 4  '''2.4 动态组块法''' 
最大词语关联法中的最小语言单位是词语,由词语相关度
结合语形相似度来度量两个短文本之间的相关度。该方法没有
度较高的词语聚集在一起,并称之为动态组块。动态组块可以
看作是构成短文本的语义单位。短文本 A 的动态组块获取步骤
如下:<br>'''Step 1 ''' 对 A 进行分词和词性过滤,获得其特征词向量 A' = { a1,a2,…,am } ,令组块集合 Chunk( A) 为空,即 Chunk( A) ={ } ;<br>'''Step 2 ''' 取 A'中元素 ai,如果 Chunk( A) 为空,将( ai ) 作为
一个组块加入 Chunk( A) 中,否则计算 ai与 Chunk( A) 每一组块
中词语的平均相关度; <br>'''Step3 ''' 如果 ai与 cj ( cj ∈Chunk( A) ) 的平均相关度( 记为
rij ~ ) 最大,且rij ~ ≥θ( θ 为阈值) ,则将 ai加入 cj,否则将( ai ) 作为
一个组块加入 Chunk( A) 中; <br>'''Step4 ''' 反复执行 Step 2 和 Step 3,直到 A'为空。<br>设短文本 A 和 B 的动态组块集合分别为: Chunk( A) = { CA1,CA2,…,CAp } ( 8) Chunk( B) = { CB1,CB2,…,CBq } ( <br>[[文件:Wikipedia公式8-9).png]]<br>
类似式( 4) ,可构建 A 和 B 的组块特征相关矩阵,其中第 i
行第 j 列元素表示的是 CAi和 CBj两个组块之间的相关度。两个
组块之间 的 相 关 度,定义为组块包含词语之间相关度的均
值,设: CAi = { a1,a2,…,as } ( 10) CBj = { b1,b2,…,bt} ( <br>[[文件:Wikipedia公式10-11).png]]<br>则组块 CAi和 CBj的相关度定义为: SimCrel ( CAi,CBj) = ∑s i = 1 ∑t j = 1 Sim( ai,bj) s × t ( 12)<br>[[文件:Wikipedia公式12.png]]<br>
其中,Sim( ai,bj) 为词语 ai和 bj之间的语义相关度值。有了组块
特征相关矩阵,可类似式( 5) 获取 A 和 B 的最大组块关联序列,
类似式( 6) 计算 A 和 B 之间的组块相关度,类似式( 7) 计算 A 和 B 之间的短文本相关度。 <br>'''3 实验与分析'''<br>'''3. 1 3.1 Wikipedia 数据与测试集'''<br>
Wikipedia 作为百科知识库,主要包含词语( 概念) 解释文档
及文档之间的链接信息和概念的分类数据。为处理“多词一
义”现象和“一词多义”现象,还设置了重定向页面和消歧义页
面。Wikipedia 提供的资源结构见图 1 所示。 <br>[[文件:Wikipedia公式-图1.png]]<br>图 1 Wikipedia 资源结构<br>
从 http: / /dumps. wikimedia. org /zhwiki /latest /下 载 Wikipe- dia 中文版 XML 形式的数据集,并进行了简繁体转换和数据清
洗,提取了词语( 概念) 集合及其解释文档集合,提取了树状的
网络上收集整理了部分新闻标题、论坛标题作为短文本语料,按
照语义相关性通过人工分类,把语料分为 10 类: 环境、计算机、
交通、教育、经济、军事、体育、医药、艺术、政治。每类 50 篇,总 计 500 篇。 3. 2 <br>'''3.2 实验配置与实验结果'''<br>
实现了 3 个算法: 词形词序法、最大词语关联法、动态组块
法。已有的文本相关度计算方法一般都是借鉴文本相似度计算
细实验结果见表 1 所示,实验结果的比较见图 2 所示。 表 1 实验结果
词形词序法 最大词语关联法 动态组块法<br>
环境 66. 7% 73. 3% 76. 7%<br>计算机 66. 7% 66. 7% 66. 7%<br>交通 60% 73. 3% 73. 3%<br>教育 50% 76. 7% 76. 7%<br>经济 43. 3% 80% 90%<br>[[文件:Wikipedia公式-表1.png]]军事 26. 7% 63. 3% 60%<br>体育 43. 3% 53. 3% 60%<br>医药 40% 70% 63. 3%<br>艺术 26. 7% 73. 3% 76. 7%<br>[[文件:Wikipedia公式-图2.png]]政治 46. 7% 70% 76. 7% ( 平均准确率) 47% 70% 71. 6%<br>
图 2 实验比较<br>
以上实验结果表明,词形词序法根据短文本包含的词语及
[21] 吕学强,任飞亮,黄志丹,等. 句子相似模型和最相似句子查找算法[J]. 东北大学学报: 自然科学版,2003,24( 6) : 531-534. <br>
[22] 李素建,刘群,杨志峰. 基于最大熵模型的组块分析[J]. 计算机学报,2003,26( 12) : 1722-1777.<br
 
存储在 Cookies 中。这种方法使用起来很简单,它支持″SHA1″ 和″MD5″加密算法。加密算法可用语句 string Password = Form- sAuthentication. HashPasswordForStoringInConfigFile ( Pwd. Text. ToString( ) ,″MD5″) ; 验证码图片生成的函数单独放在 Validata. aspx. cs 文件中,便于登陆页面验证码图片的生成及对比校验。<br>
当管理员用户通过用户名、密码、验证码三重验证之后,服
务器端将管理员用户信息发送保存到用户浏览器 Cookie 中,并
且设置 Cookie 的生存周期为 10 分钟,当管理员用户在 10 分钟
之内没有操作浏览器自动注销管理员权限,用户需要再次进行
后台操作时,需要再次用管理员账号登陆操作。防止管理员权
限泄露,提高了系统整体的安全性。 ( 7) 后台用户和内容管理模块设计: 用户管理模块中,可以
添加新的系统管理员帐号; 后台内容管理模块中添加了分类一
栏,可添加十三个分类,即红枣病害防治、红枣虫害防治、枣树病
虫害综合防治、枣树繁殖、枣树品种、土壤知识、种植环境、生物
特性、育苗及枣园建立、枣园管理、整形修剪、采收加工及枣园建
设咨询。( 8) 测试与维护: 功能测试就是对系统的各项功能进行验
证,根据功能测试用例,逐项测试,检查系统是否达到用户要求
的功能。系统测试包括链接测试、表单测试等测试方法。维护
和检测站点的工作包括: 更新站点内容、维护超链接、改进站点
结构等,采用本地机上完成添加、删除和编辑网页,待更新完毕
后,用上传软件重新发布并检验更新结果。由于要经常更新自
己的站点,这就难免使网页中的一些链接失效,比如链接了已经
不存在的 www 站点,链接的网页名称或位置发生了变化,删除
了网页却没有删除指向该页面的链接等。因此维护站点的另一
个重要的工作就是检测和修复超链接。Dreamweaver CS4 提供
了非常方便的维护功能,可以有效缩短维护成本。
登录成功后的后台管理界面如图 8 所示。 图 8 登录成功后的后台管理界面<br>
3 结 语<br>
随着互联网的发展,信息技术在农业的各个方面逐步得到
应用。本文的研究是以信息技术为基础,结合国家现代红枣产
业技术体系,以三层架构组织形式,构建基于 ASP. NET 2. 0、 SQL Server 2005 的红枣生产管理信息资源共享平台,其目的在
于对枣园管理信息资源进行收集、整理和资源共享,从而为用户
提供更好的服务,加快我国现代红枣产业的发展。根据系统分
析、设计及测试,主要得出以下结论: ( 1) 以网络化需求为目的,
提出了基于 ASP. NET 2. 0 的系统总体设计方案,以 SQL Server 2005 关系型数据库模型为后台开发工具,充分实现信息资源共
享。( 2) 采用了 B/S 三层模式体系结构,克服了 C/S 模式体系
结构诸多方面的不足,简化了系统的开发与维护,也使用户的操
作变得简单。( 3) 本系统使用 Visual Studio 2005 集成开发环境
作为开发工具,采用 MD5 密码加密技术,保证了系统开发的安
全; 使用 SQL Server 2005 开发数据库,通过单独设置帐号密码
进行远程登录访问,而底层数据信息表不暴露给用户,保证了数
据库的安全。<br>
红枣生产管理信息资源共享平台虽实现了预期的要求,基
本满足用户应用的需要,但仍然存在一些工作需要进一步完善,<br>
主要存在以下几个方面: ( 1) 系统实现了一定的安全性,伴随网站的发布、系统访问<br>
量的增大,服务器配置需要进行更新换代,安全性也需要进一步<br>
考虑,可以采取一些加密手段进行加密。 ( 2) 系统在技术文章栏目中包含留言互动模块,在以后的<br>
研究中可以增加视频会议、专家系统等模块,使功能进一步完善<br>
和丰富。 <br>
'''参 考 文 献''' <br>
[1] 漆联全. 新疆红枣产业的现状、要求及其发展趋势[J]. 新疆农业科学,2010,47( S2) : 8-12.<br>
[2] 龙滔. 基于. NET 的数字图书馆管理信息系统的设计与实现[D].<br>
[3] 林乐逸. 基于 ASP. NET MVC 和实体框架的软件项目管理平台[D]. 上海: 上海交通大学软件学院,2012. <br>
[4] 陈旭,毕军芳,仇天月,等. 基于共享服务模式的农业资源管理WebGIS 系统构建[J]. 中国农学通报,2013,29( 11) : 115-120. <br>
[5] 杨少友,黄心砚. 科研电子病历系统的设计[J]. 计算机应用与软件,2013,30( 5) : 73-75. <br>
[6] 吴开兴,陈旭,翟自勇. 居民健康档案管理系统的设计与实现[J].计算机应用与软件,2013,30( 4) : 214-216. <br>
[7] 李宗新,王庆成,刘开昌,等. 基于 Internet 的山东省作物种质资源共享平台的开发与研究[J]. 山东农业科学,2011( 9) : 9-14. <br>
[8] 肖锐,荆长伟,支俊俊,等. 浙江省土壤信息共享平台的构建与实现[J]. 科技通报,2013,29( 1) : 19-24. <br>
[9] Lilburne L R,Hewitt E A,Webb T W. Soil and informatics science combine to develop S-map: A new generationsoil information system for New Zealand [J]. Geoderma,2012,170: 232-238. <br>
[10] Panagos P J,Liedekerke M V,Montanarella L. Multiscale European soil information system( MEUSIS) : a multi-scale method to derive soil indi- cators[J]. Computational geosciences,2011,15( 3) :
463-475. (上接第 85 页) <br>
<br>
----
收稿日期: 2013 - 06 - 04。教育部人文社会科学研究青年基金项目 12YJCZH201) ; 杭州市科技发展计划重大科技创新专项( 20122511A18) 。王荣波,副教授,主研领域: 中文信息处理。谌志群,副教授。周建政,工程师。李治,工程师。高飞,硕士生。
行政员、groupone、管理员
16,821
个编辑

导航菜单