[go: up one dir, main page]

CN107943762A - 一种基于es搜索的文本相似度排序方法 - Google Patents

一种基于es搜索的文本相似度排序方法 Download PDF

Info

Publication number
CN107943762A
CN107943762A CN201711193304.4A CN201711193304A CN107943762A CN 107943762 A CN107943762 A CN 107943762A CN 201711193304 A CN201711193304 A CN 201711193304A CN 107943762 A CN107943762 A CN 107943762A
Authority
CN
China
Prior art keywords
text
search
similarity
vector
participle
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
Application number
CN201711193304.4A
Other languages
English (en)
Inventor
文杰锋
刘楚雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201711193304.4A priority Critical patent/CN107943762A/zh
Publication of CN107943762A publication Critical patent/CN107943762A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于大数据技术领域,其公开了一种基于ES搜索的文本相似度排序方法,通过将文本字词之间的位置顺序作为算法考虑因素,计算文本之间的相似程度,以解决ES搜索无法排序同词不同序文本的问题,提高ES文本相似度排序的准确率。该方法包括以下步骤:a.ES初步搜索获得相似文本集合;b.进行文本分词,得到分词集合;c.以分词集合为基础,对分词后的文本进行向量化表示;d.通过余弦相似度度量文本向量之间相似程度;e.根据余弦相似度值,对文本进行相似度重排序。

Description

一种基于ES搜索的文本相似度排序方法
技术领域
本发明属于大数据技术领域,具体涉及一种基于ES搜索的文本相似度排序方法。
背景技术
ES作为一个实时的分布式搜索和分析引擎,可以用于全文搜索,结构化搜索以及分析。其工作原理为在对文本建立索引的基础上,通过将查询文本进行分词,计算词在数据库文本中出现的频率,以及数据库文本中含有该词的文本数量,然后通过TF-IDF模型的计算公式计算出数据库中文本与查询文本的相似度值,根据相似度值降序快速返回搜索结果。
由于ES的搜索速度快,所以其应用领域也在不断增多。但是,ES默认的评分规则采用了TF-IDF算法模型,该模型以词频作为文本相似度计算的基本单位,没有考虑词与词之间的位置顺序,导致搜索出的排序结果并不能满足需求,时常需要在原有排序的基础上结合应用场景,对评分进行二次打分与重新排序。比如,在相关度相差不大的情况下,词与词或者字与字之间的顺序越接近就应该越靠前等。此时就需要对搜索结果进行重新打分排序。例如:用户搜索”清理内存”,如果数据库中同时存在“清理内存”与“内存清理”两条数据,那么经过TF-IDF算法模型,计算出的“内存清理”的得分与“清理内存”的得分是一样的。那么,ES就无法对这两条数据进行排序,那么返回给用户的数据可能是这两条数据中的随机一条。而显然,本次搜索最应该返回给用户的是“清理内存”而不是“内存清理”。由此可见,传统技术中的文本相似度排序不准确。
发明内容
本发明所要解决的技术问题是:提出一种基于ES搜索的文本相似度排序方法,通过将文本字词之间的位置顺序作为算法考虑因素,计算文本之间的相似程度,以解决ES搜索无法排序同词不同序文本的问题,提高ES文本相似度排序的准确率。
本发明解决上述技术问题采用的技术方案是:
一种基于ES搜索的文本相似度排序方法,包括以下步骤:
a.ES初步搜索获得相似文本集合;
b.进行文本分词,得到分词集合;
c.以分词集合为基础,对分词后的文本进行向量化表示;
d.通过余弦相似度度量文本向量之间相似程度;
e.根据余弦相似度值,对文本进行相似度重排序。
作为进一步优化,步骤b中,在进行文本分词时,对每个文本按照从前往后每相邻的两个字为一词的规则进行分词,即保留了字词的先后位置信息。
作为进一步优化,步骤d中,所述通过余弦相似度度量文本向量之间相似程度,具体包括:
假设搜索文本q的向量表示为向量vec_q,初步搜索结果集合中的某一文本t的向量表示为向量vec_t,则向量vec_q与向量vec_t之间的余弦相似度计算公式为:
式中,vec_q与vec_t为搜索文本q与搜索结果集合中的某一文本的向量表示;||vec_q||与||vec_t||分别为向量vec_q与vec_t的模。
本发明的有益效果是:本发明将文本字词之间先后位置的顺序信息作为考虑因素,对文本进行相似度排序:首先通过ES默认的TF-IDF模型搜索出一定数量的相似文本集合,然后对文本集合中的每个文本进行相邻两字成一词规则进行分词,即包含字词之间的先后位置信息,以分词集合中的词作为基本单位对文本进行向量化表示,采用余弦相似度公式度量文本之间的相似程度,根据余弦相似度值对文本进行相似度排序。采用该方案排序的结果更准确。
附图说明
图1为本发明中的基于ES搜索的文本相似度排序方法流程图。
具体实施方式
本发明旨在提出一种基于ES搜索的文本相似度排序方法,通过将文本字词之间的位置顺序作为算法考虑因素,计算文本之间的相似程度,以解决ES搜索无法排序同词不同序文本的问题,提高ES文本相似度排序的准确率。
本发明采用ES默认的TF-IDF模型计算查询文本与数据库文本之间的相似度值,并搜索匹配出一定数量分值靠前的文本集合,文本分词,文本向量化表示,通过余弦相似度计算文本之间的相似程度并进行重排序。如图1所示,其具体包括以下步骤:
a)利用ES默认TF-IDF模型搜索数据库,得到一定数量的文本数据集合。如下:
假设查询文本为:
query=“清理内存”
通过TF-IDF模型初步搜索出的前五条数据为:
result_top_5={“内存清理”、“清理内存”、“清理下内存”、“帮我清理内存”、“帮我清理下内存”}
由以上可以看出,搜索结果默认排序中“内存清理”优先于“清理内存”。显然,这样的排序结果不符合需求。
b)对搜索结果文本集合中每个文本进行每两字成一词的规则进行分词,即保留了字词的先后位置信息,得到分词集合。
result_top_5中文本集合进行分词,得到的分词集合为:
result_top_5_words={“内存”、“存清”、“理内”、“理下”、“下内”、“清理”、“帮我”、“我清”}
c)以分词集合result_top_5_words中的词作为词向量基本单位,对文本进行向量化表示。则,查询文本query=“清理内存”的向量化表示为:
vec_query=(1,1,0,0,0,1,0,0)
result_top_5文本集合中某一文本“帮我清理内存”(txt_4)的向量化表示为:
vec_txt_4=(1,0,1,0,0,1,1,1)
d)通过余弦相似度度量文本向量之间相似程度。两向量之间的余弦值越大,则向量越相似;反之,越不相似。则查询文本query=“清理内存”与文本txt_4=“帮我清理内存”的余弦相似度计算公式为:
式中,vec_query与vec_txt_4为搜索文本query与搜索结果集合中的某一文本txt_4的向量表示;||vec_query||与||vec_txt_4||分别为向量vec_query与vec_txt_4的模。
将vec_query=(1,1,0,0,0,1,0,0)与vec_txt_4=(1,0,1,0,0,1,1,1)代入上式可得这两文本之间的余弦相似度值为:0.5164。
依次将查询文query与集合中的其他文本进行余弦相似度值计算。
e)对计算出的余弦相似度值进行降序排序,得出文本相似度排序结果。

Claims (3)

1.一种基于ES搜索的文本相似度排序方法,其特征在于,包括以下步骤:
a.ES初步搜索获得相似文本集合;
b.进行文本分词,得到分词集合;
c.以分词集合为基础,对分词后的文本进行向量化表示;
d.通过余弦相似度度量文本向量之间相似程度;
e.根据余弦相似度值,对文本进行相似度重排序。
2.如权利要求1所述的一种基于ES搜索的文本相似度排序方法,其特征在于,步骤b中,在进行文本分词时,对每个文本按照从前往后每相邻的两个字为一词的规则进行分词,即保留了字词的先后位置信息。
3.如权利要求1或2所述的一种基于ES搜索的文本相似度排序方法,其特征在于,步骤d中,所述通过余弦相似度度量文本向量之间相似程度,具体包括:
假设搜索文本q的向量表示为向量vec_q,初步搜索结果集合中的某一文本t的向量表示为向量vec_t,则向量vec_q与向量vec_t之间的余弦相似度计算公式为:
<mrow> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mrow> <mo>(</mo> <mi>v</mi> <mi>e</mi> <mi>c</mi> <mo>_</mo> <mi>q</mi> <mo>,</mo> <mi>v</mi> <mi>e</mi> <mi>c</mi> <mo>_</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>v</mi> <mi>e</mi> <mi>c</mi> <mo>_</mo> <mi>q</mi> <mo>&amp;CenterDot;</mo> <mi>v</mi> <mi>e</mi> <mi>c</mi> <mo>_</mo> <mi>t</mi> </mrow> <mrow> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mi>e</mi> <mi>c</mi> <mo>_</mo> <mi>q</mi> <mo>|</mo> <mo>|</mo> <mo>&amp;times;</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mi>e</mi> <mi>c</mi> <mo>_</mo> <mi>t</mi> <mo>|</mo> <mo>|</mo> </mrow> </mfrac> </mrow>
式中,vec_q与vec_t为搜索文本q与搜索结果集合中的某一文本的向量表示;||vec_q||与||vec_t||分别为向量vec_q与vec_t的模。
CN201711193304.4A 2017-11-24 2017-11-24 一种基于es搜索的文本相似度排序方法 Pending CN107943762A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711193304.4A CN107943762A (zh) 2017-11-24 2017-11-24 一种基于es搜索的文本相似度排序方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711193304.4A CN107943762A (zh) 2017-11-24 2017-11-24 一种基于es搜索的文本相似度排序方法

Publications (1)

Publication Number Publication Date
CN107943762A true CN107943762A (zh) 2018-04-20

Family

ID=61948764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711193304.4A Pending CN107943762A (zh) 2017-11-24 2017-11-24 一种基于es搜索的文本相似度排序方法

Country Status (1)

Country Link
CN (1) CN107943762A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241239A (zh) * 2018-07-26 2019-01-18 四川长虹电器股份有限公司 考察文字排列顺序的文本相似度匹配方法
CN110532569A (zh) * 2019-09-05 2019-12-03 浪潮软件股份有限公司 一种基于中文分词的数据碰撞方法及系统
CN110737839A (zh) * 2019-10-22 2020-01-31 京东数字科技控股有限公司 短文本的推荐方法、装置、介质及电子设备
CN111488429A (zh) * 2020-03-19 2020-08-04 杭州叙简科技股份有限公司 一种基于搜索引擎的短文本聚类系统及其短文本聚类方法
CN112434070A (zh) * 2020-12-14 2021-03-02 四川长虹电器股份有限公司 一种基于相似度算法的分页查询方法
CN112534426A (zh) * 2018-08-22 2021-03-19 深圳市欢太科技有限公司 一种信息处理方法、装置以及计算机存储介质
CN113868533A (zh) * 2021-09-30 2021-12-31 北京达佳互联信息技术有限公司 应用搜索方法、装置、电子设备及存储介质
CN116204604A (zh) * 2023-02-07 2023-06-02 可之(宁波)人工智能科技有限公司 基于es的查询优化技术

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2451083A1 (en) * 2001-07-26 2003-02-13 International Business Machines Corporation Data processing method, data processing system, and program
CN103838789A (zh) * 2012-11-27 2014-06-04 大连灵动科技发展有限公司 一种文本相似度计算方法
CN104778276A (zh) * 2015-04-29 2015-07-15 北京航空航天大学 一种基于改进tf-idf的多索引合并排序算法
CN106095737A (zh) * 2016-06-07 2016-11-09 杭州凡闻科技有限公司 文档相似度计算方法及相似文档全网检索跟踪方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2451083A1 (en) * 2001-07-26 2003-02-13 International Business Machines Corporation Data processing method, data processing system, and program
CN103838789A (zh) * 2012-11-27 2014-06-04 大连灵动科技发展有限公司 一种文本相似度计算方法
CN104778276A (zh) * 2015-04-29 2015-07-15 北京航空航天大学 一种基于改进tf-idf的多索引合并排序算法
CN106095737A (zh) * 2016-06-07 2016-11-09 杭州凡闻科技有限公司 文档相似度计算方法及相似文档全网检索跟踪方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡博: "基于Lucene的垂直搜索引擎研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241239A (zh) * 2018-07-26 2019-01-18 四川长虹电器股份有限公司 考察文字排列顺序的文本相似度匹配方法
CN112534426A (zh) * 2018-08-22 2021-03-19 深圳市欢太科技有限公司 一种信息处理方法、装置以及计算机存储介质
CN110532569A (zh) * 2019-09-05 2019-12-03 浪潮软件股份有限公司 一种基于中文分词的数据碰撞方法及系统
CN110532569B (zh) * 2019-09-05 2023-03-28 浪潮软件股份有限公司 一种基于中文分词的数据碰撞方法及系统
CN110737839A (zh) * 2019-10-22 2020-01-31 京东数字科技控股有限公司 短文本的推荐方法、装置、介质及电子设备
CN111488429A (zh) * 2020-03-19 2020-08-04 杭州叙简科技股份有限公司 一种基于搜索引擎的短文本聚类系统及其短文本聚类方法
CN112434070A (zh) * 2020-12-14 2021-03-02 四川长虹电器股份有限公司 一种基于相似度算法的分页查询方法
CN113868533A (zh) * 2021-09-30 2021-12-31 北京达佳互联信息技术有限公司 应用搜索方法、装置、电子设备及存储介质
CN116204604A (zh) * 2023-02-07 2023-06-02 可之(宁波)人工智能科技有限公司 基于es的查询优化技术

Similar Documents

Publication Publication Date Title
CN107943762A (zh) 一种基于es搜索的文本相似度排序方法
CN105069086B (zh) 一种优化电子商务商品搜索的方法及系统
TWI557664B (zh) Product information publishing method and device
CN104090890B (zh) 关键词相似度获取方法、装置及服务器
CN106960001B (zh) 一种检索词的实体链接方法及系统
CN110046298B (zh) 一种查询词推荐方法、装置、终端设备及计算机可读介质
CN102693279B (zh) 一种快速计算评论相似度的方法、装置及系统
US8478704B2 (en) Decomposable ranking for efficient precomputing that selects preliminary ranking features comprising static ranking features and dynamic atom-isolated components
CN105653562A (zh) 一种文本内容与查询请求之间相关性的计算方法及装置
CN107704503A (zh) 用户关键词提取装置、方法及计算机可读存储介质
CN108763321A (zh) 一种基于大规模相关实体网络的相关实体推荐方法
CN104199965A (zh) 一种语义信息检索方法
CN101436186A (zh) 一种提供相关搜索的方法及系统
CN104008186A (zh) 从目标文本中确定关键词的方法和装置
CN101206674A (zh) 以商品为媒介的增强型相关搜索系统及其方法
CN104636407B (zh) 参数取值训练及搜索请求处理方法和装置
CN110188197A (zh) 一种用于标注平台的主动学习方法及装置
CN106649250A (zh) 一种情感新词的识别方法及装置
CN107239564A (zh) 一种基于监督主题模型的文本标签推荐方法
CN104951435A (zh) 聊天过程中智能显示关键词的方法及装置
CN108170650A (zh) 文本比较方法以及文本比较装置
CN106844482A (zh) 一种基于搜索引擎的检索信息匹配方法及装置
CN105808737B (zh) 一种信息检索方法及服务器
CN114385688B (zh) 一种应用程序接口api推荐方法及装置
CN104077419B (zh) 结合语义与视觉信息的长查询图像检索重排序方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180420

RJ01 Rejection of invention patent application after publication