CN110674365A - 一种搜索方法、装置、设备及存储介质 - Google Patents

一种搜索方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110674365A
CN110674365A CN201910840172.2A CN201910840172A CN110674365A CN 110674365 A CN110674365 A CN 110674365A CN 201910840172 A CN201910840172 A CN 201910840172A CN 110674365 A CN110674365 A CN 110674365A
Authority
CN
China
Prior art keywords
search
word
search result
core
words
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
CN201910840172.2A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910840172.2A priority Critical patent/CN110674365A/zh
Publication of CN110674365A publication Critical patent/CN110674365A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种搜索方法、装置、设备及存储介质,所述搜索方法包括:基于第一搜索词集中各搜索词进行搜索,得到第一搜索结果;识别第一搜索结果,得到对应的第二搜索词集;确定第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果;过滤第一搜索结果中的待过滤搜索结果,得到目标搜索结果。本申请通过使用非核心词做搜索结果的过滤,由于非核心词量小于核心词量,相对比于现有技术的基于核心词进行搜索,会减少词表构建的工作量和降低其构建难度,利于后续项目或产品的快速启动,且搜索结果更全面,可提高用户搜索体验。

Description

一种搜索方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种搜索方法、装置、设备及存储介质。
背景技术
随着互联网的应用越来越普及,用户可以通过例如搜索引擎或搜索软件来获取所需的各种资源。现有技术中,通常是在搜索框中输入待搜索的内容,再从待搜索的内容中提取与预先构建的核心词词表匹配的核心词进行搜索,从而搜索出仅针对用户核心需求的资源。
然而,这样仅通过核心词进行搜索,而完全忽略其它搜索词,进而会造成搜索结果不全面。此外,由于核心词的数量通常较多,增加了核心词词表的构建难度,构建时间通常很长,这极其不利于后续项目的快速启动。另外,由于核心词比较难穷举,核心词词表中的核心词可能会存在遗漏的情况,从而会导致搜索结果不全面,影响用户搜索体验。
发明内容
本申请提供了一种搜索方法、装置、设备及存储介质,以解决以上至少一种技术问题。
一方面,本申请提供了一种搜索方法,包括:
获取待搜索字符串,从所述待搜索字符串中提取用于搜索的第一搜索词集;
基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果;
识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集;
确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果;所述非核心词是表征搜索对象的非核心搜索需求的词语;
过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。
另一方面还提供一种搜索装置,包括:
提取模块,用于获取待搜索字符串,从所述待搜索字符串中提取用于搜索的第一搜索词集;
搜索模块,用于基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果;
识别模块,用于识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集;
确定模块,用于确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果;所述非核心词是表征搜索对象的非核心搜索需求的词语;
过滤模块,用于过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。
另一方面还提供一种搜索设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任一所述的搜索方法。
另一方面还提供一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如上述任一所述的搜索方法。
本申请提供的一种搜索方法、装置、设备及存储介质,具有如下技术效果:
本申请实施例通过基于从待搜索字符串中提取的第一搜索词集进行搜索,得到第一搜索结果;识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集;确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果;所述非核心词是表征搜索对象的非核心搜索需求的词语;过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。相比于现有技术中仅依赖核心词进行搜索,本申请基于从待搜索字符串中所提取的所有搜索词进行搜索,且通过使用非核心词做搜索结果的过滤,由于非核心词量小于核心词量,相对比于现有技术的基于核心词进行搜索,会减少词表构建的工作量和降低其构建难度,利于后续项目或产品的快速启动,且搜索结果更全面,提高用户搜索体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种搜索方法的流程示意图;
图3是本申请实施例提供的构建非核心词词词表的步骤的流程示意图;
图4是本申请实施例提供的更新非核心词词词表的步骤的流程示意图;
图5是本申请实施例提供的一种搜索方法的交互示意图;
图6是本申请实施例提供的另一种搜索方法的交互示意图;
图7是本申请实施例提供的一种搜索装置的结构框图;
图8是本申请实施例提供的另一种搜索装置的结构框图;
图9是本申请提供的一种用于实现本申请实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请实施例提供的一种实施环境的示意图。该实施环境可以包括:终端10、与所述终端10通过网络连接的服务器20。
终端10具体可以包括运行于实体设备中的软体,例如安装在设备上的应用等,也可以包括安装有应用的智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备中至少一种。具体的,终端10上运行有操作系统,该操作系统可以是视窗(Windows)操作系统或Linux操作系统或者Mac OS(苹果桌面操作系统)等桌面操作系统,也可以是iOS(苹果移动终端操作系统)或者安卓(Android)操作系统等移动操作系统。
服务器20可以是独立的服务器,也可以是由多个独立服务器组成的服务器集群,或者是提供云计算服务器、云数据库、云存储等基础云计算服务的云服务器。
应理解,图1中示出的实施环境仅仅是与本申请方案一种应用环境,并不构成对本申请方案应用环境的限定,其他的应用环境还可以包括比图中所示更多或更少的计算机设备,或者计算机设备网络连接关系。
以下介绍本申请一种搜索方法的具体实施例,图2是本申请实施例提供的一种搜索方法的流程示意图,本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。如图2所示,该方法的执行主体可以为上述应用环境中的的服务器,该方法可以包括:
S201:获取待搜索字符串,从所述待搜索字符串中提取用于搜索的第一搜索词集。
在本申请实施例,服务器可以接收终端在某一应用程序或者浏览器的搜索界面发送的搜索请求,该搜索请求中可携带待搜索字符串。该待搜索字符串可以为一个字符或者多个字符,字符可以为汉字(比如简体汉字、繁体汉字)、字母(比如英语或其它小语种对应的字母)、数字、图形符号等。该应用程序可以包括但不限于为医学相关的应用程序、社交应用程序、小程序、电子商务应用程序、视频应用程序、教育应用程序等。
所述待搜索字符串中包含用于表达用户的搜索需求的一个或多个搜索词。示例的,可以通过对该待搜索字符串进行分词处理,以得到用于搜索的第一搜索词集。该第一搜索词集可以包含一个搜索词或者多个搜索词;该搜索词可以为多个单词或汉字组成的词、若干数字等,当然也可为一个单词或汉字,对此本申请不做具体限定。
在一可选实施例,所述从所述待搜索字符串中提取用于搜索的第一搜索词集,包括:
S2011:对所述待搜索字符串进行分词处理,得到各个第一分词。
具体的,可以采用常用的分词工具或分词规则,对待搜索字符串进行分词处理,得到多个第一分词。该第一分词的数量可根据待搜索字符串长短或内容多少进行适配性调整,该第一分词的数量可为一个或者多个。举例而言,以医学领域为例,若待搜索字符串为“我想买感冒的胶囊吃”,则进行分词处理后,得到包含7个第一分词,即“我/想/买/感冒/的/胶囊/吃”。
S2013:过滤所述各个第一分词中的停用词。
其中,所述停用词是表征与搜索对象的搜索需求无关的词语。由于进行分词处理得到的多个第一分词中包含多个不同类型的词,其中停用词是与用户搜索需求无关的词。为了提高后续的搜索效率,可对各个第一分词进行清洗处理,过滤掉其中所包含的停用词。举例而言,对于上面进行分词处理所得到的7个第一分词,即“我/想/买/感冒/的/胶囊/吃”,可过滤掉其中的停用词比如“我”和“的”。
S2015:将经过过滤处理的各个第一分词构成所述第一搜索词集。
具体的,经过过滤处理的各个第一分词不包含停用词,则停用词将不参与后续的搜索,而将剩余的各个第一分词单独构成一个搜索词、和/或可将剩余的各个第一分词进行相互组合,构成包含多个第一分词的搜索词;收集这些搜索词以构成第一搜索词集。
在一实施例中,当用户所输入的待搜索字符串具有语义信息时,还可通过自然语义识别技术对该待搜索字符串进行识别。比如,该待搜索字符串为一句话(我想买感冒的胶囊吃),通过自然语义识别技术对该句话进行句型分析,并结合语法进行识别,从而提取出相关搜索词。
S203:基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果。
在本申请实施例,可以基于预设的搜索规则或搜索算法,基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果。示例的,可搜索包含至少一个搜索词的内容信息,得到相应的搜索结果列表。
在一些实施例,还可对经过初次搜索的搜索结果进行相关度算法计算分数,如TF/IDF(Term Frequency/Inverse Document Frequency,词频/逆文本频率指数),BM25等相关度算法等等,然后对结果进行排序输出。其中,TF/IDF是一种统计方法,用以评估一搜索词对于一个文件集或一个语料库中的其中一份文档的重要程度。BM25是一种用来评价搜索词和文档之间相关性的算法,它是一种基于概率检索模型提出的算法。BM25包括三个核心的概念:词在文档中相关度、词在查询关键字中的相关度以及词的权重。
在一可选实施例,所述基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果,包括:
S2031:在倒排索引数据中,查找包含所述第一搜索词集中至少一个搜索词的初始搜索结果。
倒排索引也常被称为反向索引、置入档案或反向档案,是一种索引方法,其被用来存储在全文搜索下某个搜索词在一个文档或者一组文档中的存储位置的映射。倒排索引数据是文档检索系统中常用的数据结构,其可以根据所要查找的搜索内容的类型进行提前构建。
通过倒排索引的方式,基于搜索词到文档的索引关系,可以快速的查找包含所述第一搜索词集中至少一个搜索词的初始搜索结果,从而提高检索效率。初始搜索结果的数量通常为多条搜索结果。若初始搜索结果的数量较少或为零,则可以对进行搜索的搜索词中的错别字或有歧义的内容进行自动筛查,若识别出则对其进行相应的纠正,得到更新的搜索词,之后再以更新的搜索词进行搜索,得到对应的搜索结果列表;若未识别出,则返回“未找到匹配的搜索内容”的提示内容并停止后续搜索步骤。
S2033:计算所述初始搜索结果中每条搜索结果的搜索相关度。
在本申请实施例,可以对经过初始搜索结果中每条搜索结果进行相关度算法计算分数,如TF/IDF,BM25等相关度算法等等。
在一实施例,可以基于初始搜索结果中每条搜索结果所包含的搜索词的出现次数、出现位置、所涵盖的搜索词数量等,计算出每个初始搜索结果与搜索词的搜索相关度分值。在另一实施例,还可通过机器学习算法,对初始搜索结果中每条搜索结果进行相关度打分,得到相应的搜索相关度分值。
S2035:基于所述搜索相关度,确定所述初始搜索结果中每条搜索结果的排序序号。
具体的,基于搜索相关度的大小,对所述初始搜索结果中每条搜索结果进行正向排序,得到对应的排序序号。
S2037:按照所述排序序号对所述初始搜索结果进行排序调整,得到所述第一搜索结果。
S205:识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集。
在本申请实施例,通过上述进行搜索对应的搜索记录,识别每条第一搜索结果中每条搜索结果在执行搜索对应的至少一个搜索词,得到第二搜索词集。该第二搜索词集中搜索词的数量可为一个或者多个。该第二搜索词集为第一搜索词集或第一搜索词集的子集。
在一可选实施例,所述识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,包括:
S2051:对所述第一搜索结果中每条搜索结果对应的文档数据进行分词处理,得到多个对应的第一分词集合。
具体的,可以通过在线分词引擎对第一搜索结果中的每条搜索结果对应的文档数据进行分词处理,得到多个对应的第一分词集合。
S2053:将每个对应的第一分词集合中各词语分别与所述第一搜索词集中各搜索词进行匹配。
具体的,将每个对应的第一分词集合中各词语逐一与所述第一搜索词集中各搜索词进行匹配,确定每个对应的第一分词集合中不匹配所述第一搜索词集中各搜索词的词语,并进行标记处理,比如标记为匹配词语标签或非匹配词语标签。
在一可选实施例,可对每个对应的第一分词集合中各词语与第一搜索词集中各搜索词进行相似度分析(比如余弦相似度),将相似度较高或达到预设阈值所对应的词语标记为匹配词语标签;且,在该词语与对应的搜索词不一致时,将该词语替换为对应的相似度较高的搜索词,以构成后续的第二搜索词集。
S2055:去掉每个对应的第一分词集合中不匹配所述第一搜索词集中各搜索词的词语,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集。
具体的,去掉每个对应的第一分词集合中被标记为非匹配词语标签的词语,得到所述第二搜索词集。第二搜索词集与第一搜索结果中每条搜索结果相对应,且两者的数量也相匹配。示例的,第二搜索词集Si可以表示为(s1,...si,...sk),其中,Si为第一搜索结果中第i个搜索结果对应的第i个第二搜索词集,si为第二搜索词集中的第i个搜索词,k为搜索词总数,k≥1。
S207:确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果。
在本申请实施例,所述非核心词是表征搜索对象的非核心搜索需求的词语。基于非核心词词表,对第二搜索词集中的每个搜索词进行逐个查表比对,查看非核心词词表中是否存在与对应的词语匹配的非核心词。若在第二搜索词集中,存在组合搜索词中的每个搜索词均能够在非核心词词表中找到匹配的非核心词,则将该组合搜索词对应的搜索结果确定为待过滤搜索结果。
需要说明的是,上述非核心词词表可以为专门根据搜索内容所属领域预先构建的词表,也可根据搜索用户自定义的非核心词所构建的非核心词词表。
在一可选实施例,所述确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果,包括:
S2071:将所述第一搜索结果中各搜索结果对应的第二搜索词集中各搜索词与预先构建的非核心词词表中的非核心词进行匹配。
具体的,基于预先构建的非核心词词表,对第二搜索词集中的每个搜索词进行逐个查表比对,查看非核心词词表中是否存在与对应的搜索词匹配的非核心词。在匹配过程中,可以为每个查询过的搜索词进行标记,例如标记为是非核心词属性(比如True或1)和不是非核心词属性(比如False或0)。
S2073:若所述第二搜索词集中各搜索词与预先构建的非核心词词表中的非核心词全部匹配成功,则确定全部匹配成功所对应的第二搜索词集为目标搜索词集。
具体的,查询每个第二搜索词集中的各搜索词对应的标签,若第二搜索词集中各搜索词都被标记为非核心词属性,也即该第二搜索词集中各搜索词与预先构建的非核心词词表中的非核心词全部匹配成功,则将该第二搜索词集确定为目标搜索词集。
S2075:确定所述目标搜索词集对应的搜索结果为待过滤搜索结果。
具体的,基于第二搜索词集和搜索结果的映射关系,查找与该第二搜索词集对应的搜索结果,并将所查找的搜索结果确定为待过滤搜索结果。
举例而言,若待搜索字符串为“我想买感冒的胶囊吃”,其中的“胶囊”为非核心词,若第二搜索词集中仅命中了“胶囊”,则该第二搜索词集对应的搜索结果是没有意义的,需要将其过滤掉。
S209:过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。
在本申请实施例,将确定的待过滤搜索结果中从第一搜索结果中过滤掉,得到目标搜索结果。若第一搜索结果已经根据相关度进行了排序,则该目标搜索结果中每条搜索结果的位置排序关系可以与第一搜索结果的结果排序相匹配。当然,也可基于目标搜索结果对应的第二搜索词集进行重新排序。由于对第二搜索词集中的搜索词进行了上述基于相似度分析的词语替换,因此替换后的第二搜索词与原始的第二搜索词不同,如此影响了目标搜索结果的最终的结果排序。
当然,目标搜索结果中各搜索结果也可根据用户的选择次数的高低进行排序或调整。
本申请实施例通过基于从待搜索字符串中提取的第一搜索词集进行搜索,得到第一搜索结果;识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集;确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果;所述非核心词是表征搜索对象的非核心搜索需求的词语;过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。相比于现有技术中仅依赖核心词进行搜索,本申请基于从待搜索字符串中所提取的所有搜索词进行搜索,且通过使用非核心词做搜索结果的过滤,由于非核心词量小于核心词量,相对比于现有技术的基于核心词进行搜索,会减少词表构建的工作量和降低其构建难度,利于后续项目或产品的快速启动,且搜索结果更全面,提高用户搜索体验。
另外,本申请在适合的场景下,例如药品搜索、电商物品搜索等上均发挥了良好的搜索效果,在药品搜索中,核心词词表可以有几十万的量甚至更多,而药品中的非核心词比较集中,集合并不大,所以可以用少量的数据得到大部分非核心词,非核心词词表的数量只有几千就能够达到相近或者更好的效果。
在一些实施例,所述方法还可以包括:
S211:将所述目标搜索结果发送给搜索请求对应的终端,以使所述终端展示所述目标搜索结果。
在一些实施例,所述方法还可以包括构建非核心词词表的步骤。
在一可选实施例,如图3所示,所述构建非核心词词词表,包括:
S301:对所属领域的多个文档数据进行分词处理,得到多个对应的第二分词集合。
具体的,所属领域可为与搜索内容相关的领域,例如医学领域、学术领域、军事领域、教育领域、生活领域等等。文档数据可以通过爬虫工具进行获取,文档数据包括文档的标题、摘要、内容和关联数据等,第二分词集合与文档数据相对应。在对文档数据进行分词处理之前,还可对数据进行清洗,例如去除标点符号、日期等无关数据。示例的,在医学领域,对于药品相关的文档数据可以具体按照药品名称、主治功能、品牌名字等等进行分词处理,得到对应的第二分词集合。
S303:对所述多个对应的第二分词集合中的各词语进行词语类型分类,所述词语类型包括非核心词。
具体的,可以通过人工标注或根据查询词库方式,对多个对应的第二分词集合中的各词语进行词语类型分类,得到带有不同分类标签的第二分词集合。在一可选的实施例,还可通过机器学习算法,对每个第二分词集合中各词语的词语类型进行标注处理,得到带有不同分类标签的第二分词集合。
当然,为了提高效率,在进行词语类型标注之前,还可根据停用词词库或者正规表达式匹配的方式,先去掉其中的停用词,例如“我”、“的”、“什么”、“啊”等这些对搜索结果没有意义的词。
此外,所述词语类型除了包括非核心词外,还可包括核心词。此时,对于第二分词集合中经过去掉停用词之后的所剩下的词语,进行人工标注分类。以医学领域为例,例如,核心词:能反映搜索核心意图的词,如“感冒”、“维生素”等,非核心词:起辅助作用的词,如“胶囊”、“冲剂”、“儿童”、“老人”等这类词语。
S305:收集词语类型为非核心词对应的词语,得到所述非核心词词表。
具体的,将词语类型标记为非核心词对应的词语收集到非核心词词表中,重复上述步骤,直至完成非核心词词表的构建。所构建的非核心词词表可以预先存储在对应的数据库上,数据库可为服务器或云端。
在一可选实施例,如图4所示,所述方法还可包括:
S401:定期统计用户的历史搜索访问日志;所述历史搜索访问日志包括搜索词和用户点击率。
S403:建立所述搜索词和所述用户点击率的对应关系。
S405:基于所述搜索词和所述用户点击率的对应关系,确定用户点击率低于预设阈值对应的搜索词,得到目标搜索词。
具体的,预设阈值可以根据实际情况进行适配性调整,本申请不做具体限定。
S407:若在所述非核心词词表中未查询到与所述目标搜索词匹配的非核心词,判断所述目标搜索词是否为停用词。
S409:若判断结果为否,则将所述目标搜索词添加至所述非核心词词表,得到更新的非核心词词表。
具体的,非核心词词表可以根据用户的需求或者预设更新周期进行更新。将更新的非核心词词表替换掉用于搜索的非核心词词表进行相关的搜索操作。
在一些实施例,所述方法还可包括:
判断用户是否触发针对待搜索字符串的优化搜索功能。
若判断结果为是,则执行识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集及后续各步骤,向用户发送所述目标搜索结果。
若判断结果为否,则不执行识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集及后续各步骤,向用户发送所述第一搜索结果。
具体的,可通过在搜索界面上设置优化搜索按键,以根据用户的需求来判断该用户是否需要进行优化搜索,从而为用户提供个性化搜索。若判断结果为是,则说明该用户需要进行优化搜索,则进行执行识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集及后续各步骤,向用户发送所述目标搜索结果。若判断结果为否,则说明该用户仅需要简单搜索,则在获得第一搜索结果时即可停止后续搜索步骤,直接向用户返回该第一搜索结果。
图5是本申请实施例提供的一种搜索方法的交互示意图。如图5所示,该方法可以包括:
S501:终端向服务器发送搜索请求。
S502:服务器解析所述搜索请求,获取待搜索字符串。
S503:服务器从所述待搜索字符串中提取用于搜索的第一搜索词集。
S504:服务器基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果。
S505:服务器识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集。
其中,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集。
S506:服务器确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果。
S507:服务器过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。
S508:服务器发送所述目标搜索结果至终端。
S509:终端在搜索界面中显示所述目标搜索结果。
需要说明的是,上述步骤S501-S509的具体实现方式可以参见上述实施例对应的步骤的描述,这里不再进行赘述。
图6是本申请实施例提供的另一种搜索方法的交互示意图。如图6所示,该方法可以包括:
S601:终端向搜索服务器发送搜索请求。
S602:搜索服务器解析所述搜索请求,获取待搜索字符串。
S603:搜索服务器从存储服务器中获取停用词词表。
S604:搜索服务器对所述待搜索字符串进行分词处理,并利用所述停用词词表过滤掉各第一分词中的停用词,得到第一搜索词集。
S605:搜索服务器从存储服务器中获取倒排索引数据。
S606:搜索服务器利用所述倒排索引数据,并基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果。
S607:搜索服务器识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集。
其中,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集。
S608:搜索服务器从存储服务器中获取非核心词词表。
S609:搜索服务器基于所述非核心词词表,确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果。
S610:搜索服务器过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。
S611:搜索服务器发送所述目标搜索结果至终端。
S612:终端在搜索界面中显示所述目标搜索结果。
在一些实施例,在步骤S601之前,所述方法还可包括:
S600:搜索服务器构建非核心词词表,并将所述非核心词表存储至所述存储服务器。
在一些实施例,所述方法还可包括:
S613:搜索服务器更新预先构建的非核心词词表。
需要说明的是,上述步骤S600-S613的具体实现方式可以参见上述实施例对应的步骤的描述,这里不再进行赘述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图7,其示出了本申请实施例提供的一种搜索装置的结构框图。该装置具有实现上述方法示例中服务器侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。所述装置70可以包括:
提取模块71,用于获取待搜索字符串,从所述待搜索字符串中提取用于搜索的第一搜索词集;
搜索模块72,用于基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果;
识别模块73,用于识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集;
确定模块74,用于确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果;所述非核心词是表征搜索对象的非核心搜索需求的词语;
过滤模块75,用于过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。
在一些实施例,所述提取模块71包括:
第一分词单元,用于对所述待搜索字符串进行分词处理,得到各个第一分词;
第一过滤单元,用于过滤所述各个第一分词中的停用词;所述停用词是表征与搜索对象的搜索需求无关的词语;
第一收集单元,用于将经过过滤处理的各个第一分词构成所述第一搜索词集。
在一些实施例,所述搜索模块72包括:
第一查找单元,用于在倒排索引数据中,查找包含所述第一搜索词集中至少一个搜索词的初始搜索结果;
相关度计算单元,用于计算所述初始搜索结果中每条搜索结果的搜索相关度;
排序序号确定单元,用于基于所述搜索相关度,确定所述初始搜索结果中每条搜索结果的排序序号;
排序单元,用于按照所述排序序号对所述初始搜索结果进行排序调整,得到所述第一搜索结果。
在一些实施例,所述识别模块73包括:
第二分词单元,用于对所述第一搜索结果中每条搜索结果对应的文档数据进行分词处理,得到多个对应的第一分词集合;
第一匹配单元,用于将每个对应的第一分词集合中各词语分别与所述第一搜索词集中各搜索词进行匹配;
第二收集单元,去掉每个对应的第一分词集合中不匹配所述第一搜索词集中各搜索词的词语,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集。
在一些实施例,所述确定模块74包括:
第二匹配单元,用于将所述第一搜索结果中各搜索结果对应的第二搜索词集中各搜索词与预先构建的非核心词词表中的非核心词进行匹配;
第一确定单元,用于若所述第二搜索词集中各搜索词与预先构建的非核心词词表中的非核心词全部匹配成功,则确定全部匹配成功所对应的第二搜索词集为目标搜索词集;
第二确定单元,确定所述目标搜索词集对应的搜索结果为待过滤搜索结果。
在一些实施例,如图8所示,所述装置70还包括词表构建模块76,用于构建非核心词词表。
在一些实施例,所述词表构建模块76包括:
第三分词单元,用于对所属领域的多个文档数据进行分词处理,得到多个对应的第二分词集合;
分类单元,用于对所述多个对应的第二分词集合中的各词语进行词语类型分类,所述词语类型包括非核心词;
第三收集单元,用于收集词语类型为非核心词对应的词语,得到所述非核心词词表。
在一些实施例,如图8所示,所述装置70还包括词表更新模块77,用于更新非核心词词表。
在一些实施例,所述词表更新模块77包括:
统计单元,用于定期统计用户的历史搜索访问日志;所述历史搜索访问日志包括搜索词和用户点击率;
关系建立单元,用于建立所述搜索词和所述用户点击率的对应关系;
目标搜索词确定单元,用于基于所述搜索词和所述用户点击率的对应关系,确定用户点击率低于预设阈值对应的搜索词,得到目标搜索词;
判断单元,用于若在所述非核心词词表中未查询到与所述目标搜索词匹配的非核心词,判断所述目标搜索词是否为停用词;
更新单元,用于若判断结果为否,则将所述目标搜索词添加至所述非核心词词表,得到更新的非核心词词表。
本申请实施例提供了一种搜索设备,该设备可以包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的一种搜索方法。
本申请实施例还提供了一种存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行上述任一所述的一种搜索方法。
进一步地,图9示出了一种用于实现本申请实施例所提供的方法的设备的硬件结构示意图,所述设备可以为计算机终端、移动终端或其它设备,所述设备还可以参与构成或包含本申请实施例所提供的装置。如图9所示,计算机终端10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中所述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种神经网络处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种搜索方法,其特征在于,包括:
获取待搜索字符串,从所述待搜索字符串中提取用于搜索的第一搜索词集;
基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果;
识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集;
确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果;所述非核心词是表征搜索对象的非核心搜索需求的词语;
过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。
2.根据权利要求1所述的方法,其特征在于,所述从所述待搜索字符串中提取用于搜索的第一搜索词集,包括:
对所述待搜索字符串进行分词处理,得到各个第一分词;
过滤所述各个第一分词中的停用词;所述停用词是表征与搜索对象的搜索需求无关的词语;
将经过过滤处理的各个第一分词构成所述第一搜索词集。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果,包括:
在倒排索引数据中,查找包含所述第一搜索词集中至少一个搜索词的初始搜索结果;
计算所述初始搜索结果中每条搜索结果的搜索相关度;
基于所述搜索相关度,确定所述初始搜索结果中每条搜索结果的排序序号;
按照所述排序序号对所述初始搜索结果进行排序调整,得到所述第一搜索结果。
4.根据权利要求1所述的方法,其特征在于,所述识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,包括:
对所述第一搜索结果中每条搜索结果对应的文档数据进行分词处理,得到多个对应的第一分词集合;
将每个对应的第一分词集合中各词语分别与所述第一搜索词集中各搜索词进行匹配;
去掉每个对应的第一分词集合中不匹配所述第一搜索词集中各搜索词的词语,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集。
5.根据权利要求1-4任一所述的方法,其特征在于,所述确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果,包括:
将所述第一搜索结果中各搜索结果对应的第二搜索词集中各搜索词与预先构建的非核心词词表中的非核心词进行匹配;
若所述第二搜索词集中各搜索词与预先构建的非核心词词表中的非核心词全部匹配成功,则确定全部匹配成功所对应的第二搜索词集为目标搜索词集;
确定所述目标搜索词集对应的搜索结果为待过滤搜索结果。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括构建非核心词词表的步骤;所述构建非核心词词词表,包括:
对所属领域的多个文档数据进行分词处理,得到多个对应的第二分词集合;
对所述多个对应的第二分词集合中的各词语进行词语类型分类,所述词语类型包括非核心词;
收集词语类型为非核心词对应的词语,得到所述非核心词词表。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
定期统计用户的历史搜索访问日志;所述历史搜索访问日志包括搜索词和用户点击率;
建立所述搜索词和所述用户点击率的对应关系;
基于所述搜索词和所述用户点击率的对应关系,确定用户点击率低于预设阈值对应的搜索词,得到目标搜索词;
若在所述非核心词词表中未查询到与所述目标搜索词匹配的非核心词,判断所述目标搜索词是否为停用词;
若判断结果为否,则将所述目标搜索词添加至所述非核心词词表,得到更新的非核心词词表。
8.一种搜索装置,其特征在于,包括:
提取模块,用于获取待搜索字符串,从所述待搜索字符串中提取用于搜索的第一搜索词集;
搜索模块,用于基于所述第一搜索词集中各搜索词进行搜索,得到第一搜索结果;
识别模块,用于识别所述第一搜索结果,得到所述第一搜索结果中每条搜索结果对应的第二搜索词集,所述第二搜索词集为所述第一搜索词集或所述第一搜索词集的子集;
确定模块,用于确定所述第二搜索词集中只匹配非核心词对应的搜索结果为待过滤搜索结果;所述非核心词是表征搜索对象的非核心搜索需求的词语;
过滤模块,用于过滤所述第一搜索结果中的所述待过滤搜索结果,得到目标搜索结果。
9.一种搜索设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的搜索方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如权利要求1至7任一所述的搜索方法。
CN201910840172.2A 2019-09-06 2019-09-06 一种搜索方法、装置、设备及存储介质 Pending CN110674365A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910840172.2A CN110674365A (zh) 2019-09-06 2019-09-06 一种搜索方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910840172.2A CN110674365A (zh) 2019-09-06 2019-09-06 一种搜索方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN110674365A true CN110674365A (zh) 2020-01-10

