CN107330057A - 一种ElasticSearch搜索相关度算法优化方法及系统 - Google Patents
一种ElasticSearch搜索相关度算法优化方法及系统 Download PDFInfo
- Publication number
- CN107330057A CN107330057A CN201710512775.0A CN201710512775A CN107330057A CN 107330057 A CN107330057 A CN 107330057A CN 201710512775 A CN201710512775 A CN 201710512775A CN 107330057 A CN107330057 A CN 107330057A
- Authority
- CN
- China
- Prior art keywords
- character
- module
- correlation
- matching
- optimization
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种ElasticSearch搜索相关度算法优化方法和系统,属于相关度算法优化技术领域。解决了现有相关度算法不准确的问题,该相关度算法优化方法和系统通过把相关度算法计算出来的评分作为新算法中的一个维度,然后结合字符相关度评分维度进行评分,得到评分后,把两个评分根据倍数进行缩放并相加,然后将搜索推荐文档按照评分大小排序并获得匹配最准确字符。所述相关度算法优化方法和系统适用于各种搜索相关度算法的优化中。
Description
技术领域
本发明涉及一种搜索相关度算法优化系统和方法,属于相关度算法优化技术领域。
背景技术
在这个互联网无处不在的年代,各种各样的数据存在我们生活中,比如说我们每日微信的聊天记录,朋友圈每日看不完的状态,还有每日更新的新闻信息,公司内部的各种邮件,电商网站的商品信息等等。
我们想快速的查找目标数据,用传统的数据库like不能很好的匹配目标数据,于是产生了一项互联网技术搜索,搜索是根据相关度算法去给搜索中的每个文档打分,分数最高的就是搜索推荐的最匹配的数据。
现有相关度算法由如下部分组成:
score(q,d)=queryNorm(q)*coord(q,d)*∑(tf(t in d)*idf(t)2*t.getBoost()*norm(t,d))(t inq)
queryNorm(q)对查询进行一个归一化,不影响排序,因为对于同一个查询这个值是相同的,但是对term于ES来说,必须在分片是1的时候才不影响排序,否则的话,还是会有一些细小的区别,有几个分片就会有几个不同的queryNorm值
coord(q,d)=overlap/maxoverlap其中overlap是检索命中query中term的个数,maxoverlap是query中总共的term个数。
tf(t in d)=√frequency即term t在文档中出现的次数。
idf(t)=1+log(numDocs/(docFreq+1))log是以e为底的,不是以10或者以2为底,这点需要注意,numDocs是指所有的文档个数,如果有分片的话,就是指的是在当前分片下总的文档个数,docFreq是指相关文档的个数,如果有分片对应的也是在当前分片下相关的个数。
norm(d)=1/√numTerms numTerms是文档的总长度。
可见现有相关度算法为了实现相关度算法的准确性,利用多个维度从多个不同维度给文档打分,分别是(1)coord(q,d)关键词分词之后,文档命中个数除以分词总数维度;(2)tf(t ind)每个分词在文档中出现的频率维度;(3)idf(t)每个分词的总文档数除以分词相关文档总数维度;(4)norm(d)每个相关文档的长度维度
但是,现有的搜索相关度算法经常出现其匹配的数据不是用户想要目标数据缺陷,不能准确的为用户推荐目标数据,浪费用户查找目标数据的时间的问题。
发明内容
本发明为了解决现有技术中ElasticSearch搜索服务器的相关度算法搜索推荐结果不准确的问题,提出了一种ElasticSearch搜索相关度算法优化系统和方法。
一种ElasticSearch搜索相关度算法优化系统,所采取的技术方案如下:所述相关度算法优化系统包括:
用于对输入的文字或字符进行搜索的搜索模块;
用于判断输入的文字或字符是否是汉字的判断模块;
用于将输入的汉字解析成汉语拼音的解析模块;
用于将每个汉语拼音、拼音首字母或英文字符与索引库中的内容进行匹配并生成匹配结果的匹配模块;
用于判断是否对所述匹配模块生成的匹配结果进行相关度算法优化的相关度优化判断模块;
用于在所述相关度优化判断模块对所述匹配结果判断为不进行相关度算法优化后,将所述匹配结果确定为查询无结果并返回空值的返回空值模块;
用于在所述相关度优化判断模块对所述匹配结果判断为进行相关度算法优化后,对所述匹配结果进行相关度算法优化的相关度优化模块。
进一步地,所述相关度算法优化系统还包括:
用于将所述搜索模块的搜索结果发送至所述判断模块的搜索结果发送模块;
用于将所述判断模块判断出的汉字数据发送至所述解析模块的汉字发送模块;
用于将所述判断模块判断出的非汉字数据发送至所述解析模块的非汉字发送模块;
用于将所述解析模块获得的解析数据发送至匹配模块的解析数据发送模块;
用于将所述匹配模块生成的匹配结果发送至相关度优化判断模块的匹配数据发送模块;
用于所述相关度优化判断模块确定进行相关度优化后,将所述匹配模块生成的匹配结果发送至相关度优化模块的优化数据发送模块;
用于所述相关度优化判断模块确定不进行相关度优化后,将所述匹配模块生成的匹配结果发送至所述返回空值模块的非优化数据发送模块。
进一步地,所述相关度优化模块包括:
用于采用循环遍历原算法推荐文档列表的文档列表模块;
用于将所述匹配结果中的关键词拆分成一个个字符的关键词拆分模块;
用于判断关键词拆分模块拆分出的字符在所述文档列表的文档中是否命中的字符命中判断模块;
用于对所述关键词拆分模块拆分出的字符进行字符评分的字符评分模块;
用于计算所述字符命中判断模块判断出的命中字符在关键词中的位置权重的关键词位置权重计算模块;
用于计算所述字符命中判断模块判断出的命中字符在所述文档中的位置权重的文档位置权重计算模块;
用于递推判断与所述命中字符相邻的上一个字符是否连续相关的递推判断模块;
用于将所述递推判断模块判断出的连续相关字符进行字符评分的连续相关字符评分模块;
用于计算连续相关字符的连续权重的连续权重计算模块;
用于根据缩放比例,将所述命中字符在关键词中的位置权重、在所述文档中的位置权重和连续相关字符的连续权重相加并获得最终评分结果的相加模块;
用于按照最终评分结果从高到低重新进行排列并生成新文档列表并获得最终评分最高即为匹配最准确字符的文档重新排列模块。
进一步地,所述相关度优化模块还包括:
用于将字符命中判断模块判断出的命中字符发送至所述字符评分模块、关键词位置权重计算模块和文档位置权重计算模块的命中字符发送模块;
用于将所述字符评分模块、关键词位置权重计算模块和文档位置权重计算模块将生成的结果发送至递推判断模块的数据发送模块;
用于所述递推判断模块将判断出的连续相关字符发送至所述连续相关字符评分模块、连续相关字符关键词位置权重计算模块和连续相关字符文档位置权重计算模块的连续相关字符发送模块;
用于将所述连续相关字符评分模块、连续相关字符关键词位置权重计算模块和连续相关字符文档位置权重计算模块生成的结果发送至相加模块的结果发送模块;
用于将相加模块生成的相加结果发送至文档重新排列模块的相加结果发送模块。
进一步地,所述缩放比例的数值为0.3至0.7。
一种ElasticSearch搜索相关度算法优化方法,所采取的技术方案如下:所述相关度算法优化方法包括:
用于对输入的文字或字符进行搜索的搜索步骤;
用于判断输入的文字或字符是否是汉字的判断步骤;
用于将输入的汉字解析成汉语拼音的解析步骤;
用于将每个汉语拼音、拼音首字母或英文字符与索引库中的内容进行匹配并生成匹配结果的匹配步骤;
用于判断是否对所述匹配步骤生成的匹配结果进行相关度算法优化的相关度优化判断步骤;
用于在所述相关度优化判断步骤对所述匹配结果判断为不进行相关度算法优化后,将所述匹配结果确定为查询无结果并返回空值的返回空值步骤;
用于在所述相关度优化判断步骤对所述匹配结果判断为进行相关度算法优化后,对所述匹配结果进行相关度算法优化的相关度优化步骤。
进一步地,所述相关度算法优化方法还包括:
用于将所述搜索步骤的搜索结果发送至所述判断步骤的搜索结果发送步骤;
用于将所述判断步骤判断出的汉字数据发送至所述解析步骤的汉字发送步骤;
用于将所述判断步骤判断出的非汉字数据发送至所述解析步骤的非汉字发送步骤;
用于将所述解析步骤获得的解析数据发送至匹配步骤的解析数据发送步骤;
用于将所述匹配步骤生成的匹配结果发送至相关度优化判断步骤的匹配数据发送步骤;
用于所述相关度优化判断步骤确定进行相关度优化后,将所述匹配步骤生成的匹配结果发送至相关度优化步骤的优化数据发送步骤;
用于所述相关度优化判断步骤确定不进行相关度优化后,将所述匹配步骤生成的匹配结果发送至所述返回空值步骤的非优化数据发送步骤。
进一步地,所述相关度优化步骤包括:
用于采用循环遍历原算法推荐文档列表的文档列表步骤;
用于将所述匹配结果中的关键词拆分成一个个字符的关键词拆分步骤;
用于判断关键词拆分步骤拆分出的字符在所述文档列表的文档中是否命中的字符命中判断步骤;
用于采用循环遍历原算法推荐文档列表的文档列表步骤;
用于将所述匹配结果中的关键词拆分成一个个字符的关键词拆分步骤;
用于判断关键词拆分步骤拆分出的字符在所述文档列表的文档中是否命中的字符命中判断步骤;
用于对所述关键词拆分步骤拆分出的字符进行字符评分的字符评分步骤;
用于计算所述字符命中判断步骤判断出的命中字符在关键词中的位置权重的关键词位置权重计算步骤;
用于计算所述字符命中判断步骤判断出的命中字符在所述文档中的位置权重的文档位置权重计算步骤;
用于递推判断与所述命中字符相邻的上一个字符是否连续相关的递推判断步骤;
用于将所述递推判断步骤判断出的连续相关字符进行字符评分的连续相关字符评分步骤;
用于计算连续相关字符的连续权重的连续权重计算步骤;
用于根据缩放比例,将所述命中字符在关键词中的位置权重、在所述文档中的位置权重和连续相关字符的连续权重相加并获得最终评分结果的相加步骤;
用于按照最终评分结果从高到低重新进行排列并生成新文档列表获得最终评分最高即为匹配最准确字符的文档重新排列步骤。
进一步地,所述相关度优化步骤还包括:
用于将字符命中判断步骤判断出的命中字符发送至所述字符评分步骤、关键词位置权重计算步骤和文档位置权重计算步骤的命中字符发送步骤;
用于将所述字符评分步骤、关键词位置权重计算步骤和文档位置权重计算步骤将生成的结果发送至递推判断步骤的数据发送步骤;
用于所述递推判断步骤将判断出的连续相关字符发送至所述连续相关字符评分步骤、连续相关字符关键词位置权重计算步骤和连续相关字符文档位置权重计算步骤的连续相关字符发送步骤;
用于将所述连续相关字符评分步骤、连续相关字符关键词位置权重计算步骤和连续相关字符文档位置权重计算步骤生成的结果发送至相加步骤的结果发送步骤;
用于将相加步骤生成的相加结果发送至文档重新排列步骤的相加结果发送步骤。
进一步地,所述缩放比例的数值为为0.3至0.7。
本发明有益效果:
本发明所述一种ElasticSearch搜索相关度算法优化方法和系统,通过省略idf(t)和norm(d)两个维度的评价,而通过计算命中字符获得评价结果和在关键词中的位置权重、在文档中的位置权重,同时计算与命中字符连续相关的上一个字符的连续权重,将三个权重根据倍数进行缩放并相加,进而获得匹配最准确字符的方法实现对现有的相关度算法进行了优化。
本发明所述ElasticSearch搜索相关度算法优化方法和系统通过上述手段有效避免了现有相关度算法由于每个输入分词只要在搜索的所有文档中命中数越小,其相关度评分越大而导致偏离搜索系统推荐行为,进而导致搜索匹配不准确的问题。同时,也避免了现有相关度中当命中字符一样时,相关度算法根据文档长度越小相关度越高的原则来评价相关度,忽略命中字符内容相关度进而导致搜索匹配结果不准确的问题。
此外,本发明通过省略idf(t)和norm(d)两个维度的评价,而通过计算命中字符获得评价结果和在关键词中的位置权重、在文档中的位置权重,同时计算与命中字符连续相关的上一个字符的连续权重,将三个权重根据倍数进行缩放并相加,进而获得匹配最准确字符的方法有效提高了搜索匹配目标的准确性,与原相关度算法相比,本发明提出的优化方法和系统使相关度算法的准确性提高了95%以上,是匹配错误率降低到了0.002%,极大程度上克服了原有搜索相关度算法的缺陷,能够准确的为用户推荐目标数据,极大程度上节省用户查找目标数据的时间。
附图说明
图1为本发明所述一种ElasticSearch搜索相关度算法优化系统的系统结构示意图。
图2为本发明所述一种ElasticSearch搜索相关度算法优化系统的相关度优化模块的模块结构示意图。
图3为本发明所述一种ElasticSearch搜索相关度算法优化方法的整体处理流程图。
图4为本发明所述一种ElasticSearch搜索相关度算法优化方法的相关度优化流程图。
具体实施方式
下面结合具体实施例对本发明做进一步说明,但本发明不受实施例的限制。
实施例一、结合图1详细说明本实施例,一种ElasticSearch搜索相关度算法优化系统,所采取的技术方案如下:所述相关度算法优化系统包括:
用于对输入的文字或字符进行搜索的搜索模块;
用于判断输入的文字或字符是否是汉字的判断模块;
用于将输入的汉字解析成汉语拼音的解析模块;
用于将每个汉语拼音、拼音首字母或英文字符与索引库中的内容进行匹配并生成匹配结果的匹配模块;
用于判断是否对所述匹配模块生成的匹配结果进行相关度算法优化的相关度优化判断模块;
用于在所述相关度优化判断模块对所述匹配结果判断为不进行相关度算法优化后,将所述匹配结果确定为查询无结果并返回空值的返回空值模块;
用于在所述相关度优化判断模块对所述匹配结果判断为进行相关度算法优化后,对所述匹配结果进行相关度算法优化的相关度优化模块。
本实施例通过对输入文字或字符的进一步判断和分解为更小单元的字符,提高了目标匹配的精确性,有效提高了匹配过程中的准确性。
实施例二、结合图1详细说明本实施例,本实施例是对实施例一所述一种ElasticSearch搜索相关度算法优化系统的进一步限定,所述相关度算法优化系统还包括:
用于将所述搜索模块的搜索结果发送至所述判断模块的搜索结果发送模块;
用于将所述判断模块判断出的汉字数据发送至所述解析模块的汉字发送模块;
用于将所述判断模块判断出的非汉字数据发送至所述解析模块的非汉字发送模块;
用于将所述解析模块获得的解析数据发送至匹配模块的解析数据发送模块;
用于将所述匹配模块生成的匹配结果发送至相关度优化判断模块的匹配数据发送模块;
用于所述相关度优化判断模块确定进行相关度优化后,将所述匹配模块生成的匹配结果发送至相关度优化模块的优化数据发送模块;
用于所述相关度优化判断模块确定不进行相关度优化后,将所述匹配模块生成的匹配结果发送至所述返回空值模块的非优化数据发送模块。
本实施例增加了搜索结果发送模块、汉字发送模块、非汉字发送模块、解析数据发送模块、匹配数据发送模块、优化数据发送模块和非优化数据发送模块,用于实现所述相关度算法优化系统中相关数据信息的传输。
实施例三、结合图2详细说明本实施例,本实施例是对实施例一所述一种ElasticSearch搜索相关度算法优化系统的进一步限定,所述相关度优化模块包括:
用于采用循环遍历原算法推荐文档列表的文档列表模块;
用于将所述匹配结果中的关键词拆分成一个个字符的关键词拆分模块;
用于判断关键词拆分模块拆分出的字符在所述文档列表的文档中是否命中的字符命中判断模块;
用于对所述关键词拆分模块拆分出的字符进行字符评分的字符评分模块;
用于计算所述字符命中判断模块判断出的命中字符在关键词中的位置权重的关键词位置权重计算模块;
用于计算所述字符命中判断模块判断出的命中字符在所述文档中的位置权重的文档位置权重计算模块;
用于递推判断与所述命中字符相邻的上一个字符是否连续相关的递推判断模块;
用于将所述递推判断模块判断出的连续相关字符进行字符评分的连续相关字符评分模块;
用于计算连续相关字符的连续权重的连续权重计算模块;
用于根据缩放比例,将所述命中字符在关键词中的位置权重、在所述文档中的位置权重和连续相关字符的连续权重相加并获得最终评分结果的相加模块;
用于按照最终评分结果从高到低重新进行排列并生成新文档列表并获得最终评分最高即为匹配最准确字符的文档重新排列模块。
本实施例是对相关度优化模块的进一步限定,通过省略idf(t)和norm(d)两个维度的评价,减小nort(t,d)文档长度所占计算的权重,减小idf(t)总文档数和命中文档数权重,同时加上每个字符在文档中的位置命中情况和连续命中情况。有效避免了现有相关度算法由于每个输入分词只要在搜索的所有文档中命中数越小,其相关度评分越大而导致偏离搜索系统推荐行为,进而导致搜索匹配不准确的问题。同时,也避免了现有相关度中当命中字符一样时,相关度算法根据文档长度越小相关度越高的原则来评价相关度,忽略命中字符相关连续内容的相关度进而导致搜索匹配结果不准确的问题。
并且,通过计算命中字符获得评价结果和在关键词中的位置权重、在文档中的位置权重,同时计算与命中字符连续相关的上一个字符的连续权重,将三个权重根据倍数进行缩放并相加的方法评价与命中字符连续相关的字符,进而增加命中字符相关连续内容的评价,实现对现有相关度算法准确性的进一步优化,使相关度算法的准确性提高了95%以上,是匹配错误率降低到了0.01%,极大程度上克服了原有搜索相关度算法的缺陷,能够准确的为用户推荐目标数据,极大程度上节省用户查找目标数据的时间。
实施例四、结合图2详细说明本实施例,本实施例是对实施例三所述一种ElasticSearch搜索相关度算法优化系统的进一步限定,所述相关度优化模块还包括:
用于将字符命中判断模块判断出的命中字符发送至所述字符评分模块、关键词位置权重计算模块和文档位置权重计算模块的命中字符发送模块;
用于将所述字符评分模块、关键词位置权重计算模块和文档位置权重计算模块将生成的结果发送至递推判断模块的数据发送模块;
用于所述递推判断模块将判断出的连续相关字符发送至所述连续相关字符评分模块、连续相关字符关键词位置权重计算模块和连续相关字符文档位置权重计算模块的连续相关字符发送模块;
用于将所述连续相关字符评分模块、连续相关字符关键词位置权重计算模块和连续相关字符文档位置权重计算模块生成的结果发送至相加模块的结果发送模块;
用于将相加模块生成的相加结果发送至文档重新排列模块的相加结果发送模块。
本实施例增加了命中字符发送模块、数据发送模块、连续相关字符发送模块、结果发送模块和相加结果发送模块,用于实现相关度优化模块内部各数据的传输。
实施例五、结合图2详细说明本实施例,本实施例是对实施例三所述一种ElasticSearch搜索相关度算法优化系统的进一步限定,所述相关度优化模块还包括:所述缩放比例的数值为为0.3至0.7。
本实施例进一步细化了缩放比例数值,使相关度算法的准确性提高了95%以上,是匹配错误率降低到了0.01%,极大程度上克服了原有搜索相关度算法的缺陷,能够准确的为用户推荐目标数据,极大程度上节省用户查找目标数据的时间。
实施例六、结合图3说明本实施例。一种ElasticSearch搜索相关度算法优化方法,所采取的技术方案如下:所述相关度算法优化方法包括:
用于对输入的文字或字符进行搜索的搜索步骤;
用于判断输入的文字或字符是否是汉字的判断步骤;
用于将输入的汉字解析成汉语拼音的解析步骤;
用于将每个汉语拼音、拼音首字母或英文字符与索引库中的内容进行匹配并生成匹配结果的匹配步骤;
用于判断是否对所述匹配步骤生成的匹配结果进行相关度算法优化的相关度优化判断步骤;
用于在所述相关度优化判断步骤对所述匹配结果判断为不进行相关度算法优化后,将所述匹配结果确定为查询无结果并返回空值的返回空值步骤;
用于在所述相关度优化判断步骤对所述匹配结果判断为进行相关度算法优化后,对所述匹配结果进行相关度算法优化的相关度优化步骤。
本实施例通过对输入文字或字符的进一步判断和分解为更小单元的字符,提高了目标匹配的精确性,有效提高了匹配过程中的准确性。
实施例七、结合图3详细说明本实施例,本实施例是对实施例六所述一种ElasticSearch搜索相关度算法优化方法的进一步限定,所述相关度算法优化方法还包括:
用于将所述搜索步骤的搜索结果发送至所述判断步骤的搜索结果发送步骤;
用于将所述判断步骤判断出的汉字数据发送至所述解析步骤的汉字发送步骤;
用于将所述判断步骤判断出的非汉字数据发送至所述解析步骤的非汉字发送步骤;
用于将所述解析步骤获得的解析数据发送至匹配步骤的解析数据发送步骤;
用于将所述匹配步骤生成的匹配结果发送至相关度优化判断步骤的匹配数据发送步骤;
用于所述相关度优化判断步骤确定进行相关度优化后,将所述匹配步骤生成的匹配结果发送至相关度优化步骤的优化数据发送步骤;
用于所述相关度优化判断步骤确定不进行相关度优化后,将所述匹配步骤生成的匹配结果发送至所述返回空值步骤的非优化数据发送步骤。
本实施例增加了搜索结果发送步骤、汉字发送步骤、非汉字发送步骤、解析数据发送步骤、匹配数据发送步骤、优化数据发送步骤和非优化数据发送步骤,用于实现所述相关度算法优化系统中相关数据信息的传输。
实施例八、结合图4详细说明本实施例,本实施例是对实施例六所述一种ElasticSearch搜索相关度算法优化方法的进一步限定,所述相关度优化步骤包括:
用于采用循环遍历原算法推荐文档列表的文档列表步骤;
用于将所述匹配结果中的关键词拆分成一个个字符的关键词拆分步骤;
用于判断关键词拆分步骤拆分出的字符在所述文档列表的文档中是否命中的字符命中判断步骤;
用于对所述关键词拆分步骤拆分出的字符进行字符评分的字符评分步骤;
用于计算所述字符命中判断步骤判断出的命中字符在关键词中的位置权重的关键词位置权重计算步骤;
用于计算所述字符命中判断步骤判断出的命中字符在所述文档中的位置权重的文档位置权重计算步骤;
用于递推判断与所述命中字符相邻的上一个字符是否连续相关的递推判断步骤;
用于将所述递推判断步骤判断出的连续相关字符进行字符评分的连续相关字符评分步骤;
用于计算连续相关字符的连续权重的连续权重计算步骤;
用于根据缩放比例,将所述命中字符在关键词中的位置权重、在所述文档中的位置权重和连续相关字符的连续权重相加并获得最终评分结果的相加步骤;
用于按照最终评分结果从高到低重新进行排列并生成新文档列表获得最终评分最高即为匹配最准确字符的文档重新排列步骤。
本实施例把原来相关度算法,计算出来的评分作为我们新算法中的一个维度,然后结合字符相关度评分维度评分,两个评分根据倍数就行缩放,两个评分相加,搜索推荐文档按照评分大小排序。
字符相关度评分(算法的核心):把搜索关键词拆成一个个字符,判断每个字符在文档中是否命中,命中就计算在关键词中的位置计算权重,同时计算该字符在文档中出现的位置计算权重,如果这个字符有上一个字符,这个字符和上一个字符在文档都命中,需要加上连续权重,三个权重相加,就是字符相关度评分。
本实施例是对相关度优化步骤的进一步限定,通过省略idf(t)和norm(d)两个维度的评价,减小nort(t,d)文档长度所占计算的权重,减小idf(t)总文档数和命中文档数权重,同时加上每个字符在文档中的位置命中情况和连续命中情况。有效避免了现有相关度算法由于每个输入分词只要在搜索的所有文档中命中数越小,其相关度评分越大而导致偏离搜索系统推荐行为,进而导致搜索匹配不准确的问题。同时,也避免了现有相关度中当命中字符一样时,相关度算法根据文档长度越小相关度越高的原则来评价相关度,忽略命中字符相关连续内容的相关度进而导致搜索匹配结果不准确的问题。
并且,通过计算命中字符获得评价结果和在关键词中的位置权重、在文档中的位置权重,同时计算与命中字符连续相关的上一个字符的连续权重,将三个权重根据倍数进行缩放并相加的方法评价与命中字符连续相关的字符,进而增加命中字符相关连续内容的评价,实现对现有相关度算法准确性的进一步优化,使相关度算法的准确性提高了95%以上,是匹配错误率降低到了0.01%,极大程度上克服了原有搜索相关度算法的缺陷,能够准确的为用户推荐目标数据,极大程度上节省用户查找目标数据的时间。
实施例九、结合图4详细说明本实施例,本实施例是对实施例八所述一种ElasticSearch搜索相关度算法优化方法的进一步限定,所述相关度优化步骤还包括:
用于将字符命中判断步骤判断出的命中字符发送至所述字符评分步骤、关键词位置权重计算步骤和文档位置权重计算步骤的命中字符发送步骤;
用于将所述字符评分步骤、关键词位置权重计算步骤和文档位置权重计算步骤将生成的结果发送至递推判断步骤的数据发送步骤;
用于所述递推判断步骤将判断出的连续相关字符发送至所述连续相关字符评分步骤、连续相关字符关键词位置权重计算步骤和连续相关字符文档位置权重计算步骤的连续相关字符发送步骤;
用于将所述连续相关字符评分步骤、连续相关字符关键词位置权重计算步骤和连续相关字符文档位置权重计算步骤生成的结果发送至相加步骤的结果发送步骤;
用于将相加步骤生成的相加结果发送至文档重新排列步骤的相加结果发送步骤。
本实施例增加了命中字符发送步骤、数据发送步骤、连续相关字符发送步骤、结果发送模块和相加结果发送步骤,用于实现相关度优化步骤内部各数据的传输。
实施例十、结合图4详细说明本实施例,本实施例是对实施例八所述一种ElasticSearch搜索相关度算法优化方法的进一步限定,实施例所述缩放比例的数值为为0.3至0.7。
本实施例进一步细化了缩放比例数值,使相关度算法的准确性提高了95%以上,是匹配错误率降低到了0.01%,极大程度上克服了原有搜索相关度算法的缺陷,能够准确的为用户推荐目标数据,极大程度上节省用户查找目标数据的时间。
实施例十一、本实施例是对实施例一所述一种ElasticSearch搜索相关度算法优化系统的详细描述,所述一种ElasticSearch搜索相关度算法优化系统的相关度算法优化代码具体如下:
虽然本发明已以较佳的实施例公开如上,但其并非用以限定本发明,任何熟悉此技术的人,在不脱离本发明的精神和范围内,都可以做各种改动和修饰,因此本发明的保护范围应该以权利要求书所界定的为准。
Claims (10)
1.一种ElasticSearch搜索相关度算法优化系统,其特征在于,所述相关度算法优化系统包括:
用于对输入的文字或字符进行搜索的搜索模块;
用于判断输入的文字或字符是否是汉字的判断模块;
用于将输入的汉字解析成汉语拼音的解析模块;
用于将每个汉语拼音、拼音首字母或英文字符与索引库中的内容进行匹配并生成匹配结果的匹配模块;
用于判断是否对所述匹配模块生成的匹配结果进行相关度算法优化的相关度优化判断模块;
用于在所述相关度优化判断模块对所述匹配结果判断为不进行相关度算法优化后,将所述匹配结果确定为查询无结果并返回空值的返回空值模块;
用于在所述相关度优化判断模块对所述匹配结果判断为进行相关度算法优化后,对所述匹配结果进行相关度算法优化的相关度优化模块。
2.根据权利要求1所述相关度算法优化系统,其特征在于,所述相关度算法优化系统还包括:
用于将所述搜索模块的搜索结果发送至所述判断模块的搜索结果发送模块;
用于将所述判断模块判断出的汉字数据发送至所述解析模块的汉字发送模块;
用于将所述判断模块判断出的非汉字数据发送至所述解析模块的非汉字发送模块;
用于将所述解析模块获得的解析数据发送至匹配模块的解析数据发送模块;
用于将所述匹配模块生成的匹配结果发送至相关度优化判断模块的匹配数据发送模块;
用于所述相关度优化判断模块确定进行相关度优化后,将所述匹配模块生成的匹配结果发送至相关度优化模块的优化数据发送模块;
用于所述相关度优化判断模块确定不进行相关度优化后,将所述匹配模块生成的匹配结果发送至所述返回空值模块的非优化数据发送模块。
3.根据权利要求1所述相关度算法优化系统,其特征在于,所述相关度优化模块包括:
用于采用循环遍历原算法推荐文档列表的文档列表模块;
用于将所述匹配结果中的关键词拆分成一个个字符的关键词拆分模块;
用于判断关键词拆分模块拆分出的字符在所述文档列表的文档中是否命中的字符命中判断模块;
用于对所述关键词拆分模块拆分出的字符进行字符评分的字符评分模块;
用于计算所述字符命中判断模块判断出的命中字符在关键词中的位置权重的关键词位置权重计算模块;
用于计算所述字符命中判断模块判断出的命中字符在所述文档中的位置权重的文档位置权重计算模块;
用于递推判断与所述命中字符相邻的上一个字符是否连续相关的递推判断模块;
用于将所述递推判断模块判断出的连续相关字符进行字符评分的连续相关字符评分模块;
用于计算连续相关字符的连续权重的连续权重计算模块;
用于根据缩放比例,将所述命中字符在关键词中的位置权重、在所述文档中的位置权重和连续相关字符的连续权重相加并获得最终评分结果的相加模块;
用于按照最终评分结果从高到低重新进行排列并生成新文档列表并获得最终评分最高即为匹配最准确字符的文档重新排列模块。
4.根据权利要求3所述相关度算法优化系统,其特征在于,所述相关度优化模块还包括:
用于将字符命中判断模块判断出的命中字符发送至所述字符评分模块、关键词位置权重计算模块和文档位置权重计算模块的命中字符发送模块;
用于将所述字符评分模块、关键词位置权重计算模块和文档位置权重计算模块将生成的结果发送至递推判断模块的数据发送模块;
用于所述递推判断模块将判断出的连续相关字符发送至所述连续相关字符评分模块和连续权重计算模块的连续相关字符发送模块;
用于将所述连续相关字符评分模块和连续权重计算模块生成的结果发送至相加模块的结果发送模块;
用于将相加模块生成的相加结果发送至文档重新排列模块的相加结果发送模块。
5.根据权利要求3所述相关度算法优化系统,其特征在于,所述缩放比例的数值为0.3至0.7。
6.一种ElasticSearch搜索相关度算法优化方法,其特征在于,所述相关度算法优化方法包括:
用于对输入的文字或字符进行搜索的搜索步骤;
用于判断输入的文字或字符是否是汉字的判断步骤;
用于将输入的汉字解析成汉语拼音的解析步骤;
用于将每个汉语拼音、拼音首字母或英文字符与索引库中的内容进行匹配并生成匹配结果的匹配步骤;
用于判断是否对所述匹配步骤生成的匹配结果进行相关度算法优化的相关度优化判断步骤;
用于在所述相关度优化判断步骤对所述匹配结果判断为不进行相关度算法优化后,将所述匹配结果确定为查询无结果并返回空值的返回空值步骤;
用于在所述相关度优化判断步骤对所述匹配结果判断为进行相关度算法优化后,对所述匹配结果进行相关度算法优化的相关度优化步骤。
7.根据权利要求6所述相关度算法优化方法,其特征在于,所述相关度算法优化方法还包括:
用于将所述搜索步骤的搜索结果发送至所述判断步骤的搜索结果发送步骤;
用于将所述判断步骤判断出的汉字数据发送至所述解析步骤的汉字发送步骤;
用于将所述判断步骤判断出的非汉字数据发送至所述解析步骤的非汉字发送步骤;
用于将所述解析步骤获得的解析数据发送至匹配步骤的解析数据发送步骤;
用于将所述匹配步骤生成的匹配结果发送至相关度优化判断步骤的匹配数据发送步骤;
用于所述相关度优化判断步骤确定进行相关度优化后,将所述匹配步骤生成的匹配结果发送至相关度优化步骤的优化数据发送步骤;
用于所述相关度优化判断步骤确定不进行相关度优化后,将所述匹配步骤生成的匹配结果发送至所述返回空值步骤的非优化数据发送步骤。
8.根据权利要求6所述相关度算法优化方法,其特征在于,所述相关度优化步骤包括:
用于采用循环遍历原算法推荐文档列表的文档列表步骤;
用于将所述匹配结果中的关键词拆分成一个个字符的关键词拆分步骤;
用于判断关键词拆分步骤拆分出的字符在所述文档列表的文档中是否命中的字符命中判断步骤;
用于对所述关键词拆分步骤拆分出的字符进行字符评分的字符评分步骤;
用于计算所述字符命中判断步骤判断出的命中字符在关键词中的位置权重的关键词位置权重计算步骤;
用于计算所述字符命中判断步骤判断出的命中字符在所述文档中的位置权重的文档位置权重计算步骤;
用于递推判断与所述命中字符相邻的上一个字符是否连续相关的递推判断步骤;
用于将所述递推判断步骤判断出的连续相关字符进行字符评分的连续相关字符评分步骤;
用于计算连续相关字符的连续权重的连续权重计算步骤;
用于根据缩放比例,将所述命中字符在关键词中的位置权重、在所述文档中的位置权重和连续相关字符的连续权重相加并获得最终评分结果的相加步骤;
用于按照最终评分结果从高到低重新进行排列并生成新文档列表获得最终评分最高即为匹配最准确字符的文档重新排列步骤。
9.根据权利要求8所述相关度算法优化方法,其特征在于,所述相关度优化步骤还包括:
用于将字符命中判断步骤判断出的命中字符发送至所述字符评分步骤、关键词位置权重计算步骤和文档位置权重计算步骤的命中字符发送步骤;
用于将所述字符评分步骤、关键词位置权重计算步骤和文档位置权重计算步骤将生成的结果发送至递推判断模块的数据发送步骤;
用于所述递推判断步骤将判断出的连续相关字符发送至所述连续相关字符评分步骤和连续权重计算步骤的连续相关字符发送步骤;
用于将所述连续相关字符评分步骤和连续权重计算步骤生成的结果发送至相加步骤的结果发送步骤;
用于将相加步骤生成的相加结果发送至文档重新排列步骤的相加结果发送步骤。
10.根据权利要求8所述相关度算法优化方法,其特征在于,所述缩放比例的数值为0.3至0.7。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710512775.0A CN107330057B (zh) | 2017-06-29 | 2017-06-29 | 一种ElasticSearch搜索相关度算法优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710512775.0A CN107330057B (zh) | 2017-06-29 | 2017-06-29 | 一种ElasticSearch搜索相关度算法优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107330057A true CN107330057A (zh) | 2017-11-07 |
CN107330057B CN107330057B (zh) | 2020-08-07 |
Family
ID=60198900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710512775.0A Active CN107330057B (zh) | 2017-06-29 | 2017-06-29 | 一种ElasticSearch搜索相关度算法优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107330057B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897819A (zh) * | 2018-06-20 | 2018-11-27 | 北京密境和风科技有限公司 | 一种数据搜索方法和装置 |
CN109977292A (zh) * | 2019-03-21 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 搜索方法、装置、计算设备和计算机可读存储介质 |
CN110413961A (zh) * | 2019-06-21 | 2019-11-05 | 平安国际智慧城市科技股份有限公司 | 基于分类模型进行文本评分的方法、装置和计算机设备 |
CN111597412A (zh) * | 2020-04-27 | 2020-08-28 | 必圈信息技术(湖北)有限公司 | 一种基于ElasticSearch实现多维度智能搜索相关数据的系统和方法 |
CN111782895A (zh) * | 2020-07-02 | 2020-10-16 | 北京字节跳动网络技术有限公司 | 检索处理方法、装置、可读介质及电子设备 |
CN113793193A (zh) * | 2021-08-13 | 2021-12-14 | 唯品会(广州)软件有限公司 | 数据搜索准确性验证方法、装置、设备及计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663030A (zh) * | 2011-12-15 | 2012-09-12 | 清华大学 | 一种区间持久性top-k查询的双哈希表关联方法 |
US20140358494A1 (en) * | 2013-05-28 | 2014-12-04 | Fujitsu Limited | Deformation simulation apparatus, deformation simulation method, and deformation simulation program |
CN106095778A (zh) * | 2016-05-26 | 2016-11-09 | 达而观信息科技(上海)有限公司 | 搜索引擎的中文搜索词自动纠错方法 |
CN106126731A (zh) * | 2016-07-01 | 2016-11-16 | 百势软件(北京)有限公司 | 一种获取Elasticsearch分页数据的方法及装置 |
CN106202153A (zh) * | 2016-06-21 | 2016-12-07 | 广州智索信息科技有限公司 | 一种es搜索引擎的拼写纠错方法及系统 |
-
2017
- 2017-06-29 CN CN201710512775.0A patent/CN107330057B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663030A (zh) * | 2011-12-15 | 2012-09-12 | 清华大学 | 一种区间持久性top-k查询的双哈希表关联方法 |
US20140358494A1 (en) * | 2013-05-28 | 2014-12-04 | Fujitsu Limited | Deformation simulation apparatus, deformation simulation method, and deformation simulation program |
CN106095778A (zh) * | 2016-05-26 | 2016-11-09 | 达而观信息科技(上海)有限公司 | 搜索引擎的中文搜索词自动纠错方法 |
CN106202153A (zh) * | 2016-06-21 | 2016-12-07 | 广州智索信息科技有限公司 | 一种es搜索引擎的拼写纠错方法及系统 |
CN106126731A (zh) * | 2016-07-01 | 2016-11-16 | 百势软件(北京)有限公司 | 一种获取Elasticsearch分页数据的方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897819A (zh) * | 2018-06-20 | 2018-11-27 | 北京密境和风科技有限公司 | 一种数据搜索方法和装置 |
CN108897819B (zh) * | 2018-06-20 | 2021-09-21 | 北京密境和风科技有限公司 | 一种数据搜索方法和装置 |
CN109977292A (zh) * | 2019-03-21 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 搜索方法、装置、计算设备和计算机可读存储介质 |
CN109977292B (zh) * | 2019-03-21 | 2022-12-27 | 腾讯科技(深圳)有限公司 | 搜索方法、装置、计算设备和计算机可读存储介质 |
CN110413961A (zh) * | 2019-06-21 | 2019-11-05 | 平安国际智慧城市科技股份有限公司 | 基于分类模型进行文本评分的方法、装置和计算机设备 |
CN111597412A (zh) * | 2020-04-27 | 2020-08-28 | 必圈信息技术(湖北)有限公司 | 一种基于ElasticSearch实现多维度智能搜索相关数据的系统和方法 |
CN111597412B (zh) * | 2020-04-27 | 2023-08-22 | 必圈信息技术(湖北)有限公司 | 一种基于ElasticSearch实现多维度智能搜索相关数据的系统和方法 |
CN111782895A (zh) * | 2020-07-02 | 2020-10-16 | 北京字节跳动网络技术有限公司 | 检索处理方法、装置、可读介质及电子设备 |
CN111782895B (zh) * | 2020-07-02 | 2024-03-19 | 北京字节跳动网络技术有限公司 | 检索处理方法、装置、可读介质及电子设备 |
CN113793193A (zh) * | 2021-08-13 | 2021-12-14 | 唯品会(广州)软件有限公司 | 数据搜索准确性验证方法、装置、设备及计算机可读介质 |
CN113793193B (zh) * | 2021-08-13 | 2024-02-02 | 唯品会(广州)软件有限公司 | 数据搜索准确性验证方法、装置、设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107330057B (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107330057A (zh) | 一种ElasticSearch搜索相关度算法优化方法及系统 | |
CN108763321B (zh) | 一种基于大规模相关实体网络的相关实体推荐方法 | |
Sharif et al. | Sentiment analysis of Bengali texts on online restaurant reviews using multinomial Naïve Bayes | |
US9396276B2 (en) | Key-value database for geo-search and retrieval of point of interest records | |
CN100535898C (zh) | 问答式文献检索系统和方法 | |
US20210056571A1 (en) | Determining of summary of user-generated content and recommendation of user-generated content | |
WO2018189589A2 (en) | Systems and methods for document processing using machine learning | |
US7822752B2 (en) | Efficient retrieval algorithm by query term discrimination | |
AU2005203239A1 (en) | Phrase-based indexing in an information retrieval system | |
CN104408191A (zh) | 关键词的关联关键词的获取方法和装置 | |
EP2307951A1 (en) | Method and apparatus for relating datasets by using semantic vectors and keyword analyses | |
Ohta et al. | Related paper recommendation to support online-browsing of research papers | |
CN110134799B (zh) | 一种基于bm25算法的文本语料库的搭建和优化方法 | |
Pratama et al. | Implementation of sentiment analysis on Twitter using Naïve Bayes algorithm to know the people responses to debate of DKI Jakarta governor election | |
KR20080037413A (ko) | 온라인 문맥기반 광고 장치 및 방법 | |
CN111274493A (zh) | 一种基于多源用户评论的评分预测方法 | |
CN102722526B (zh) | 基于词性分类统计的重复网页和近似网页的识别方法 | |
US20070239735A1 (en) | Systems and methods for predicting if a query is a name | |
CN108509449B (zh) | 一种信息处理的方法及服务器 | |
Soman et al. | A study of Spam Detection Algorithm On Social Media networks | |
CN113934910A (zh) | 一种自动优化、更新的主题库构建方法,及热点事件实时更新方法 | |
CN106202234B (zh) | 基于样本对分类器可纠正的交互式信息检索方法 | |
Pisal et al. | AskUs: An opinion search engine | |
Lee et al. | Bvideoqa: Online English/Chinese bilingual video question answering | |
CN116414939B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |