CN103207905B - 一种基于目标文本的计算文本相似度的方法 - Google Patents
一种基于目标文本的计算文本相似度的方法 Download PDFInfo
- Publication number
- CN103207905B CN103207905B CN201310105450.2A CN201310105450A CN103207905B CN 103207905 B CN103207905 B CN 103207905B CN 201310105450 A CN201310105450 A CN 201310105450A CN 103207905 B CN103207905 B CN 103207905B
- Authority
- CN
- China
- Prior art keywords
- text
- keyword
- target text
- matrix
- similarity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 239000013598 vector Substances 0.000 claims description 39
- 239000011159 matrix material Substances 0.000 claims description 27
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 7
- 230000004069 differentiation Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 abstract description 2
- 230000010354 integration Effects 0.000 abstract 1
- 238000011524 similarity measure Methods 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 8
- 238000007418 data mining Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于目标文本的计算文本相似度的方法。为了克服现有文本相似度算法单纯地考虑算法的准确率和效率,本发明结合项目实际情况综合考虑算法的准确率和效率两方面,保证在一定准确度的前提下提高算法的效率。在提高算法准确度方面,本发明充分考虑专业词汇对相似度计算的影响,采用了对不同类别的关键词加权的方式计算相似度;而在提高算法效率方面,本发明采用倒排索引聚类方法和维过滤方法。本发明既保证了文本之间的专业相关度计算的准确度,同时又兼顾了计算效率。
Description
技术领域
本发明涉及信息检索和数据挖掘领域,尤其涉及一种基于目标文本的相似度计算方法。
背景技术
随着互联网时代的到来,信息的爆炸式增长已经将人们淹没在信息的海洋中,人们再也不用担心互联网上没有自己想要的资源,但是如何才能找到这些资源成为了摆在信息检索专家面前的难题。文本相似度计算理论在信息检索和数据挖掘领域一直占据着非常重要的位置,而且在现实中也有很好的应用。
学生作业抄袭检测,使用文本相似度计算方法可以很好的发现学生作业的抄袭现象,整治不良学风。
保护知识产权,使用文本相似度计算方法检测是否含有剽窃他人研究成果的,以此来判断知识产权是否遭到侵犯。如若发现知识产权遭到剽窃等非法行为,可以对剽窃者实施必要的惩罚措施,通过这种方式更好的保护知识产权。
网页的去重,通过文本相似度计算找到近似的网页并去除。去除重复网页不仅能够提高用户搜索效率,还能为用户提供很好的搜索体验。
然而目前现有的文本相似度算法除了过于追求准确度,就是单纯的追求提高算法效率,根本没有考虑到具体的应用场景以及文本所涉及的专业领域。如果两个文本根本不属于同一专业领域,那么这两个文本就没有什么相似度可言。发明内容
本发明正是鉴于上述技术问题而提出了一种基于目标文本的文本相似度计算方法,该方法包括以下几个步骤:
(1)获取目标文本targetText和待计算相似度的文本集合D
(2)自动分词获取各文本的特征向量
(3)聚类
(4)维过滤
(5)计算相似度
步骤(1)获得目标文本和文本集合D后组成一个新的文本组合textSet,首先将所有的文本进行唯一id编号处理,目标文本可以用特定的id号区分,如目标文本id为0,其他文本按照输入的先后顺序依次编号。
步骤(2)的自动分词获取各文本的特征向量又通过以下几步完成:
(2.1)去停用词
(2.2)匹配专业关键词和常用关键词
(2.3)同义词转换
(2.4)统计各关键词在各文本中出现的频率、关键词的词性
(2.5)计算各关键词的权值,创建特征向量
该步骤主要通过调用停用词库、常见词库还有专业词库提取出文本集合textSet中各文本的特征向量。对textSet中的任一文本首先进行去停用词处理,即将和停用词库中匹配的停用词从文本中去掉,然后再进一步匹配专业词库中的专业词汇,匹配成功的专业词汇,经词频统计、同义词转换,并进一步计算出相应专业关键词的权值后存储到专业关键词向量中,常用词库和文本的匹配处理和专业词库的类似,最后我们得到文本的两个特征向量-专业关键词向量和普通关键词向量。在提取目标文本特征向量的过程中的同义词转换,可以是将英文关键词转化为相应的中文关键词。另外步骤(2.5)中关键词的权值计算公式为:ω(Ti)=α·β·TF(Ti)·IDF(Ti)
其中ω(Ti)为关键词Ti的权值,TF(Ti)=N/M,(其中N为Ti关键词在含M个关键词的文本中出现的次数),IDF(Ti)=log(D/Dw)其中D为文章总数,Dw为Ti关键词出现过的文章数。专业词汇IDF的计算以该词汇所属的专业领域的文章总数和该关键词出现在该专业领域内的文章总数。α为关键词类别决定关键词权值的一个因子,其中专业词汇>常用词汇;β为关键词词性决定关键词权值的另一因子,其中名词>形容词>副词。
步骤(3)首先为待计算文本集合创建倒排索引文件,然后以目标文本的专业词汇向量中的专业词汇为基础,搜索倒排索引文件,由于倒排索引文件中的关键词是按照关键词拼音的字母顺序排列的,本发明采用二分法查找将倒排索引文件中含有目标文本中专业词汇的文件找出来,并将区分这些文本的唯一标识id放到集合C中。
步骤(4)维过滤,首先为目标文本和集合C中的文本建立一个共同的倒排索引文件,然后根据建立的倒排索引文件创建一个存储各文本相应的关键词权值的矩阵M(矩阵M的列数为倒排索引文件中关键词的个数加1,矩阵M的行数为集合C中文本的个数加1,矩阵的第一列存储文本的id号,矩阵的第一行存储目标文本的特征向量),把目标文本中权值为0的列全部去掉并统计其他文本中去掉的列中非0的列数并保存,得到一个新矩阵M′。
其中步骤(3)和步骤(4)中都用到的倒排索引文件的建立,输入的是文本的集合,输出的是文本集合中的所有关键词的倒排索引文件。创建成功的倒排索引文件中含有关键词列、(文件id,在文本id中出现的频率)两列。其中关键词列按照关键词的拼音字母顺序排列,关键词后面对应的是关键词出现在各文本中的统计信息。
步骤(5)计算相似度利用步骤(4)维过滤后得到的矩阵M′,其中矩阵M′中的一行就代表维过滤后的某一文本的特征向量,然后计算目标文本向量即矩阵中的首行向量和其他各行向量之间的相似度。
其计算公式为:其中d1,d2分别表示文本D1和D2的特征向量。
该方法得到的结果我们可以找到和目标文本专业最相关的文本。如果相似度的计算结果中有相同的,我们还可以根据该方法维过滤步骤中的删除的非0列数进一步判断哪个文本和目标文本更相似。
克服现有的文本相似度计算方法单纯的注重提高计算的准确度和计算效率的缺点,本发明提出了一种基于目标文本的文本相似度计算方法,该方法在充分考虑项目实际的情况下,既能保证一定的准确度,又能提高计算效率。
附图说明
图1为该发明某具体应用的流程图。
图2为自动分词模块的流程图。
具体实施方式
本发明的实际应用环境是在向某一专业题库中插入试题前,首先通过该发明中的计算方法找到专业题库中和预插入的试题即目标文本最接近的试题集,然后根据计算得到的相似度结果最终决定是否将该试题插入专业题库。
本发明在实际项目中具体实施时,如图1所示包括以下几个步骤:
(1)获取目标文本targetText和待计算相似度的文本集合D
(2)自动分词获取各文本的特征向量
(3)聚类
(4)维过滤
(5)计算相似度
(6)根据计算结果判断目标文本是否插入数据库并执行相应的操作
步骤(1)通过将输入的问题的题干和答案整合得到目标文本,待计算的文本集合通过从专业题库中获取,获得目标文本和文本集合D后组成一个新的文本组合textSet,对所有的文本进行唯一id编号处理,目标文本可以用特定的id号区分,如目标文本id为0,其他文本按照输入的先后顺序依次编号。
如图2所示,以目标文本的自动分词获取特征向量为例,文本自动分词获取特征向量通过以下几步完成:
(2.1)去停用词
(2.2)匹配专业关键词和常用关键词
(2.3)同义词转换
(2.4)统计各关键词在各文本中出现的频率、关键词的词性
(2.5)计算各关键词的权值,创建特征向量
该步骤主要通过调用停用词库、常见词库还有专业词库提取出文本集合textSet中各文本的特征向量。对textSet中的任一文本首先进行去停用词处理,即将和停用词库中匹配的停用词从文本中去掉,然后再进一步匹配专业词库中的专业词汇,匹配成功的专业词汇,经词频统计、同义词转换,并进一步计算出相应专业关键词的权值后存储到专业关键词向量中,常用词库和文本的匹配处理和专业词库的类似,最后我们得到文本的两个特征向量-专业关键词向量和普通关键词向量。在提取目标文本特征向量的过程中的同义词转换,可以是将英文关键词转化为相应的中文关键词。另外步骤(2.5)中关键词的权值计算公式为:ω(Ti)=α·β·TF(Ti)·IDF(Ti)其中ω(Ti)为关键词Ti的权值,TF(Ti)=N/M,(其中N为Ti关键词在含M个关键词的文本中出现的次数),IDF(Ti)=log(D/Dw)其中D为文章总数,Dw为Ti关键词出现过的文章数。专业词汇IDF的计算以该词汇所属的专业领域的文章总数和该关键词出现在该专业领域内的文章总数。α为关键词类别决定关键词权值的一个因子,其中α(专业词汇)>α(常用词汇);β为关键词词性决定关键词权值的另一因子,其中β(名词)>β(形容词)>β(副词)。在本实例中我们取α(专业词汇)=8,α(常用词汇)=2;β(名词)=3,β(形容词)=2,β(副词)=1。
步骤(3)首先为待计算文本集合创建倒排索引文件,然后以目标文本的专业词汇向量中的专业词汇为基础,搜索倒排索引文件,由于倒排索引文件中的关键词是按照关键词拼音的字母顺序排列的,本发明采用二分法查找将倒排索引文件中含有目标文本中专业词汇的文件找出来,并将区分这些文本的唯一标识id放到集合C中。
步骤(4)维过滤,首先为目标文本和集合C中的文本建立一个共同的倒排索引文件,然后根据建立的倒排索引文件创建一个存储各文本相应的关键词权值的矩阵M(矩阵M的列数为倒排索引文件中关键词的个数加1,矩阵M的行数为集合C中文本的个数加1,矩阵的第一列存储文本的id号,矩阵的第一行存储目标文本的特征向量),把目标文本中权值为0的列全部去掉并统计其他文本中去掉的列中非0的列数并保存,得到一个新矩阵M′。
其中步骤(3)和步骤(4)中都用到的倒排索引文件的建立,输入的是文本的集合,输出的是文本集合中的所有关键词的倒排索引文件。创建成功的倒排索引文件中含有关键词列、(文件id,在文本id中出现的频率)两列。其中关键词列按照关键词的拼音字母顺序排列,关键词后面对应的是关键词出现在各文本中的统计信息。
步骤(5)计算相似度利用步骤(4)维过滤后得到的矩阵M′,其中矩阵M′中的一行就代表维过滤后的某一文本的特征向量,然后计算目标文本向量即矩阵中的首行向量和其他各行向量之间的相似度。
其计算公式为:
其中d1,d2分别表示文本D1和D2的特征向量。
在计算完目标文本和超集中各文本之间的相似度后,找到相似度中的最大值,如果相似度集中的最大值超过了我们为实际项目的阈值F,我们就放弃将目标文本所代表的试题插入专业题库,如果相似度集中的最大值小于阈值F,我们将目标文本所代表的试题插入目标文本,在本实例中阈值F的取值范围为0.95。
Claims (1)
1.一种基于目标文本的计算文本相似度的方法,其特征在于包括以下步骤:
(1)获取目标文本和待计算相似度的文本集合:获得目标文本和文本集合D后组成一个新的文本组合textSet,首先将所有的文本进行唯一id编号处理,目标文本用id号区分,其他文本按照输入的先后顺序依次编号;
(2)自动分词获取各文本的特征向量,包括以下步骤:
(2.1)去停用词;
(2.2)匹配专业关键词和常用关键词;
(2.3)同义词转换;
(2.4)统计各关键词在各文本中出现的频率,关键词的词性;
(2.5)计算各关键词的权值,创建特征向量;
关键词的权值计算公式为:ω(Ti)=α·β·TF(Ti)·IDF(Ti)
其中ω(Ti)为关键词Ti的权值,TF(Ti)=N/M,其中N为Ti关键词在含M个关键词的文本中出现的次数,IDF(Ti)=log(D/Dw)其中D为文章总数,Dw为Ti关键词出现过的文章数;专业词汇IDF的计算以该词汇所属的专业领域的文章总数和该关键词出现在该专业领域内的文章总数;α为关键词类别决定关键词权值的一个因子,其中专业词汇>常用词汇;β为关键词词性决定关键词权值的另一因子,其中名词>形容词>副词;
(3)聚类:首先为待计算文本集合创建倒排索引文件,然后以目标文本的专业词汇向量中的专业词汇为基础,搜索倒排索引文件,由于倒排索引文件中的关键词是按照关键词拼音的字母顺序排列的,采用二分法查找将倒排索引文件中含有目标文本中专业词汇的文件找出来,并将区分这些文本的唯一标识id放到集合C中;
(4)维过滤:首先为目标文本和集合C中的文本建立一个共同的倒排索引文件,然后根据建立的倒排索引文件创建一个存储各文本相应的关键词权值的矩阵M;矩阵M的列数为倒排索引文件中关键词的个数加1,矩阵M的行数为集合C中文本的个数加1,矩阵的第一列存储文本的id号,矩阵的第一行存储目标文本的特征向量;把目标文本中权值为0的列全部去掉,得到一个新矩阵M′,统计其他文本去掉的列中非0的列数并保存;
(5)计算相似度:利用步骤(4)维过滤后得到的矩阵M′,其中矩阵M′中的一行就代表维过滤后的某一文本的特征向量,然后计算目标文本向量即矩阵中的首行向量和其他各行向量之间的相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310105450.2A CN103207905B (zh) | 2013-03-28 | 2013-03-28 | 一种基于目标文本的计算文本相似度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310105450.2A CN103207905B (zh) | 2013-03-28 | 2013-03-28 | 一种基于目标文本的计算文本相似度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103207905A CN103207905A (zh) | 2013-07-17 |
CN103207905B true CN103207905B (zh) | 2015-12-23 |
Family
ID=48755127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310105450.2A Expired - Fee Related CN103207905B (zh) | 2013-03-28 | 2013-03-28 | 一种基于目标文本的计算文本相似度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103207905B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021202B (zh) * | 2014-06-16 | 2017-11-24 | 百度在线网络技术(北京)有限公司 | 一种知识共享平台的词条处理装置和方法 |
CN104199846B (zh) * | 2014-08-08 | 2017-09-19 | 杭州电子科技大学 | 基于维基百科的评论主题词聚类方法 |
CN104346443B (zh) * | 2014-10-20 | 2018-08-03 | 北京国双科技有限公司 | 网络文本处理方法及装置 |
CN106815197B (zh) * | 2015-11-27 | 2020-07-31 | 北京国双科技有限公司 | 文本相似度的确定方法和装置 |
CN106815593B (zh) * | 2015-11-27 | 2019-12-10 | 北京国双科技有限公司 | 中文文本相似度的确定方法和装置 |
CN105512101B (zh) * | 2015-11-30 | 2018-06-26 | 北大方正集团有限公司 | 一种自动构建主题词的方法及装置 |
CN105955962B (zh) * | 2016-05-10 | 2019-11-05 | 北京新唐思创教育科技有限公司 | 题目相似度的计算方法及装置 |
CN106650803B (zh) * | 2016-12-09 | 2019-06-18 | 北京锐安科技有限公司 | 一种计算字符串间相似度的方法及装置 |
CN106844303A (zh) * | 2016-12-23 | 2017-06-13 | 语联网(武汉)信息技术有限公司 | 一种基于相似度匹配算法为待译稿件匹配译员的方法 |
CN108536695B (zh) * | 2017-03-02 | 2021-06-04 | 北京嘀嘀无限科技发展有限公司 | 一种地理位置信息点的聚合方法以及装置 |
CN107194260A (zh) * | 2017-04-20 | 2017-09-22 | 中国科学院软件研究所 | 一种基于机器学习的Linux‑Kernel关联CVE智能预测方法 |
CN107273359A (zh) * | 2017-06-20 | 2017-10-20 | 北京四海心通科技有限公司 | 一种文本相似度确定方法 |
CN107577713B (zh) * | 2017-08-03 | 2018-09-11 | 国网信通亿力科技有限责任公司 | 基于电力词典的文本处理方法 |
CN110019642A (zh) * | 2017-08-06 | 2019-07-16 | 北京国双科技有限公司 | 一种相似文本检测方法及装置 |
CN107977676A (zh) * | 2017-11-24 | 2018-05-01 | 北京神州泰岳软件股份有限公司 | 文本相似度计算方法及装置 |
CN110929002B (zh) * | 2018-09-03 | 2022-10-11 | 优视科技(中国)有限公司 | 相似文章去重的方法、装置、终端及计算机可读存储介质 |
CN109657227A (zh) * | 2018-10-08 | 2019-04-19 | 平安科技(深圳)有限公司 | 合同可行性判定方法、设备、存储介质及装置 |
CN109635275A (zh) * | 2018-11-06 | 2019-04-16 | 交控科技股份有限公司 | 文献内容检索与识别方法及装置 |
CN110362723B (zh) * | 2019-05-31 | 2022-06-21 | 平安国际智慧城市科技股份有限公司 | 一种题目特征表示方法、装置及存储介质 |
CN113722497A (zh) * | 2020-05-26 | 2021-11-30 | 阿里巴巴集团控股有限公司 | 基于专利数据的语料生成方法及装置 |
CN111708862B (zh) * | 2020-06-02 | 2024-03-15 | 上海硬通网络科技有限公司 | 文本匹配方法、装置及电子设备 |
CN111859901B (zh) * | 2020-07-15 | 2024-10-11 | 大连理工大学 | 一种英文重复文本检测方法、系统、终端及存储介质 |
CN112216168A (zh) * | 2020-10-21 | 2021-01-12 | 李帮军 | 基于选择题编辑器的智能题型转换系统及方法 |
CN112487801A (zh) * | 2020-10-23 | 2021-03-12 | 南京航空航天大学 | 一种面向安全关键软件的术语推荐方法及系统 |
CN112883704B (zh) * | 2021-04-29 | 2021-07-16 | 南京视察者智能科技有限公司 | 一种大数据相似文本去重预处理方法、装置及终端设备 |
CN116881437B (zh) * | 2023-09-08 | 2023-12-01 | 北京睿企信息科技有限公司 | 一种获取文本集的数据处理系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI317488B (en) * | 2005-11-04 | 2009-11-21 | Webgenie Information Ltd | Method for automatically detecting similar documents |
US7734627B1 (en) * | 2003-06-17 | 2010-06-08 | Google Inc. | Document similarity detection |
CN101833579A (zh) * | 2010-05-11 | 2010-09-15 | 同方知网(北京)技术有限公司 | 一种自动检测学术不端文献的方法及系统 |
-
2013
- 2013-03-28 CN CN201310105450.2A patent/CN103207905B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734627B1 (en) * | 2003-06-17 | 2010-06-08 | Google Inc. | Document similarity detection |
TWI317488B (en) * | 2005-11-04 | 2009-11-21 | Webgenie Information Ltd | Method for automatically detecting similar documents |
CN101833579A (zh) * | 2010-05-11 | 2010-09-15 | 同方知网(北京)技术有限公司 | 一种自动检测学术不端文献的方法及系统 |
Non-Patent Citations (2)
Title |
---|
基于倒排索引的文本相似搜索;杨建武;《计算机工程》;20050331;第31卷(第5期);第1-3页 * |
基于网页特征关键词的近似检测算法;闫亮 李先国;《科学技术与工程》;20090228;第9卷(第4期);第919-923页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103207905A (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103207905B (zh) | 一种基于目标文本的计算文本相似度的方法 | |
JP3882048B2 (ja) | 質問応答システムおよび質問応答処理方法 | |
CN102122298B (zh) | 一种中文相似性匹配方法 | |
CN108255813B (zh) | 一种基于词频-逆文档与crf的文本匹配方法 | |
CN103617157A (zh) | 基于语义的文本相似度计算方法 | |
CN110362678A (zh) | 一种自动提取中文文本关键词的方法与装置 | |
CN106021272A (zh) | 基于分布式表达词向量计算的关键词自动提取方法 | |
CN105426539A (zh) | 一种基于词典的lucene中文分词方法 | |
CN103064969A (zh) | 自动建立关键词索引表的方法 | |
CN103729402A (zh) | 一种基于图书目录的知识图谱的构建方法 | |
CN106569993A (zh) | 一种挖掘领域术语间上下位关系的方法及装置 | |
CN102662952A (zh) | 一种基于层次的中文文本并行数据挖掘方法 | |
CN104899188A (zh) | 一种基于问题主题和焦点的问题相似度计算方法 | |
CN102622338A (zh) | 一种短文本间语义距离的计算机辅助计算方法 | |
CN104484380A (zh) | 个性化搜索方法及装置 | |
CN104216968A (zh) | 一种基于文件相似度的排重方法及系统 | |
CN106484797A (zh) | 基于稀疏学习的突发事件摘要抽取方法 | |
CN108073571B (zh) | 一种多语言文本质量评估方法及系统、智能文本处理系统 | |
CN105138514A (zh) | 一种基于词典的正向逐次加一字最大匹配中文分词方法 | |
CN107871002A (zh) | 一种基于指纹融合的跨语言剽窃检测方法 | |
CN113761890A (zh) | 一种基于bert上下文感知的多层级语义信息检索方法 | |
CN103116573A (zh) | 一种基于词汇注释的领域词典自动扩充方法 | |
Sembok et al. | Arabic word stemming algorithms and retrieval effectiveness | |
Song et al. | Improving embedding-based unsupervised keyphrase extraction by incorporating structural information | |
CN105608136A (zh) | 一种基于汉语复句的语义相关度计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151223 Termination date: 20190328 |
|
CF01 | Termination of patent right due to non-payment of annual fee |