CN112257410A - 一种非平衡文本的相似度计算方法 - Google Patents
一种非平衡文本的相似度计算方法 Download PDFInfo
- Publication number
- CN112257410A CN112257410A CN202011107977.5A CN202011107977A CN112257410A CN 112257410 A CN112257410 A CN 112257410A CN 202011107977 A CN202011107977 A CN 202011107977A CN 112257410 A CN112257410 A CN 112257410A
- Authority
- CN
- China
- Prior art keywords
- text
- similarity
- word
- vector
- unbalanced
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 27
- 239000013598 vector Substances 0.000 claims abstract description 57
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 238000013135 deep learning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种非平衡文本的相似度计算方法,包括以下步骤:输入语料库并进行预处理;采用word2vec模型对语料库预训练词向量;保存上述预训练所得的词向量结果;输入待计算相似度的较短文本T1和较长文本T2;采用TF‑IDF对文本T1和文本T2进行关键词提取。对文本T1的所有关键词基于词向量结果进行语义相关词扩充至和文本T2长度相等;计算文本T1和文本T2的相似度。采用本发明公开的相似度计算方法,可提高计算非平衡文本相似度的准确率。
Description
技术领域
本发明属于自然语言处理技术领域,具体涉及一种非平衡文本的相似度计算方法。
背景技术
文本相似度计算是文本分析的核心步骤之一,在文本分类、信息检索、自动问答、情感分析等众多文本处理任务中均要用到。目前常用的文本相似度计算方法主要有欧式距离、余弦距离、KL距离(Kullback-Leibler Divergence)及其他基于深度学***衡文本(文本长度差距较小)相似度时准确率较高,而对非平衡文本(文本长度差距较大)准确率较差。然而,当前信息技术许多应用中常常需要计算非平衡文本的相似度,例如:在搜索引擎中,由检索词查找目标页面;在论文检索中,由论文标题或摘要匹配论文内容;在自动问答中,由问句查找答案等。由于长度较短文本携带较少的信息,导致与长文计算相似度时,传统方法效果较差,计算准确率低。
发明内容
本发明解决的术问题:技长度较短文本携带较少的信息,导致与长文计算相似度时,传统方法效果较差,计算准确率低。
技术方案:为了解决上述技术问题,本发明采用的技术方案如下:
一种非平衡文本的相似度计算方法,包括以下步骤:
S1:输入语料库并进行预处理;
S2:对语料库预训练词向量;
S3:保存步骤S2预训练所得的词向量结果;
S4:输入待计算相似度的较短文本T1和较长文本T2;
S5:对文本T1和文本T2进行关键词提取;
S6:对文本T1的所有关键词基于词向量结果进行语义相关词扩充至和文本T2长度相等;
S7:计算文本T1和文本T2的相似度。
进一步地,步骤S1中,对语料库预训练词向量前采用python的jieba分词工具包对预料库中的所有文本进行分词和停用词处理。
进一步地,步骤S2中,采用word2vec模型对语料库预训练词向量。
进一步地,步骤S5中,采用TF-IDF对文本T1和文本T2进行关键词提取,具体步骤如下:
S51:对文本T1和文本T2进行分词;
S52:对文本T1和文本T2去掉停用词;
S53:计算文本T1和文本T2的所有词的TF-IDF值,选取大于阈值μ的词为文本关键词,其中,TF-DF的计算方式如下:
TF-IDF=TF*IDF
式中:TF=某词在文本中出现的频次/该文本的总词数计算,
IDF=log(语料库中文本总数/包含该词的文本数+1)。
进一步地,步骤S6,对文本T1的所有关键词基于词向量结果进行语义相关词扩充至和文本T2长度相等的具体步骤如下:
S61:遍历文本T1的所有关键词,对文本T1中的每一个关键词wi,从步骤S3所得到词向量结果中计算其语义距离,选取和wi距离最小的前Ni个词作为wi的语义相关词;
S62:输出较短文本T1扩充后的文本T1’。
进一步地,语义距离采用余弦相似度计算,具体方式如下:
上式中,Sim()表示相似度计算;
Sim(wi,wj)表示关键词wi和wj的语义距离;
Wi和Wj分别为关键词wi和wj的词向量;
K为词向量的长度;
Wi,n和Wj,n分别为关键词wi和wj的词向量的第n个分量。
进一步地,文本T1的关键词wi,选取与wi距离最近的前Ni个语义相关词,所述参数Ni由以下公式确定:
上式中,TF-IDF(wi)为步骤S5对词wi的所计算的TF-IDF值;
|T1|和|T2|为分别为文本T1和文本T2关键词的数量。
进一步地,步骤7中,计算文本T1和文本T2的相似度的具体步骤如下:
S71:计算文本T1’的文本向量T1-1’;
S72:计算文本T2的文本向量T2-2,
S73:采用余弦公式计算文本向量T1-1’和T2-2的相似度;
S74:输出文本T1和T2相似度。
进一步地,步骤S71中,文本T1’的文本向量T1-1’,通过以下方式得到:
上式中,NT为文本T1’和文本T2的关键词个数,
Wn为词wn在步骤S3所得预训练模型结果中的词向量。
步骤S72中,文本T2的文本向量T2-2,通过以下方式得到:
上式中,NT为文本T1’和文本T2的关键词个数;
Wm为词wm在步骤S3所得预训练模型结果中的词向量。
进一步地,步骤S73中,采用余弦公式计算文本向量T1-1’和T2-2的相似度:
T’1-1,h和T2-2,h分别为文本向量T1-1’和T2-2的第h个分量;
步骤S74中,Sim(T1,T2)=Sim(T1-1’,T2-2),输出文本T1和T2相似度Sim(T1,T2)。
有益效果:与现有技术相比,本发明具有以下优点:
本发明公开的非平衡文本的相似度计算方法,基于深度学***衡状态,从而非平解决该短文本与长文本在非平衡长度下相似度计算结果准确率差的问题。而目前常用的文本相似度计算方法,如:欧式距离、余弦距离、KL距离及其他基于深度学***衡长度文本的相似度计算结果准确率差的问题。本发明提供的非平衡文本的相似度计算方法,可大幅度提高非平衡文本相似度计算结果的准确率。
具体实施方式
下面结合具体实施例,进一步阐明本发明,实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
本申请的非平衡文本的相似度计算方法,具体包括以下步骤:
步骤S1:输入语料库并进行预处理;
本发明实施例采用的语料库是信息科技类的学术期刊已发表公开的100万篇学术论文。每篇论文包括题目(作为短文本)和摘要(作为对应长文本)构成非平衡文本。具体的对语料库预训练词向量前采用python的jieba分词工具包对预料库中的所有文本进行分词和停用词处理。
步骤S2:采用word2vec模型对语料库预训练词向量;
具体的对语料库预训练词向量采用python开源的gensim包中的word2vec模型进行训练,
步骤S3:保存上述步骤2预训练所得的词向量结果,结果保持到磁盘文件中。
步骤S4:输入待计算相似度的较短文本T1和较长文本T2
步骤S5:采用TF-IDF(term frequency-inverse document frequency)对文本T1和文本T2进行关键词提取,具体步骤如下:
步骤S51:对文本T1和文本T2进行分词;
步骤S52:对文本T1和文本T2去掉停用词;
步骤S53:计算文本T1和文本T2的所有词的TF-IDF值,选取大于阈值μ的词为文本关键词。其中,TF-IDF的计算公式如下:
TF-IDF=TF*IDF
上式中,TF=某词在文本中出现的频次/该文本的总词数计算,
IDF=log(语料库中文本总数/包含该词的文本数+1)。阈值μ为参数,在实际案例中通过人工经验或实验确定。本例中取μ=0.4。
步骤S6:对文本T1的所有关键词基于词向量结果进行语义相关词扩充至和文本T2长度相等,具体步骤如下:
步骤S61:遍历文本T1的所有关键词,对文本T1中的每一个关键词wi,从步骤S3所得到词向量结果中计算其语义距离,选取与wi距离最小的前Ni个词作为wi的语义相关词。
其中,语义距离采用余弦相似度计算,具体公式如下:
上式中,Sim()表示相似度计算;
Sim(wi,wj)表示关键词wi和wj的语义距离;
K为词向量的长度;
Wi,n和Wj,n分别为关键词wi和wj的词向量的第n个分量。
进一步,其中,文本T1的关键词wi,选取与wi距离最近的前Ni个语义相关词,参数Ni由以下公式确定:
上式中,TF-IDF(wi)为步骤S5对词wi的所计算的TF-IDF值;
|T1|和|T2|为分别为文本T1和文本T2关键词的数量。
步骤S62:输出较短文本T1扩充后的文本T1’。
步骤S7:计算文本T1和文本T2的相似度。具体步骤如下:
步骤S71:文本T1’的文本向量T1-1’,由如下公式得到:
上式中,NT为文本T1’和文本T2的关键词个数;
Wn为词wn在步骤S3所得预训练模型结果中的词向量。
步骤S72:文本T2的文本向量T2-2,由如下公式得到:
上式中,NT为文本T1’和文本T2的关键词个数;
Wm为词wm在步骤3所得预训练模型结果中的词向量。
步骤S73:采用余弦公式计算文本向量T1-1’和T2-2的相似度:
T’1-1,h和T2-2,h分别为文本向量T1-1’和T2-2的第h个分量;
步骤S74:Sim(T1,T2)=Sim(T1-1’,T2-2),输出文本T1和T2相似度Sim(T1,T2)。
为进一步说明本发明提供方法的实施效果,另选用信息科技类的学术期刊已发表公开的1000篇学术论文,每篇论文包括题目(作为短文本)和摘要(作为对应长文本)构成非平衡文本作为数据进行验证。
将1000篇论文的题目与该1000个摘要采用本发明提供的相似度计算方法分别计算相似度,选取结果中相似度值最大的为本发明提供方法的最终结果。
评价标准:实验结果所显示相似度值最大者,如果题目和摘要与实际相符,即为结果正确。
评价基准:本发明提出的方面与余弦相似度计算方法进行比较。
验证结果:余弦相似度计算方法正确率64.6%,而本发明提出的方法正确率可达到80.2%,可见,采用发明提供的非平衡文本的相似度计算方法,可大幅度提高非平衡文本相似度计算结果的准确率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种非平衡文本的相似度计算方法,其特征在于,包括以下步骤:
S1:输入语料库并进行预处理;
S2:对语料库预训练词向量;
S3:保存步骤S2预训练所得的词向量结果;
S4:输入待计算相似度的较短文本T1和较长文本T2;
S5:对文本T1和文本T2进行关键词提取;
S6:对文本T1的所有关键词基于词向量结果进行语义相关词扩充至和文本T2长度相等;
S7:计算文本T1和文本T2的相似度。
2.根据权利要求1所述的非平衡文本的相似度计算方法,其特征在于:步骤S1中,对语料库预训练词向量前采用python的jieba分词工具包对预料库中的所有文本进行分词和停用词处理。
3.根据权利要求1所述的非平衡文本的相似度计算方法,其特征在于:步骤S2中,采用word2vec模型对语料库预训练词向量。
4.根据权利要求1所述的非平衡文本的相似度计算方法,其特征在于:步骤S5中,采用TF-IDF对文本T1和文本T2进行关键词提取,具体步骤如下:
S51:对文本T1和文本T2进行分词;
S52:对文本T1和文本T2去掉停用词;
S53:计算文本T1和文本T2的所有词的TF-IDF值,选取大于阈值μ的词为文本关键词,其中,TF-IDF的计算方式如下:
TF-IDF=TF*IDF
式中:TF=某词在文本中出现的频次/该文本的总词数计算,
IDF=log(语料库中文本总数/包含该词的文本数+1)。
5.根据权利要求1所述的非平衡文本的相似度计算方法,其特征在于:步骤S6,对文本T1的所有关键词基于词向量结果进行语义相关词扩充至和文本T2长度相等的具体步骤如下:
S61:遍历文本T1的所有关键词,对文本T1中的每一个关键词wi,从步骤S3所得到词向量结果中计算其语义距离,选取和wi距离最小的前Ni个词作为wi的语义相关词;
S62:输出较短文本T1扩充后的文本T1’。
8.根据权利要求1所述的非平衡文本的相似度计算方法,其特征在于:步骤7中,计算文本T1和文本T2的相似度的具体步骤如下:
S71:计算文本T1’的文本向量T1-1’;
S72:计算文本T2的文本向量T2-2,
S73:采用余弦公式计算文本向量T1-1’和T2-2的相似度;
S74:输出文本T1和T2相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011107977.5A CN112257410A (zh) | 2020-10-15 | 2020-10-15 | 一种非平衡文本的相似度计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011107977.5A CN112257410A (zh) | 2020-10-15 | 2020-10-15 | 一种非平衡文本的相似度计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112257410A true CN112257410A (zh) | 2021-01-22 |
Family
ID=74244380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011107977.5A Pending CN112257410A (zh) | 2020-10-15 | 2020-10-15 | 一种非平衡文本的相似度计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112257410A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486662A (zh) * | 2021-07-19 | 2021-10-08 | 上汽通用五菱汽车股份有限公司 | 文本处理方法、***及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484664A (zh) * | 2016-10-21 | 2017-03-08 | 竹间智能科技(上海)有限公司 | 一种短文本间相似度计算方法 |
CN106844350A (zh) * | 2017-02-15 | 2017-06-13 | 广州索答信息科技有限公司 | 一种短文本语义相似度的计算方法 |
CN107122451A (zh) * | 2017-04-26 | 2017-09-01 | 北京科技大学 | 一种法律文书案由分类器的自动构建方法 |
CN108280206A (zh) * | 2018-01-30 | 2018-07-13 | 尹忠博 | 一种基于语义增强的短文本分类方法 |
CN108681557A (zh) * | 2018-04-08 | 2018-10-19 | 中国科学院信息工程研究所 | 基于自扩充表示和相似双向约束的短文本主题发现方法及*** |
CN109960799A (zh) * | 2019-03-12 | 2019-07-02 | 中南大学 | 一种面向短文本的优化分类方法 |
CN110889443A (zh) * | 2019-11-21 | 2020-03-17 | 成都数联铭品科技有限公司 | 无监督文本分类***及方法 |
-
2020
- 2020-10-15 CN CN202011107977.5A patent/CN112257410A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484664A (zh) * | 2016-10-21 | 2017-03-08 | 竹间智能科技(上海)有限公司 | 一种短文本间相似度计算方法 |
CN106844350A (zh) * | 2017-02-15 | 2017-06-13 | 广州索答信息科技有限公司 | 一种短文本语义相似度的计算方法 |
CN107122451A (zh) * | 2017-04-26 | 2017-09-01 | 北京科技大学 | 一种法律文书案由分类器的自动构建方法 |
CN108280206A (zh) * | 2018-01-30 | 2018-07-13 | 尹忠博 | 一种基于语义增强的短文本分类方法 |
CN108681557A (zh) * | 2018-04-08 | 2018-10-19 | 中国科学院信息工程研究所 | 基于自扩充表示和相似双向约束的短文本主题发现方法及*** |
CN109960799A (zh) * | 2019-03-12 | 2019-07-02 | 中南大学 | 一种面向短文本的优化分类方法 |
CN110889443A (zh) * | 2019-11-21 | 2020-03-17 | 成都数联铭品科技有限公司 | 无监督文本分类***及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486662A (zh) * | 2021-07-19 | 2021-10-08 | 上汽通用五菱汽车股份有限公司 | 文本处理方法、***及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133213B (zh) | 一种基于算法的文本摘要自动提取方法与*** | |
El-Beltagy et al. | Combining lexical features and a supervised learning approach for Arabic sentiment analysis | |
WO2019228203A1 (zh) | 一种短文本分类方法及*** | |
CN111177365A (zh) | 一种基于图模型的无监督自动文摘提取方法 | |
US20190303375A1 (en) | Relevant passage retrieval system | |
CN106202153A (zh) | 一种es搜索引擎的拼写纠错方法及*** | |
CN112347758B (zh) | 文本摘要的生成方法、装置、终端设备及存储介质 | |
CN107423371B (zh) | 一种文本正负类情感分类方法 | |
CN109002473A (zh) | 一种基于词向量与词性的情感分析方法 | |
CN108920599B (zh) | 一种基于知识本体库的问答***答案精准定位和抽取方法 | |
US20110213763A1 (en) | Web content mining of pair-based data | |
CN111694927B (zh) | 一种基于改进词移距离算法的文档自动评阅方法 | |
WO2021253873A1 (zh) | 相似文档检索方法及装置 | |
CN110879834A (zh) | 一种基于循环卷积网络的观点检索***及其观点检索方法 | |
CN112069312A (zh) | 一种基于实体识别的文本分类方法及电子装置 | |
CN107818173B (zh) | 一种基于向量空间模型的中文虚假评论过滤方法 | |
CN111159405B (zh) | 基于背景知识的讽刺检测方法 | |
CN113505196B (zh) | 基于词性的文本检索方法、装置、电子设备及存储介质 | |
Lin et al. | Enhanced BERT-based ranking models for spoken document retrieval | |
CN112257410A (zh) | 一种非平衡文本的相似度计算方法 | |
Ye et al. | A sentiment based non-factoid question-answering framework | |
CN114416914B (zh) | 一种基于图片问答的处理方法 | |
CN112989839A (zh) | 一种基于关键词特征嵌入语言模型的意图识别方法及*** | |
Zheng et al. | A novel hierarchical convolutional neural network for question answering over paragraphs | |
Ronghui et al. | Application of Improved Convolutional Neural Network in Text Classification. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |