CN107491547B - 基于人工智能的搜索方法和装置 - Google Patents

基于人工智能的搜索方法和装置 Download PDF

Info

Publication number
CN107491547B
CN107491547B CN201710748919.2A CN201710748919A CN107491547B CN 107491547 B CN107491547 B CN 107491547B CN 201710748919 A CN201710748919 A CN 201710748919A CN 107491547 B CN107491547 B CN 107491547B
Authority
CN
China
Prior art keywords
vector
candidate document
query
word
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
Application number
CN201710748919.2A
Other languages
English (en)
Other versions
CN107491547A (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710748919.2A priority Critical patent/CN107491547B/zh
Publication of CN107491547A publication Critical patent/CN107491547A/zh
Priority to US16/054,842 priority patent/US11151177B2/en
Application granted granted Critical
Publication of CN107491547B publication Critical patent/CN107491547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了基于人工智能的搜索方法和装置。该方法的一具体实施方式包括:获取与查询语句相关的至少一个候选文档;确定与查询语句的切分词序列对应的查询词向量序列,以及确定与至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列;对于至少一个候选文档中的每个候选文档,执行相似度计算步骤;从至少一个候选文档中,按照与查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。该实施方式将候选文档和查询语句通过神经网络模型表示成语义向量,再根据候选文档语义向量与查询语句语义向量之间的相似度,对候选文档进行排序,提高了召回的搜索结果和用户输入的查询语句的相关度。

Description

基于人工智能的搜索方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及基于人工智能的搜索方法和装置。
背景技术
人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用***的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家***等。
人工智能领域中的自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。作为示例,目前,搜索引擎会根据用户输入的查询语句(query)进行检索,得到与查询语句相关的多个文档(例如,网页),再根据一系列的评分策略和排序算法对所得到的多个文档进行排序,并根据排序结果从中选择一些文档发送给用户所使用的终端设备。
然而,现有的搜索引擎在对与查询语句相关的多个文档进行排序时,大都采用查询语句与文档之间的文本相似性作为排序标准,由于文本间的匹配计算较慢,而且不能区分文本的切词之间的顺序关系,从而存在着排序效率较低以及排序不够准确的问题。
发明内容
本申请实施例的目的在于提出一种改进的基于人工智能的搜索方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请实施例提供了一种基于人工智能的搜索方法,该方法包括:获取与查询语句相关的至少一个候选文档;确定与上述查询语句的切分词序列对应的查询词向量序列,以及确定与上述至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列;对于上述至少一个候选文档中的每个候选文档,执行以下相似度计算步骤:将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量;将上述查询词向量序列导入上述第一神经网络模型,生成用于表征上述查询语句的语义的第一查询语句语义向量;根据该候选文档的第一候选文档语义向量与上述第一查询语句语义向量之间的相似度,确定该候选文档与上述查询语句之间的相似度;从上述至少一个候选文档中,按照与上述查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。
在一些实施例中,上述将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量之后,上述相似度计算步骤还包括:将该候选文档的候选文档词向量序列导入预先训练的第二神经网络模型,生成用于表征该候选文档的语义的第二候选文档语义向量;对于上述查询词向量序列中的每个查询词向量,执行以下第一更新步骤:将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量;用所生成的该查询词向量的调整后向量更新该查询词向量。
在一些实施例中,上述将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量,包括:对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成该查询词向量的调整后向量。
在一些实施例中,上述将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量,包括:对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成第一向量;对上述第一向量进行非线性变换,以生成该查询词向量的调整后向量。
在一些实施例中,上述对于上述至少一个候选文档中的每个候选文档,执行以下相似度计算步骤之前,上述方法还包括:将上述查询词向量序列导入预先训练的第三神经网络模型,生成用于表征上述查询语句的语义的第二查询语句语义向量;以及在上述将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量之前,上述相似度计算步骤还包括:对于该候选文档的候选文档词向量序列中的每个候选文档词向量,执行以下第二更新步骤:将上述第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量;用所生成的该候选文档词向量的调整后向量更新该候选文档词向量。
在一些实施例中,上述将上述第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量,包括:对上述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成该候选文档词向量的调整后向量。
在一些实施例中,上述将上述第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量,包括:对上述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成第二向量;对上述第二向量进行非线性变换,以生成该候选文档词向量的调整后向量。
在一些实施例中,上述确定与上述查询语句的切分词序列对应的查询词向量序列,包括:获取用于表征查询语句切分词与查询词向量的对应关系的第一词向量表;根据上述第一词向量表,确定与上述查询语句的切分词序列对应的查询词向量序列。
在一些实施例中,上述确定与上述至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列,包括:获取用于表征文档切分词与文档词向量的对应关系的第二词向量表;对于上述至少一个候选文档中的每个候选文档,根据上述第二词向量表,确定与该候选文档的切分词序列对应的候选文档词向量序列。
第二方面,本申请实施例提供了一种基于人工智能的搜索装置,该装置包括:获取单元,配置用于获取与查询语句相关的至少一个候选文档;确定单元,配置用于确定与上述查询语句的切分词序列对应的查询词向量序列,以及确定与上述至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列;相似度计算单元,配置用于对于上述至少一个候选文档中的每个候选文档,执行以下相似度计算步骤:将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量;将上述查询词向量序列导入上述第一神经网络模型,生成用于表征上述查询语句的语义的第一查询语句语义向量;根据该候选文档的第一候选文档语义向量与上述第一查询语句语义向量之间的相似度,确定该候选文档与上述查询语句之间的相似度;选取单元,配置用于从上述至少一个候选文档中,按照与上述查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。
在一些实施例中,上述相似度计算单元进一步用于:将该候选文档的候选文档词向量序列导入预先训练的第二神经网络模型,生成用于表征该候选文档的语义的第二候选文档语义向量;
对于上述查询词向量序列中的每个查询词向量,执行以下第一更新步骤:将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量;用所生成的该查询词向量的调整后向量更新该查询词向量。
在一些实施例中,上述相似度计算单元进一步用于:对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成该查询词向量的调整后向量。
在一些实施例中,上述相似度计算单元进一步用于:对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成第一向量;对上述第一向量进行非线性变换,以生成该查询词向量的调整后向量。
在一些实施例中,上述装置还包括:生成单元,配置用于将上述查询词向量序列导入预先训练的第三神经网络模型,生成用于表征上述查询语句的语义的第二查询语句语义向量;以及上述相似度计算单元进一步用于:对于该候选文档的候选文档词向量序列中的每个候选文档词向量,执行以下第二更新步骤:将上述第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量;用所生成的该候选文档词向量的调整后向量更新该候选文档词向量。
在一些实施例中,上述相似度计算单元进一步用于:对上述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成该候选文档词向量的调整后向量。
在一些实施例中,上述相似度计算单元进一步用于:对上述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成第二向量;对上述第二向量进行非线性变换,以生成该候选文档词向量的调整后向量。
在一些实施例中,上述确定单元进一步用于:获取用于表征查询语句切分词与查询词向量的对应关系的第一词向量表;根据上述第一词向量表,确定与上述查询语句的切分词序列对应的查询词向量序列。
在一些实施例中,上述确定单元进一步用于:获取用于表征文档切分词与文档词向量的对应关系的第二词向量表;对于上述至少一个候选文档中的每个候选文档,根据上述第二词向量表,确定与该候选文档的切分词序列对应的候选文档词向量序列。
第三方面,本申请实施例提供了一种服务器,该服务器包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的基于人工智能的搜索方法和装置,通过首先获取与查询语句相关的至少一个候选文档。再确定与查询语句的切分词序列对应的查询词向量序列,以及确定与至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列。然后,对于至少一个候选文档中的每个候选文档,执行以下相似度计算步骤:将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量;将查询词向量序列导入第一神经网络模型,生成用于表征查询语句的语义的第一查询语句语义向量;根据该候选文档的第一候选文档语义向量与第一查询语句语义向量之间的相似度,确定该候选文档与查询语句之间的相似度。最后,从至少一个候选文档中,按照与查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。从而,将候选文档和查询语句通过神经网络模型表示成语义向量,再根据候选文档语义向量与查询语句语义向量之间的相似度,对候选文档进行排序,提高了召回的搜索结果和用户输入的查询语句的相关度,满足用户的搜索需求。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的基于人工智能的搜索方法的一个实施例的流程图;
图3是根据本申请的基于人工智能的搜索方法的又一个实施例的流程图;
图4是根据本申请的基于人工智能的搜索方法的另一个实施例的流程图;
图5是根据本申请的基于人工智能的搜索装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的基于人工智能的搜索方法或基于人工智能的搜索装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的搜索类网站提供支持的后台搜索服务器。后台搜索服务器可以对接收到的查询语句等数据进行分析等处理,并将处理结果(例如,搜索结果)反馈给终端设备。
需要说明的是,本申请实施例所提供的基于人工智能的搜索方法一般由服务器105执行,相应地,基于人工智能的搜索装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请的基于人工智能的搜索方法的一个实施例的流程200。该基于人工智能的搜索方法,包括以下步骤:
步骤201,获取与查询语句相关的至少一个候选文档。
在本实施例中,基于人工智能的搜索方法运行于其上的电子设备(例如图1所示的服务器)可以在接收到用户使用终端发来的包括查询语句的搜索请求时,首先,获取上述搜索请求中的查询语句,然后获取与上述查询语句相关的至少一个候选文档。作为示例,候选文档可以是网页。
这里,查询语句(即query)可以包括以下至少一项:各种语言的文字、拼音、符号、数字。
作为示例,上述电子设备可以在与上述电子设备网络连接的云服务器的数据库中查找与查询语句相关的候选文档,或者,上述电子设备也可以在预先指定的网站进行爬取以获取与上述查询语句相关的候选文档,本申请对此不作限制。
其中,云服务器的数据库是可以预先建立的,具体可以采用统计的方式建立数据库。例如,由后台人员对用户在搜索引擎上的搜索行为进行统计,将搜索次数较多的文档保存在数据库中。
或者,云服务器的数据库也可以采用机器学习的方式建立的。例如,用爬虫技术等从网页上得到用户搜索次数较多的文档保存在数据库中。
步骤202,确定与查询语句的切分词序列对应的查询词向量序列,以及确定与至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列。
在本实施例中,上述电子设备(例如图1所示的服务器)可以首先对查询语句进行切词,得到与查询语句对应的切分词序列,然后确定与查询语句的切分词序列对应的查询词向量序列。接着,上述电子设备可以对至少一个候选文档中的每个候选文档进行切词,得到与至少一个候选文档中的每个候选文档对应的切分词序列,最后确定与至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列。其中,切分词是指不带有特殊符号或者标点符号的词或短语。切分词序列是由按顺序排列的至少一个切分词组成的序列。
在本实施例中,上述电子设备可以采用各种切词方法对查询语句和候选文档进行切词,比如利用全切分方法,首先切分出与语言词库匹配的所有可能的词,再运用统计语言模型确定最优的切分结果。
需要说明的是,在上述电子设备对候选文档进行切词时,既可以对候选文档本身进行切词,也可以对候选文档的相关信息进行切词,并将对候选文档的相关信息进行切词的切词结果作为与候选文档对应的切分词序列。例如,候选文档的相关信息可以是候选文档的摘要信息或者候选文档的标题信息。又例如,如果候选文档为网页的话,那么,候选文档的相关信息可以是网页标题信息、网页内容信息或者链接到网页的锚文本。其中,网页标题信息可以包括标签标题(Tag Title)、网页正文标题(Real Title)和主标题(MainTitle)。
在本实施例中,上述电子设备可以采用各种方法确定与切分词对应的词向量。作为示例,上述方法可以是:词袋模型、LSA(Latent Semantic Analysis,浅层语义分析)方法、PLSA(Probabilistic Latent Semantic Analysis,概率浅层语义分析),LSI(LatentSemantic Indexing,浅层语义检索)、PLSI(Probabilistic Latent Semantic Indexing,概率浅层语义检索)等。实践中,也可以采用Word2Vec/Doc2Vec等工具来实现将切分词转换成词向量。
在本实施例的一些可选的实现方式中,上述电子设备也可以按照如下步骤确定与查询语句的切分词序列对应的查询词向量序列:
首先,获取用于表征查询语句切分词与查询词向量的对应关系的第一词向量表。
在本实现方式中,第一词向量表可以是根据搜索日志中的用户历史查询语句的切分词序列训练的词向量表。第一词向量表用于将词或短语映射成实数向量,所映射的实数向量就是词向量。通过使用词向量表,可以实现把自然语言中的特征从词汇表大小的高维度空间降低到一个相对低的维度空间。
需要说明的是,如何训练词向量表是目前广泛研究和应用的现有技术,在此不再赘述。
可以理解的是,第一词向量表可以随着搜索日志的更新而实时进行训练并更新,这样,上述获取的第一词向量表可以是实时更新的第一词向量表。
其次,根据第一词向量表,确定与查询语句的切分词序列对应的查询词向量序列。
在本实施例的一些可选的实现方式中,上述电子设备可以按照如下步骤确定与至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列:
首先,获取用于表征文档切分词与文档词向量的对应关系的第二词向量表。
在本实现方式中,第二词向量表可以是根据候选文档库中的候选文档的切分词序列训练的词向量表。
可以理解的是,第二词向量表可以随着候选文档库的更新而实时进行训练并更新,这样,上述获取的第二词向量表可以是实时更新的第二词向量表。
其次,对于至少一个候选文档中的每个候选文档,根据第二词向量表,确定与该候选文档的切分词序列对应的候选文档词向量序列。
步骤203,对于至少一个候选文档中的每个候选文档,执行相似度计算步骤。
在本实施例中,基于人工智能的搜索方法运行于其上的电子设备可以对于至少一个候选文档中的每个候选文档,执行相似度计算步骤。其中,相似度计算步骤可以包括如下子步骤2031到子步骤2033:
子步骤2031,将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量。
这里,第一神经网络模型可以是各种人工神经网络模型,本申请对此不做具体限定。作为示例,第一神经网络模型可以包括以下至少一项:卷积神经网络模型、循环神经网络模型和前向神经网络模型。第一神经网络模型是预先训练的用于表征词向量序列与词向量之间的对应关系的神经网络模型。
需要说明的是,可以以大量的文档的切分词向量序列和查询语句的切分词向量序列为训练数据,训练初始的神经网络模型,从而得到训练好的第一神经网络模型。
子步骤2032,将查询词向量序列导入第一神经网络模型,生成用于表征查询语句的语义的第一查询语句语义向量。
子步骤2033,根据该候选文档的第一候选文档语义向量与第一查询语句语义向量之间的相似度,确定该候选文档与查询语句之间的相似度。
这里,上述电子设备可以计算该候选文档的第一候选文档语义向量与第一查询语句语义向量之间的相似度,并将计算所得的相似度确定为该候选文档与查询语句之间的相似度。作为示例,这里的相似度可以是余弦相似度(Cosine Similarity)、皮尔逊相关系数(Pearson Correlation Coefficient)、Jaccard系数等等。
经过步骤203,对于至少一个候选文档中的每个候选文档,都计算得到了该候选文档与查询语句之间的相似度。
步骤204,从至少一个候选文档中,按照与查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。
在本实施例中,上述电子设备可以根据步骤203计算所得的每个候选文档与查询语句的相似度,从至少一个候选文档中,按照与查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。继而,可以将上述搜索结果发送给发出包括上述查询语句的搜索请求的终端设备。
本申请的上述实施例提供的方法将候选文档和查询语句通过神经网络模型表示成语义向量,再根据候选文档语义向量与查询语句语义向量之间的相似度,对候选文档进行排序,提高了召回的搜索结果和用户输入的查询语句的相关度,满足用户的搜索需求。
进一步参考图3,其示出了基于人工智能的搜索方法的又一个实施例的流程300。该基于人工智能的搜索方法的流程300,包括以下步骤:
步骤301,获取与查询语句相关的至少一个候选文档。
步骤302,确定与查询语句的切分词序列对应的查询词向量序列,以及确定与至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列。
在本实施例中步骤301和步骤302的具体操作与图2所示的实施例中步骤201和步骤202的操作基本相同,在此不再赘述。
步骤303,对于至少一个候选文档中的每个候选文档,执行相似度计算步骤。
在本实施例中,基于人工智能的搜索方法运行于其上的电子设备上可以对于至少一个候选文档中的每个候选文档,执行相似度计算步骤。其中,相似度计算步骤可以包括如下子步骤3031到子步骤3034:
子步骤3031,将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量。
在本实施例中步骤3031具体操作与图2所示的实施例中步骤2031的操作基本相同,在此不再赘述。
子步骤3032,将该候选文档的候选文档词向量序列导入预先训练的第二神经网络模型,生成用于表征该候选文档的语义的第二候选文档语义向量。
这里,预先训练的第二神经网络模型可以是各种人工神经网络模型,本申请对此不做具体限定。作为示例,第二神经网络模型可以包括以下至少一项:卷积神经网络模型、循环神经网络模型和前向神经网络模型。第二神经网络模型是预先训练的用于表征词向量序列与词向量之间的对应关系的神经网络模型。
需要说明的是,可以以大量的文档的切分词向量序列为训练数据,训练初始的神经网络模型,从而得到训练好的第二神经网络模型。
可选地,这里,第二神经网络模型可以是相对于第一神经网络模型来说结构更为简单的神经网络模型。
子步骤3033,对于查询词向量序列中的每个查询词向量,执行第一更新步骤。
这里第一更新步骤可以包括:
第一,将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量。
这里,可以采用各种方式将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,本申请对此不做具体限定。
在一些实现方式中,可以对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成该查询词向量的调整后向量。
在一些实现方式中,还可以首先对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成第一向量,然后对上述第一向量进行非线性变换,以生成该查询词向量的调整后向量。作为示例,对第一向量进行非线性变换可以是以第一向量作为Sigmoid函数或者双曲正切函数(也叫Tanh函数)的输入参数,并将执行Sigmoid函数或者双曲正切函数(也叫Tanh函数)所得到的结果作为该查询词向量的调整后向量。
第二,用所生成的该查询词向量的调整后向量更新该查询词向量。
经过子步骤3033,对于查询词向量序列中的每个查询词向量都利用该候选文档的第二候选文档语义向量进行了更新,从而查询词向量序列中融合了候选文档的语义,在后续子步骤3034中,将查询词向量序列导入第一神经网络模型,并生成用于表征查询语句的语义的第一查询语句语义向量时,所导入的查询词向量序列已经融合了候选文档的语义,从而可以在子步骤3034中所得到的第一查询语句语义向量中融合了候选文档的语义,继而在子步骤3035中计算该候选文档的第一候选文档语义向量与第一查询语句语义向量之间的相似度时,不是孤立的计算两个向量之间的相似度,而是在一个向量中已经融合进另外一个向量的信息,可以提高两个向量之间的相似度计算的准确性。
子步骤3034,将查询词向量序列导入第一神经网络模型,生成用于表征查询语句的语义的第一查询语句语义向量。
子步骤3035,根据该候选文档的第一候选文档语义向量与第一查询语句语义向量之间的相似度,确定该候选文档与查询语句之间的相似度。
在本实施例中子步骤3034和子步骤3035的具体操作与图2所示的实施例中子步骤2032和子步骤2033的操作基本相同,在此不再赘述。
经过步骤303,对于至少一个候选文档中的每个候选文档,都计算得到了该候选文档与查询语句之间的相似度。
步骤304,从至少一个候选文档中,按照与查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。
在本实施例中步骤304的具体操作与图2所示的实施例中步骤204的操作基本相同,在此不再赘述。
从图3中可以看出,与图2对应的实施例相比,本实施例中的基于人工智能的搜索方法的流程300多出了对将候选文档的候选文档词向量序列导入预先训练的第二神经网络模型,生成用于表征候选文档的语义的第二候选文档语义向量,以及用所生成的候选文档的第二候选文档语义向量对查询词向量序列中的每个查询词向量进行更新的步骤。由此,本实施例描述的方案可以在查询词向量序列中引入候选文档的语义,从而提高候选文档与查询语句之间相似度计算的准确性,继而提高召回的搜索结果与用户输入的查询语句的相关度。
下面参考图4,其示出了基于人工智能的搜索方法的另一个实施例的流程400。该基于人工智能的搜索方法的流程400,包括以下步骤:
步骤401,获取与查询语句相关的至少一个候选文档。
步骤402,确定与查询语句的切分词序列对应的查询词向量序列,以及确定与至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列。
在本实施例中步骤401和步骤402的具体操作与图2所示的实施例中步骤201和步骤202的操作基本相同,在此不再赘述。
步骤403,将查询词向量序列导入预先训练的第三神经网络模型,生成用于表征查询语句的语义的第二查询语句语义向量。
这里,预先训练的第三神经网络模型可以是各种人工神经网络模型,本申请对此不做具体限定。作为示例,第三神经网络模型可以包括以下至少一项:卷积神经网络模型、循环神经网络模型和前向神经网络模型。第三神经网络模型是预先训练的用于表征词向量序列与词向量之间的对应关系的神经网络模型。
需要说明的是,可以以大量的查询语句的切分词向量序列为训练数据,训练初始的神经网络模型,从而得到训练好的第三神经网络模型。
可选地,这里,第三神经网络模型可以是相对于第一神经网络模型来说结构更为简单的神经网络模型。
步骤404,对于至少一个候选文档中的每个候选文档,执行相似度计算步骤。
在本实施例中,基于人工智能的搜索方法运行于其上的电子设备上可以对于至少一个候选文档中的每个候选文档,执行相似度计算步骤。其中,相似度计算步骤可以包括如下子步骤4041到子步骤4044:
子步骤4041,对于该候选文档的候选文档词向量序列中的每个候选文档词向量,执行第二更新步骤。
这里第二更新步骤可以包括:
第一,将第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量。
这里,可以采用各种方式将第二查询语句语义向量与该候选文档词向量进行拼接处理,本申请对此不做具体限定。
在一些实现方式中,可以对第二查询语句语义向量与该候选文档词向量进行线性变换,以生成该候选文档词向量的调整后向量。
在一些实现方式中,还可以对第二查询语句语义向量与该候选文档词向量进行线性变换,以生成第二向量,然后对上述第二向量进行非线性变换,以生成该候选文档词向量的调整后向量。作为示例,对第二向量进行非线性变换可以是以第二向量作为Sigmoid函数或者双曲正切函数(也叫Tanh函数)的输入参数,并将执行Sigmoid函数或者双曲正切函数(也叫Tanh函数)所得到的结果作为该候选文档词向量的调整后向量。
第二,用所生成的该候选文档词向量的调整后向量更新该候选文档词向量。
经过子步骤4041,对于该候选文档词向量序列中的每个候选文档词向量都利用查询语句的第二查询语句语义向量进行了更新,从而该候选文档词向量序列中融合了查询语句的语义,在后续子步骤4042中,将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,并生成用于表征该候选文档的语义的第一候选文档语义向量时,所导入的候选文档词向量序列已经融合了查询语句的语义,从而可以在子步骤4042中所得到的第一候选文档语句语义向量中融合查询语句的语义,继而在子步骤4044中计算该候选文档的第一候选文档语义向量与第一查询语句语义向量之间的相似度时,不是孤立的计算两个向量之间的相似度,而是在一个向量中已经融合进另外一个向量的信息,提高两个向量之间的相似度计算准确性。
子步骤4042,将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量。
子步骤4043,将查询词向量序列导入第一神经网络模型,生成用于表征查询语句的语义的第一查询语句语义向量。
子步骤4044,根据该候选文档的第一候选文档语义向量与第一查询语句语义向量之间的相似度,确定该候选文档与查询语句之间的相似度。
在本实施例中子步骤4042、子步骤4043和子步骤4044的具体操作与图2所示的实施例中子步骤2031、子步骤2032和子步骤2033的操作基本相同,在此不再赘述。
经过步骤404,对于至少一个候选文档中的每个候选文档,都计算得到了该候选文档与查询语句之间的相似度。
步骤405,从至少一个候选文档中,按照与查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。
在本实施例中步骤405的具体操作与图2所示的实施例中步骤204的操作基本相同,在此不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的基于人工智能的搜索方法的流程400多出了将查询词向量序列导入预先训练的第三神经网络模型,生成用于表征查询语句的语义的第二查询语句语义向量,以及用所生成的第二查询语句语义向量对每个候选文档词向量序列中的每个候选文档词向量进行更新的步骤。由此,本实施例描述的方案可以在候选文档词向量序列中引入查询语句的语义,从而提高候选文档与查询语句之间相似度计算的准确性,继而提高召回的搜索结果与用户输入的查询语句的相关度。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种基于人工智能的搜索装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的基于人工智能的搜索装置500包括:获取单元501、确定单元502、相似度计算单元503和选取单元504。其中,获取单元501,配置用于获取与查询语句相关的至少一个候选文档;确定单元502,配置用于确定与上述查询语句的切分词序列对应的查询词向量序列,以及确定与上述至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列;相似度计算单元503,配置用于对于上述至少一个候选文档中的每个候选文档,执行以下相似度计算步骤:将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量;将上述查询词向量序列导入上述第一神经网络模型,生成用于表征上述查询语句的语义的第一查询语句语义向量;根据该候选文档的第一候选文档语义向量与上述第一查询语句语义向量之间的相似度,确定该候选文档与上述查询语句之间的相似度;选取单元504,配置用于从上述至少一个候选文档中,按照与上述查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。
在本实施例中,基于人工智能的搜索装置500的获取单元501、确定单元502、相似度计算单元503和选取单元504的具体处理及其所带来的技术效果可分别参考图2对应实施例中步骤201、步骤202、步骤203和步骤204的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述相似度计算单元503可以进一步用于:将该候选文档的候选文档词向量序列导入预先训练的第二神经网络模型,生成用于表征该候选文档的语义的第二候选文档语义向量;对于上述查询词向量序列中的每个查询词向量,执行以下第一更新步骤:将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量;用所生成的该查询词向量的调整后向量更新该查询词向量。
在本实施例的一些可选的实现方式中,上述相似度计算单元503可以进一步用于:对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成该查询词向量的调整后向量。
在本实施例的一些可选的实现方式中,上述相似度计算单元503可以进一步用于:对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成第一向量;对上述第一向量进行非线性变换,以生成该查询词向量的调整后向量。
在本实施例的一些可选的实现方式中,上述装置500还可以包括:生成单元(未示出),配置用于将上述查询词向量序列导入预先训练的第三神经网络模型,生成用于表征上述查询语句的语义的第二查询语句语义向量;以及上述相似度计算单元503可以进一步用于:对于该候选文档的候选文档词向量序列中的每个候选文档词向量,执行以下第二更新步骤:将上述第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量;用所生成的该候选文档词向量的调整后向量更新该候选文档词向量。
在本实施例的一些可选的实现方式中,上述相似度计算单元503可以进一步用于:对上述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成该候选文档词向量的调整后向量。
在本实施例的一些可选的实现方式中,上述相似度计算单元503可以进一步用于:对上述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成第二向量;对上述第二向量进行非线性变换,以生成该候选文档词向量的调整后向量。
在本实施例的一些可选的实现方式中,上述确定单元502可以进一步用于:获取用于表征查询语句切分词与查询词向量的对应关系的第一词向量表;根据上述第一词向量表,确定与上述查询语句的切分词序列对应的查询词向量序列。
在本实施例的一些可选的实现方式中,上述确定单元502可以进一步用于:获取用于表征文档切分词与文档词向量的对应关系的第二词向量表;对于上述至少一个候选文档中的每个候选文档,根据上述第二词向量表,确定与该候选文档的切分词序列对应的候选文档词向量序列。
需要说明的是,本申请实施例提供的基于人工智能的搜索装置中各单元的实现细节和技术效果可以参考本申请中其它实施例的说明,在此不再赘述。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机***600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机***600包括中央处理单元(CPU,Central Processing Unit)601,其可以根据存储在只读存储器(ROM,Read Only Memory)602中的程序或者从存储部分606加载到随机访问存储器(RAM,Random Access Memory)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有***600操作所需的各种程序和数据。CPU 601、ROM602以及RAM 603通过总线604彼此相连。输入/输出(I/O,Input/Output)接口605也连接至总线604。
以下部件连接至I/O接口605:包括硬盘等的存储部分606;以及包括诸如LAN(局域网,Local Area Network)卡、调制解调器等的网络接口卡的通信部分607。通信部分607经由诸如因特网的网络执行通信处理。驱动器608也根据需要连接至I/O接口605。可拆卸介质609,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器608上,以便于从其上读出的计算机程序根据需要被安装入存储部分606。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分607从网络上被下载和安装,和/或从可拆卸介质609被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、确定单元、相似度计算单元和选取单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,选取单元还可以被描述为“选取候选文档的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取与查询语句相关的至少一个候选文档;确定与上述查询语句的切分词序列对应的查询词向量序列,以及确定与上述至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列;对于上述至少一个候选文档中的每个候选文档,执行以下相似度计算步骤:将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量;将上述查询词向量序列导入上述第一神经网络模型,生成用于表征上述查询语句的语义的第一查询语句语义向量;根据该候选文档的第一候选文档语义向量与上述第一查询语句语义向量之间的相似度,确定该候选文档与上述查询语句之间的相似度;从上述至少一个候选文档中,按照与上述查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (18)

1.一种基于人工智能的搜索方法,其特征在于,所述方法包括:
获取与查询语句相关的至少一个候选文档;
确定与所述查询语句的切分词序列对应的查询词向量序列,以及确定与所述至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列;
对于所述至少一个候选文档中的每个候选文档,执行以下相似度计算步骤:将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量;
将该候选文档的候选文档词向量序列导入预先训练的第二神经网络模型,生成用于表征该候选文档的语义的第二候选文档语义向量;
对于所述查询词向量序列中的每个查询词向量,执行以下第一更新步骤:将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量;用所生成的该查询词向量的调整后向量更新该查询词向量;
将所述查询词向量序列导入所述第一神经网络模型,生成用于表征所述查询语句的语义的第一查询语句语义向量;根据该候选文档的第一候选文档语义向量与所述第一查询语句语义向量之间的相似度,确定该候选文档与所述查询语句之间的相似度;
从所述至少一个候选文档中,按照与所述查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。
2.根据权利要求1所述的方法,其特征在于,所述将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量,包括:
对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成该查询词向量的调整后向量。
3.根据权利要求1所述的方法,其特征在于,所述将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量,包括:
对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成第一向量;
对所述第一向量进行非线性变换,以生成该查询词向量的调整后向量。
4.根据权利要求1所述的方法,其特征在于,所述对于所述至少一个候选文档中的每个候选文档,执行以下相似度计算步骤之前,所述方法还包括:
将所述查询词向量序列导入预先训练的第三神经网络模型,生成用于表征所述查询语句的语义的第二查询语句语义向量;以及
在所述将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量之前,所述相似度计算步骤还包括:
对于该候选文档的候选文档词向量序列中的每个候选文档词向量,执行以下第二更新步骤:将所述第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量;用所生成的该候选文档词向量的调整后向量更新该候选文档词向量。
5.根据权利要求4所述的方法,其特征在于,所述将所述第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量,包括:
对所述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成该候选文档词向量的调整后向量。
6.根据权利要求4所述的方法,其特征在于,所述将所述第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量,包括:
对所述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成第二向量;
对所述第二向量进行非线性变换,以生成该候选文档词向量的调整后向量。
7.根据权利要求1-6之一所述的方法,其特征在于,所述确定与所述查询语句的切分词序列对应的查询词向量序列,包括:
获取用于表征查询语句切分词与查询词向量的对应关系的第一词向量表;
根据所述第一词向量表,确定与所述查询语句的切分词序列对应的查询词向量序列。
8.根据权利要求7所述的方法,其特征在于,所述确定与所述至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列,包括:
获取用于表征文档切分词与文档词向量的对应关系的第二词向量表;
对于所述至少一个候选文档中的每个候选文档,根据所述第二词向量表,确定与该候选文档的切分词序列对应的候选文档词向量序列。
9.一种基于人工智能的搜索装置,其特征在于,所述装置包括:
获取单元,配置用于获取与查询语句相关的至少一个候选文档;
确定单元,配置用于确定与所述查询语句的切分词序列对应的查询词向量序列,以及确定与所述至少一个候选文档中的每个候选文档的切分词序列对应的候选文档词向量序列;
相似度计算单元,配置用于对于所述至少一个候选文档中的每个候选文档,执行以下相似度计算步骤:将该候选文档的候选文档词向量序列导入预先训练的第一神经网络模型,生成用于表征该候选文档的语义的第一候选文档语义向量;将该候选文档的候选文档词向量序列导入预先训练的第二神经网络模型,生成用于表征该候选文档的语义的第二候选文档语义向量;对于所述查询词向量序列中的每个查询词向量,执行以下第一更新步骤:将该候选文档的第二候选文档语义向量与该查询词向量进行拼接处理,以生成该查询词向量的调整后向量;用所生成的该查询词向量的调整后向量更新该查询词向量;将所述查询词向量序列导入所述第一神经网络模型,生成用于表征所述查询语句的语义的第一查询语句语义向量;根据该候选文档的第一候选文档语义向量与所述第一查询语句语义向量之间的相似度,确定该候选文档与所述查询语句之间的相似度;
选取单元,配置用于从所述至少一个候选文档中,按照与所述查询语句的相似度从大到小的顺序,选取预设数目个候选文档作为搜索结果。
10.根据权利要求9所述的装置,其特征在于,所述相似度计算单元进一步用于:
对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成该查询词向量的调整后向量。
11.根据权利要求9所述的装置,其特征在于,所述相似度计算单元进一步用于:
对该候选文档的第二候选文档语义向量和该查询词向量进行线性变换,以生成第一向量;
对所述第一向量进行非线性变换,以生成该查询词向量的调整后向量。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
生成单元,配置用于将所述查询词向量序列导入预先训练的第三神经网络模型,生成用于表征所述查询语句的语义的第二查询语句语义向量;以及
所述相似度计算单元进一步用于:
对于该候选文档的候选文档词向量序列中的每个候选文档词向量,执行以下第二更新步骤:将所述第二查询语句语义向量与该候选文档词向量进行拼接处理,以生成该候选文档词向量的调整后向量;用所生成的该候选文档词向量的调整后向量更新该候选文档词向量。
13.根据权利要求12所述的装置,其特征在于,所述相似度计算单元进一步用于:
对所述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成该候选文档词向量的调整后向量。
14.根据权利要求12所述的装置,其特征在于,所述相似度计算单元进一步用于:
对所述第二查询语句语义向量和该候选文档词向量进行线性变换,以生成第二向量;
对所述第二向量进行非线性变换,以生成该候选文档词向量的调整后向量。
15.根据权利要求9-14之一所述的装置,其特征在于,所述确定单元进一步用于:
获取用于表征查询语句切分词与查询词向量的对应关系的第一词向量表;
根据所述第一词向量表,确定与所述查询语句的切分词序列对应的查询词向量序列。
16.根据权利要求15所述的装置,其特征在于,所述确定单元进一步用于:
获取用于表征文档切分词与文档词向量的对应关系的第二词向量表;
对于所述至少一个候选文档中的每个候选文档,根据所述第二词向量表,确定与该候选文档的切分词序列对应的候选文档词向量序列。
17.一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN201710748919.2A 2017-08-28 2017-08-28 基于人工智能的搜索方法和装置 Active CN107491547B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710748919.2A CN107491547B (zh) 2017-08-28 2017-08-28 基于人工智能的搜索方法和装置
US16/054,842 US11151177B2 (en) 2017-08-28 2018-08-03 Search method and apparatus based on artificial intelligence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710748919.2A CN107491547B (zh) 2017-08-28 2017-08-28 基于人工智能的搜索方法和装置

Publications (2)

Publication Number Publication Date
CN107491547A CN107491547A (zh) 2017-12-19
CN107491547B true CN107491547B (zh) 2020-11-10

Family

ID=60646000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710748919.2A Active CN107491547B (zh) 2017-08-28 2017-08-28 基于人工智能的搜索方法和装置

Country Status (2)

Country Link
US (1) US11151177B2 (zh)
CN (1) CN107491547B (zh)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509408B (zh) * 2017-02-27 2019-11-22 芋头科技(杭州)有限公司 一种句子相似度判断方法
CN108170684B (zh) * 2018-01-22 2020-06-05 京东方科技集团股份有限公司 文本相似度计算方法及***、数据查询***和计算机产品
CN108549637A (zh) 2018-04-19 2018-09-18 京东方科技集团股份有限公司 基于拼音的语义识别方法、装置以及人机对话***
CN108804550B (zh) * 2018-05-21 2021-04-16 北京奇艺世纪科技有限公司 一种查询词拓展方法、装置以及电子设备
US10963627B2 (en) * 2018-06-11 2021-03-30 Adobe Inc. Automatically generating digital enterprise content variants
CN110851573A (zh) * 2018-07-27 2020-02-28 北京京东尚科信息技术有限公司 语句处理方法、***和电子设备
CN110968664A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 一种文书检索方法、装置、设备及介质
DE112019005976T5 (de) * 2018-11-30 2021-08-19 Semiconductor Energy Laboratory Co., Ltd. Verfahren zur Dokumentensuche, System zur Dokumentensuche, Programm und nicht-transitorisches, von einem Computer lesbares Speichermedium
CN109815482B (zh) * 2018-12-17 2023-05-23 北京百度网讯科技有限公司 一种新闻交互的方法、装置、设备和计算机存储介质
CN109815312B (zh) * 2018-12-27 2021-11-19 达闼科技(北京)有限公司 一种文档查询的方法、装置、计算设备及计算机存储介质
CN109753658B (zh) * 2018-12-29 2023-09-19 百度在线网络技术(北京)有限公司 交互方法和装置
US11397776B2 (en) 2019-01-31 2022-07-26 At&T Intellectual Property I, L.P. Systems and methods for automated information retrieval
CN111625619B (zh) * 2019-02-28 2024-03-01 北京沃东天骏信息技术有限公司 查询省略方法、装置、计算机可读介质及电子设备
US11151325B2 (en) * 2019-03-22 2021-10-19 Servicenow, Inc. Determining semantic similarity of texts based on sub-sections thereof
CN110083834B (zh) * 2019-04-24 2023-05-09 北京百度网讯科技有限公司 语义匹配模型训练方法、装置、电子设备及存储介质
CN111859079B (zh) * 2019-04-30 2023-08-15 中移(苏州)软件技术有限公司 信息搜索方法、装置、计算机设备及存储介质
CN110222271B (zh) * 2019-06-19 2022-03-15 北京百度网讯科技有限公司 用于生成网页的方法和装置
CN114270371A (zh) * 2019-08-30 2022-04-01 三星电子株式会社 用于将个性化人工智能模型应用于另一个模型的电子装置
CN112613320A (zh) * 2019-09-19 2021-04-06 北京国双科技有限公司 一种获取相似语句的方法、装置、存储介质及电子设备
CN112581938B (zh) * 2019-09-30 2024-04-09 华为技术有限公司 基于人工智能的语音断点检测方法、装置和设备
CN110866085A (zh) * 2019-11-04 2020-03-06 北京百分点信息科技有限公司 数据反馈方法与装置
KR20210061141A (ko) 2019-11-19 2021-05-27 삼성전자주식회사 자연어 처리 방법 및 장치
CN110928992B (zh) * 2019-11-21 2022-06-10 邝俊伟 文本搜索方法、装置、服务器及存储介质
CN110990533B (zh) * 2019-11-29 2023-08-25 支付宝(杭州)信息技术有限公司 确定查询文本所对应标准文本的方法及装置
CN111079442B (zh) 2019-12-20 2021-05-18 北京百度网讯科技有限公司 文档的向量化表示方法、装置和计算机设备
CN111078842A (zh) * 2019-12-31 2020-04-28 北京每日优鲜电子商务有限公司 查询结果的确定方法、装置、服务器及存储介质
CN111259113B (zh) * 2020-01-15 2023-09-19 腾讯科技(深圳)有限公司 文本匹配方法、装置、计算机可读存储介质和计算机设备
JP2023510791A (ja) * 2020-01-17 2023-03-15 エヌフェレンス,インコーポレイテッド 意味空間内のベクトル表示にタームをマッピングするためのシステム及び方法
CN111339261A (zh) * 2020-03-17 2020-06-26 北京香侬慧语科技有限责任公司 一种基于预训练模型的文档抽取方法及***
CN111382365B (zh) * 2020-03-19 2023-07-28 北京百度网讯科技有限公司 用于输出信息的方法和装置
CN113495984A (zh) * 2020-03-20 2021-10-12 华为技术有限公司 一种语句检索方法以及相关装置
CN111507267B (zh) * 2020-04-17 2023-05-26 北京百度网讯科技有限公司 文档朝向检测方法、装置、设备以及存储介质
CN111666461B (zh) * 2020-04-24 2023-05-26 百度在线网络技术(北京)有限公司 检索地理位置的方法、装置、设备和计算机存储介质
CN111666292B (zh) * 2020-04-24 2023-05-26 百度在线网络技术(北京)有限公司 用于检索地理位置的相似度模型建立方法和装置
CN111552780B (zh) * 2020-04-29 2023-09-29 微医云(杭州)控股有限公司 医用场景的搜索处理方法、装置、存储介质及电子设备
CN111523301B (zh) * 2020-06-05 2023-05-05 泰康保险集团股份有限公司 合同文档合规性检查方法及装置
CN111737571B (zh) * 2020-06-11 2024-01-30 北京字节跳动网络技术有限公司 搜索方法、装置和电子设备
CN111813930B (zh) * 2020-06-15 2024-02-20 语联网(武汉)信息技术有限公司 相似文档检索方法及装置
CN111444678B (zh) * 2020-06-16 2020-09-22 四川大学 一种基于机器阅读理解的起诉状信息抽取方法及***
CN111753167B (zh) * 2020-06-22 2024-01-12 北京百度网讯科技有限公司 搜索处理方法、装置、计算机设备和介质
CN111966869B (zh) * 2020-07-07 2024-05-24 北京三快在线科技有限公司 短语提取方法、装置、电子设备及存储介质
CN111966894A (zh) * 2020-08-05 2020-11-20 深圳市欢太科技有限公司 信息查询方法、装置、存储介质及电子设备
CN111914179B (zh) * 2020-08-19 2021-09-28 腾讯科技(深圳)有限公司 基于语义的模糊搜索方法和装置、存储介质及电子设备
CN112100326B (zh) * 2020-08-28 2023-04-18 广州探迹科技有限公司 一种抗干扰的融合检索和机器阅读理解的问答方法及***
CN112216359B (zh) * 2020-09-29 2024-03-26 百度国际科技(深圳)有限公司 医疗数据校验方法、装置及电子设备
CN112632406B (zh) * 2020-10-10 2024-04-09 咪咕文化科技有限公司 查询方法、装置、电子设备及存储介质
CN112307190B (zh) * 2020-10-31 2023-07-25 平安科技(深圳)有限公司 医学文献排序方法、装置、电子设备及存储介质
CN112347223B (zh) * 2020-11-03 2023-09-22 平安科技(深圳)有限公司 文档检索方法、设备及计算机可读存储介质
CN112364146A (zh) * 2020-11-27 2021-02-12 支付宝(杭州)信息技术有限公司 查询文档排序方法、装置及电子设备
CN112988952B (zh) * 2021-04-20 2021-08-24 北京智源人工智能研究院 一种多层级长文本向量检索方法、装置和电子设备
CN113837307A (zh) * 2021-09-29 2021-12-24 平安科技(深圳)有限公司 数据相似度计算方法、装置、可读介质及电子设备
KR20240048664A (ko) * 2022-10-07 2024-04-16 주식회사 포티투마루 문서 요약 방법 및 문서 요약 장치
CN116226350A (zh) * 2023-03-03 2023-06-06 北京优特捷信息技术有限公司 一种文档查询方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425687A (zh) * 2012-05-21 2013-12-04 阿里巴巴集团控股有限公司 一种基于关键词的检索方法和***
CN104239513A (zh) * 2014-09-16 2014-12-24 西安电子科技大学 一种面向领域数据的语义检索方法
CN106844647A (zh) * 2017-01-22 2017-06-13 南方科技大学 一种搜索关键词获取的方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1668541A1 (en) * 2003-09-30 2006-06-14 British Telecommunications Public Limited Company Information retrieval
WO2007119567A1 (ja) * 2006-03-31 2007-10-25 Justsystems Corporation 文書処理装置および文書処理方法
US10354182B2 (en) * 2015-10-29 2019-07-16 Microsoft Technology Licensing, Llc Identifying relevant content items using a deep-structured neural network
CN106815252B (zh) * 2015-12-01 2020-08-25 阿里巴巴集团控股有限公司 一种搜索方法和设备
CN106407280B (zh) * 2016-08-26 2020-02-14 合一网络技术(北京)有限公司 查询目标匹配方法及装置
CN106407311B (zh) * 2016-08-30 2020-07-24 北京百度网讯科技有限公司 获取搜索结果的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425687A (zh) * 2012-05-21 2013-12-04 阿里巴巴集团控股有限公司 一种基于关键词的检索方法和***
CN104239513A (zh) * 2014-09-16 2014-12-24 西安电子科技大学 一种面向领域数据的语义检索方法
CN106844647A (zh) * 2017-01-22 2017-06-13 南方科技大学 一种搜索关键词获取的方法及装置

Also Published As

Publication number Publication date
US11151177B2 (en) 2021-10-19
CN107491547A (zh) 2017-12-19
US20190065506A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
CN107491547B (zh) 基于人工智能的搜索方法和装置
CN107273503B (zh) 用于生成同语言平行文本的方法和装置
CN107679039B (zh) 用于确定语句意图的方法和装置
CN107491534B (zh) 信息处理方法和装置
US11501182B2 (en) Method and apparatus for generating model
US11288593B2 (en) Method, apparatus and device for extracting information
CN107066449B (zh) 信息推送方法和装置
CN107256267B (zh) 查询方法和装置
CN106960030B (zh) 基于人工智能的推送信息方法及装置
US20190005121A1 (en) Method and apparatus for pushing information
US10630798B2 (en) Artificial intelligence based method and apparatus for pushing news
CN109697239B (zh) 用于生成图文信息的方法
CN109543058B (zh) 用于检测图像的方法、电子设备和计算机可读介质
CN109635094B (zh) 用于生成答案的方法和装置
US10579655B2 (en) Method and apparatus for compressing topic model
CN107861954B (zh) 基于人工智能的信息输出方法和装置
CN108121699B (zh) 用于输出信息的方法和装置
CN111611452B (zh) 搜索文本的歧义识别方法、***、设备及存储介质
US11651015B2 (en) Method and apparatus for presenting information
CN110807311B (zh) 用于生成信息的方法和装置
CN108121814B (zh) 搜索结果排序模型生成方法和装置
CN113268560A (zh) 用于文本匹配的方法和装置
CN115269828A (zh) 用于生成评论回复的方法、设备和介质
CN112307738B (zh) 用于处理文本的方法和装置
CN108491387B (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