CN111914179B - 基于语义的模糊搜索方法和装置、存储介质及电子设备 - Google Patents
基于语义的模糊搜索方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111914179B CN111914179B CN202010838750.1A CN202010838750A CN111914179B CN 111914179 B CN111914179 B CN 111914179B CN 202010838750 A CN202010838750 A CN 202010838750A CN 111914179 B CN111914179 B CN 111914179B
- Authority
- CN
- China
- Prior art keywords
- word
- words
- vector
- determining
- word vector
- 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
Images
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能的自然语言处理技术,公开了一种基于语义的模糊搜索方法和装置、存储介质及电子设备。其中,该方法包括:获取第一帐号在目标应用中输入的搜索信息,以及第一帐号在目标应用中的历史会话信息;将历史会话信息进行分割,得到历史会话信息对应的各候选文本;确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度;基于词向量相似度和语义向量相似度,从各候选文本中选取目标候选文本;以目标候选文本对应的历史会话信息,作为搜索信息对应的会话搜索结果。本发明解决了在历史记录中搜索内容效率低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种基于语义的模糊搜索方法和装置、存储介质及电子设备。
背景技术
现有技术中,在用户希望搜索自己在应用上产生的历史记录的时候,通常是输入与要搜索的内容相同的关键词,然后,在应用中搜索携带有该关键词的历史记录展示给用户。
然而,上述方法必须依靠特定的关键词才能从历史记录中查找到用户希望查找的内容,如果用户忘记了历史记录的具体内容,无法使用有效的关键词搜索内容,例如,用户忘记了周末吃饭的饭店的名称,但是用户又希望知道该饭店的名称,因此,用户无法使用饭店的名字等关键字搜索历史记录,造成搜索内容的效率低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于语义的模糊搜索方法和装置、存储介质及电子设备,以至少解决在历史记录中搜索内容效率低的技术问题。
根据本发明实施例的一个方面,提供了一种基于语义的模糊搜索方法,包括:获取第一帐号在目标应用中输入的搜索信息,以及第一帐号在目标应用中的历史会话信息;将历史会话信息进行分割,得到历史会话信息对应的各候选文本;确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度;基于词向量相似度和语义向量相似度,从各候选文本中选取目标候选文本;以目标候选文本对应的历史会话信息,作为搜索信息对应的会话搜索结果。
作为一种可选的示例,在确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度之前,上述方法还包括:获取上述第一帐号的上述历史会话信息;从上述历史会话信息中选择两个语义相似的文本作为第一组训练文本,且从上述历史会话信息中选择两个语义不相似的文本作为第二组训练文本;将上述第一组训练文本与上述第一组训练文本输入到目标语义模型中,以对上述目标语义模型进行训练。使用训练后的上述目标语音模型确定搜索信息与各候选文本之间的语义向量相似度。
作为一种可选的示例,上述从上述历史会话信息中选择两个语义相似的文本作为第一组训练文本,且从上述历史会话信息中选择两个语义不相似的文本作为第二组训练文本包括:从上述历史会话信息中的上述第一帐号发送的一句话中获取上述第一组训练文本,从上述历史信息中上述第一帐号发送的任意两句话中获取上述第二组训练文本。
根据本发明实施例的另一方面,还提供了一种基于语义的模糊搜索装置,包括:获取单元,用于获取第一帐号在目标应用中输入的搜索信息,以及第一帐号在目标应用中的历史会话信息;分割单元,用于将历史会话信息进行分割,得到历史会话信息对应的各候选文本;第一确定单元,用于确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度;选取单元,用于基于词向量相似度和语义向量相似度,从各候选文本中选取目标候选文本;第二确定单元,用于以目标候选文本对应的历史会话信息,作为搜索信息对应的会话搜索结果。
作为一种可选的示例,所述第一确定单元包括:第一获取模块,用于获取所述搜索信息的第一词向量;分词模块,用于对各候选文本进行分词操作,得到多组词语,其中,每一个所述候选文本对应一组词语;第一确定模块,用于将所述多组词语中的每组词语确定为当前组词语,对所述当前组词语执行以下操作:使用所述当前组词语中与每一个词语相邻的词语确定所述每一个词语的词向量,根据所述每一个词语的词向量确定与所述当前组词语对应的候选文本的第二词向量;第二确定模块,用于确定所述第一词向量与所述各候选文本中每个候选文本的第二词向量之间的相似度,得到所述搜索信息与所述各候选文本之间的词向量相似度。
作为一种可选的示例,所述第一确定模块包括:第一确定子模块,用于将所述当前组词语中的所述每一个词语确定为当前词语,对所述当前词语执行以下操作:根据所述当前组词语中位于所述当前词语之前的一个或多个词语,以及位于所述当前词语之后的一个或多个词语,确定所述当前词语的词向量;或根据所述当前组词语中位于所述当前词语之前的一个或多个词语,确定所述当前词语的词向量;或根据所述当前组词语中位于所述当前词语之后的一个或多个词语,确定所述当前词语的词向量。
作为一种可选的示例,所述第一确定子模块还用于:将位于所述当前词语之前的一个或多个词语与位于所述当前词语之后的一个或多个词语的词向量相加,得到所述当前词语的词向量;或者将位于所述当前词语之前的一个或多个词语与位于所述当前词语之后的一个或多个词语的词向量相乘,得到所述当前词语的词向量。
作为一种可选的示例,所述第一确定模块包括:第二确定子模块,用于将所述每一个词语的词向量之和确定为所述第二词向量。
作为一种可选的示例,所述第一获取模块包括:分词子模块,用于对所述搜索信息进行分词操作,得到多个词语;处理子模块,用于对所述多个词语中的每个词语执行以下操作:根据与所述每个词语相邻的词语确定所述每个词语的词向量;第三确定子模块,用于根据所述每个词语的词向量,确定所述搜索信息的所述第一词向量。
作为一种可选的示例,所述处理子模块用于:根据所述每个词语中位于所述每个词语之前的一个或多个词语,以及位于所述每个词语之后的一个或多个词语,确定所述每个词语的词向量;或根据所述每个词语中位于所述每个词语之前的一个或多个词语确定所述每个词语的词向量;或根据所述每个词语中位于所述每个词语之后的一个或多个词语确定所述每个词语的词向量。
作为一种可选的示例,所述第三确定子模块用于:将所述每个词语的词向量相加,得到所述搜索信息的第一词向量。
作为一种可选的示例,所述第一确定单元包括:第二获取模块,用于获取所述搜索信息的第一语义向量,以及所述各候选文本中每一个候选文本的第二语义向量;拼接模块,用于分别将所述第一语义向量与每一个所述第二语义向量进行拼接,得到多个拼接向量;第三确定模块,用于将每一个所述拼接向量输入到多层感知机模块中,确定出每一个所述候选文本与所述搜索信息之间的语义向量相似度,其中,所述多层感知机模块用于确定所述第一语义向量与每一个所述第二语义向量语义相似的概率。
作为一种可选的示例,所述第三确定模块包括:第一输入子模块,用于将所述拼接向量输入第一全联通层,得到所述第一全联通层输出的第一结果,其中,所述多层感知机模块包括所述第一全联通层、线性整流层与第二全联通层;第二输入子模块,用于将所述第一结果输入到所述线性整流层,得到第二结果;第三输入子模块,用于将所述第二结果输入到所述第二全联通层,得到所述语义向量相似度。
作为一种可选的示例,所述选择单元包括:加权求和模块,用于对所述词向量相似度和所述语义向量相似度进行加权平均操作,得到总向量相似度,其中,所述总向量相似度用于表示所述搜索信息与所述候选文本的匹配度;第四确定模块,用于在获取到所述搜索信息与每一个所述候选文本的所述总向量相似度后,将所述各候选文本中所述总向量相似度最大的候选文本确定为所述目标候选文本;或者,按照所述总向量相似度由大到小的顺序对所述各候选文本进行排序,将排序结果中的前Q个候选文本确定为所述目标候选文本,其中,所述Q为自然数。
作为一种可选的示例,所述第二确定单元包括:第五确定模块,用于将所述历史会话信息中的所述目标候选文本与位于所述目标候选文本之前的一条或多条文本确定为所述会话搜索结果;或者将所述历史会话信息中的所述目标候选文本与位于所述目标候选文本之后的一条或多条文本确定为所述会话搜索结果;或者将所述历史会话信息中的所述目标候选文本与位于所述目标候选文本之前的一条或多条文本与位于所述目标候选文本之后的一条或多条文本确定为所述会话搜索结果。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述基于语义的模糊搜索方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的基于语义的模糊搜索方法。
在本发明实施例中,采用获取第一帐号在目标应用中输入的搜索信息,以及第一帐号在目标应用中的历史会话信息;将历史会话信息进行分割,得到历史会话信息对应的各候选文本;确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度;基于词向量相似度和语义向量相似度,从各候选文本中选取目标候选文本;以目标候选文本对应的历史会话信息,作为搜索信息对应的会话搜索结果方法,由于在上述方法中,可以通过第一帐号的搜索信息在历史会话信息中搜索与搜索信息匹配的会话搜索结果,而不再需要按照关键字进行搜索,实现了提高搜索内容的效率的效果,进而解决了在历史记录中搜索内容效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的基于语义的模糊搜索方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的基于语义的模糊搜索方法的流程示意图;
图3是根据本发明实施例的一种可选的基于语义的模糊搜索方法的接收搜索信息的界面示意图;
图4是根据本发明实施例的一种可选的基于语义的模糊搜索方法的选择搜索范围的界面示意图;
图5是根据本发明实施例的一种可选的基于语义的模糊搜索方法的会话搜索结果的展示界面示意图;
图6是根据本发明实施例的另一种可选的基于语义的模糊搜索方法的会话搜索结果的展示界面示意图;
图7是根据本发明实施例的一种可选的基于语义的模糊搜索方法的词向量确定示意图;
图8是根据本发明实施例的另一种可选的基于语义的模糊搜索方法的词向量确定示意图;
图9是根据本发明实施例的一种可选的基于语义的模糊搜索方法的模型结构示意图;
图10是根据本发明实施例的一种可选的基于语义的模糊搜索装置的结构示意图;
图11是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
根据本发明实施例的一个方面,提供了一种基于语义的模糊搜索方法,可选地,作为一种可选的实施方式,上述基于语义的模糊搜索方法可以但不限于应用于如图1所示的环境中。终端设备102包括了存储器104、处理器106与显示器108。终端设备102可以通过网络110与服务器112之间进行交互。服务器112包括数据库114与处理引擎116,服务器112可以通过步骤S102获取第一帐号的搜索信息与历史会话信息,然后进行处理,得到会话搜索结果,通过步骤S104将会话搜索结果返回给终端设备102。
可选地,在本实施例中,上述终端设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述基于语义的模糊搜索方法包括:
S202,获取第一帐号在目标应用中输入的搜索信息,以及第一帐号在目标应用中的历史会话信息;
S204,将历史会话信息进行分割,得到历史会话信息对应的各候选文本;
S206,确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度;
S208,基于词向量相似度和语义向量相似度,从各候选文本中选取目标候选文本;
S210,以目标候选文本对应的历史会话信息,作为搜索信息对应的会话搜索结果。
可选地,本申请实施例中的上述第一帐号可以为在目标应用中注册的帐号,也可以为其他应用注册的帐号,如果第一帐号为其他应用注册的帐号,第一帐号可以通过接口访问目标应用。上述目标应用的类型本申请并不做限定。目标应用可以为购物应用,即时聊天应用、搜索应用等。第一帐号在使用目标应用时,会产生历史会话信息,如聊天记录、搜索记录等。以目标引用为即时聊天应用为例,第一帐号使用即时聊天应用聊天,产生聊天记录。如果第一帐号搜索聊天记录中的某些内容时,现有技术中,例如,用户搜索周末吃饭的饭店的名称,但是忘记了饭店的名称,因此无法以饭店名称作为关键词搜索出相关的历史记录。而本申请不再需要使用特定的关键词才能搜索相关的历史记录,而是可以在获取到第一帐号的搜索信息后,使用目标词向量模型与目标语义模型确定出最后的会话搜索结果,从而实现了模糊查找的目的。
可选地,本申请实施例中的搜索信息可以为一句话,或者一个或多个关键词。如果搜索信息为一句话,则可以拆分为多个关键词。例如,如图3所示,图3为一种可选的接收搜索信息的界面,用户可以通过该界面输入搜索信息。用户可以通过点击确定按钮来搜索与关键词匹配的会话搜索结果。如果搜索信息为一句话,可以将一句话拆分为多个关键词。
可选地,本申请实施例中的候选文本可以为第一帐号在目标应用中产生的历史记录。候选文本可以为历史记录中的所有内容,或者为历史记录中的部分内容。在获取搜索信息时,还可以获取搜索信息的搜索范围。例如,从目标应用的所有的历史记录中,搜索预定时间段的历史记录,或者搜索与预定帐号聊天的历史记录等。例如,如图4所示,图4为一种用户选择搜索范围的示意图,用户可以选择搜索历史记录的起止时间等。
可选地,本申请实施例在获取到搜索信息与候选文本之后,需要从候选文本中确定目标候选信息。可以按照搜索信息与候选信息的匹配度来确定一个候选信息是否为目标候选信息。例如,使用本申请实施例中的方法确定搜索信息与每一个候选文本的词向量相似度,词向量相似度为搜索信息与每一个候选文本的相似度,使用目标语义模型来获取搜索信息与每一个候选文本的语义向量相似度,语义向量相似度可以为搜索信息与每一个候选文本的语义相似的概率。在得到搜索信息与每一个候选文本的词向量相似度与语义向量相似度之后,可以对词向量相似度与语义向量相似度进行加权求和,得到最后的搜索信息与每一个候选文本的总向量相似度,总向量相似度可以为匹配度。将匹配度最大的候选文本确定为搜索信息的目标候选信息。目标候选信息可以作为会话搜索结果,或者将目标候选信息的上下文与目标候选信息确定为会话搜索结果。目标候选信息的上下文为历史会话信息中产生时间与目标候选信息的产生时间临近的信息。
可选地,本申请实施例中,在确定词向量相似度时,需要匹配搜索信息的第一词向量与每一个候选文本的第二词向量的词向量相似度。
若要比对第一词向量与第二词向量的的词向量相似度,则首先需要获取第一词向量与第二词向量。
本申请实施例中,在确定第一词向量与第二词向量的时候,可以使用搜索信息或者候选文本中的词的词向量的和作为搜索信息的第一词向量或者候选文本的第二词向量。例如,对于一个候选文本,候选文本包括5个词,则本申请实施例需要首先获取5个词中,每一个词的词向量,然后将5个词的词向量求和,得到候选文本的第二词向量。在确定每一个词的词向量的时候,可以使用候选文本中该词临近的词的词向量计算该词的词向量。例如,使用候选文本中每一个词的前一个或几个词的词向量计算该词的词向量,或者,使用候选文本中每一个词的后一个词或者几个词的词向量计算该词的词向量,或者使用候选文本中每一个词的前一个或几个词与该词的后一个或几个词的词向量计算该词的词向量。例如,对于候选文本中的5个词中的第2个词,可以使用该词前一个词和后一个词的词向量的和作为该词的词向量。前一个词与后一个词的词向量可以预先设置。或者,本申请实施例中在确定候选文本中的一个词的词向量的过程中,可以获取该词的前一个或几个词的词向量与该词的后一个词或几个词的词向量的和,将求得的和与一个预设向量做乘法,得到该词的词向量。在确定出一个候选文本的每一个词的词向量之后,可以将候选文本中的每一个词的词向量求和,得到候选文本的第二词向量。在确定搜索信息的第一词向量时,方法同上,在此不做赘述。
可选地,在获取到搜索信息的第一词向量与候选文本的第二词向量之后,可以判断第一词向量与每一个候选文本的第二词向量的相似度,从而确定出搜索信息与候选文本词向量相似度。
可选地,在确定语义向量相似度时,同样需要获取搜索信息的第一词向量与候选文本的第二词向量。在获取到搜索信息的第一词向量与候选文本的第二词向量之后,可以分别将第一词向量与每个候选文本的第二词向量进行拼接,得到多个拼接向量,将每一个拼接向量输入到多层感知机模块中,由多层感知机模块给出搜索信息与候选文本的语义向量相似度。
可选地,本申请实施例中的多层感知机模块包括了第一全联通层、线性整流层与第二全联通层,在将拼接向量输入到该多层感知机模块后,依次通过上述三层对拼接特征进行处理,得到语义向量相似度。
可选地,本申请实施例中的多层感知机模块为目标语义模型中的模块,目标语音模型需要预先使用样本数据进行训练。本申请实施例中可以获取第一帐号的历史会话信息,然后从历史会话信息中选择两个语义相似的文本作为第一组训练文本,且从历史会话信息中选择两个语义不相似的文本作为第二组训练文本,在获取到多组第一组训练文本与第二组训练文本之后,使用多组第一组训练文本与第二组训练文本对目标语音模型进行训练,使用训练好的目标语音模型来确定语义向量相似度。
在确定词向量相似度与语义向量相似度之后,例如,搜索信息与一个候选文本的词向量相似度为0.8,语义向量相似度为0.9,可以进行加权求和,得到搜索信息与该候选文本的匹配度。例如,权重为0.2与0.8,则最后的匹配度为0.8*0.2+0.9*0.8,为0.88。计算所有的候选文本与搜索信息的匹配度,将匹配度最大的候选文本作为目标候选信息。将目标候选信息作为会话搜索结果。例如,如图5所示为一种可选的会话搜索结果的展示界面。当然,也可以将匹配度大于一个预定阈值的候选文本作为会话搜索结果。如图6为一种可选的显示多个会话搜索结果的展示界面。
以下结合一个具体示例进行说明。以即时聊天应用为例,本申请实施例中,第一帐号可以在与其他帐号的聊天历史记录中搜索特定的内容。聊天记录可以为第一帐号与其他所有帐号的聊天记录。
第一帐号曾经在与其他帐号聊天时说过“周末逛街”,但是,第一帐号在搜索历史记录时,忘记了说的“周末逛街”这一内容,只记得关于周末逛街的模糊内容。此时,用户可以通过模糊记忆来输入关键词,例如,输入“周日和朋友逛街吃饭”这一搜索内容,本申请可以按照语义层面进行检测,从而从历史记录中查找到用户的“周末逛街”这一记录。
在具体查找时,在接收到“周日和朋友逛街吃饭”这一搜索内容之后,还需要获取历史记录中的候选文本,如果用户选择从所有的历史记录中搜索,则将该第一帐号的与所有其他帐号聊天的历史记录分成多个候选文本,如果用户设置了搜索范围,则将搜索范围对应的历史记录分成多个候选文本。例如,候选文本包括了“周末逛街”和“我们一起去划船吧”。
然后,本申请实施例使用目标词向量模型计算搜索内容与每一个候选文本的词向量相似度,即相似度。目标词向量模型可以为基于word2vec的词向量模型,使用无监督语料进行训练。首先使用模型计算候选文本的第二词向量与搜索内容的第一词向量。模型的处理过程与结构可以如图7、8所示。如图7,对于候选文本或者搜索内容,w代表文本中的当前词,word2vec模型把当前词的前两个词w(t-2),w(t-1)和后两个词w(t+1),w(t+2))的词语用向量表示,先把词表示为词向量,然后把w(t-2),w(t-1)和w(t+1),w(t+2)的词向量加和在一起,用这个加和结果乘上一个预定向量,预测当前词(w(t))的词向量。这种方式可以让模型得到一种能力“词向量可以代表一个词的语义,相似的词的词向量的cos相似度接近”。如图8所示,将搜索内容(共t-1个词)输入到模型中,模型将搜索内容与候选内容进行匹配,确定出搜索内容与每一个候选内容的相似度。相似度作为词向量相似度。C(Wx)为第x+1个词。
接着,使用目标语义模型获取语义向量相似度。目标语义模型需要预先训练。使用跟用户自己输入的文本,作为训练数据。从句子级别角度衡量文本相似度,模型训练模式如下:从用户说过的所有话中进行选择,同一句话(以句号分割)中的两段文本(以其他标点分割(逗号、顿号、冒号等))是相似的文本,会作为正样本(第一组训练文本);从整个数据集中随机选取的两段文本认为是不相似的文本,会作为负样本(第二组训练文本)。
两段正样本的文本输入模型,期望模型输出“是语义相似”;两段负样本的文本输入模型,输出“不语义相似”。
模型结构如图9所示。两段文本:文本1与文本2分别用一个神经网络把文本处理成文本级别向量,两部分文本级别向量拼接,然后通过一个多层感知机(包括两个全联通层,中间有一个relu非线性变换层),最终做一个分类任务(输出一个值,这个值代表“是语义相似的”概率)。
该过程也会区分接收者,由于用户在跟不同的接收者说话时的语言可能不太一样,这里可以使用一个接收者向量来表示接收者的信息,然后把这个信息输入神经网络模型,让神经网络模型知道当前是在跟哪个接收者说话。把每一个接收者进行编号,编为id,然后会把接收者id(标识)输入神经网络模型,神经网络模型的第一层是接收者向量,然后这个向量会参与神经网络的训练,会作为文本输入的最后一个词(接收者向量添加在文本的结尾的后面)。
在获取到词向量相似度与语义向量相似度之后,把两者进行加权平均,权重是可以通过人为设定的。算法设计者可以根据具体的模型效果,对权重进行设定,得到搜索文本与候选文本的匹配值。例如,“周日和朋友逛街吃饭”和“我们一起去划船吧”匹配值为0.3,“周末逛街”和“周日和朋友逛街吃饭”匹配度为0.9,将匹配度最高的候选文本确定为目标候选文本,将目标候选文本作为会话搜索结果并展示。
通过本实施例,通过上述方法,从而实现了聊天记录进行搜索,可以在关键字不一定匹配成功的情况下(但是语义层面可以匹配成功),搜索到用户想要的结果。例如,用户说过“周末逛街”这句话。他想从聊天记录中搜索自己说过的这句话及其相关的信息,但是忘记了自己当时具体用的是哪个词,传统基于关键词匹配的搜索技术,要求用户必须搜索“周末逛街”这个词才能搜索出这条记录。但往往用户只是模糊的记得说过了什么,但忘记自己用的哪个词。本技术支持在此情况下的搜索,例如用户搜索“周日购物”,虽然从关键词层面没有匹配成功,但是从语义层面确实匹配成功,这样的结果可以被搜索出来。
作为一种可选的实施方式,上述确定所述搜索信息与所述各候选文本之间的词向量相似度,包括:
获取所述搜索信息的第一词向量;
对各候选文本进行分词操作,得到多组词语,其中,每一个所述候选文本对应一组词语;
将所述多组词语中的每组词语确定为当前组词语,对所述当前组词语执行以下操作:使用所述当前组词语中与每一个词语相邻的词语确定所述每一个词语的词向量,根据所述每一个词语的词向量确定与所述当前组词语对应的候选文本的第二词向量;
确定所述第一词向量与所述各候选文本中每个候选文本的第二词向量之间的相似度,得到所述搜索信息与所述各候选文本之间的词向量相似度。
可选地,继续结合上述示例进行说明。例如,对于候选文本“我们一起去划船吧”,可以将其分词为“我们”、“一起”、“去”、“划船”、“吧”,然后,确定每一个词的词向量,将每一个词的词向量的和作为该候选文本的第二词向量。采用本方案,可以在确定候选文本的第二词向量的时候,综合考虑候选文本的所有内容,从而确定候选文本的第二词向量,提高了确定候选文本的第二词向量的准确度的效果。
作为一种可选的实施方式,上述使用所述当前组词语中与每一个词语相邻的词语的词向量确定所述每一个词语的词向量,包括:
将所述当前组词语中的所述每一个词语确定为当前词语,对所述当前词语执行以下操作:
根据所述当前组词语中位于所述当前词语之前的一个或多个词语,以及位于所述当前词语之后的一个或多个词语,确定所述当前词语的词向量;或
根据所述当前组词语中位于所述当前词语之前的一个或多个词语,确定所述当前词语的词向量;或
根据所述当前组词语中位于所述当前词语之后的一个或多个词语,确定所述当前词语的词向量。
可选地,继续结合上述示例进行说明。对于候选文本“我们一起去划船吧”,可以将其分词为“我们”、“一起”、“去”、“划船”、“吧”,然后,在确定每一个词的词向量时,可以预先设置第一个词“我们”的词向量,然后在确定后续的每一个词的词向量时,可以使用前一个词的词向量与一个预设的值进行相乘,得到该词的词向量,或者,预先设置前两个词的词向量,后续每一个词的词向量为该词前的每一个词的词向量的和。
作为一种可选的实施方式,根据所述当前组词语中位于所述当前词语之前的一个或多个词语,以及位于所述当前词语之后的一个或多个词语,确定所述当前词语的词向量,包括:
将位于所述当前词语之前的一个或多个词语与位于所述当前词语之后的一个或多个词语的词向量相加,得到所述当前词语的词向量;或者
将位于所述当前词语之前的一个或多个词语与位于所述当前词语之后的一个或多个词语的词向量相乘,得到所述当前词语的词向量。
例如,继续结合上述示例进行说明。对于候选文本“我们一起去划船吧”,可以将其分词为“我们”、“一起”、“去”、“划船”、“吧”,在确定出“我们”、“一起”、“划船”、“吧”的词向量之后,将“我们”、“一起”、“划船”、“吧”的词向量求和,得到第一文本向量。然后,将第一文本向量与预设向量相乘,得到“去”的词向量。通过本实施例,可以提高确定候选文本的第二词向量的准确度。
作为一种可选的实施方式,上述根据所述每一个词语的词向量确定与所述当前组词语对应的候选文本的第二词向量,包括:
将所述每一个词语的词向量之和确定为所述第二词向量。
例如,继续结合上述示例进行说明。对于候选文本“我们一起去划船吧”,可以将其分词为“我们”、“一起”、“去”、“划船”、“吧”,在确定出每一个词的词向量之后,将每一个词的词向量求和,得到该候选文本的第二词向量。如“我们”的词向量为0.3、“一起”的词向量为0.4、“去”的词向量为0.7、“划船”的词向量为0.6、“吧”的词向量为0.5,则候选文本的第二词向量为2.5。通过本实施例,可以提高确定候选文本的第二词向量的准确度。
作为一种可选的实施方式,上述获取所述搜索信息的第一词向量,包括:
对所述搜索信息进行分词操作,得到多个词语;
对所述多个词语中的每个词语执行以下操作:根据与所述每个词语相邻的词语确定所述每个词语的词向量;
根据所述每个词语的词向量,确定所述搜索信息的所述第一词向量。
例如,继续结合上述示例进行说明。对于搜索文本“周日和朋友逛街吃饭”,可以将其分词为“周日”、“和”、“朋友”、“逛街”、“吃饭”,可以确定“周日”、“和”、“朋友”、“逛街”、“吃饭”每个词的词向量,然后将每个词的词向量求和,得到搜索文本的第一词向量。通过本实施例,可以提高确定搜索文本的第一词向量的准确度。
作为一种可选的实施方式,上述根据与所述每个词语相邻的词语确定所述每个词语的词向量,包括:
根据所述每个词语中位于所述每个词语之前的一个或多个词语,以及位于所述每个词语之后的一个或多个词语,确定所述每个词语的词向量;或
根据所述每个词语中位于所述每个词语之前的一个或多个词语确定所述每个词语的词向量;或
根据所述每个词语中位于所述每个词语之后的一个或多个词语确定所述每个词语的词向量。
例如,继续结合上述示例进行说明。对于搜索文本“周日和朋友逛街吃饭”,可以将其分词为“周日”、“和”、“朋友”、“逛街”、“吃饭”,可以使用“周日”、“和”、“逛街”、“吃饭”来确定“朋友”的词向量。通过本实施例,可以提高确定搜索文本的第一词向量的准确度。
作为一种可选的实施方式,上述根据所述每个词语的词向量,确定所述搜索信息的所述第一词向量,包括:
将所述每个词语的词向量相加,得到所述搜索信息的第一词向量。
例如,继续结合上述示例进行说明。对于搜索文本“周日和朋友逛街吃饭”,可以将其分词为“周日”、“和”、“朋友”、“逛街”、“吃饭”,可以确定“周日”、“和”、“朋友”、“逛街”、“吃饭”每个词的词向量,然后将每个词的词向量求和,得到搜索文本的第一词向量。通过本实施例,可以提高确定搜索文本的第一词向量的准确度。
作为一种可选的实施方式,上述确定所述搜索信息与所述各候选文本之间的语义向量相似度,包括:
获取所述搜索信息的第一语义向量,以及所述各候选文本中每一个候选文本的第二语义向量;
分别将所述第一语义向量与每一个所述第二语义向量进行拼接,得到多个拼接向量;
将每一个所述拼接向量输入到多层感知机模块中,确定出每一个所述候选文本与所述搜索信息之间的语义向量相似度,其中,所述多层感知机模块用于确定所述第一语义向量与每一个所述第二语义向量语义相似的概率。
例如,对于搜索文本“周日和朋友逛街吃饭”和候选文本“我们一起去划船吧”,获取到搜索文本的第一词向量与候选文本的第二词向量后,将两个向量进行拼接,得到拼接向量。将拼接向量输入到多层感应机模块中,由多层感应机模块来确定搜索文本的第一词向量与候选文本的第二词向量的相似度。通过本实施例,可以提高确定词向量相似度的准确度。
作为一种可选的实施方式,上述将每一个所述拼接向量输入到多层感知机模块中,确定出每一个所述候选文本与所述搜索信息之间的语义向量相似度,包括:
将所述拼接向量输入第一全联通层,得到所述第一全联通层输出的第一结果,其中,所述多层感知机模块包括所述第一全联通层、线性整流层与第二全联通层;
将所述第一结果输入到所述线性整流层,得到第二结果;
将所述第二结果输入到所述第二全联通层,得到所述语义向量相似度。
本申请实施例中的多层感知机模块包括了第一全联通层、线性整流层与第二全联通层,在将拼接向量输入到该多层感知机模块后,依次通过上述三层对拼接特征进行处理,得到语义向量相似度。通过上述方法,可以提高确定语义向量相似度的准确度。
作为一种可选的实施方式,上述基于所述词向量相似度和所述语义向量相似度,从所述各候选文本中选取目标候选文本,包括:
对所述词向量相似度和所述语义向量相似度进行加权平均操作,得到总向量相似度,其中,所述总向量相似度用于表示所述搜索信息与所述候选文本的匹配度;
在获取到所述搜索信息与每一个所述候选文本的所述总向量相似度后,将所述各候选文本中所述总向量相似度最大的候选文本确定为所述目标候选文本;或者,按照所述总向量相似度由大到小的顺序对所述各候选文本进行排序,将排序结果中的前Q个候选文本确定为所述目标候选文本,其中,所述Q为自然数。
可选的,在得到搜索信息与每一个候选文本的词向量相似度与语义向量相似度之后,可以对词向量相似度与语义向量相似度进行加权求和,得到最后的搜索信息与每一个候选文本的匹配度。将匹配度最大的候选文本确定为搜索信息的目标候选文本。当然,也可以将匹配度大于一个阈值的多个候选文本作为目标候选文本进行显示,从而提高获取搜索结果的准确度。
作为一种可选的实施方式,在确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度之前,上述方法还包括:获取上述第一帐号的上述历史会话信息;从上述历史会话信息中选择两个语义相似的文本作为第一组训练文本,且从上述历史会话信息中选择两个语义不相似的文本作为第二组训练文本;将上述第一组训练文本与上述第一组训练文本输入到目标语义模型中,以对上述目标语义模型进行训练。使用训练后的上述目标语音模型确定搜索信息与各候选文本之间的语义向量相似度。
可选地,本申请中的历史记录可以为第一帐号在历史过程中产生的语音或者文本记录。历史记录可以只包括第一帐号的记录,也可以包括与第一帐号聊天的其他帐号的记录。将所有的第一帐号或者第一帐号与其他帐号的记录整合作为历史记录。从历史记录中获取第一组训练文本与第二组训练文本。通过本实施例,实现了提高获取训练文本的准确性,提高训练效果的效果。
作为一种可选的实施方式,从历史会话信息中选择两个语义相似的文本作为第一组训练文本,且从历史会话信息中选择两个语义不相似的文本作为第二组训练文本包括:
从历史会话信息中的第一帐号发送的一句话中获取第一组训练文本,从历史会话信息中第一帐号发送的任意两句话中获取第二组训练文本。
可选地,本申请中在获取第一组训练文本与第二组训练文本时,可以从历史记录中获取一句话,一句话中被除句号外的其他符号断开的内容作为第一组训练文本。如,“周末有空吗,一起去逛街呀?”可以作为第一组训练文本。而历史记录中任意两句话中的两段文本可以作为第二组训练文本。如“周末有空吗,一起去逛街呀?”与“上次接你时,在哪接的,那个店还记得吗?”中,“周末有空吗”与“上次接你时”作为第二组训练文本。通过本实施例,实现了提高模型训练效果的效果。
所述以所述目标候选文本对应的历史会话信息,作为所述搜索信息对应的会话搜索结果,包括:
将所述历史会话信息中的所述目标候选文本与位于所述目标候选文本之前的一条或多条文本确定为所述会话搜索结果;或者
将所述历史会话信息中的所述目标候选文本与位于所述目标候选文本之后的一条或多条文本确定为所述会话搜索结果;或者
将所述历史会话信息中的所述目标候选文本与位于所述目标候选文本之前的一条或多条文本与位于所述目标候选文本之后的一条或多条文本确定为所述会话搜索结果。
也就是说,本申请中可以在确定出目标候选文本后,可以直接将目标候选文本确定为会话搜索结果,或者将目标候选文本与位于目标候选文本之前和/或之后的一条或多条文本确定为搜索进行显示。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述基于语义的模糊搜索方法的基于语义的模糊搜索置。如图10所示,该装置包括:
获取单元1002,用于获取第一帐号在目标应用中输入的搜索信息,以及第一帐号在目标应用中的历史会话信息;
分割单元1004,用于将历史会话信息进行分割,得到历史会话信息对应的各候选文本;
第一确定单元1006,用于确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度;
选取单元1008,用于基于词向量相似度和语义向量相似度,从各候选文本中选取目标候选文本;
第二确定单元1010,用于以目标候选文本对应的历史会话信息,作为搜索信息对应的会话搜索结果。
可选地,本申请实施例中的上述第一帐号可以为在目标应用中注册的帐号,也可以为其他应用注册的帐号,如果第一帐号为其他应用注册的帐号,第一帐号可以通过接口访问目标应用。上述目标应用的类型本申请并不做限定。目标应用可以为购物应用,即时聊天应用、搜索应用等。第一帐号在使用目标应用时,会产生历史会话信息,如聊天记录、搜索记录等。以目标引用为即时聊天应用为例,第一帐号使用即时聊天应用聊天,产生聊天记录。如果第一帐号搜索聊天记录中的某些内容时,现有技术中,例如,用户搜索周末吃饭的饭店的名称,但是忘记了饭店的名称,因此无法以饭店名称作为关键词搜索出相关的历史记录。而本申请不再需要使用特定的关键词才能搜索相关的历史记录,而是可以在获取到第一帐号的搜索信息后,使用目标词向量模型与目标语义模型确定出最后的会话搜索结果,从而实现了模糊查找的目的。
本申请实施例的其他实例请参见上述实施例,在此不做赘述。
根据本发明实施例的又一个方面,还提供了一种用于实施上述基于语义的模糊搜索方法的电子设备,该电子设备可以,图11所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图11所示,该电子设备包括存储器1102和处理器1104,该存储器1102中存储有计算机程序,该处理器1104被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
获取第一帐号在目标应用中输入的搜索信息,以及第一帐号在目标应用中的历史会话信息;
将历史会话信息进行分割,得到历史会话信息对应的各候选文本;
确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度;
基于词向量相似度和语义向量相似度,从各候选文本中选取目标候选文本;
以目标候选文本对应的历史会话信息,作为搜索信息对应的会话搜索结果。
可选地,本领域普通技术人员可以理解,图11所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图11中所示更多或者更少的组件(如网络接口等),或者具有与图11所示不同的配置。
其中,存储器1102可用于存储软件程序以及模块,如本发明实施例中的基于语义的模糊搜索方法和装置对应的程序指令/模块,处理器1104通过运行存储在存储器1102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于语义的模糊搜索方法。存储器1102可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1102可进一步包括相对于处理器1104远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1102具体可以但不限于用于存储历史会话信息等信息。作为一种示例,如图11所示,上述存储器1102中可以但不限于包括上述基于语义的模糊搜索装置中的第一获取单元1002、第一输入单元1004、第二输入单元1006与确定单元1008。此外,还可以包括但不限于上述基于语义的模糊搜索装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1106包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1106为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:连接总线1108,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
获取第一帐号在目标应用中输入的搜索信息,以及第一帐号在目标应用中的历史会话信息;
将历史会话信息进行分割,得到历史会话信息对应的各候选文本;
确定搜索信息与各候选文本之间的词向量相似度和语义向量相似度;
基于词向量相似度和语义向量相似度,从各候选文本中选取目标候选文本;
以目标候选文本对应的历史会话信息,作为搜索信息对应的会话搜索结果。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种基于语义的模糊搜索方法,其特征在于,包括:
获取第一帐号在目标应用中输入的搜索信息,以及所述第一帐号在所述目标应用中的历史会话信息;
将所述历史会话信息进行分割,得到所述历史会话信息对应的各候选文本;
确定搜索信息的第一词向量与所述各候选文本中每个候选文本的第二词向量之间的词向量相似度;
分别将所述第一词向量与所述各候选文本中每个候选文本的第二词向量进行拼接,得到多个拼接向量;
将每个所述拼接向量输入到多层感知机模块中,由所述多层感知机模块中的第一全联通层、线性整流层和第二全联通层依次对所述拼接向量进行处理,确定所述搜索信息与所述各候选文本之间的语义向量相似度,其中,所述多层感知机模块包括所述第一全联通层、所述线性整流层和所述第二全联通层;
基于所述词向量相似度和所述语义向量相似度,从所述各候选文本中选取目标候选文本;
以所述目标候选文本对应的历史会话信息,作为所述搜索信息对应的会话搜索结果。
2.根据权利要求1所述的方法,其特征在于,确定搜索信息的第一词向量与所述各候选文本中每个候选文本的第二词向量之间的词向量相似度,包括:
获取所述搜索信息的所述第一词向量;
对各候选文本进行分词操作,得到多组词语,其中,每一个所述候选文本对应一组词语;
将所述多组词语中的每组词语确定为当前组词语,对所述当前组词语执行以下操作:使用所述当前组词语中与每一个词语相邻的词语确定所述每一个词语的词向量,根据所述每一个词语的词向量确定与所述当前组词语对应的候选文本的所述第二词向量;
确定所述第一词向量与所述各候选文本中每个候选文本的所述第二词向量之间的相似度,得到所述搜索信息与所述各候选文本之间的词向量相似度。
3.根据权利要求2所述的方法,其特征在于,所述使用所述当前组词语中与每一个词语相邻的词语的词向量确定所述每一个词语的词向量,包括:
将所述当前组词语中的所述每一个词语确定为当前词语,对所述当前词语执行以下操作:
根据所述当前组词语中位于所述当前词语之前的一个或多个词语,以及位于所述当前词语之后的一个或多个词语,确定所述当前词语的词向量;或
根据所述当前组词语中位于所述当前词语之前的一个或多个词语,确定所述当前词语的词向量;或
根据所述当前组词语中位于所述当前词语之后的一个或多个词语,确定所述当前词语的词向量。
4.根据权利要求3所述的方法,其特征在于,根据所述当前组词语中位于所述当前词语之前的一个或多个词语,以及位于所述当前词语之后的一个或多个词语,确定所述当前词语的词向量,包括:
将位于所述当前词语之前的一个或多个词语与位于所述当前词语之后的一个或多个词语的词向量相加,得到所述当前词语的词向量;
将位于所述当前词语之前的一个或多个词语与位于所述当前词语之后的一个或多个词语的词向量相乘,得到所述当前词语的词向量。
5.根据权利要求2所述的方法,其特征在于,所述根据所述每一个词语的词向量确定与所述当前组词语对应的候选文本的第二词向量,包括:
将所述每一个词语的词向量之和确定为所述第二词向量。
6.根据权利要求2所述的方法,其特征在于,所述获取所述搜索信息的第一词向量,包括:
对所述搜索信息进行分词操作,得到多个词语;
对所述多个词语中的每个词语执行以下操作:根据与所述每个词语相邻的词语确定所述每个词语的词向量;
根据所述每个词语的词向量,确定所述搜索信息的所述第一词向量。
7.根据权利要求6所述的方法,其特征在于,所述根据与所述每个词语相邻的词语确定所述每个词语的词向量,包括:
根据所述每个词语中位于所述每个词语之前的一个或多个词语,以及位于所述每个词语之后的一个或多个词语,确定所述每个词语的词向量;或
根据所述每个词语中位于所述每个词语之前的一个或多个词语确定所述每个词语的词向量;或
根据所述每个词语中位于所述每个词语之后的一个或多个词语确定所述每个词语的词向量。
8.根据权利要求6所述的方法,其特征在于,所述根据所述每个词语的词向量,确定所述搜索信息的所述第一词向量,包括:
将所述每个词语的词向量相加,得到所述搜索信息的第一词向量。
9.根据权利要求8所述的方法,其特征在于,所述确定所述搜索信息与所述各候选文本之间的语义向量相似度,包括:
将所述拼接向量输入所述第一全联通层,得到所述第一全联通层输出的第一结果;
将所述第一结果输入到所述线性整流层,得到第二结果;
将所述第二结果输入到所述第二全联通层,得到所述语义向量相似度。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述基于所述词向量相似度和所述语义向量相似度,从所述各候选文本中选取目标候选文本,包括:
对所述词向量相似度和所述语义向量相似度进行加权平均操作,得到总向量相似度,其中,所述总向量相似度用于表示所述搜索信息与所述候选文本的匹配度;
在获取到所述搜索信息与每一个所述候选文本的所述总向量相似度后,将所述各候选文本中所述总向量相似度最大的候选文本确定为所述目标候选文本;或者,按照所述总向量相似度由大到小的顺序对所述各候选文本进行排序,将排序结果中的前Q个候选文本确定为所述目标候选文本,其中,所述Q为自然数。
11.根据权利要求1至9中任一项所述的方法,其特征在于,所述以所述目标候选文本对应的历史会话信息,作为所述搜索信息对应的会话搜索结果,包括:
将所述历史会话信息中的所述目标候选文本与位于所述目标候选文本之前的一条或多条文本确定为所述搜索结果;或者
将所述历史会话信息中的所述目标候选文本与位于所述目标候选文本之后的一条或多条文本确定为所述会话搜索结果;或者
将所述历史会话信息中的所述目标候选文本与位于所述目标候选文本之前的一条或多条文本与位于所述目标候选文本之后的一条或多条文本确定为所述会话搜索结果。
12.一种基于语义的模糊搜索装置,其特征在于,包括:
获取单元,用于获取第一帐号在目标应用中输入的搜索信息,以及第一帐号在目标应用中的历史会话信息;
分割单元,用于将历史会话信息进行分割,得到历史会话信息对应的各候选文本;
第一确定单元,用于确定搜索信息的第一词向量与所述各候选文本中每个候选文本的第二词向量之间的词向量相似度;分别将所述第一词向量与所述各候选文本中每个候选文本的第二词向量进行拼接,得到多个拼接向量;将每个所述拼接向量输入到多层感知机模块中,由所述多层感知机模块中的第一全联通层、线性整流层和第二全联通层依次对所述拼接向量进行处理,确定所述搜索信息与所述各候选文本之间的语义向量相似度,其中,所述多层感知机模块包括所述第一全联通层、所述线性整流层和所述第二全联通层;
选取单元,用于基于词向量相似度和语义向量相似度,从各候选文本中选取目标候选文本;
第二确定单元,用于以目标候选文本对应的历史会话信息,作为搜索信息对应的会话搜索结果。
13.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的计算机程序,其特征在于,所述计算机程序运行时执行所述权利要求1至11任一项中所述的方法。
14.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至11任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838750.1A CN111914179B (zh) | 2020-08-19 | 2020-08-19 | 基于语义的模糊搜索方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838750.1A CN111914179B (zh) | 2020-08-19 | 2020-08-19 | 基于语义的模糊搜索方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111914179A CN111914179A (zh) | 2020-11-10 |
CN111914179B true CN111914179B (zh) | 2021-09-28 |
Family
ID=73278378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010838750.1A Active CN111914179B (zh) | 2020-08-19 | 2020-08-19 | 基于语义的模糊搜索方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914179B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328890B (zh) * | 2020-11-23 | 2024-04-12 | 北京百度网讯科技有限公司 | 搜索地理位置点的方法、装置、设备及存储介质 |
CN112559693A (zh) * | 2020-12-25 | 2021-03-26 | 鼎易创展咨询(北京)有限公司 | 文本词语的相似词搜索方法、装置、设备和介质 |
CN113157876A (zh) * | 2021-03-18 | 2021-07-23 | 平安普惠企业管理有限公司 | 信息反馈方法、装置、终端和存储介质 |
CN113505196B (zh) * | 2021-06-30 | 2024-01-30 | 和美(深圳)信息技术股份有限公司 | 基于词性的文本检索方法、装置、电子设备及存储介质 |
CN114124864B (zh) * | 2021-09-28 | 2023-07-07 | 维沃移动通信有限公司 | 消息处理方法、装置 |
CN114638231B (zh) * | 2022-03-21 | 2023-07-28 | 马上消费金融股份有限公司 | 实体链接方法、装置及电子设备 |
CN115033688A (zh) * | 2022-05-11 | 2022-09-09 | 阿里巴巴(中国)有限公司 | 识别告警事件类型的方法、装置、设备及存储介质 |
CN116932922B (zh) * | 2023-09-19 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 搜索词条处理方法、装置、计算机设备和计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189901A (zh) * | 2018-08-09 | 2019-01-11 | 北京中关村科金技术有限公司 | 一种智能客服系统中自动发现新分类以及对应语料的方法 |
CN109325229A (zh) * | 2018-09-19 | 2019-02-12 | 中译语通科技股份有限公司 | 一种利用语义信息计算文本相似度的方法 |
CN110659406A (zh) * | 2018-06-13 | 2020-01-07 | 钉钉控股(开曼)有限公司 | 搜索方法及装置 |
CN111553140A (zh) * | 2020-05-13 | 2020-08-18 | 金蝶软件(中国)有限公司 | 数据处理方法、数据处理设备及计算机存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491547B (zh) * | 2017-08-28 | 2020-11-10 | 北京百度网讯科技有限公司 | 基于人工智能的搜索方法和装置 |
CN111291563B (zh) * | 2020-01-20 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 词向量对齐方法和词向量对齐模型训练方法 |
-
2020
- 2020-08-19 CN CN202010838750.1A patent/CN111914179B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659406A (zh) * | 2018-06-13 | 2020-01-07 | 钉钉控股(开曼)有限公司 | 搜索方法及装置 |
CN109189901A (zh) * | 2018-08-09 | 2019-01-11 | 北京中关村科金技术有限公司 | 一种智能客服系统中自动发现新分类以及对应语料的方法 |
CN109325229A (zh) * | 2018-09-19 | 2019-02-12 | 中译语通科技股份有限公司 | 一种利用语义信息计算文本相似度的方法 |
CN111553140A (zh) * | 2020-05-13 | 2020-08-18 | 金蝶软件(中国)有限公司 | 数据处理方法、数据处理设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111914179A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914179B (zh) | 基于语义的模糊搜索方法和装置、存储介质及电子设备 | |
WO2022041979A1 (zh) | 一种信息推荐模型的训练方法和相关装置 | |
CN110209897B (zh) | 智能对话方法、装置、存储介质及设备 | |
CN108304439B (zh) | 一种语义模型优化方法、装置及智能设备、存储介质 | |
WO2020177282A1 (zh) | 一种机器对话方法、装置、计算机设备及存储介质 | |
CN107241260B (zh) | 基于人工智能的新闻推送的方法和装置 | |
US8516052B2 (en) | Dynamically managing online communication groups | |
CN105808590B (zh) | 搜索引擎实现方法、搜索方法以及装置 | |
CN109977201A (zh) | 带情感的机器聊天方法、装置、计算机设备及存储介质 | |
CN109033156B (zh) | 一种信息处理方法、装置及终端 | |
CN110795527B (zh) | 候选实体排序方法、训练方法及相关装置 | |
WO2016104736A1 (ja) | コミュニケーション提供システム及びコミュニケーション提供方法 | |
JP7488871B2 (ja) | 対話推薦方法、装置、電子機器、記憶媒体ならびにコンピュータプログラム | |
CN111783903B (zh) | 文本处理方法、文本模型的处理方法及装置、计算机设备 | |
US10770072B2 (en) | Cognitive triggering of human interaction strategies to facilitate collaboration, productivity, and learning | |
CN110516033B (zh) | 一种计算用户偏好的方法和装置 | |
CN114036398B (zh) | 内容推荐和排序模型训练方法、装置、设备以及存储介质 | |
CN111930894A (zh) | 长文本匹配方法及装置、存储介质、电子设备 | |
CN112732870A (zh) | 基于词向量的搜索方法、装置、设备及存储介质 | |
KR20190075277A (ko) | 콘텐트 검색을 위한 방법 및 그 전자 장치 | |
CN115689672A (zh) | 聊天式商品导购方法及其装置、设备、介质 | |
CN109819002A (zh) | 数据推送方法和装置、存储介质及电子装置 | |
CN114490923A (zh) | 相似文本匹配模型的训练方法、装置、设备及存储介质 | |
CN111813899A (zh) | 基于多轮会话的意图识别方法及装置 | |
CN112597292A (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 |