当前位置: 首页 > 作文大全 > 好词好句 > 压力大想死的语句

压力大想死的语句

2016-02-18 10:30:11 成考报名 来源:http://www.chinazhaokao.com 浏览:

导读: 压力大想死的语句篇一《相似句型的辨别》 ...

本文是中国招生考试网(www.chinazhaokao.com)成考报名频道为大家整理的《压力大想死的语句》,供大家学习参考。

压力大想死的语句篇一
《相似句型的辨别》

学好计算机编程离不开数学,这里我收集了大量数学资料与编程算法与大家一起分享,希望大家能对大家提高编程技术和数学水平有所帮助!     相似句型的辨别强调句型:It is/was+被强调部分 +that/who/whom+其他 .使用强调句型应注意以下几点:1. 强调句的谓语is或was永远用单数,其中is既可强调现在的情况,也可强调过去的情况,was只能强调过去的情况。例如:It is/was yesterday that I met your father in the street.2. 不管被强调部分是哪种状语,只能用that连接,不得使用where, when等连词。例如:It was in the street that I met your father yesterday.3. 被强调部分为人时,可用who(主格或宾格)和whom(宾格)代替that,用that也行。例如:It was your father that/whom/who I met in the street yesterday.4. 强调句中也要注意主谓一致、人称一致和否定转移的问题。例如:It is they who are our friends.It was not until ten o'clock that we got home last night. 5. 注意不要混淆强调句和其他从句。It is/was ---that ---为强调句标志,去掉后仍可组成一个完整的句子,只是没有被强调,而其他从句一般不具备这一特征。比较:It was ten o'clock when we got home last night.我们昨晚到家时已十点了。It was at ten o'clock that we got home last night.我们昨晚是在十点到家的。第一句不是强调句,when不可改为that,因为去掉it was 和that后,只能组成"We got home ten o'clock last night"这是一个不完整的句子;第二句是强调句,因为去掉it was 和that后,能组成"We got home at ten o'clock last night"这是一个完整的句子, that不可改为when。 注意不要混淆强调句和其他从句。 1. 去掉"it is/was及关联词",在不添词、不减词的前提下能重新排列成一个完整的句子,则是强调句型,关联词用that(被强调部分是人也可用who/whom)。 2. 如果不是强调句型,则分析表时间的短语是时间段还是时间点,是时间点则用关联词when。 3. 如果是时间段,则看从句发生的动作在该时间段之前还是之后,之前则选since,在之后则选before;或就如下句型进行记忆:It is+时间段+since-------It was/will be+时间段+before易混句型专题练习1. It was in 1949 _______ the People's Republic of China was founded.A. when B. before C. since D. that2. It was there ______ he was born.A. when B. before C. since D. that3. It was Beijing, ______ he was born.A. when B. before C. where D. that4. It was 1921, _______ the Communist Party was born.A. when B. before C. since D. that5. It was for te

n years _______ he has lived here.A. that B. since C. after D. before6. It will be two years ______ he retires from the army.A. that B. since C. after D. before7.____ is _____ who wants to see you.A. It; he B. That; he C. It; you D. That; you8. In which play is ______ your brother appears?A. that where B. this when C. it that D. it where9. ______ four years since I left that small village.A. It was B. There was C. There is D. It is10. It was what he meant rather than what he said ______ made me angry.A. which B. that C. what D. who11. It is a pity ___ you forgot both her address and her telephone number.A. that B. where C. since D. then12. It was not until 1920 _____ regular radio broadcasts began.A. while B. which C. that D. since13. It was ______ she was about to speak that the door opened.A. that B. what C. because D. when 14. Was it in this college ______ he studied for five years ______ she was trained to be a doctor?A. that; which B. which; that C. that; where D. where; that15. It was ______ black home after the experiment.A. not until midnight did he go B. until midnight that he didn't goC. not until midnight that he went D. until midnight when he didn't go16. It was in the city ______ I lived that I met Mr Li.A. that B. which C. where D. when17. It is not until now ______ I know the importance of English.A. then B. that C. when D. /18. It is for this reason _____ the clear sky over the mountain appears blue.A. so B. why C. because D. that 19. It was ______ she was about to speak that the door opened.A. that B. what C. because D. when 20. It won't be long _____ you regret what you've done.A. when B. since C. before D. after 21. It was five o'clock in the afternoon ______ they arrived at the hotel.A. when B. since C. before D. that22. Was it ______ Tom's carelessness ______ your keys were all lost.A. because, which B. for; what C. because of; that D. since; 23. -------Oh, where is my wallet?-------Was it ______ the man knocked into you _____ he picked your wallet? (02济南)A. not until; that B. no sooner; than C. long; before D. when; that24. It will be a long time _______ Mr Black _______ back from abroad.(02湖北八校联考) A. before; comes B. since; comes  C. before; will come D. since; will come25. ------_____ Mr Bardon changed his mind to take part in the movement?------After he listened to the speech by Mr King. (02广州)A. When was that it B. When was it that C. When was that D. When was it 26. I've already forgotten ______ I put the dictionary you are looking for. (02临沂)A. that it was where B. where it is that C.

where was it that D. it was where that27. It was with great joy ______ he received the news that his lost daughter had been found. (04福建高考)A. because B. which C. since D. that学好计算机编程离不开数学,这里我收集了大量数学资料与编程算法与大家一起分享,希望大家能对大家提高编程技术和数学水平有所帮助!28. Why! I have nothing to confess. _____ you want me to say? (04上海高考)A. What is it that B. What it is that  C. How is it that D. How it is that29. It was about 600 years ago _______the first clock with a face and an hour hand was made. (97全国)A. that B. until C. before D. when30. Was ______ that I saw last night at the concert? (97上海)A. it you B. not you C. you D. that yourself31. ______ was in 1979 _______ I graduated from the university.  (98上海)A. That; that B. It; that C. That; when D. It; when32. It was only when I reread his poems recently _______ I began to appreciate their beauty. (98全国)A. until B. that C. then D. so33. I have always been honest and straightforward, and it doesn't matter ______ I'm talking to. (04广东)A. who is it B. who it is C. it is who D. it is whom34. It was only with the help of the local guide _______. (04上海)A. was the mountain climber rescuedB. that the mountain climber was rescuedC. when the mountain climber was rescuedD. then the mountain climber was rescued35. It is these poisonous products ______ can cause the symptoms of the flu, such as headache and aching muscles. (03上海)A. who B. that C. how D. what36. It was because of bad weather _______ the football match had to be put off. (03上海春)A. so B. so that C. why D. that37. It is the ability to do the job ______ matters not where you come from or what you are. (2000全国)A. one B. that C. what D. it参考答案:1-5 DDCAA 6-10 DACDB 11-15 ACDDC 16-20 CBDDC21-25 ACDAB 26-30 BDAAA 31-35 BBBBB 35-37 DB1学好计算机编程离不开数学,这里我收集了大量数学资料与编程算法与大家一起分享,希望大家能对大家提高编程技术和数学水平有所帮助!

压力大想死的语句篇二
《基于改进编辑距离的中文相似句子检索①》

基于改进编辑距离的中文相似句子检索

车万翔 刘挺 秦兵 李生

(哈尔滨工业大学计算机学院信息检索研究室 哈尔滨 150001)

{car, tliu}@ir.hit.edu.cn

摘要 中文相似句子检索的方法在基于实例的机器翻译等中文信息处理领域,具有非常广泛的应用背景。本文提出的基于改进编辑距离的中文相似句子检索方法,在使用信息检索技术提高检索效率的同时,以普通编辑距离算法为基础,加入了词汇的语义信息,使之更加符合中文句子相似度计算的要求。改进编辑距离与单纯基于语义辞典计算句子相似度的方法相比,具有便于扩展,准确率高等优点。在基于大规模双语句对检索的英文辅助写作系统中使用该算法进行中文句子检索,最后获得了81.33%的查准率和95.31%的查全率。

关键词:改进编辑距离、相似句子检索、英文辅助写作

义词典的方法,可以很好的解决这一问题,但是单纯的使用语义词典的方法,并没有考

0 引言

虑到句子内部的结构和词语之间的相互作用关系,准确率不高。

相似句子检索,在自然语言处理领域具编辑距离通常被用于句子的快速模糊有非常广泛的应用背景,如信息过滤技术中匹配领域,但是其规定的编辑操作不够灵的句子模糊匹配,基于实例机器翻译的原语活,也没有考虑词语的同义替换。最后基于言检索,自动问答技术中常问问题集的检索统计的方法,需要构造大量的训练语料,工以及问题与答案的匹配,基于双语语料库的作量是十分巨大的,而且还存在着数据稀疏英文辅助写作等。因此长期以来,相似句子的问题。 检索问题,一直为人们所热衷。 我们所提出的改进编辑距离的方法,吸

目前句子相似度计算一般分为三个等取了基于语义词典的方法和编辑距离方法[1]

级,分别为语法相似度、语义相似度和语的优点,同时克服了它们的一些不足。与普用相似度。计算句子之间的语用相似度,一通编辑距离算法不同,改进编辑距离方法同直是人们的目标,但是其计算具有相当的难时使用了HowNet[6]和《同义词词林》[7]两种度,效果还不尽如人意。而在一般的应用中,语义资源,计算词汇之间的语义距离,同时只计算句子的语义相似度就能够达到我们赋予不同编辑操作不同的权重,在不用经过的需要。句子的语义相似,指的是两个句子词义消歧和句法分析的情况下,兼顾了词汇之间结构类似并且词汇使用同义或者近义的顺序和语义等信息,最终获得了81.33%词代替。例如:“我喜欢吃苹果”与“我爱的查准率和95.31%的查全率。本文的第1吃香蕉”就是一对语义相似的句子。 部分描述了英文辅助写作系统框架以及各

目前对句子语义相似度计算的研究方个模块的算法。第2部分给出了测试结果。

[1]

法主要有:基于相同词汇的方法、 第3部分讨论该系统的优点和缺点。第4部

[2][3][4]

使用语义词典的方法、使用编辑距离分给出了最后的结论。

[5]

的方法,以及基于统计的方法等。其中,基于相同词汇的方法有很明显的局限性,对

1.相似句子检索 于同义词之间的替换则无能为力。而使用语

—————————————— 相似句子检索过程如图1所示。 ①863计划(2002AA147020-11)、国家自然科学基金 (60203020)资助项目。

②男,1980年生,博士生;研究方向为自然语言处 理,信息检索;联系人。

核心的相似句子检索算法由候选句子粗匹配和句子相似度计算两部分组成。其中,候选句子粗匹配模块首先到句库中找到可能与输入为相似句的候选句子,目的是提高检索效率。句子相似度计算模块将每一个候选句子与输入句进行仔细的相似度计算,并按照相似度的大小排序,获得最终的输出结果。

1.1候选句子粗匹配

候选句子粗匹配由词扩展和快速检索两个子部分构成。

首先为了获得较高的召回率,必须对分词以后的各个词汇进行适当的同义词扩展。在此,对同义词的定义即不能太宽泛,又不能太严格。如果太宽泛,将检索到许多无关的句子,降低了系统的准确率和效率;而如果太严格,又可能漏掉许多有用的句子,降低了系统的召回率。

在此使用HowNet语义辞典作为同义词扩展的资源。HowNet中同义词的定义为具有相同的英语译文(W_E)和语义定义(DEF)的词汇。例如“我”和“俺”,简化词条如下: NO.=085498 NO.=000701 W_C=我 W_C=俺 W_E=I

W_E=I

DEF=firstPerson|我

DEF=firstPerson|我

可见,“我”和“俺”具有相同的英语译文 (W_E) “I”和语义定义(DEF)“firstPerson|我”,是一对同义词。在表1中,我们给出了使用HowNet进行词扩展的一些例子。从中可以看出,使用HowNet进行词的扩展,效果是比较理想的。

表1. HowNet进行词扩展示例 原词

扩展词 俺 本人 鄙人 我 吾 俺们 我方 我们 吾 吾侪 咱 咱们 按 按捺 把持 扼制 管束 收 束 压 压制 抑制 制 制约 羁

按键 按钮 电键

其次,为提高系统的效率,首先对整个语料库进行初步的筛选,确定数量不多但有可能与用户的需求相似的候选句,然后对这些候选句进行精确的语义相似度计算,得出最终的结果。

选择候选句的依据是,如果一个句子中与用户的需求相同或同义的词越多,越有可能与用户的需求相匹配,即权重越大。我们采用信息检索中常用的倒排文档索引[8]的方法进行检索。

在此,并不需要对用户输入句子中的词进行词义消歧,而直接对所有扩展后的词进行检索。这是由于输入的词并非孤立,当与其余的词共同检索的时候,能达到消歧的目的。以“打”为例,当输入“打毛衣”时,“打”被扩展为“打击”,“编织”等。一个句子中同时含有“编织”和“毛衣”的可能性很大,而“打击”和“毛衣”几乎不可能同时出现在一个句子中。于是,含有“编织”和“毛衣”的句子更容易成为候选句。按照句子权重由大到小的顺序,我们选择前100个句子作为候选句。

1.2语义相似度计算

本文采用改进编辑距离的算法计算句子之间的语义相似度。在介绍改进编辑距离的算法之前,首先介绍两个句子之间的编辑距离以及如何进行计算。

编辑距离指从一个以字为单位的句子变为另一个以字为单位的句子所需要最小的编辑操作个数。编辑操作共有“插入”、“删除”和“替换”三种。图2(a)显示了“爱吃苹果”与“喜欢吃香蕉”之间的编辑距离为4,如四条虚线所显示。

从该计算过程可以看出,单纯使用以字为单位编辑距离的方法,计算出的语义距离和实际情况是有很大的出入的。首先,编辑距离算法以字为基本计算单位,而在汉语中,单个的字往往是不具备意义的。例如上面的“苹”、“果”等字,并不能反映其所合成词的意义。其次,词语之间的替换操作的代价并非都是相同的。例如,“爱”被“喜欢”替换,代价不应该很大。最后,如果在被检索句子或短语中间加入为数不多的词,语义也不会有太大改变。例如“爱吃苹果”与“爱吃甜苹果”就非常相似。

(a)编辑距离的 (b)改进编辑距离 图2. 编辑距离与改进编辑距离的比较

基于以上的观点,我们提出了改进编辑距离算法,即以词汇为基本的计算单位,同时以HowNet和《同义词词林》作为语义距离的计算资源,并减小插入操作的代价。

HowNet定义的同义词如前所述。下面介绍如何使用《同义词词林》进行语义距离计算。

在《同义词词林》中,将词的词义分为大、中、小类描述了一个由上到下,由宽泛概念到具体词义的语义分类体系,并将所收的词按词义分门别类组织在其中。于是,每个汉语词都按照其语义,赋予了一个或多个3位的语义代码,与此分类体系相对应的是一个词义的编码体系,描述如下: <词义编码>::= <大类><中类><小类>

<大类>::= <大写英文字母> <中类>::= <小写英文字母> <小类>::= <数字><数字>

例如:“苹果”Bh07,“香蕉”Bh07,“西红柿”Bh06,……。则A, B两词之间的语义距离为:

Dist(A,B)=a∈minΑ,b∈B

dist(a,b)

其中,A,B分别为A,B两词具有语

义的集合,语义a,b之间的距离为:

dist(a,b)=2∗(4−n)

其中n为它们之间的语义代码从第n类开始不同,全部相同语义距离为0。可见Dist(苹果,香蕉)=0,Dist(苹果,西红柿)=2。这种代数操作要较之使用HowNet计算语义相似度方便、快捷的多。

在此,也没有进行词义消歧工作,而使用两个词之间的最短语义距离作为它们之间的语义距离。这是因为我们在候选句子粗匹配时,检索到的句子中的词与用户输入句中的词具有相似的语义,起到了词义消歧的目的。

表2规定了词“A”与“B”进行各种编辑操作后编辑距离由小到大改变的顺序,其中,“*”代表1至4个词,“A”与“B”为用户输入的两个连续的词,X'为HowNet定义的X的同义词,X''为《同义词词林》定义的X的近义词。

表2.编辑距离改变的次序

级别

模式

据此,我们可以定义改进编辑距离计算语义相似度方法中各种编辑操作的代价,如表3所示,其中“Æ”代表替换操作。 表3. 改进编辑距离编辑操作代价定义

编辑操作 操作代价

A Æ A 0 插入A Æ A’ 0.4

A Æ A’’

Dist(A, A’’)/10 + 0.5

其它

根据以上对编辑距离的重新定义,“爱吃苹果”与“喜欢吃香蕉”之间的改进编辑距离计算如图2(b)所示,其中“爱”Æ“喜

欢”代价为0.5,“苹果”Æ “香蕉”代价为0.7。最后改进编辑距离结果为1.2,要较之普通编辑距离计算的距离4,更符合实际情况。

与计算普通的编辑距离相同,也使用动态规划算法计算改进编辑距离。图3为计算两个句子S1与S2改进编辑距离的算法。

图3. 改进编辑距离算法

最后,经快速检索步骤检索出来的每个句子都与用户输入的句子计算出改进编辑距离,然后按照由小到大的顺序进行排列,取出前几个作为最终的结果。本文选择前10个结果。

2.测试结果

在现今机器翻译效果不令人满意的情况下,辅助写作系统逐渐引起了人们的重视。我们使用基于相似度的句子检索技术,以大规模的双语句对语料库为资源建立的英文辅助写作系统,容许用户输入中文整句或者短语,系统在双语句对库中快速的检索与之相似的中文句子,对应给出这些句子的英语翻译。具有翻译准确,示例性强等优点。并且随着收集的双语语料库的增加,覆盖面的扩大,辅助写作的效果也会越来越好。目前,我们收集的双语句对已达到25万对。

英文辅助写作系统首先将用户输入的中文整句或者短语分成单独的词汇。在此,我们采用最大概率分词算法[9]。由于输入中一般不会有未登录词,因此采用最大概率分词算法即可达到95%以上的准确率,足以满足系统的要求。