Family

ID=69076568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910840172.2A Pending CN110674365A (zh) 2019-09-06 2019-09-06 一种搜索方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110674365A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966894A (zh) * 2020-08-05 2020-11-20 深圳市欢太科技有限公司 信息查询方法、装置、存储介质及电子设备
CN112115333A (zh) * 2020-09-27 2020-12-22 中国建设银行股份有限公司 一种基于搜索引擎的客户交易回溯筛查方法及装置
CN113312523A (zh) * 2021-07-30 2021-08-27 北京达佳互联信息技术有限公司 字典生成、搜索关键字推荐方法、装置和服务器
CN113495984A (zh) * 2020-03-20 2021-10-12 华为技术有限公司 一种语句检索方法以及相关装置
CN115017361A (zh) * 2022-05-25 2022-09-06 北京奇艺世纪科技有限公司 一种视频搜索方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778122A (zh) * 2012-10-17 2014-05-07 腾讯科技(深圳)有限公司 搜索方法和系统
CN104462552A (zh) * 2014-12-25 2015-03-25 北京奇虎科技有限公司 问答页面核心词提取方法和装置
CN105138511A (zh) * 2015-08-10 2015-12-09 北京思特奇信息技术股份有限公司 一种对搜索关键词进行语义分析的方法和系统
CN108287901A (zh) * 2018-01-24 2018-07-17 百度在线网络技术(北京)有限公司 用于生成信息的方法和装置
CN108509555A (zh) * 2018-03-22 2018-09-07 武汉斗鱼网络科技有限公司 搜索词确定方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778122A (zh) * 2012-10-17 2014-05-07 腾讯科技(深圳)有限公司 搜索方法和系统
CN104462552A (zh) * 2014-12-25 2015-03-25 北京奇虎科技有限公司 问答页面核心词提取方法和装置
CN105138511A (zh) * 2015-08-10 2015-12-09 北京思特奇信息技术股份有限公司 一种对搜索关键词进行语义分析的方法和系统
CN108287901A (zh) * 2018-01-24 2018-07-17 百度在线网络技术(北京)有限公司 用于生成信息的方法和装置
CN108509555A (zh) * 2018-03-22 2018-09-07 武汉斗鱼网络科技有限公司 搜索词确定方法、装置、设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113495984A (zh) * 2020-03-20 2021-10-12 华为技术有限公司 一种语句检索方法以及相关装置
CN111966894A (zh) * 2020-08-05 2020-11-20 深圳市欢太科技有限公司 信息查询方法、装置、存储介质及电子设备
CN112115333A (zh) * 2020-09-27 2020-12-22 中国建设银行股份有限公司 一种基于搜索引擎的客户交易回溯筛查方法及装置
CN113312523A (zh) * 2021-07-30 2021-08-27 北京达佳互联信息技术有限公司 字典生成、搜索关键字推荐方法、装置和服务器
CN115017361A (zh) * 2022-05-25 2022-09-06 北京奇艺世纪科技有限公司 一种视频搜索方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
EP3819792A2 (en) Method, apparatus, device, and storage medium for intention recommendation
CN110674365A (zh) 一种搜索方法、装置、设备及存储介质
CN110968684B (zh) 一种信息处理方法、装置、设备及存储介质
US11100124B2 (en) Systems and methods for similarity and context measures for trademark and service mark analysis and repository searches
CN110083688B (zh) 搜索结果召回方法、装置、服务器及存储介质
EP2339514A1 (en) System and method for identifying topics for short text communications
US8825620B1 (en) Behavioral word segmentation for use in processing search queries
CN111797214A (zh) 基于faq数据库的问题筛选方法、装置、计算机设备及介质
US8793120B1 (en) Behavior-driven multilingual stemming
CN110162768B (zh) 实体关系的获取方法、装置、计算机可读介质及电子设备
CN104951435A (zh) 聊天过程中智能显示关键词的方法及装置
CN109885651B (zh) 一种问题推送方法和装置
CN110032622B (zh) 关键词确定方法、装置、设备及计算机可读存储介质
CN112328857B (zh) 一种产品知识聚合方法、装置、计算机设备及存储介质
CN106407316B (zh) 基于主题模型的软件问答推荐方法和装置
CN111552767A (zh) 搜索方法、搜索装置以及计算机设备
CN110569419A (zh) 问答系统优化方法、装置、计算机设备及存储介质
CN110134970A (zh) 标题纠错方法和装置
CN112579750A (zh) 相似病案的检索方法、装置、设备及存储介质
CN110245357B (zh) 主实体识别方法和装置
CN111538903A (zh) 搜索推荐词确定方法、装置、电子设备及计算机可读介质
CN114141384A (zh) 用于检索医学数据的方法、设备和介质
CN113609847A (zh) 信息抽取方法、装置、电子设备及存储介质
CN108763258B (zh) 文档主题参数提取方法、产品推荐方法、设备及存储介质
CN116383234A (zh) 一种搜索语句生成方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40020309

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination