CN107609098B - 搜索方法及装置 - Google Patents
搜索方法及装置 Download PDFInfo
- Publication number
- CN107609098B CN107609098B CN201710811504.5A CN201710811504A CN107609098B CN 107609098 B CN107609098 B CN 107609098B CN 201710811504 A CN201710811504 A CN 201710811504A CN 107609098 B CN107609098 B CN 107609098B
- Authority
- CN
- China
- Prior art keywords
- word
- search term
- chinese character
- search
- keyword
- 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.)
- Active
Links
Abstract
本发明提出一种搜索方法及装置,其中方法包括:接收用户输入的搜索词;对搜索词进行分词,得到至少一个分词词语;将至少一个分词词语与预设的停用词库中的停用词进行比对,确定搜索词中的关键词;根据关键词查询预设的公司名语料库,获取与关键词具有相同拼音的至少一个汉字组合,进而生成搜索词对应的至少一个字拓展序列;根据预设的汉字间转移矩阵,计算至少一个字拓展序列的转移概率;进而根据转移概率,确定与搜索词对应的纠正后搜索词;基于纠正后搜索词进行检索,获取搜索结果,从而能够在用户输入的搜索词出现错误时,及时对搜索词进行纠正,采用纠正后搜索词进行检索,得到用户想要的搜索结果,从而提高搜索效率,提高用户的搜索体验。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种搜索方法及装置。
背景技术
目前,信息检索(Information Retrieval)是用户进行信息查询和获取信息的主要方式。用户可以根据需要,输入一定的搜索词,借助检索工具,从信息集合中找出与所述搜索词对应的搜索结果。例如,在企业搜索领域中,用户根据需要,输入想要搜索的企业的全部或者部分名称,借助企业搜索引擎,获取该企业的详细信息。
然而,现有技术中,经常会出现用户输入错误的搜索词的情况,例如用户想要搜索“北京摩拜”,但是用户输入的是“北京膜拜”,根据“北京膜拜”进行搜索,得不到用户想要的搜索结果,此时用户只能删除搜索词,重新输入正确的搜索词,获取搜索结果,降低了搜索效率,影响用户的搜索体验。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种搜索方法,用于解决现有技术中搜索效率差,用户搜索体验差的问题。
本发明的第二个目的在于提出一种搜索装置。
本发明的第三个目的在于提出另一种搜索装置。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种搜索方法,包括:
接收用户输入的搜索词;
对所述搜索词进行分词,得到至少一个分词词语;
将所述至少一个分词词语与预设的停用词库中的停用词进行比对,确定所述搜索词中的关键词;
根据所述关键词查询预设的公司名语料库,获取与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列;
根据预设的汉字间转移矩阵,计算所述至少一个字拓展序列的转移概率;
根据所述至少一个字拓展序列的转移概率,确定与搜索词对应的纠正后搜索词;
将所述纠正后搜索词作为检索词进行检索,获取与所述纠正后搜索词对应的搜索结果。
进一步的,所述将所述至少一个分词词语与预设的停用词库中的停用词进行比对,确定所述搜索词中的关键词,包括:
将所述至少一个分词词语与预设的停用词库中的停用词进行比对,判断所述停用词库中是否存在与所述分词词语匹配的停用词;
若所述停用词库中不存在与所述分词词语匹配的停用词,则将所述分词词语确定为所述搜索词中的关键词。
进一步的,所述公司名语料库中包括:至少一个公司名,以及所述公司名对应的拼音;
所述根据所述关键词查询预设的公司名语料库,获取与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列,包括:
获取所述关键词对应的拼音;
根据所述关键词对应的拼音,查询所述公司名语料库中各公司名对应的拼音,判断是否存在与所述关键词具有相同拼音的至少一个汉字组合;
若存在与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列。
进一步的,所述根据预设的汉字间转移矩阵,计算所述至少一个字拓展序列的转移概率,包括:
根据预设的汉字间转移矩阵,获取所述字拓展序列中相邻两个汉字之间的转移概率;
根据所述字拓展序列中相邻两个汉字之间的转移概率,计算所述字拓展序列的转移概率。
进一步的,所述接收用户输入的搜索词之前,还包括:
获取公司名语料库;
对所述公司名语料库中的各公司名进行分词,获取各公司名的分词词语;
统计所述公司名语料库中各分词词语的出现频率;
将对应的出现频率大于预设频率阈值的分词词语确定为停用词;
根据所述停用词生成所述停用词库。
进一步的,所述接收用户输入的搜索词之前,还包括:
针对所述公司名语料库中的每个汉字,统计公司名语料库中所述汉字后面可能出现的汉字及其出现概率;
根据每个汉字后面可能出现的汉字及其出现概率,生成所述汉字间转移矩阵。
本发明实施例的搜索方法中,通过接收用户输入的搜索词;对搜索词进行分词,得到至少一个分词词语;将至少一个分词词语与预设的停用词库中的停用词进行比对,确定搜索词中的关键词;根据关键词查询预设的公司名语料库,获取与关键词具有相同拼音的至少一个汉字组合,进而生成搜索词对应的至少一个字拓展序列;根据预设的汉字间转移矩阵,计算至少一个字拓展序列的转移概率;进而根据转移概率,确定与搜索词对应的纠正后搜索词;基于纠正后搜索词进行检索,获取搜索结果,从而能够在用户输入的搜索词出现错误时,及时对搜索词进行纠正,采用纠正后搜索词进行检索,得到用户想要的搜索结果,从而提高搜索效率,提高用户的搜索体验。
为达上述目的,本发明第二方面实施例提出了一种搜索装置,包括:
接收模块,用于接收用户输入的搜索词;
分词模块,用于对所述搜索词进行分词,得到至少一个分词词语;
比对模块,用于将所述至少一个分词词语与预设的停用词库中的停用词进行比对,确定所述搜索词中的关键词;
查询模块,用于根据所述关键词查询预设的公司名语料库,获取与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列;
计算模块,用于根据预设的汉字间转移矩阵,计算所述至少一个字拓展序列的转移概率;
确定模块,用于根据所述至少一个字拓展序列的转移概率,确定与搜索词对应的纠正后搜索词;
检索模块,用于将所述纠正后搜索词作为检索词进行检索,获取与所述纠正后搜索词对应的搜索结果。
进一步的,所述比对模块具体用于,
将所述至少一个分词词语与预设的停用词库中的停用词进行比对,判断所述停用词库中是否存在与所述分词词语匹配的停用词;
若所述停用词库中不存在与所述分词词语匹配的停用词,则将所述分词词语确定为所述搜索词中的关键词。
进一步的,所述公司名语料库中包括:至少一个公司名,以及所述公司名对应的拼音;
所述查询模块具体用于,
获取所述关键词对应的拼音;
根据所述关键词对应的拼音,查询所述公司名语料库中各公司名对应的拼音,判断是否存在与所述关键词具有相同拼音的至少一个汉字组合;
若存在与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列。
进一步的,所述计算模块具体用于,
根据预设的汉字间转移矩阵,获取所述字拓展序列中相邻两个汉字之间的转移概率;
根据所述字拓展序列中相邻两个汉字之间的转移概率,计算所述字拓展序列的转移概率。
进一步的,所述的装置还包括:获取模块、统计模块和生成模块;
所述获取模块,用于获取公司名语料库;
所述分词模块,还用于对所述公司名语料库中的各公司名进行分词,获取各公司名的分词词语;
所述统计模块,用于统计所述公司名语料库中各分词词语的出现频率;
所述确定模块,还用于将对应的出现频率大于预设频率阈值的分词词语确定为停用词;
所述生成模块,用于根据所述停用词生成所述停用词库。
进一步的,所述的装置还包括:统计模块和生成模块;
所述统计模块,用于针对所述公司名语料库中的每个汉字,统计公司名语料库中所述汉字后面可能出现的汉字及其出现概率;
所述生成模块,用于根据每个汉字后面可能出现的汉字及其出现概率,生成所述汉字间转移矩阵。
本发明实施例的搜索装置中,通过接收用户输入的搜索词;对搜索词进行分词,得到至少一个分词词语;将至少一个分词词语与预设的停用词库中的停用词进行比对,确定搜索词中的关键词;根据关键词查询预设的公司名语料库,获取与关键词具有相同拼音的至少一个汉字组合,进而生成搜索词对应的至少一个字拓展序列;根据预设的汉字间转移矩阵,计算至少一个字拓展序列的转移概率;进而根据转移概率,确定与搜索词对应的纠正后搜索词;基于纠正后搜索词进行检索,获取搜索结果,从而能够在用户输入的搜索词出现错误时,及时对搜索词进行纠正,采用纠正后搜索词进行检索,得到用户想要的搜索结果,从而提高搜索效率,提高用户的搜索体验。
为达上述目的,本发明第三方面实施例提出了一种搜索装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如上所述的方法。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,实现如上所述的方法。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种搜索方法,所述方法包括:
接收用户输入的搜索词;
对所述搜索词进行分词,得到至少一个分词词语;
将所述至少一个分词词语与预设的停用词库中的停用词进行比对,确定所述搜索词中的关键词;
根据所述关键词查询预设的公司名语料库,获取与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列;
根据预设的汉字间转移矩阵,计算所述至少一个字拓展序列的转移概率;
根据所述至少一个字拓展序列的转移概率,确定与搜索词对应的纠正后搜索词;
将所述纠正后搜索词作为检索词进行检索,获取与所述纠正后搜索词对应的搜索结果。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种搜索方法的流程示意图;
图2为本发明实施例提供的另一种搜索方法的流程示意图;
图3为本发明实施例提供的一种搜索装置的结构示意图;
图4为本发明实施例提供的另一种搜索装置的结构示意图;
图5为本发明实施例提供的另一种搜索装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的搜索方法及装置。
图1为本发明实施例提供的一种搜索方法的流程示意图。如图1所示,该搜索方法包括以下步骤:
S101、接收用户输入的搜索词。
本发明提供的搜索方法的执行主体为搜索装置,搜索装置具体可以为搜索引擎,或者安装有搜索引擎的终端设备。终端设备例如计算机、服务器等设备。
S102、对搜索词进行分词,得到至少一个分词词语。
例如,对搜索词“北京膜拜”进行分词,得到两个分词词语“北京”和“膜拜”。
S103、将至少一个分词词语与预设的停用词库中的停用词进行比对,确定搜索词中的关键词。
本实施例中,预设的停用词库中预先保存有公司名中常用的词语,例如“北京”、“上海”、“科技”、“商贸”等。停用词库的获取过程可以为,获取公司名语料库;对公司名语料库中的各公司名进行分词,获取各公司名的分词词语;统计公司名语料库中各分词词语的出现频率;将对应的出现频率大于预设频率阈值的分词词语确定为停用词;根据停用词生成停用词库。
其中,公司名语料库中预先保存有各个公司的公司名以及公司名对应的拼音。分词词语的出现频率为分词词语的出现次数与公司名数量的比值。例如,在搜索词为“北京膜拜”的情况下,关键词可以为“膜拜”,而“北京”为停用词。
本实施例中,步骤103具体可以包括:将至少一个分词词语与预设的停用词库中的停用词进行比对,判断停用词库中是否存在与分词词语匹配的停用词;若停用词库中不存在与分词词语匹配的停用词,则将分词词语确定为搜索词中的关键词。
本实施例中,具体地,搜索装置可以将至少一个分词词语与预设的停用词库中的停用词进行比对,确定分词词语是否存在于停用词库中,若分词词语存在于停用词库中,则不将所述分词词语作为关键词;若分词词语不存在于停用词库中,则将所述分词词语作为关键词。
S104、根据关键词查询预设的公司名语料库,获取与关键词具有相同拼音的至少一个汉字组合,根据至少一个汉字组合生成搜索词对应的至少一个字拓展序列。
本实施例中,至少一个汉字组合与关键词具有相同发音,且汉字数量相同。优选地,搜索装置可以获取与关键词具有相同拼音的所有汉字组合,根据所有汉字组合生成搜索词对应的各个字拓展序列。步骤104具体可以包括:获取关键词对应的拼音;根据关键词对应的拼音,查询公司名语料库中各公司名对应的拼音,判断是否存在与关键词具有相同拼音的至少一个汉字组合;若存在与关键词具有相同拼音的至少一个汉字组合,根据至少一个汉字组合生成搜索词对应的至少一个字拓展序列。
本实施例中,具体地,搜索装置可以根据至少一个汉字组合,以及搜索词中的停用词生成搜索词对应的至少一个字拓展序列。例如,在搜索词为“北京膜拜”的情况下,与关键词“膜拜”具有相同拼音的汉字组合为“膜拜”、“摩拜”、“墨白”等。对应的,字拓展序列可以为“北京膜拜”、“北京摩拜”、“北京墨白”等。
S105、根据预设的汉字间转移矩阵,计算至少一个字拓展序列的转移概率。
S106、根据至少一个字拓展序列的转移概率,确定与搜索词对应的纠正后搜索词。
本实施例中,具体地,搜索装置可以将对应的转移概率大于预设转移概率阈值的字拓展序列确定为纠正后搜索词;或者,将对应的转移概率最大的字拓展序列确定为纠正后搜索词。例如,可以将“北京摩拜”确定为纠正后搜索词。
S107、将纠正后搜索词作为检索词进行检索,获取与纠正后搜索词对应的搜索结果。
另外,还需要进行补充说明的是,在搜索词中包括拼音的情况下,例如搜索词为“北京mobai”的情况下,可以在确定“北京”为停用词,“mobai”为关键词的情况下,直接根据“mobai”查询公司名语料库中各公司名对应的拼音,判断具有所述拼音的至少一个汉字组合,进而根据至少一个汉字组合生成搜索词对应的至少一个字拓展序列。
本实施例中,通过使用停用词库提取搜索词中的关键词,大大简化了根据关键词获取字拓展序列的复杂度。而使用汉字间转移矩阵,提高了搜索词的准确性,提高了检索的准确性,避免基于错误的搜索词进行不必要的检索。另外,对搜索词的纠正,使得用户不必再进行搜索词删除和重新输入搜索词等操作,降低了用户的搜索成本,提高了用户的搜索体验。
本发明实施例的搜索方法中,通过接收用户输入的搜索词;对搜索词进行分词,得到至少一个分词词语;将至少一个分词词语与预设的停用词库中的停用词进行比对,确定搜索词中的关键词;根据关键词查询预设的公司名语料库,获取与关键词具有相同拼音的至少一个汉字组合,进而生成搜索词对应的至少一个字拓展序列;根据预设的汉字间转移矩阵,计算至少一个字拓展序列的转移概率;进而根据转移概率,确定与搜索词对应的纠正后搜索词;基于纠正后搜索词进行检索,获取搜索结果,从而能够在用户输入的搜索词出现错误时,及时对搜索词进行纠正,采用纠正后搜索词进行检索,得到用户想要的搜索结果,从而提高搜索效率,提高用户的搜索体验。
图2为本发明实施例提供的另一种搜索方法的流程示意图,如图2所示,在图1所示实施例的基础上,步骤105主要包括以下步骤:
S1051、根据预设的汉字间转移矩阵,获取字拓展序列中相邻两个汉字之间的转移概率。
本实施例中,汉字间转移矩阵中可以预先保存有任意一个公司名中相邻两个汉字之间的转移概率。汉字间转移矩阵的获取过程具体可以为,针对公司名语料库中的每个汉字,统计公司名语料库中汉字后面可能出现的汉字及其出现概率;根据每个汉字后面可能出现的汉字及其出现概率,生成汉字间转移矩阵。
例如,假设公司名语料库中仅包括有3个公司名,分别为“北京摩拜”、“北京膜拜”和“北京墨白”,则汉字“北”后面可能出现的汉字为“京”,且“京”的出现概率为100%;汉字“京”后面可能出现的汉字为“膜”、“摩”和“墨”,这三个汉字的出现概率分别为33.333%。
S1052、根据字拓展序列中相邻两个汉字之间的转移概率,计算字拓展序列的转移概率。
本实施例中,字拓展序列的转移概率的计算公式具体可以如以下公式(1)所示。
P=∏P(si|si-1) (1)
其中,P表示字拓展序列的转移概率,P(si|si-1)表示字拓展序列中第i-1个汉字后面出现第i个汉字的出现概率。
例如,针对字拓展序列“北京膜拜”,对应的转移概率可以为P(京|北)*P(膜|京)*P(拜|膜)。针对字拓展序列“北京摩拜”,对应的转移概率可以为P(京|北)*P(摩|京)*P(拜|摩)。针对字拓展序列“北京墨白”,对应的转移概率可以为P(京|北)*P(墨|京)*P(白|墨)。
进一步的,步骤105还可以使用维特比算法进行优化,以减小转移概率的计算量。
本发明实施例的搜索方法中,通过接收用户输入的搜索词;对搜索词进行分词,得到至少一个分词词语;将至少一个分词词语与预设的停用词库中的停用词进行比对,确定搜索词中的关键词;根据关键词查询预设的公司名语料库,获取与关键词具有相同拼音的至少一个汉字组合,进而生成搜索词对应的至少一个字拓展序列;根据预设的汉字间转移矩阵,获取字拓展序列中相邻两个汉字之间的转移概率;根据字拓展序列中相邻两个汉字之间的转移概率,计算字拓展序列的转移概率,进而根据转移概率,确定与搜索词对应的纠正后搜索词;基于纠正后搜索词进行检索,获取搜索结果,从而能够在用户输入的搜索词出现错误时,及时对搜索词进行纠正,采用纠正后搜索词进行检索,得到用户想要的搜索结果,从而提高搜索效率,提高用户的搜索体验。
图3为本发明实施例提供的一种搜索装置的结构示意图。如图3所示,包括:接收模块31、分词模块32、比对模块33、查询模块34、计算模块35、确定模块36和检索模块37。
其中,接收模块31,用于接收用户输入的搜索词;
分词模块32,用于对所述搜索词进行分词,得到至少一个分词词语;
比对模块33,用于将所述至少一个分词词语与预设的停用词库中的停用词进行比对,确定所述搜索词中的关键词;
查询模块34,用于根据所述关键词查询预设的公司名语料库,获取与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列;
计算模块35,用于根据预设的汉字间转移矩阵,计算所述至少一个字拓展序列的转移概率;
确定模块36,用于根据所述至少一个字拓展序列的转移概率,确定与搜索词对应的纠正后搜索词;
检索模块37,用于将所述纠正后搜索词作为检索词进行检索,获取与所述纠正后搜索词对应的搜索结果。
本发明提供的搜索装置具体可以为搜索引擎,或者安装有搜索引擎的终端设备。终端设备例如计算机、服务器等设备。
本实施例中,具体地,搜索装置可以将对应的转移概率大于预设转移概率阈值的字拓展序列确定为纠正后搜索词;或者,将对应的转移概率最大的字拓展序列确定为纠正后搜索词。例如,可以将“北京摩拜”确定为纠正后搜索词。
另外,还需要进行补充说明的是,在搜索词中包括拼音的情况下,例如搜索词为“北京mobai”的情况下,可以在确定“北京”为停用词,“mobai”为关键词的情况下,直接根据“mobai”查询公司名语料库中各公司名对应的拼音,判断具有所述拼音的至少一个汉字组合,进而根据至少一个汉字组合生成搜索词对应的至少一个字拓展序列。
进一步的,在上述实施例的基础上,所述比对模块33具体用于,
将所述至少一个分词词语与预设的停用词库中的停用词进行比对,判断所述停用词库中是否存在与所述分词词语匹配的停用词;
若所述停用词库中不存在与所述分词词语匹配的停用词,则将所述分词词语确定为所述搜索词中的关键词。
本实施例中,具体地,搜索装置可以将至少一个分词词语与预设的停用词库中的停用词进行比对,确定分词词语是否存在于停用词库中,若分词词语存在于停用词库中,则不将所述分词词语作为关键词;若分词词语不存在于停用词库中,则将所述分词词语作为关键词。
进一步的,在上述实施例的基础上,所述公司名语料库中包括:至少一个公司名,以及所述公司名对应的拼音;
对应的,所述查询模块34具体用于,
获取所述关键词对应的拼音;
根据所述关键词对应的拼音,查询所述公司名语料库中各公司名对应的拼音,判断是否存在与所述关键词具有相同拼音的至少一个汉字组合;
若存在与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列。
本实施例中,具体地,搜索装置可以根据至少一个汉字组合,以及搜索词中的停用词生成搜索词对应的至少一个字拓展序列。例如,在搜索词为“北京膜拜”的情况下,与关键词“膜拜”具有相同拼音的汉字组合为“膜拜”、“摩拜”、“墨白”等。对应的,字拓展序列可以为“北京膜拜”、“北京摩拜”、“北京墨白”等。
本实施例中,通过使用停用词库提取搜索词中的关键词,大大简化了根据关键词获取字拓展序列的复杂度。而使用汉字间转移矩阵,提高了搜索词的准确性,提高了检索的准确性,避免基于错误的搜索词进行不必要的检索。另外,对搜索词的纠正,使得用户不必再进行搜索词删除和重新输入搜索词等操作,降低了用户的搜索成本,提高了用户的搜索体验。
本发明实施例的搜索装置中,通过接收用户输入的搜索词;对搜索词进行分词,得到至少一个分词词语;将至少一个分词词语与预设的停用词库中的停用词进行比对,确定搜索词中的关键词;根据关键词查询预设的公司名语料库,获取与关键词具有相同拼音的至少一个汉字组合,进而生成搜索词对应的至少一个字拓展序列;根据预设的汉字间转移矩阵,计算至少一个字拓展序列的转移概率;进而根据转移概率,确定与搜索词对应的纠正后搜索词;基于纠正后搜索词进行检索,获取搜索结果,从而能够在用户输入的搜索词出现错误时,及时对搜索词进行纠正,采用纠正后搜索词进行检索,得到用户想要的搜索结果,从而提高搜索效率,提高用户的搜索体验。
进一步的,在上述实施例的基础上,所述计算模块35具体用于,
根据预设的汉字间转移矩阵,获取所述字拓展序列中相邻两个汉字之间的转移概率;
根据所述字拓展序列中相邻两个汉字之间的转移概率,计算所述字拓展序列的转移概率。
进一步的,所述统计模块,还用于针对所述公司名语料库中的每个汉字,统计公司名语料库中所述汉字后面可能出现的汉字及其出现概率;
所述生成模块,还用于根据每个汉字后面可能出现的汉字及其出现概率,生成所述汉字间转移矩阵。
例如,假设公司名语料库中仅包括有3个公司名,分别为“北京摩拜”、“北京膜拜”和“北京墨白”,则汉字“北”后面可能出现的汉字为“京”,且“京”的出现概率为100%;汉字“京”后面可能出现的汉字为“膜”、“摩”和“墨”,这三个汉字的出现概率分别为33.333%。
本实施例中,字拓展序列的转移概率的计算公式具体可以如以下公式(1)所示。
P=∏P(si|si-1) (1)
其中,P表示字拓展序列的转移概率,P(si|si-1)表示字拓展序列中第i-1个汉字以及第i-1个汉字后面出现第i个汉字的出现概率。
例如,针对字拓展序列“北京膜拜”,对应的转移概率可以为P(京|北)*P(膜|京)*P(拜|膜)。针对字拓展序列“北京摩拜”,对应的转移概率可以为P(京|北)*P(摩|京)*P(拜|摩)。针对字拓展序列“北京墨白”,对应的转移概率可以为P(京|北)*P(墨|京)*P(白|墨)。
本发明实施例的搜索装置中,通过接收用户输入的搜索词;对搜索词进行分词,得到至少一个分词词语;将至少一个分词词语与预设的停用词库中的停用词进行比对,确定搜索词中的关键词;根据关键词查询预设的公司名语料库,获取与关键词具有相同拼音的至少一个汉字组合,进而生成搜索词对应的至少一个字拓展序列;根据预设的汉字间转移矩阵,获取字拓展序列中相邻两个汉字之间的转移概率;根据字拓展序列中相邻两个汉字之间的转移概率,计算字拓展序列的转移概率,进而根据转移概率,确定与搜索词对应的纠正后搜索词;基于纠正后搜索词进行检索,获取搜索结果,从而能够在用户输入的搜索词出现错误时,及时对搜索词进行纠正,采用纠正后搜索词进行检索,得到用户想要的搜索结果,从而提高搜索效率,提高用户的搜索体验。
进一步的,结合参考图4,在图3所示实施例的基础上,所述的装置还包括:获取模块38、统计模块39和生成模块40。
其中,所述获取模块38,用于获取公司名语料库;
所述分词模块32,还用于对所述公司名语料库中的各公司名进行分词,获取各公司名的分词词语;
所述统计模块39,用于统计所述公司名语料库中各分词词语的出现频率;
所述确定模块36,还用于将对应的出现频率大于预设频率阈值的分词词语确定为停用词;
所述生成模块40,用于根据所述停用词生成所述停用词库。
其中,公司名语料库中预先保存有各个公司的公司名以及公司名对应的拼音。分词词语的出现频率为分词词语的出现次数与公司名数量的比值。例如,在搜索词为“北京膜拜”的情况下,关键词可以为“膜拜”,而“北京”为停用词。
本发明实施例的搜索装置中,通过先获取公司名语料库;根据公司名语料库生成停用词库;然而接收用户输入的搜索词;对搜索词进行分词,得到至少一个分词词语;将至少一个分词词语与预设的停用词库中的停用词进行比对,确定搜索词中的关键词;根据关键词查询预设的公司名语料库,获取与关键词具有相同拼音的至少一个汉字组合,进而生成搜索词对应的至少一个字拓展序列;根据预设的汉字间转移矩阵,计算至少一个字拓展序列的转移概率;进而根据转移概率,确定与搜索词对应的纠正后搜索词;基于纠正后搜索词进行检索,获取搜索结果,从而能够在用户输入的搜索词出现错误时,及时对搜索词进行纠正,采用纠正后搜索词进行检索,得到用户想要的搜索结果,从而提高搜索效率,提高用户的搜索体验。
图5为本发明实施例提供的另一种搜索装置的结构示意图。该搜索装置包括:
存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。
处理器1002执行所述程序时实现上述实施例中提供的搜索方法。
进一步地,搜索装置还包括:
通信接口1003,用于存储器1001和处理器1002之间的通信。
存储器1001,用于存放可在处理器1002上运行的计算机程序。
存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1002,用于执行所述程序时实现上述实施例所述的搜索方法。
如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。
处理器1002可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当所述存储介质中的程序由处理器被执行时,使得处理器能够执行一种如上所述的搜索方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种搜索方法,所述方法包括:
接收用户输入的搜索词;
对所述搜索词进行分词,得到至少一个分词词语;
将所述至少一个分词词语与预设的停用词库中的停用词进行比对,确定所述搜索词中的关键词;
根据所述关键词查询预设的公司名语料库,获取与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列;
根据预设的汉字间转移矩阵,计算所述至少一个字拓展序列的转移概率;
根据所述至少一个字拓展序列的转移概率,确定与搜索词对应的纠正后搜索词;
将所述纠正后搜索词作为检索词进行检索,获取与所述纠正后搜索词对应的搜索结果。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种搜索方法,其特征在于,包括:
接收用户输入的搜索词;
对所述搜索词进行分词,得到至少一个分词词语;
将所述至少一个分词词语与预设的停用词库中的停用词进行比对,确定所述搜索词中的关键词;
根据所述关键词查询预设的公司名语料库,获取与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列;
根据预设的汉字间转移矩阵,计算所述至少一个字拓展序列的转移概率;
根据所述至少一个字拓展序列的转移概率,确定与搜索词对应的纠正后搜索词;
将所述纠正后搜索词作为检索词进行检索,获取与所述纠正后搜索词对应的搜索结果。
2.根据权利要求1所述的方法,其特征在于,所述将所述至少一个分词词语与预设的停用词库中的停用词进行比对,确定所述搜索词中的关键词,包括:
将所述至少一个分词词语与预设的停用词库中的停用词进行比对,判断所述停用词库中是否存在与所述分词词语匹配的停用词;
若所述停用词库中不存在与所述分词词语匹配的停用词,则将所述分词词语确定为所述搜索词中的关键词。
3.根据权利要求1所述的方法,其特征在于,所述公司名语料库中包括:至少一个公司名,以及所述公司名对应的拼音;
所述根据所述关键词查询预设的公司名语料库,获取与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列,包括:
获取所述关键词对应的拼音;
根据所述关键词对应的拼音,查询所述公司名语料库中各公司名对应的拼音,判断是否存在与所述关键词具有相同拼音的至少一个汉字组合;
若存在与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列。
4.根据权利要求1所述的方法,其特征在于,所述根据预设的汉字间转移矩阵,计算所述至少一个字拓展序列的转移概率,包括:
根据预设的汉字间转移矩阵,获取所述字拓展序列中相邻两个汉字之间的转移概率;
根据所述字拓展序列中相邻两个汉字之间的转移概率,计算所述字拓展序列的转移概率。
5.根据权利要求1或2所述的方法,其特征在于,所述接收用户输入的搜索词之前,还包括:
获取公司名语料库;
对所述公司名语料库中的各公司名进行分词,获取各公司名的分词词语;
统计所述公司名语料库中各分词词语的出现频率;
将对应的出现频率大于预设频率阈值的分词词语确定为停用词;
根据所述停用词生成所述停用词库。
6.一种搜索装置,其特征在于,包括:
接收模块,用于接收用户输入的搜索词;
分词模块,用于对所述搜索词进行分词,得到至少一个分词词语;
比对模块,用于将所述至少一个分词词语与预设的停用词库中的停用词进行比对,确定所述搜索词中的关键词;
查询模块,用于根据所述关键词查询预设的公司名语料库,获取与所述关键词具有相同拼音的至少一个汉字组合,根据所述至少一个汉字组合生成所述搜索词对应的至少一个字拓展序列;
计算模块,用于根据预设的汉字间转移矩阵,计算所述至少一个字拓展序列的转移概率;
确定模块,用于根据所述至少一个字拓展序列的转移概率,确定与搜索词对应的纠正后搜索词;
检索模块,用于将所述纠正后搜索词作为检索词进行检索,获取与所述纠正后搜索词对应的搜索结果。
7.根据权利要求6所述的装置,其特征在于,所述比对模块具体用于,
将所述至少一个分词词语与预设的停用词库中的停用词进行比对,判断所述停用词库中是否存在与所述分词词语匹配的停用词;
若所述停用词库中不存在与所述分词词语匹配的停用词,则将所述分词词语确定为所述搜索词中的关键词。
8.一种搜索装置,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求1-5中任一所述的方法。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710811504.5A CN107609098B (zh) | 2017-09-11 | 2017-09-11 | 搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710811504.5A CN107609098B (zh) | 2017-09-11 | 2017-09-11 | 搜索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107609098A CN107609098A (zh) | 2018-01-19 |
CN107609098B true CN107609098B (zh) | 2019-02-01 |
Family
ID=61063379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710811504.5A Active CN107609098B (zh) | 2017-09-11 | 2017-09-11 | 搜索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107609098B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984515B (zh) * | 2018-05-22 | 2022-09-06 | 广州视源电子科技股份有限公司 | 错别字检测方法、装置及计算机可读存储介质、终端设备 |
CN108962232B (zh) * | 2018-07-16 | 2021-01-01 | 上海小蚁科技有限公司 | 语音识别方法及装置、存储介质、终端 |
CN110889028A (zh) * | 2018-08-15 | 2020-03-17 | 北京嘀嘀无限科技发展有限公司 | 一种语料处理以及模型训练的方法及系统 |
CN110019684B (zh) * | 2018-08-17 | 2021-06-15 | 武汉斗鱼网络科技有限公司 | 一种搜索文本的纠正方法、装置、终端及存储介质 |
CN109710938B (zh) * | 2018-12-28 | 2023-09-22 | 中国银行股份有限公司 | 音字转换方法、装置及电子设备 |
CN109739367A (zh) * | 2018-12-28 | 2019-05-10 | 北京金山安全软件有限公司 | 候选词列表生成方法及装置 |
CN111611471B (zh) * | 2019-02-25 | 2023-12-26 | 阿里巴巴集团控股有限公司 | 一种搜索方法、装置及电子设备 |
CN109992603B (zh) * | 2019-04-04 | 2020-10-09 | 北京金堤科技有限公司 | 一种数据搜索方法、装置、电子设备和计算机可读介质 |
CN110334271B (zh) * | 2019-05-21 | 2022-01-11 | 北京奇艺世纪科技有限公司 | 一种搜索结果优化方法、系统、电子设备及存储介质 |
CN111125303A (zh) * | 2019-11-29 | 2020-05-08 | 海信视像科技股份有限公司 | 用户输入语句误纠筛查方法及装置 |
CN111597311B (zh) * | 2020-01-14 | 2023-04-25 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN111782770A (zh) * | 2020-07-03 | 2020-10-16 | 国网电子商务有限公司 | 一种基于类目分析召回规则的搜索方法及系统 |
CN111967248A (zh) * | 2020-07-09 | 2020-11-20 | 深圳价值在线信息科技股份有限公司 | 拼音识别方法、装置、终端设备及计算机可读存储介质 |
CN112307183B (zh) * | 2020-10-30 | 2024-04-19 | 北京金堤征信服务有限公司 | 搜索数据识别方法、装置、电子设备以及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206673A (zh) * | 2007-12-25 | 2008-06-25 | 北京科文书业信息技术有限公司 | 网络搜索过程中关键词的智能纠错系统及方法 |
CN102768681A (zh) * | 2012-06-26 | 2012-11-07 | 北京奇虎科技有限公司 | 一种用于搜索输入的推荐系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8688695B2 (en) * | 2011-05-26 | 2014-04-01 | Mimosa Systems, Inc. | Computerized searchable document repository using separate metadata and content stores and full text indexes |
-
2017
- 2017-09-11 CN CN201710811504.5A patent/CN107609098B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206673A (zh) * | 2007-12-25 | 2008-06-25 | 北京科文书业信息技术有限公司 | 网络搜索过程中关键词的智能纠错系统及方法 |
CN102768681A (zh) * | 2012-06-26 | 2012-11-07 | 北京奇虎科技有限公司 | 一种用于搜索输入的推荐系统及方法 |
Non-Patent Citations (2)
Title |
---|
基于N-gram统计模型的搜索引擎中文纠错;陈智鹏等;《中国电子科学研究院学报》;20090630;第4卷(第3期);第323-326页 |
智能化的句法纠错与词法纠错方法;陆奇等;《计算机工程》;19881231;第33-39页 |
Also Published As
Publication number | Publication date |
---|---|
CN107609098A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609098B (zh) | 搜索方法及装置 | |
US8892420B2 (en) | Text segmentation with multiple granularity levels | |
CN104731776B (zh) | 翻译信息的提供方法及系统 | |
CN104598439B (zh) | 信息对象的标题修正方法及装置和推送信息对象的方法 | |
JP5616444B2 (ja) | 文書インデックス化およびデータクエリングのための方法およびシステム | |
US20100235780A1 (en) | System and Method for Identifying Words Based on a Sequence of Keyboard Events | |
US20140358879A1 (en) | Search engine suggestion | |
CN109255126A (zh) | 文章推荐方法及装置 | |
CN108681541A (zh) | 图片搜索方法、装置及计算机设备 | |
CN111459977B (zh) | 自然语言查询的转换 | |
CN109710087A (zh) | 输入法模型生成方法及装置 | |
US20110295869A1 (en) | Efficient string matching state machine | |
WO2013159246A1 (en) | Detecting valuable sections in webpage | |
CN106528846A (zh) | 一种检索方法及装置 | |
CN109800427B (zh) | 一种分词方法、装置、终端及计算机可读存储介质 | |
CN105630763A (zh) | 用于提及检测中的消歧的方法和系统 | |
CN107977357A (zh) | 基于用户反馈的纠错方法、装置及其设备 | |
CN108763202A (zh) | 识别敏感文本的方法、装置、设备及可读存储介质 | |
CN116340365B (zh) | 一种缓存数据的匹配方法、匹配装置及终端设备 | |
CN111638925A (zh) | 一种接口方法表生成方法、函数指针查询方法及装置 | |
JPWO2017072890A1 (ja) | データ管理システム、データ管理方法およびプログラム | |
CN109739367A (zh) | 候选词列表生成方法及装置 | |
CN109508390A (zh) | 基于知识图谱的输入预测方法、装置和电子设备 | |
WO2013071953A1 (en) | Fast database matching | |
CN107436918B (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 |