我们采用国际上通用的MMR(Mean Reciprocal Rank)评分机制对算法进行评价,即第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n,如果没有匹配的句子分数为0。最终的分数为所有得分之和。

我们随机测试了150个句子或短语,使用全部25万句对双语语料库,最终的平均分数为:1.254。其中122句输入能够找到相匹配的结果。在没有给出相应匹配结果的28个测试句子中,有22个是在语料库中就没有相匹配的中文句子,6个是系统没有给出相匹配的正确句子。在表4中,列出了一些系统输入和输出的最终结果。

表4. 系统输入输出结果示例 用户需求系统输出

他是那种随波逐流的人。

He is the kind of person who swim with the tide.

属于那种同那种人打交道得随机应变。人

about you when you're dealing with a man like that. ……

大家拥进了房间。

Everyone piled into the room. 挤进了大人们一起挤进了一个小房间。礼堂

People were packed together in a small room. ……

同时,我们又将基于改进编辑距离的中文相似句子检索方法与单纯基于语义辞典的方法进行比较。比较结果如表5所示。其中,查准率P和查全率R的定义如下所示:

P=

含有相匹配的句子数

测试句子数

R=

含有相匹配的句子数

语料库中有相匹配的句子数

可以看到,改进编辑距离的方法比基于语义词典的方法在辅助写作系统中,取得了更好的效果。基于语义词典的方法除了进行语义距离的计算过程中使用单纯的语义词

典进行语义距离的计算外,其余步骤与改进编辑距离的方法完全相同。

另外,我们建立的英文辅助写作在线演示系统③,目前已经收集了超过5000个真实有效的翻译查询。经过分析可知,其中主要的查询为短语和短句,抽样检查系统的查准率在80%以上。

表6. 改进编辑距离的方法与基于语义词典

的方法比较结果

方法

改进编基于语义词辑距离

典的方法 测试句子数含有正确匹配句

子数 系统没有给出正确匹配的句子数

语料库中没有相

匹配的句子数

查准率P查全率R3.讨论

以上测试结果说明,在英文辅助写作系

统中,使用改进的编辑距离进行中文相似句

子检索取得了较为理想的效果,查准率达到了81.33%。

对匹配不正确的例子进行分析可知,该方法目前的问题是如果用户需求的句子较长,就很难找到与之完全匹配的句子,例如输入“顺利到达职场生涯的顶峰”与输出“他当选为总统是他职业生涯的顶峰”,虽然匹配了后半部分,但是前面的“顺利到达”并没有体现出来,这就需要对句子进行恰当的分割,然后分别查询。

通过使用改进编辑距离的方法与基于语义的方法相比较可知,改进编辑距离的方法考虑了较多的词汇顺序以及距离的信息,例如对于输入句子

Sinput=“匆匆忙忙交给她”

改进编辑距离方法首选结果为: ③

Sedit=“她急忙把孩子交给她妹妹照管” 而基于语义方法首选结果为: Ssem=“她就匆匆忙忙挑了一件店里最贵重的衣服,把它交给售货员,此人为她尽快包好”

虽然Ssem 与Sinput 中所有的词都匹配,可是并非最好的结果,反而是Sedit这个与原句词匹配不多的句子更加符合需求。可见,改进编辑距离的方法比基于语义的方法更能反映句子中词汇顺序和距离的信息,最终取得了更好的效果。

4.结论 基于改进编辑距离的中文相似句子检索方法在英文辅助写作系统中获得了较好

的结果。随着双语语料库的增加,覆盖面的

增大,系统的效果也将有一定的提高。同时,

又具有易于扩展的优点,我们可以方便的将

该方法应用到其它的领域中,如:基于实例

的机器翻译中的原语言搜索,自动问答中的常问问题库检索以及问题与答案匹配等等。

为了进一步提高基于改进编辑距离的中文相似句子检索算法的性能,我们以后需要将句子分成较小的独立子结构分别查询,因为一个较长的句子往往不容易匹配,这需要使用较复杂的句法分析技术。 参考文献

[1] Nirenburg S. Two Approaches of

Matching in Example-Based Machine Translation, Proc. TMI-93, Kyoto, Japan, 1993

[2] 秦兵, 刘挺, 王洋等. 基于常问问题集

的中文问答系统研究. 哈尔滨工业大学学报, 2003, 35(10): 1179

[3] Li S, Zhang J, et al. Semantic

Computation in Chinese Question-Answering System. 2002, Journal of Computer Science and Technology, 17(6): 933

[4] Ristad E S and Yianilos P N Learning

压力大想死的语句篇三
《大规模句子相似度计算方法》

压力大想死的语句篇四
《一种检测多语言文本相似重复记录的综合方法》

计算机科学200ZV01.29N?l

一种检测多语言文本相似重复记录的综合方法

ASyntheticalApproach

forDetectingApproximatelyDuplicateDatabaseRecordsof

Muhi—LanguageData

。复熊嚣上腓海z英oo海200433)仍c『A

(复旦大学计算机系

lr)1

AbstractDetecting

approximateduplicaterecordsiadatabase

lsa

keyproblemrelatedto

dataquality

Inthls

paper・

wepresenta

syntheticalapproachforrecognizingclustersofapproximatelyduplicaterecordsofmulti—languagedata.

The

keyideasaye.(1)anefficientalgorithmforsortingmuhi—languagedata;(2)anelficiemeditdistancebasedpair

wisecomparisonmethodformulti—languagedata:(3)usinga

priorityqueue

ofduplicatesclustersandrepresentative

recordsstrategy

to

respondadaptively

to

thedatascale

Ke严ords

Approximateduplicatesrecords・Clustering・Pairwisecomparison,Priority

queue

前言

辑距离进行记录比较.

上述方法的处理对象都是纯西文表示的数据,不能直接随着信息技术的广泛应用.如何有效利用不断激增的数用来处理多语言数据。然而,在使用东方语言的国家里.数据据成为企业的迫切同题.数据仓库和数据挖掘技术为企业从经常是含有多语言的文本。比如下面这样一条描述个人信息浩藉的数据海洋中获取有用的知识提供了一种有效的手段.的记录:

然而.现宴世界中的敬据往往存在着大量的质量问题t从简单马明/浙皿杭州市风起路16Z号B座301室/uT斯选康通信的效据输入错误到相对较复杂的数据间的语义不一致性。如公日/roaming@263.net/6805201

果数据的质量达不到要求.那么数据挖掘这类技术产生的结其中这个记录的有些字段全是中文.有些全是西文.有些果也不会理想.甚至产生错误的分析结果,从而误导决策。可既有中文又有西文.

见提高数据质量的重要性.

与纯英文数据记录相比,多语言数据记录的排序和记录信息重复问题是影响数据质量的关键问题之一。理想情

比较方法都会有所不同.本文中我们以中西文混合情形下的况下.对于现实世界中的一个实体撒据库或数据仓库中应该

数据记录为例来介绍和讨论我们的方法.本文的主要贡献有:只有一条对应的记录.根据这样的理解,联邦数据库中的实体通过序值文件的方式解决了多语言文本的排序问题.并给m标识问题和面向对象致据库中的对象标识问题都可以被看作了一个有效的排序算法;针对多语言数据.给出了一种合理、是信息重复问题。从比较狭隘的观点来看.如果两条记录在某高效的记录比较算法.其复杂度为O‘M*N);采用以聚类为些对应的字段(Field)上的值相等或者足够相近,那么可以认元素的优先队列和代表记录相结合的策略.大大减步r记录为这两条记录互为重复。我们讨论的相似重复记录检测也以比较次数。

这样的琨点为基础。由于这些记录不完全一样.我们称之为相本文以中西文混合数据为例介绍了多语言文本排序同似重复记录.在不致引起混淆的情况下,为了方便.文中有些题.并给出了有效的排序算法。舟绍r多语言数掘的记录比较地方直接称之为重复记录。

算法.整个检测算法的总体思想以及优先队列等关键策略。给检测和去除数据库中的重复记录并非一个新的问题,排出了实验结果评价和我们的工作。

序一合并方法是检测数据库中完全重复记录的标准方法“1。它的基本思想是.先肘数据集排序,然后检测相邻记录是否为重2.排序一初步聚类

复记录.目前已有的检测相似重复记录的方法也大多以此思初步聚类的目标是将潜在的重复记录调整到相邻位置.想为基础.不同之处在于排序对象的选取和记录比较的方法.一般采用排序的方法.对于西文字符而言,排序也就是按字符文[2]中将整条记录视为一个长字符串进行排序.通过计算字在字符集中的次序排列(即字典序)。对于汉字而青,存在多种符串编辑距离进行记录比较;文[3]以自定义的一个应用相关排序方式。在国家标准GB2312—80中共收集汉字6763个,分成的健作为排序键.通过一组规则定义的相等理论判定记录是两级.一级字库包括汉字3755个.按拼音字母排序;二级宁库否重复;文EC以记录的NGram值作为排序键t通过计算编

包括3008个汉字,按部首排序.由此可见汉字本身的编码不满

青荣华硬士研究生。主要研究方向为教据质量和数据清洗.田增平副教授.罔徽英教授.博士生导师

19

ChambedinD.RobieJ.FlorescuD.Quilt:AnXMLQuery

Lan22

McHugh

J.et

a1.Indexing鞋mistructuredData:[Techmcal

guage

forHeterogeneousDataSource.WebDB2000・May

2000

report]StanfordUniversttyDatabase

Group.1998

zOBoniIatiA.CeriS.Comparative

Analysis

ot

Five

XMLQuety

23

McHughJ.WidomJQueryOptimization

for

XMLIn:PrcK-(1{

LanguagesSIGMODRecord.2000.29(”:68~79

1he294VLDBCon[1999

21

G01d眦n

R,WidomJ.DataGuides:EnablingQueryFormulationz4姚建中XML文档查询处理与数据库存储的研究:[浙扛尢学硬七

and

Opt皿ization【n

5emistructruedDatabases.In:Prcc

of

the

学位沦文]2000

Z3“VLDBConlAthensGreece,1997

・118・

万 

方数据

足任何一种统一的序值规则.不宜作序值用.此外.在多语言的情形下.不同语言字符的序值也需要统一。・2.1序值文件

我们采取建立序值文件的方式解决序值不统一问题。目前.汉字通常有以下三种排序方式:拼音序、笔划序、部昔序.对于汉字各种不同的排序方式.分别建立对应于GB2312—80汉字基本集的序值表.序值表中序值的存放接对应的汉字在汉字基本集中出现的顺序进行.因此根据汉字韵内码(0XBOAI~0XF7FE)可以直接计算出序值表中存放对应序值的入口地址。计算公式如下:

index=headoffset+r(c1—0xBOH)*94+(c2—0xAlH)]*N

其中c1为汉字内码的第一个字节(区码);c2为汉字内码的第二个字节‘位码);N为序值编码的长度.我们用两个字节来存放序值.N一2;headoffset是序值表中存放第一个汉字(0xBOAl.啊)的位置。对于汉字的任何一种排序方式,西文字符的序值始终在汉字序值之前。我们将汉字序值起始值设定为大于128,这样西文字符编码值在多语言环境下可直接作为序值.

序值表相当于自定义的一种编码。不同的排序方式对应各自的序值表.序值表的大小只有几十k,可以存放在内存中.根据上述公式,汉字的内码可直接映射为获取序值的地址索引,非常快捷.

2.2捧序算法

一般来说快速捧序是所有排序算法中效率最好的,但是对于字符串这样的排序对象.有时候快速排序算法却未必能够获得最佳的效率.在我们的实现方法中,除了传统的快速排序算法外.还采取了一种改进的基数排序算法,该算法能有效地处理不等长多语言文本字符串的排序问题。在实际排序时,根据字符串的长度和记录效在这两种方法中做出选择。

基数排序主要通过分配和收集两个操作来实现。它的最大特点是:(1)时问复杂度为O(KN)。其中K为排序对象的长度,N为排序对象的个数.因此,有类似于OtN)的特性,当K值较小时算法的效率比较高.(2)基数排序不需要排序对象之间的比较操作,这对字符串对象的排序来说是一大优点,因为两个字符率之问的比较操作开销比较大.

我们取基数RADIX=256(即一个字节),因此K就等于字段的字节效。由于字符串的长度不相等.为了进一步降低排序的开销.以基数排序为基础.我们采取的算法的基本思想是:所有的排序对象按长度归类,然后按长度从大到小、由后向前进行基数排序的分配收集操作。也就是说对于第i个字节的分配和收集操作只针对那些至少有i个字节长度的字符串.算法SortAt描述如下-

输入:数据源tdata-排序属性atl-r■出:排序结果SVector:&trayofrid

KeyList:Listof(rid.iField);LenList:arrayofKeyList;

1.N:=ReadFie|ds(data。LenList.attr.足);2.KeyList:=NULL;3.forl==Xto0do

::beLgeinnListEl].tail:一K。yLlst;

6KeyList:=LenList[i]head;

7InitIhcket(Bucket);

8Dishibute(KeyList,Bucket.i);

Collect(KeyList,Bucket);10

end

∥1-≮0薹嚣[to,]N::--甾。怫。d;

13

return

SVector;

第1行的ReadFields函数从数据源data中读取排序字

万 

方数据段.按字段值长度存放到LertLtst中.所有字符替换成相应的序值,并返回记录个数Ⅳ和宁段值最大长度K.第7行的Init—Bucket将Bucket初始化为空.第8行的Distribute将KeyList中的字段值按第1个字节分配到Bucket中.第9行的Collect将分配到Bucket中的字段值按序收集起来,KeyList指向列表的头部.由上面的算法描述可知,该算法适合于排序对象平均长度较小的情况。在实际使用中我们可以通过比较K和log(Ⅳ)来决定采用何种排序算法.当K>Q*log(Ⅳ)时采取快速排序算法.反之采取上述算法.根据我们实验比较的结果.Q一般要大于2.

5.记录比较

记录比较的目的是确定两条记录是否为重复记录.判定记录重复可以采取多种方式:文[2]将整条记录视为一个长字符串,然后通过计算字符串编辑距离确定相似与否.该方法过于粗糙;文[3]采用一组规则定义的相等理论来确定记录相似与否。我们采用有效权值模型.通过对莱些关键字段的比较来衡量两条记录的相似性.该方法能够更为合理地衡量记录的相似性.对于多语言文本表示的字段,我们可采用分割法细化比较对象.

1基于有效枫值的记录相似性度量

不难理解,记录中不同的字段对反映记录特征的贡献不是平均的.比如客户信息中名字显然要比性别更能反应这条记录的特征.基于这样的认识,在衡量两条记录的相似性时,不同的字段应该赋予不同的权重.在造成记录重复的诸多原因中.字段缺失(字段值为空)是其中一个重要原因。如下两条记录:

i马明/浙i【抗州市风起路i62号B座301室/uT新达康通信公司/maming@263.1let/6805201

2.马明/浙江杭州市风起路162号B座301室//maming

@263net/

相对于记录1,记录2缺少了两个字段的值。如果按逐个字段比较、按权值累计匹配值的方法.这两条记录的相似度将比较低,但事实是它们非常相似.为了消除字段缺失对判断记录相似性的影响.我们引入了有效权值的概念.假定参与比较的宇段有rt个.记录比较RecordMatch算法如下:

输^:记录r1.r2

输出:r1.嵋的相似度S1.validWeight:一00;

2.S:=00;

fori:=1tOndo

4.begm5if(r1

Field[i]一一NUI

LORr2

F,eld[i]==NULL)then

continue;

6.validWelght+=Weight[1];

7.s+=W蠡ght[i]-FieldMatch(r1.Field[i].r2.Field[i]);

8.end;

9.ifvalidWeight>0thenS=S/vahdWelght:

10retumS:

Weight[i]为第i个属性对应的权重,满足:乙Weight[i]

一1.o.第7行的FieldMatch计算两个字段的相似度.在3.2节中详述.在第5行我们可以看到,只有当两条记录在第i个字段上对应的值都不为空时.才进行字段比较,对应的权值才计入validWeight,我们称之为有效权值.在第9行.s除以valid—Weight得到最终的匹配值S。考虑到字段缺失是导致重复信息的重要因素之一,采用该方法后有效提高了检测重复记录的准确度.

52字段比较

字段比较是记录比较的基础.文[53针对西文字符串给出

・119・

了若干种字段比较的方法。对于数值这样的非字符串类型的数据,直接进行简单的相等比较。考虑列大部分数据都是宁符串类型的.而且重复记录之间的差异往往也是由字符串数据引起的.因此我们重点考虑字符串数据.

宁符串相似性比较的典型方法有Smith—Walerlnall算法‘‘】,其复杂度为O(m*n*nlaxr,m.n))。本文参考了计算编辑距离的思想D】.采用的算法的复杂度为O【m*n).然而,对于多语言数据而言.不同语言的宁符之间的比较不仅设有意义.而且会浪费大量的时问。为此我们采取r自然分割的方法.相同语言的字符之间进行比较。考虑如下两个表示地址信息的字符串的比较:

浙江杭州市风起路/162/'母/B/座/30l/室杭州市风起路/16/号IBI座/301/室分割之后我们考虑的是:

浙江杭州市凰起路号座室——杭州市风起路号座室1628301——168301

之间的比较.以字段中台有两种字符为例.假定它们在字段值A中分别有ml和n1个字符.在字段值B中分别有m2和n2个字符.则在不区分字符类型的情况下.所需比较次数为:

(ml+n1)*(m2+n2)一mlm2+mln2+nlm2+nln2

在分割之后.所需的比较次敬为:mlm2+nln2

以上述例子为例:两种方法的比较次数分别为18×15一

970.11×9+7×6—14】。由此可见.采用分别比较的方法可以

大大提高字段比较的效率。

