CN107943762A - 一种基于es搜索的文本相似度排序方法 - Google Patents
一种基于es搜索的文本相似度排序方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- 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作为一个实时的分布式搜索和分析引擎,可以用于全文搜索,结构化搜索以及分析。其工作原理为在对文本建立索引的基础上,通过将查询文本进行分词,计算词在数据库文本中出现的频率,以及数据库文本中含有该词的文本数量,然后通过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>&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>&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的模。
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)
| 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)
| 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 | 杭州凡闻科技有限公司 | 文档相似度计算方法及相似文档全网检索跟踪方法 |
-
2017
- 2017-11-24 CN CN201711193304.4A patent/CN107943762A/zh active Pending
Patent Citations (4)
| 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)
| Title |
|---|
| 胡博: "基于Lucene的垂直搜索引擎研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (9)
| 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 |