相同类型字符串计算编辑距离的算法Dist如下所示:

■^:字符串gl和sz.以及它们的长度n1.n2输出:字符申81和s2的距离

1.floatGraph[n1+1][nz+1].2.Gr.ph[0][0]=00;

3.forcol:=1tonldoGr8ph[O][c01]=Graph[0][col--1]+In—

sertCost;//第0行

4.forFow==1tonZdoGraph[row][o]=Graph[row1][o]+

De]eteCost;//第0列

S./orrow—lton2do6,forcol=1tonl

do

kzIn

8.dl:=Graph[fowl[col--1]+InsertCost{9

d2:=G,,phr.,o---1][c01]+IkleteCost{

10d3:一GraphLro—w一1][col—1]+SubCost(sl[col

1],s2

ltow一1j);

11GraPh[row][c。1]:=min‘d1.d2.d3){

12

end;

13.return

Graph[n1][n2];

frasertCost(∈[o.1])定义的是插入・个字符的代价;DeleteCost【∈[o.1])定义的是删除一个字符的代价;第10行是SubCost(chl,oh2)计算字符chl和ch2相互替换的代价。当chI等于ch2时.SubCosr返回OoSubCost可以充分利用输入错误统计信息.在一定程度上减小了输入错误对判断字段相似性的影响.当我们取InsertCost等于DeleteCost时,上述算法具有对称性,即sl和s2的距离也就是sz和s1的距离。

算法Dist计算的是字符串之间的绝对距离,我们通过以下公式计算相似度:

FieldMatch(s1,s2)一Dist(s1.s2)/MaxDistfsl.s2)Maxl)ist(s1.s2)获取字符串s1、s2之间的最大距离.通常取这两个字符串的最大长度。

4.重复记录检测算法

第2、3两节分别解决了记录集的初步聚类和记录比较问题.这一节将描述整个捡测算法的总体思想.以及其中采取的一些关键策略。

1利用Union—Find结构计算传递Iil包

・120・

万 

方数据我们认为记录的相似重复关系具有传递性,即如果记录R】和R2被判定为相似重复记录,R2和R3也被判定为丰lj似重复记录.那么我们认为Ri和R3也是相似重复记录。为了提高检测重复记录的精度.我们采取多轮排序、比较操作。因此在第m轮排序、比较操作中检测到的记录的相似重复关系将导致在前m—I轮中检测到的重复记录聚类的台并.这过程是一个计算传递闭包的过程。

栅自.我们把数据库中的每条记录都视为无向图的

顶点.每个顶点有如下结构:

¥trtlct

Node

longrid;I'lIparent;}

rid表示记录标识.parent≥o时,其值代表父节点传置;parent<o时,表明该节点为根节点,IparentI表示该连埔分量中的顶点个数.当两条记录被判定为重复记录时.将对应顶点所在的连通分量合并.凼此,任何时刻无向图q,的连通分量就代袁了到目前为止检测到的相似重复记录的传递闭包。

根据顶点结构.我们可Ll看到连通分量以树状结构表示。为了有效解决连通分量的台并操作.我{fJ采用了Union—Find数据结构。该结构最早用于不相交集合的并操作”J.主要有以下两个操作:Union(r1.r2):将以r1、r2作为根节点的两棵树合并成一棵新的树,其中节点较少的树成为节点较多的树的根节点的子树,并返蚓新的枉节点。

Find(x):查找节点x所在树的根节点。

初始.我们将每条记录看作是‘棵单节点的树,此时每个Node的parent的值为一1。记录比较过程中.一旦判定两条记录为重复记录.就执行Union操作。根据Union操作的特点,每一轮中.树的高度最多只会增加层。因此.第m轮中的Find操作最多只需回溯m次即可找到根节点。

4.2优先队列与代衰记录

传统的重复记录检测方法通过滑动窗口来限定记录比较操作的范围。窗口存放最近扫描过的记录,新进入窗口的记录和窗口中的其余w—l条记录进行比较操作(w为窗口的大小)。这种方法对初步聚类的效果比较敏感.因此窗口的大小对检测结果影响较大。我们采取了一种更为有效的优先队列

和代表记录相结合的方法。不同于传统的滑动窗口策略,优先队列的每一项代表的是一个重复记录聚类(以对应的村结构的根节点表示).而不是一条记录。对于一个重复记录聚娄而占,单条记录也许并不足以代表整个聚类的特征,因此我们用若干条记录来代表优先队则中的每个聚类的特征。

检测算法根据排序结果顺序扫描数据库。假定当前考察的记录为R1.如果R,已经在优先队列的某个聚类中.则将该聚类的优先级设为最高,继续考察下一条记录。否则.R.按优先级从高到低和优先队列中各个聚类的代表记录进行比较.假定和R,比较的当前记录为R,.一旦判定两者为相似重复记录(相似度高于某一特定值match—thresh),则通过UniGh操作合并两者所在的聚类;进一步,如果两者的相似度低于某个

high

thresh(该值大于match—thresh.但小于1、,说叫R.具

有一定的代表性.因此将R.作为合并后的聚类的代表记录放入优先队列.这有助于后面俭测到更多的潜在霍复记录。反之,如果R.和R.的记录比较结果值太低,比如低于某个特定佰lowthresh(该值小于match—thresh),说Ij|jR,属于R.所在聚类的可能性已经很小.因此无额再和该聚类中的其他代表记录进行比较。此时R.直接和下一个优先级的聚类的代表记录进行比较。

上述过程中,一旦判定R属于队列中的某个聚类,就不

再进行后续的比较.而是考察数据库中的下一条记录.如果扫描整个优先队列之后.发现R,不属于其中任何一个聚类.则将R-本身所在的聚类加入到优先队列中,井具有最高优先级・同时R成为该聚类的第一个代表记录.如果此时优先队列的项敷已经超出了规定大小.则删除优先级最低的那一项。

以聚类为元素的优先队列结合代表记录.通过适当的设

置htgh

为检测到的聚类数目。本文实验在PC工作站上完成,工作站的硬件配置为:CPUPentiumll350,RAM128M;操作系统为Windows2000

Prolessional。

S.1实际数据

实际敬据来自某网站的关于同学录信息的数据.由于每个人可以加入到初中、高中、大学等各个时期的班级的同学录中,许多人还加入了同时期相邻班级的同学录中.而在每次加人一个新的同学录时该网站都要求重新输入个人信息.从而导致了大量重复记录的存在。我们获取了某一地区各类班级的大约5000条记录。其中Ic。l一1253,IR。l=3178。这两个数据是在我们的系统对实际数据分批检测的结果和人工检视相结合的基础上得到的,因此可以大致反应实际数据的重复情况。测试结果如下:

lcDI=1245,IRDI一3147.1RDnRoI一3132,T一3.28s则:C=994%.R一99.02%.P一99.5%

5.2模拟数据

由于实际数据的规模有限,很难作全面的测试.我们构造了能够生成不同质量和数据规模的测试数据生成程序.生成测试数据的主要参数有:SSIZE:样本数据规模;Po:重复率;MD:最大重复数;EPz:字段为空的概率;EPr:字段输入错误的概率;EPt:单个字段中,出错部分允许的最大百分比.

在不同数据规模下.实验结果如以下两图所示:

thresh和low—thresh两个参数.可以大大减少不必

要的记录比较操作。不难看出.以上策略几乎不受数据规摸的影响・因此我们的方法能够很好地适应数据规模的变化。宴验结果证实r这一点。

5.实验结果

为了全面地考察我们的方法,我们分别用实际数据和测试程序生成的数据进行了测试.评估测试结果的参数有四个:

C(Clusterdetected),R(Recall).P(Precision),T(Time).评

估参数定义如下(1Al表示集合A的元素个数):

c—lCoI/IC。IR—IRDI/IRoI;P—IRnnRoI/IRDl;T为算法执行的时间

其中rIb为测试数据中实际的重复记录集台;Ro为系统检测到的重复记录集合;c。为测试数据包含的聚类数目;C。

鼓据规模一运行时闻E兰囝

一每一窖+丑年州

ⅢⅢⅢ跏啪Ⅲ蓦}。

记录散(万个)

在左边这张图中t我们可以看到随着数据量的增长.各个检测精度指标均有所下降.但是.即便在200万条记录的规模下.各项指标仍然能够达到90“以上.而P曲线始终维持高百分比(99%以上)。在运行时间这张图中,戎们可以看到随着记录数的增长,运行时间也相应增长.但两者呈线性关系.因

32

files

26S

ACMTransactionsonDatabaseSystems.1983.8(2):255~

MongeAE.ElkanC

rithm

1997

for

detecting

PAnefficientdomain-independent

duplicate

algo-

approximately

databaserecords.

此我们的方法总的复杂度为O(N)。

通过实验,我们可以看到本文方法的显著优点是:(1)总

HernandezM.StolIoSdatabases

ence

on

The

merge/purge

problemforlarge

Confer

In:Proc.of

theACMSIGMOD

International

ManagementofData.May1995・12r~138

复杂度仅为o(N);(z)处理大量数据的能力强;(3)检测的精度高。

结柬语信息重复问题是影响数据质量的关键问题。本文研究了在多语言文本条件下如何检测相似重复记录的问题.提出了一种有效的综合方法.该方法的优点是时间复杂度小t检测精度高.能根好地适应数据规模的变化。接下去的工作是将这部分功能整合到我们的数据清洗工具包中.使其成为提高数据质量的一个实用工具。

4邱越峰,田增平,季文艟。周傲英.一种高教的检测相似重复记录

的方{击计算机学报.2001。24(1)69~77

MongeAE.ElkanC

andapplications

Thefieldmatchingproblem:Algorithms

ofthe

2rid

In:Proc

ImConIon

Knowledge

DiscoveryandData

Mining.1996267~270

SmithT

F.WatermanMSIdentifieation

of㈣蚰molecular

string—to-string

linear

unionaIgo_

subsequencea

Lowraneecorrection

JournalofMolecularBilogy.1981.147{195~197

Anextension

R.Wagner

ofthe

problem】.ACM,1975.2Z(2):177~183

Effiency

of

参考文献

Bixton

Tarjiannthm

good

butnotset

D・IkWitt

JDuphcaterecordeliminauon

mlargedata

JournaloftheACM.1975.22(2)215~225

・121・

万方数据 

一种检测多语言文本相似重复记录的综合方法

作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:

俞荣华, 田增平, 周傲英复旦大学计算机系,上海,200433计算机科学

COMPUTER SCIENCE2002,29(1)20次

参考文献(8条)

1.Bitton D.DeWitt D J Duplicate record elimination in large data files 1983(02)

2.Monge A E.Elkan C P An efficient domain-independent algorithm for detecting approximatelyduplicate database records 1997

3.Hernandez M.Stolfo S The merge/purge problem for large databases 1995

4.邱越峰.田增平.季文赞.周傲英 一种高效的检测相似重复记录的方法[期刊论文]-计算机学报 2001(01)5.Monge A E.Elkan C P The Field Matching Problem:Algorithms and Application 19966.Smith T F.Waterman M S Identification of common molecular subsequences 1981

7.Lowrance R.Wagner R A An extension of the string-to-string correction problem[外文期刊] 1975(02)8.Tarjian R E Effiency of a good but not linear set union algorithm 1975(02)

本文读者也读过(10条)

1. 耿玉良.陈家琪.王咏梅.GENG Yu-liang.CHEN Jia-qi.WANG Yong-mei 中文Web检索中聚类算法的改进[期刊论文]-计算机工程与设计2005,26(10)

2. 刘哲.夏秀峰.宋晓燕.林桐.LIU Zhe.XIA Xiu-feng.SONG Xiao-yan.LIN Tong 一种中文地址类相似重复信息的检测方法[期刊论文]-小型微型计算机系统2008,29(4)

3. 刘芳.何飞.LIU Fang.HE Fei 基于聚类分析技术的数据清洗研究[期刊论文]-计算机工程与科学2005,27(6)4. 周佳庆.李晓燕.陈珂.胡天磊.陈刚 一种自学习的中文地址判重算法[会议论文]-2008

5. 张永.迟忠先.闫德勤.ZHANG Yong.CHI Zhong-xian.YAN De-qin 数据仓库ETL中相似重复记录的检测方法及应用[期刊论文]-计算机应用2006,26(4)

6. 曾楚伟 基于单词超团的文本聚类算法[学位论文]2009

7. 袁芳.王瑞春.管明样.万学元.何国荣.周艳红.YUAN Fang.WANG Rui-chun.GUAN Ming-xiang.WAN Xue-yuan.HEGuo-rong.ZHOU Yan-hong 基于文本挖掘与功能相似性的疾病基因预测[期刊论文]-计算机工程2011,37(4)8. 薛永刚 基于因子分析的文本分类[学位论文]2006

9. 赵彦斌 基于汉字搭配的中文信息获取技术研究[学位论文]2007

10. 邱英 基于XML的Web数据存储与数据清洗技术研究与实现[学位论文]2008

引证文献(19条)

1.王咏梅.陈家琪.耿玉良 一种可交互的数据清洗系统[期刊论文]-计算机工程与设计 2005(4)

2.刁兴春.谭明超.曹建军 一种融合多种编辑距离的字符串相似度计算方法[期刊论文]-计算机应用研究 2010(12)3.陈德民 优化四位数的四则运算算式组合库[期刊论文]-电脑编程技巧与维护 2009(22)

4.陈伟.王昊.朱文明 一种提高相似重复记录检测精度的方法[期刊论文]-计算机应用与软件 2006(10)5.刘哲 数据清洗技术在网络教学评价体系中的应用[期刊论文]-网络与信息 2011(8)

6.刘哲.夏秀峰.宋晓燕.林桐 一种中文地址类相似重复信息的检测方法[期刊论文]-小型微型计算机系统 2008(4)

压力大想死的语句篇五
《中文主观题自动批改中相似句子检索算法》

压力大想死的语句篇六
《基于句子相似度语句定位的文本作业检测技术》

压力大想死的语句篇七
《句子相似度计算新方法及在问答系统中的应用》

ComputerEngineeringandApplications计算机工程与应用2008,44(1)165

句子相似度计算新方法及在问答系统中的应用

周法国,杨炳儒

ZHOUFa-guo,YANGBing-ru

北京科技大学信息工程学院,北京100083

SchoolofInformationEngineering,UniversityofScienceandTechnologyBeijing,Beijing100083,China

ZHOUFa-guo,YANGBing-ru.Newmethodforsentencesimilaritycomputinganditsapplicationinquestionanswering

(1):165-167.system.ComputerEngineeringandApplications,2008,44

Abstract:Sentencesimilaritycomputingplaysanimportantroleinmachinequestion-answeringsystems,machine-translationsys-tems,textcategorizationsystems,etc.Aimingatasentencesimilaritymodelbasedonkeywords,animprovedmethodisputfor-

ward,includingtheextractionofkeywords,andtheinductionofsynonymsinsentencesimilaritydefinition.Andonthisbasis,a

(FrequentlyAskedQuestion)isimplemented.ThissysteminvolvesautomaticallysearchingquestionanswersystembasedonFAQ

forcandidatequestionset,computingsentencesimilarityandreturningtheanswertotheuser.ThissystemcanalsoautomaticallyupdateandmaintainFAQ.Experiments’resultshowsthatthenewmethodhasmoreaccuracythantheothersinmatchingques-tionsofquestionansweringsystem.

Keywords:naturallanguageprocessing;sentencesimilarity;FrequentlyAskedQuestion;questionanswer

要:计算句子的相似度在机器问答、机器翻译、文本分类等系统中有着非常重要的作用。该文对基于相同关键词的句子相似模

并以此为基础,实现了一个基型作了进一步的改进,包括关键词抽取,以及在句子相似度的定义中引入同义词以及近义词的情形。

于常问问题集的中文自动问答系统,对用户以自然语言输入的问题,该系统能够自动地在FAQ(Frequently-AskedQuestion)库中该系统还能够自动地更新和维护FAQ库。实验结果表明,这种寻找候选问题集,通过计算句子相似度,将匹配的答案返回给用户。新方法在问答系统中匹配问句时比其他方法具有较高的准确率。关键词:自然语言处理;句子相似度;常问问题集;问答系统文章编号:1002-8331(2008)01-0165-03

文献标识码:A

中图分类号:TP391

相应的语句相似度衡量机制只能利用句子的表层信息,即组成句子的词的词频、词性等信息[4]。由于不加任何结构分析,该方法在计算语句之间的相似度时不能考虑句子整体结构的相似性。(2)基于语义的方法,对语句进行完全的句法与语义分析,这是一种深层结构分析法,对被比较的两个句子进行深层的句法分析,找出语义依存关系,并在依存分析结果的基础上进行相似度计算[5]。本文是在基于词的方法的基础上充分考虑了同义词与近义词。

1引言

在自然语言处理领域,尤其是在中文信息处理中,句子相

似度计算是一项基础而核心的研究课题,长期以来一直是人们研究的一个热点和难点。句子相似度计算在现实中有着广泛的应用,它的研究状况直接决定着其他一些相关领域的研究进展,句子相似度的计算在自然语言处理的各个领域都有着非常重要的作用,如在基于实例的机器翻译系统[1]中、在文档自动文在基于常见问题集摘系统[2]中、(FAQ)的机器问答系统[3]中以及信息检索、信息过滤等方面,句子相似度的计算都是其中关键的技术之一。本文给出了一种计算句子相似度的新方法,并给出了该方法在问答系统中的应用,设计并实现了一种简单的基于常问问题集的中文问答系统。

2.2关键词抽取

由语言学知识可知,任何句子都是由关键成分谓、宾(主、

等)和修饰成分状、补等)构成的。关键成分对句子起主要(定、作用,修饰成分对句子起次要作用。进行句子相似度计算时,只要考虑句中的关键成分。基于词的方法不考虑句法结构分析,因此,不能确定句子的内部成分,包括关键成分和修饰成分。在通常情况下,一个句子中作主语和宾语的多为名词或代词,作谓语的多为动词或形容词。因此,可以将一个句子中的所有名词、代词、动词和形容词作为关键词,并在计算句子相似度时只考虑这些关键词。例如,句子“我当然愿意了解她们的

2句子相似度计算的新方法2.1常见句子相似度计算方法

在相似度计算中,按照对语句的分析深度来看,主要存在两种方法:(1)基于向量空间模型的方法,即基于词的方法。该方法把句子看成词的线性序列,不对语句进行语法结构分析,

基金项目:国家自然科学基金(theNationalNaturalScienceFoundationofChinaunderGrantNo.60675030)。

作者简介:周法国(1976-),男,博士研究生,主要研究方向为自然语言处理,知识发现与智能系统;杨炳儒(1943-),男,教授,博士生导师,主要研

究方向为知识发现与智能系统,柔性建模与集成技术。

1662008,44(1)ComputerEngineeringandApplications计算机工程与应用

作用,并且名词比动词承载着更多的信息量。一个句子的中心信息基本上都是围绕着动词和名词来展开的,所以在进行计算的时候也特意加大了名词和动词的重要程度,将句子的重心落在名词和动词上面。这样,在此处计算相同关键词的个数时,若两个词相同并且都是名词,相同个数以5计,若两个词相同并且都是动词,相同个数以3计,在计算Si中的关键词个数时,名词的个数也按5计,动词个数以3计,即一个名词实际出现编程时,一次计算为5次,一个动词实际出现一次计算为3次。对每个句子分词后,然后要进行词性标记从而区分是否为名词和动词。同时为了更进准确的计算句子的相似度,我们引入了和句子同义词词典。如:句子“怎么杀计算机病毒?”“怎么杀电脑病毒?”是基本一样的。其中和是同义词。“计算机”“电脑”

定义2句长相似度LenSim(S1,S2)

从句子长度上来标注句子的相似性,在一定程度上也反映句子形态上的相似性。其计算方法如下:

(S1,S2)=1-绝对值LenSim

要求。”的关键词序列为“我愿意了解她们要求。”。对于特定句中的某个名词、代词、动词或形容词,不一定就是该句中的主语、宾语或谓语成分,但相对于句中所有的词构成的词序列而言,关键词序列却具有一定的句法结构信息表达能力,至少可以了解句子中的哪些词在组成句子框架结构方面是比较重要的。在此基础上进行相似度计算,比一般基于词的方法更准确一些。

2.3有关定义和计算

汉语句子就是一个字符串,是由一组不同含义的单词组

成,它不同于数值型变量,可以用一个特定的数值来确定它的大小或位置,所以用何种方式来描述两个字符串之间的距离,成为了一个值得探讨的问题。

通常情况下,用于分析的数据类型有如下几种:区间标度遍历、二元变量、标称型变量、序数型变量、比例标度型变量、混合类型变量等。

综合这些变量类型,本文认为字符串变量更适合于归类于二元变量,我们可以利用分词技术将字符串分成若干个单词,每个独立的单词作为二元变量的一个属性。把所有单词设定为一个二元变量属性集合R,字符串1和字符串2的单词包含于这个集合R。设q是字符串1和字符串2中都存在的单词的总数,s是字符串1中存在,字符串2中不存在的单词总数,r是字符串2中存在,字符串1中不存在的单词总数,t是字符串1和字符串2中都不存在的单词总数。称q,r,s,t为字符串比较中的4个状态分量。如图1所示。

LenS-LenS

"LenS+LenS

())1

))2

其中Len(Si)表示Si中(关键)词的个数,i=1,2。

定义3词序相似性OrdSim(S1,S2)

从关键词的顺序上来标注句子的相似性,反映两个句子中所含相同词或同义词在位置关系上的相似程度,以两个句子中所含相同词或同义词的相邻顺序逆向的个数来衡量。其计算方法如下:

(S1,S2)=1-OrdSim

(S1,S2)Rev

(1,2)其中,MaxRev(S1,S2):表示S1与S2相同关键词的个数的自然数序列的最大逆序数,例:若S1与S2相同关键词的个数为4,则自然数序列为{4,3,2,1},它的逆序数为6。Rev(S1,S2):表示

S1中关键词在S2中的位置构成的自然数序列的逆序数。

反映两个句子中所含相同词或同义词在位置关系上的相似程度,以两个句子中所含相同词或同义词的相邻顺序逆向的个数来衡量。设S1、(S1,S2)为S1、S2为两个句子,OnceWordS2中

由于两个字符串都不存在的单词对两个字符串的比较没有任何作用,所以忽略t,于是采用非恒定的相似度评价系数(Jaccard系数)来描述两个字符串间的相异度表示公式为:相异度=(r+s)(/q+r+s),不难推断,他们的相似度公式为:相似度=(q+r+s)。q/

由此,可以得到句子的词形相似度。句子的相似度除了与句子中关键词的顺序、关键词之关键词有关外,还与句子长度、

间的距离有关,下面给出具体的定义与计算方法。

定义1词形相似度WordSim(S1,S2)

从句子形态以及词形上来标注句子的相似性,反映句子形态上的相似性。WordSim(S1,S2)表示S1与S2中相同关键词的个数。则词形相似度可以根据Jaccard系数来计算。其计算方法如下:

(S1,S2)SameWord

(S1)+Word(S2)-SameWord(S1,S2)Word

其中,SameWord(S1,S2)表示S1与S2相同关键词的个数,如果

(S1,S2)=WordSim

同一关键词出现多次则只算一次,其中的关键词不包含句子中的疑问词及停用词表中的词,如:为什么、怎么样、如何、的、地、得等。Word(Si)表示Si中的关键词个数,i=1,2。

在实践过程中发现名词和动词在句子中起着非常重要的

所含相同词或同义词的集合,重复出现的词仅计一次,Pfirst(S1,(S1,S2)中的词在S1中出现关键词的先后顺序S2)为OnceWord

所构成的向量(为一自然数顺序序列,重复出现的关键词计第一次出现),Psecond(S1,S2)为Pfirst(S1,S2)中的分量按对应词在S2中的次序排序生成的向量,RevOrd(S1,S2)为序列Psecond(S1,S2)的逆序数。

定义4距离相似性DisSim(S1,S2)

从相同关键词的距离上来标注句子的相似性。其计算方法如下:

(S1,S2)=1-绝对值DisSim

SameDisS-SameDisS

"DisS+DisS

())1

其中SameDis(Si)表示S1,S2中相同的关键词在Si中的距离,i=

1,2。若关键词重复出现多次,以产生最大距离为准。

(Si):表示Si中非重复关键词中最左及最右关键词之间Dis

的距离,i=1,2。若关键词出现多次,以产生最小距离值为准。

定义5句子相似度

反映两个句子之间的相似程度。通常为一个0~1之间的数值,0表示不相似,1表示完全相似,数值越大表示两句越相似。

记两个要比较的句子为S1和S2,S1与S2的相似度记为(S1,S2),则

:SenSim

周法国,杨炳儒:

句子相似度计算新方法及在问答系统中的应用

(S1,S2)=!1WordSim(S1,S2)+!2LenSim(S1,S2)+!3Ord-SenSim

(S1,S2)+!4DisSim(S1,S2)Sim

其中:!1+!2+!3+!4=1且!1≥0.5≥!2≥!3≥!4>0。

2008,44(1)167

3.3FAQ库的更新

利用2.3中介绍的方法计算出用户所输入的目标问句和候选问题集中每个问句的相似度,如果所有这些计算出来的相似度的最大值大于或等于一定的阀值m(m=0.65),那么就认为最大的相似度所对应的问句和用户的目标问句问的是同一个问题。可以直接将这个问句对应的答案输出给用户。

2.4算法描述

算法一种改进的计算句子相似度计算算法输入:要计算相似度的两个句子S1和S2输出:S1和S2的相似度

步骤1对输入的两个句子S1和S2进行分词,得到字符串

和S2′;S1′

步骤2从S1′和S2′中得到两个句子相同或相近的关键词;步骤3计算词形相似度、句长相似度、词序相似度和距离相似度;

步骤4求取句子S1和S2的相似度。

与其他算法相比,该算法中的关键词抽取部分涉及分词与词性标注(其他算法大部分仅涉及分词),在计算词形相似度时还需要借助一部同义词词典。该算法具有以下特点:

(1)简单,所利用的信息仍为句子的表层信息。

(2)保留了其他已有算法的优点,可以保证句子中的分句或短语整体移动后仍与原来的句子相似。

(3)比原算法更准确,所抽取的关键词可以近似地表达部分句法结构信息。

3基于常问问题集的中文问答系统

中文问答系统的研究开始于20世纪末,最近10年是中文

如果最大相似度的值小于阀值m(m=0.65),就可以认为(如FAQ库中没有用户所问的问题,那么必须利用其他的方法信息检索,答案抽取等)来找出答案。如果能够找到答案,就可以将用户所问的这个问题和对应的答案加入FAQ库。

问答系统的高速发展期,众多学者在中文问答系统方面做了大量的研究,取得了大量有益的研究成果,主要有基于本体的中文问答系统,基于语义相似度的中文问答系统,知识驱动的

[6]

[7]

中文问答系统[8],基于数据挖掘的中文问答系统[9],基于检索的中文问答系统[10]以及聊天机器人、基于检索的问答系统,各种形式的网络答疑系统,客户服务系统等等。其中基于知识库的问答系统是其中最主要的一种,基于知识库的问答系统中基于

4实验结果

算法在基于FAQ的机器问答系统中应用,在有1千多个

问题的问题集中进行测试,取!1=0.6,!2=0.2,!3=0.1,!4=0.1,匹配问句时选择相似度(阈值)大于等于0.65的问题中相似度最大的问句,将其答案返回。对相似度小于0.65的问句,则认为问题集中没有该问题的答案。测试平均准确率在85%以上,比文献[4]中基于词形和词序的计算方法匹配问句要高出10个以上左右的百分点。

在基于FAQ的中文问答系统中,选择了3个人进行独立测试,每个人随机地选择100个问题进行测试,测试结果如表

FAQ的问答系统是最常见的一种。

3.1基于FAQ的中文问答系统的流程

在目标问句进入基于FAQ的问答系统之前,需要将中文

句子分成词语的集合。分词部分包括对库中问题的分词,也包括对目标问句的分词。然后通过建立知识库的全文检索,选择与目标问句比较相似的一小部分集合,在这个小集合中进行相似度计算,即计算各个句子与目标问句的相似度。选择相似度的最大值,与设定的阈值进行比较。如果大于设定的闭值,则返回该答案,如果小于设定的阈值,则不返回答案,通过信息检索、答案抽取等技术来更新问题库。大致流程如图2所示。

1所示。

表1

测试人

实验测试结果

问题平均长度

准确率/%

测试问题数

3.2候选问题集的建立

这一步骤的目的是要从常问问题库(FAQ)中找出若干个

123

100100100

12.39.810.9

818985

候选的问题组成候选问题集,以缩小查找的范围,使后续的相似度计算等较复杂的处理过程都在候选问题集这个相对较小的范围内进行。在系统中,问题集存储在SqlServer2000数据库中,在建立候选问题集时,我们采用了SqlServer2000数据库管理系统自带的全文检索系统。首先,对用户输入的目标问句进行分词、关键词抽取,过滤掉停用词后,对关键词在问题域字段上进行全文检索,把和目标问句相关的记录中的问句作为候选问题集。

5结束语

在计算句子相似度时,通过关键词抽取、以及扩充同义词

词典和加大名词和动词在句子中的重要性可以明显地提高计算的准确性,自动分词和词性标注的质量也直接影响本方法的准确率。本文在一定程度上提高了计算句子相似度的正确率,但并没有对句子的语法、句法、语义等方面进行详细的分析,如

(下转178页)

1782008,44(1)ComputerEngineeringandApplications计算机工程与应用

abilityof304stainlesssteel[J].JournalofMaterialProcessingTech-(118):442-447.nology,2001

机、解释器及人机界面通过ODBC以CRecordSet类的方式访问、操作与维护数据库。

[2]VitanovVI,HarrisonDK,MincoffNH,etal.Anexpertsystem

shellfortheselectionofmetal-cuttingparameters[J].JournalofMaterialsProcessingTechnology,1995,55:111-116.

[3]刘晓义,王培东,周洪玉.基于知识处理重型切削数据库的设计与实

现[J].哈尔滨理工大学学报,2004,9(1):11-13.

[4]Tolouei-RadM,BidhendiE.Applicationofexpertsystemsforde-

terminationofmachiningparametersinmillingoperations[J].SPIE,1995,2620:582-587.

[5]RazfarR,RidgwayK.Ex-catsmill:anexpertsystemforselection

cuttingtoolsandconditionsformilling[J].AdvvancedFactoryAu-tomation,1994,398:203-207.

[6]RaoSS,ChenLi.Determinationofoptimalmachiningconditions:a

coupleduncertaintymodel[J].TransactionsoftheASME,2000,122:206-214.

[7]MachiningDataHandbook[M].3rded.Ohio:MachinabilityDataCen-

ter,1980.

[8]AssadiHMAAAl,WongSV,HamoudaAMS,etal.Develop-

mentofmachinelearningstrategyforacquiringon-linemachiningskillsduringturningprocess[J].JournalofMaterialsProcessingTech-nology,2004:36-41.

[9]邹云.铣削加工切削参数智能选择系统的研究与开发[D].四川大学,

2004.

[10]BaoWY,ChenP,TanselIN,etal.Selectionofoptimalcutting

conditionsbyusingthegeneticallyoptimizedneuralnetwork(GONNS)[C]//LectureNotesinComputerScience,2002,system

6结论

由于铣削加工参数匹配是一个复杂过程,本文探讨参数匹

配关系,对参数匹配过程中的知识进行了分类,针对产生式规则难以全面、高效构建知识库的问题,提出结合神经网络方法开发参数匹配知识库系统,经过对手册上提供最复杂的样本进行验证和知识库系统开发实现,表明提出的方法是可行的,在问较大程度上,克服了基于规则专家系统知识获取的“瓶颈”题。与其他机械加工过程相比,铣削加工的参数匹配关系更为钻削的加工复杂,因此研究成果还可推广应用于其它如车削、

过程中。但本文所构建的知识库系统,欲实现商业化应用,还要解决好如下几个问题:(1)加工参数数据库和学习样本库虽已建立,但完善它们还是一项非常繁重的工作;(2)知识库系统虽已从手册中获取大量的加工经验和知识,但还不全面,还需进一步从有经验的工程师处获取;(3)与CAPP系统的接口还需要进一步研究开发。(收稿日期:2007年8月)

2714:1026-1032.

[11]周家林,段正澄,邓建春,等.基于粒子群算法的神经网络优化及其

在镗孔加工中的应用[J].中国机械工程,2004,15(11):1927-1929.

[12]焦李成.神经网络系统理论[M].西安:西安电子科技大学出版社,

1990.

[13]孟少农.机械加工工艺手册:第1卷[M].北京:机械工业出版社,

1991.

参考文献:

[1]ChienWen-Tung,ChouChung-Yi.Thepredictivemodelformachin-

(上接167页)

果考虑到这些,在上述计算的基础上加上句法相似性的话,准确性还有可能进一步提高,这将是我们下一步研究的内容。

在机器问答系统中,本文在句子相似度计算的基础上实现了一种最简单的基于常问问题集的问答系统,而随着问答系统的发展,这种问题-答案模式的问答系统越来越显示出其局限性,模式单一,缺乏人机交互是其主要的缺陷。智能化、交互式的问答系统将是问答系统的一个主要发展方向,我们也将就此问题继续进行下一步的工作。(收稿日期:2007年8月)

设计与实现[J].小型微型计算机系统,2006,27(4):720-723.

[4]杨思君.一种改进的句子相似度计算模型[J].电子科技大学学报,

(6):956-959.2006,35

[5]李彬,刘挺,秦兵,等.基于语义依存的汉语句子相似度计算[J].计算

机应用研究,2003,20(12):15-17.

[6]骆正华,樊孝忠,刘林.本体论在自动问答系统中的应用[J].计算机

工程与应用,2005,41(32):229-232.

[7]刘小宇.基于语义理解的中文常问问答系统的研究[D].大连理工大

学,2006.

[8]李良富,樊孝忠,李宏乔,等.知识是如何驱动Q/A系统的[J].计算机

参考文献:

[1]胡国全,陈家俊,戴新宇,等.一种基于实例的汉英机器翻译策略[J].

计算机工程与设计,2005,26(4):900-903.

工程与应用,2004,40(20):70-74.

[9]QUShou-ning,WANGQin,ZOUYan,etal.Intelligentquestionan-

sweringsystembasedonDataMining[J].JournalofZhengzhouU-(2):50-54.niversity:NaturalScienceEdition,2007,39

[2]张奇,黄萱菁,吴立德.一种新的句子相似度度量及其在文本自动摘

要中的应用[J].中文信息学报,2005,19(2):93-99.

[10]蔡刚山,叶俊,周曼丽.基于多级检索的自动问答系统研究[J].科学

技术与工程,2007,7(4):501-506.

[3]张亮,冯冲,陈肇雄,等.基于语句相似度计算的FAQ自动回复系统

相关热词搜索:欠债太多压力大想死 压力大想死 割了包皮后悔的想死

最新推荐成考报名

更多
1、“压力大想死的语句”由中国招生考试网网友提供,版权所有,转载请注明出处。
2、欢迎参与中国招生考试网投稿,获积分奖励,兑换精美礼品。
3、"压力大想死的语句" 地址:http://www.chinazhaokao.com/zuowen/haocihaoju/244422.html,复制分享给你身边的朋友!
4、文章来源互联网,如有侵权,请及时联系我们,我们将在24小时内处理!