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

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

Info

Publication number
CN106407377B
CN106407377B CN201610817691.3A CN201610817691A CN106407377B CN 106407377 B CN106407377 B CN 106407377B CN 201610817691 A CN201610817691 A CN 201610817691A CN 106407377 B CN106407377 B CN 106407377B
Authority
CN
China
Prior art keywords
parameter
keyword
function
attribute
function name
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
CN201610817691.3A
Other languages
English (en)
Other versions
CN106407377A (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 CN201610817691.3A priority Critical patent/CN106407377B/zh
Publication of CN106407377A publication Critical patent/CN106407377A/zh
Application granted granted Critical
Publication of CN106407377B publication Critical patent/CN106407377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

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

Abstract

本申请公开了基于人工智能的搜索方法和装置。所述方法的一具体实施方式包括:接收终端发来的搜索请求,所述搜索请求包括搜索式;对所述搜索式进行切分,得到关键词集合;由所述关键词集合确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值;在预设结构化知识库的所述目标对象类型的表中查询所述条件属性关键词所指示的属性的取值与所述条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果;将所述搜索结果返回所述终端。该实施方式提高了搜索速度,减少了搜索服务器的负载,提供了富于针对性的搜索结果。

Description

基于人工智能的搜索方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及基于人工智能的搜索方法和装置。
背景技术
人工智能技术(Artificial Intelligence,简称AI)的快速发展为人们的日常工作和生活提供了便利。人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能越来越多地融入到搜索引擎技术中,结合人工智能的搜索引擎可以分析用户输入的搜索式,并将与搜索式匹配的内容反馈给用户。目前的搜索引擎的工作流程通常包括:用户使用终端输入搜索式向搜索服务器发出搜索请求,搜索服务器中的搜索引擎根据接收到的搜索请求对应的搜索式中的切分词进行倒排索引,找出与这些切分词相关性较高的文档,并将这些文档的地址链接及标题返回终端以呈现给用户,用户得到的是文档地址和标题的列表。
然而,现有搜索引擎技术给出的地址和标题的列表并不是用户希望找到的直接答案,为了得到答案,用户需要再次点击列表中的链接,增加了用户搜索的时间成本,同时增加了搜索服务器的负载。
发明内容
本申请的目的在于提出一种改进的基于人工智能的搜索方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种基于人工智能的搜索方法,所述方法包括:接收终端发来的搜索请求,所述搜索请求包括搜索式;对所述搜索式进行切分,得到关键词集合;由所述关键词集合确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值;在预设结构化知识库的所述目标对象类型的表中查询所述条件属性关键词所指示的属性的取值与所述条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果;将所述搜索结果返回所述终端。
第二方面,本申请提供了一种基于人工智能的搜索装置,所述装置包括:接收单元,配置用于接收终端发来的搜索请求,所述搜索请求包括搜索式;切分单元,配置用于对所述搜索式进行切分,得到关键词集合;确定单元,配置用于由所述关键词集合确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值;查询单元,配置用于在预设结构化知识库的所述目标对象类型的表中查询所述条件属性关键词所指示的属性的取值与所述条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果;返回单元,配置用于将所述搜索结果返回所述终端。
本申请提供的基于人工智能的搜索方法和装置,通过将终端发来的搜索请求对应的搜索式进行切分,得到关键词集合,再由关键词集合确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值,然后在预设结构化知识库的目标对象类型的表中查询条件属性关键词所指示的属性的取值与条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果,最后将搜索结果返回终端,提高了搜索速度,减少了搜索服务器的负载,提供了富于针对性的搜索结果。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的基于人工智能的搜索方法的一个实施例的流程图;
图3a-3b是根据本申请的基于人工智能的搜索方法的一个应用场景的示意图;
图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可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的搜索类应用提供支持的后台服务器。后台服务器可以对接收到的搜索请求等数据进行分析等处理,并将处理结果(例如搜索结果)反馈给终端设备。
需要说明的是,本申请实施例所提供的基于人工智能的搜索方法一般由服务器105执行,相应地,基于人工智能的搜索装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请的基于人工智能的搜索方法的一个实施例的流程200。所述的基于人工智能的搜索方法,包括以下步骤:
步骤201,接收终端发来的搜索请求。
在本实施例中,基于人工智能的搜索方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户利用其进行搜索的终端接收搜索请求,其中,搜索请求包括搜索式,即用户使用终端输入的字符串。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,对搜索式进行切分,得到关键词集合。
在本实施例中,基于步骤201中得到的搜索式,上述电子设备(例如图1所示的服务器)可以利用各种切分方法对上述搜索式进行切分,从而得到关键词集合。
在本实施例的一些可选的实现方式中,对上述搜索式进行切分的方法可以是字符串匹配切分方法。例如,将上述搜索式与一个预设的机器词典中的词条进行匹配,若在上述机器词典中找到某个字符串,则匹配成功(识别出一个关键词)。按照扫描方向的不同,串匹配切分方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;常用的字符串匹配切分方法包括:正向最大匹配法(由左到右的方向)、逆向最大匹配法(由右到左的方向)、最少切分(使每一句中切出的词数最小)以及双向最大匹配法(进行由左到右、由右到左两次扫描)。
在本实施例的一些可选的实现方式中,对上述搜索式进行切分的方法也可以是理解切分方法。理解法可以在切分的同时进行句法分析和语义分析,利用句法信息和语义信息来处理歧义现象。
在本实施例的一些可选的实现方式中,对上述搜索式进行切分的方法还可以是统计机器学习的方法。利用预先使用大量已经切分的文本训练好的统计机器学习模型,实现对上述搜索式的切分。
可以理解的是,还可以将上述各种切分方法相互组合来对上述搜索式进行切分。
需要说明的是,上述各种切分方法是目前广泛研究和应用的公知技术,在此不再赘述。
在本实施例的一些可选的实现方式中,上述电子设备还可以在对上述搜索式进行切分后,去掉其中的无用词,从而得到最终的关键词集合。作为示例,无用词可以是:“呢”,“吗”,“怎么样”,“了”,“嗯”,“啊”,“哦”等等。
作为示例,用户使用终端输入了搜索式“人大附近有好吃的面馆吗?”,对上述搜索式进行切分后得到关键词集合“人大面馆”。
步骤203,由关键词集合确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值。
在本实施例中,上述电子设备可以采用各种方法由关键词集合确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值。作为示例,可以根据预设的关键词与对象类型的对应关系、预设的关键词与待查询属性关键词的对应关系以及预设的关键词与条件属性关键词的对应关系,由上述关键词集合确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值。
例如,可以由关键词集合“人大面馆”,确定“餐馆”为待查询的目标对象类型、“餐馆名字”为待查询属性关键词、“餐馆类型”为条件属性关键词且其对应条件属性取值为“面馆”以及“餐馆位置”为另一条件属性关键词且其对应的条件属性取值为“人大”。
步骤204,在预设结构化知识库的目标对象类型的表中查询条件属性关键词所指示的属性的取值与条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果。
在本实施例中,基于步骤203所确定的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值,上述电子设备可以在预设结构化知识库的目标对象类型的表中查询条件属性关键词所指示的属性的取值与条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果。
作为示例,步骤203中所确定的“餐馆”为待查询的目标对象类型、“餐馆名字”为待查询属性关键词、“餐馆类型”为条件属性关键词且其对应条件属性取值为“面馆”以及“餐馆位置”为另一条件属性关键词且其对应的条件属性取值为“人大”,在预设的结构化知识库的“餐馆”的表中查找符合“餐馆类型”取值为“面馆”以及“餐馆位置”取值为“人大”的对象中“餐馆名字”属性的值,并将所查找到的值作为搜索结果,例如搜索结果可以是“A面馆”、“B面馆”等。
在本实施例中,预设的结构化知识库可以存储在上述电子设备本地,这样,上述电子设备可以本地查询并得到搜索结果;预设的结构化知识库也可以存储在与上述电子设备相连的其他电子设备上,这样,上述电子设备可以将目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值发送到预设的结构化知识库所在的电子设备,预设的结构化知识库所在的电子设备随后在目标对象类型的表中查询条件属性关键词所指示的属性的取值与条件属性取值相同的对象的待查询属性关键词所指示的属性的取值并将上述取值返回给上述电子设备,这样上述电子设备可以接收上述取值并将上述取值作为搜索结果。
在本实施例的一些可选的实现方式中,预设的结构化知识库中存储了结构化数据,结构化数据包括至少一个属性及相应的属性值。这里需要说明的是,结构化数据的至少一个属性中可以有一个属性为主属性(或称作主键),不同的结构化数据在该属性下的属性值不能重复。例如,对于“餐馆”的结构化数据可以包括主键“餐馆名字”,属性“餐馆类型”和属性“餐馆位置”等,其中主键“餐馆名字”下的属性值不能重复。
步骤205,将搜索结果返回终端。
在本实施例中,上述电子设备可以将步骤204中得到的搜索结果返回终端,以供终端的用户浏览。
继续参见图3a-3b,图3a-3b是根据本实施例的基于人工智能的搜索方法的应用场景的一个示意图。在图3a的应用场景中,用户首先输入了“北京明天什么天气”的搜索式,并点击搜索按钮提交搜索;之后,搜索服务器可以后台获取上述搜索式,并进行切分后得到关键词集合“北京明天天气”;然后,搜索服务器根据上述关键词集合,得出目标对象类型“天气”、待查询属性关键词“天气”、条件属性关键词“地点”和条件属性取值“北京”,以及另一条件属性关键词“时间”和条件属性取值“明天”;接着,搜索服务器可以在预设结构化知识库的“天气”表中查询“地点”属性的取值为“北京”以及“时间”属性的取值为“明天”的对象的天气属性的值,得到结果“多云转阴有小雨”;最后,搜索服务器将上述“多云转阴有小雨”的搜索结果发送给终端。如图3b所示,用户可以在终端上直接看到搜索结果“多云转阴有小雨”,而不用在传统搜索引擎所提供的地址列表中再次点击来获得搜索结果。
本申请的上述实施例提供的方法通过将用户使用终端输入的搜索式转换成在结构化知识库中进行查询的查询条件,并将查询得到的属性值作为搜索结果返回终端,提高了搜索速度,减少了服务器的负载,提供了富于针对性的搜索结果。
进一步参考图4,其示出了基于人工智能的搜索方法的又一个实施例的流程400。该人工智能的搜索方法的流程400,包括以下步骤:
步骤401,接收终端发来的搜索请求。
在本实施例中,基于人工智能的搜索方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户利用其进行搜索的终端接收搜索请求,其中,搜索请求包括搜索式,即用户使用终端输入的字符串。
步骤402,对搜索式进行切分,得到关键词集合。
在本实施例中,基于步骤401中得到的搜索式,上述电子设备(例如图1所示的服务器)可以利用各种切分方法对上述搜索式进行切分,从而得到关键词集合。
步骤403,根据预设的关键词与函数名的对应关系、预设的关键词与参数类型的对应关系以及预设的函数名与形参集合的对应关系,利用关键词集合中的关键词生成目标函数表达式。
在本实施例的一些可选的实现方式中,可以首先根据预设的关键词与函数名的对应关系、预设的关键词与参数类型的对应关系以及预设的函数名与形参集合的对应关系,利用关键词集合中的关键词生成至少一个函数表达式,并将至少一个函数表达式中各个函数表达式的函数名对应的关键词和形参集合中的各个形参的参数类型对应的关键词作为该函数表达式所覆盖的关键词集合;然后,对至少一个函数表达式中的每个函数表达式,计算该函数表达式所覆盖关键词集合中的关键词的数量与关键词集合中的关键词数量的比值作为该函数表达式的覆盖率,并分别根据预设的函数名与参数类型之间的概率值、预设的关键词与函数名之间的概率值、预设的关键词与参数类型之间的概率值,确定该函数表达式的函数名和形参集合的之间的概率值作为第一概率值,确定该函数表达式的函数名对应的关键词与该函数表达式的函数名之间的概率值作为第二概率值,以及确定该函数表达式的形参集合中的各个形参的参数类型对应的关键词与该形参的参数类型之间的概率值作为第三概率值集合,并根据计算所得的该函数表达式的覆盖率、第一概率值、第二概率值以及第三概率值集合计算该函数表达式的总概率值;最后,在至少一个函数表达式中选取总概率值最高的函数表达式作为目标函数表达式。
上述预设的关键词与函数名的对应关系、预设的关键词与参数类型的对应关系以及预设的函数名与形参集合的对应关系可以分别从以文本或者表格形式或是其他形式存储在搜索服务器的不同文件中获取。作为示例,关键词“老婆”、“妻子”、“夫人”可以对应函数名“F->Wife”,关键词“餐馆”、“饭店”、“快餐店”、“面馆”可以对应函数名“F->RestaurantName”,关键词“北京”、“上海”、“海淀区”可以对应参数类型“Location”,关键词“刘德华”、“张学友”、“成龙”可以对应参数类型“PersonName”,关键词“今天”、“上午”、“周六”可以对应参数类型“Time”,函数名“F->Wife”对应的形参集合可以只有“Person”这一个形参,而函数名“F->RestaurantName”对应的形参集合可以包括参数类型为“Location”的第一个形参和参数类型为“RestaurantType”的第二个形参。
上述预设的函数名与参数类型之间的概率值、预设的关键词与函数名之间的概率值、预设的关键词与参数类型之间的概率值可以分别从预先经过大量数据统计得到的以文本或表格或其他形式存储在搜索服务器的不同文件中获取。作为示例,可以预先分别统计大量用户使用关键词“老婆”、“妻子”、“夫人”表达“老婆/妻子/夫人”的次数,并计算总数,然后再分别用关键词“老婆”、“妻子”、“夫人”对应的次数除以总数所得的数值作为关键词“老婆”、“妻子”、“夫人”与函数名“F->Wife”之间的概率值。
在本实施例的一些可选的实现方式中,根据预设的关键词与函数名的对应关系、预设的关键词与参数类型的对应关系以及预设的函数名与形参集合的对应关系,利用关键词集合中的关键词生成至少一个函数表达式,可以包括如下步骤:对关键词集合中的每个关键词,根据预设的关键词与函数名的对应关系,查找与该关键词对应的函数名,如果找到,则:将与该关键词对应的函数名作为第一函数名,根据预设的函数名与形参集合的对应关系以及预设的关键词与参数类型的对应关系,将关键词集合中除该关键词以外的其他关键词与第一函数名对应的形参集合匹配,如果匹配成功,则形成与该关键词对应的函数表达式,与该关键词对应的函数表达式以第一函数名为函数名,以第一函数名对应的形参集合中的各个形参的参数类型、参数顺序以及关键词集合中除该关键词以外的其他关键词中与该形参的参数类型对应的关键词分别作为实参集合的各个实参的参数类型、参数顺序和参数取值。
在本实施例的一些可选的实现方式中,上述将关键词集合中除该关键词以外的其他关键词与第一函数名对应的形参集合匹配,可以包括如下步骤:可以对第一函数名对应的形参集合中的各个形参,如果在关键词集合中除该关键词以外的其他关键词中都能找到与该形参的参数类型对应的关键词,则生成匹配成功的消息。
步骤404,根据预设的函数名与对象类型的对应关系,将与目标函数表达式的函数名对应的对象类型作为待查询的目标对象类型。
在本实施例中,预设的函数名与对象类型的对应关系可以从以文本或者表格形式或是其他形式存储在搜索服务器的文件中获取。作为示例,函数名“F->Wife”对应的对象类型可以是“Person”。函数名“F->RestaurantName”对应的对象类型可以是“Restaurant”。
步骤405,根据预设的函数名与属性关键词的对应关系,将与目标函数表达式的函数名对应的属性关键词作为待查询属性关键词。
在本实施例中,预设的函数名与属性关键词的对应关系可以从以文本或者表格形式或是其他形式存储在搜索服务器的文件中获取。作为示例,函数名“F->Wife”对应的属性关键词可以是“Person_Wife”。函数名“F->RestaurantName”对应的属性关键词可以是“Restaurant_Name”。
步骤406,根据预设的参数类型与属性关键词的对应关系,对目标函数表达式的实参集合中各个实参,分别将与该实参的参数类型对应的属性关键词和该实参的参数取值作为与该实参对应的条件属性关键词和条件属性值。
在本实施例中,预设的参数类型与属性关键词的对应关系可以从以文本或者表格形式或是其他形式存储在搜索服务器的文件中获取。作为示例,参数类型“PersonName”对应的属性关键词可以是“Person_Name”,参数类型“RestaurantType”对应的属性关键词可以是“Restaurant_Type”,参数类型“RestaurantLocation”对应的属性关键词可以是“Restaurant_Location”。
例如,对目标函数表达式“F->Wife(PersonName=’刘德华’)”,其中函数名为“F->Wife”,实参包括一个参数类型为“PersonName”、参数取值为“刘德华”的实参,步骤404中确定目标对象类型是“Person”,步骤405中确定待查询属性关键词为“Person_Wife”,此步骤再进一步确定条件属性关键词“Person_Name”和条件属性值“刘德华”。
又例如,对于目标函数表达式“F->RestaurantName(Location=’人大’,RestaurantType=’面馆’)”,其中函数名为“F->RestaurantName”,实参包括一个参数类型为“Location”、参数取值为“人大”的实参以及一个参数类型为“RestaurantType”、参数取值为“面馆”的实参。步骤404中确定目标对象类型是“Restaurant”,步骤405中确定待查询属性关键词为“Restaurant_Name”,此步骤再进一步确定条件属性关键词“Restaurant_Location”和条件属性值“人大”,另一条件属性关键词“Restaurant_Type”和条件属性值“面馆”。
步骤407,在预设结构化知识库的目标对象类型的表中查询条件属性关键词所指示的属性的取值与条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果。
在本实施例中,基于步骤406所确定的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值,上述电子设备可以在预设结构化知识库的目标对象类型的表中查询条件属性关键词所指示的属性的取值与条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果。
步骤408,将搜索结果返回终端。
需要说明的是,本实施例中所述的函数表达式可以嵌套,即,函数表达式的实参集合中的实参的参数取值可以是另外一个函数表达式的返回值。作为示例,对用户输入“刘德华妻子的年龄”,可以形成目标函数表达式“F->Age(PersonName=F->Wife(PersonName=’刘德华’))”。由此,基于函数表达式的表示方式可以实现复杂的搜索请求。
从图4中可以看出,与图2对应的实施例相比,本实施例中的基于人工智能的搜索方法的流程400突出了引入函数表达式来确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值的步骤。由此,本实施例描述的方案可以利用函数表达式来描述搜索请求,并进一步利用函数表达式的嵌套功能来描述复杂搜索请求,从而实现满足用户的复杂的搜索需求。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种基于人工智能的搜索装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的基于人工智能的搜索装置500包括:接收单元501、切分单元502、确定单元503、查询单元504和返回单元505。其中,接收单元501,配置用于接收终端发来的搜索请求,上述搜索请求包括搜索式;切分单元502,配置用于对上述搜索式进行切分,得到关键词集合;确定单元503,配置用于由上述关键词集合确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值;查询单元504,配置用于在预设结构化知识库的上述目标对象类型的表中查询上述条件属性关键词所指示的属性的取值与上述条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果;返回单元505,配置用于将上述搜索结果返回上述终端。
在本实施例中,基于人工智能的搜索装置500的接收单元501、切分单元502、确定单元503、查询单元504和返回单元505的具体处理及其所带来的技术效果可分别参考图2应实施例中步骤201、步骤202、步骤203、步骤204和步骤205的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述确定单元503可以包括:目标函数表达式生成模块5031,配置用于根据预设的关键词与函数名的对应关系、预设的关键词与参数类型的对应关系以及预设的函数名与形参集合的对应关系,上述形参包括参数类型和参数顺序,利用上述关键词集合中的关键词生成目标函数表达式,上述目标函数表达式包括:函数名和实参集合,上述实参包括:参数类型、参数顺序和参数取值;目标对象类型生成模块5032,配置用于根据预设的函数名与对象类型的对应关系,将与上述目标函数表达式的函数名对应的对象类型作为待查询的目标对象类型;待查询属性关键词生成模块5033,配置用于根据预设的函数名与属性关键词的对应关系,将与上述目标函数表达式的函数名对应的属性关键词作为待查询属性关键词;条件属性关键词和条件属性值生成模块5034,配置用于根据预设的参数类型与属性关键词的对应关系,对上述目标函数表达式的实参集合中各个实参,分别将与该实参的参数类型对应的属性关键词和该实参的参数取值作为与该实参对应的条件属性关键词和条件属性值。
在本实施例的一些可选的实现方式中,上述目标函数表达式生成模块5031可以包括:函数表达式生成子模块50311,配置用于根据上述预设的关键词与函数名的对应关系、上述预设的关键词与参数类型的对应关系以及上述预设的函数名与形参集合的对应关系,利用上述关键词集合中的关键词生成至少一个函数表达式,并将上述至少一个函数表达式中各个函数表达式的函数名对应的关键词和形参集合中的各个形参的参数类型对应的关键词作为该函数表达式所覆盖的关键词集合;总概率值计算子模块50312,配置用于对上述至少一个函数表达式中的每个函数表达式,计算该函数表达式所覆盖关键词集合中的关键词的数量与上述关键词集合中的关键词数量的比值作为该函数表达式的覆盖率,并分别根据预设的函数名与参数类型之间的概率值、预设的关键词与函数名之间的概率值、预设的关键词与参数类型之间的概率值,确定该函数表达式的函数名和形参集合的之间的概率值作为第一概率值,确定该函数表达式的函数名对应的关键词与该函数表达式的函数名之间的概率值作为第二概率值,以及确定该函数表达式的形参集合中的各个形参的参数类型对应的关键词与该形参的参数类型之间的概率值作为第三概率值集合,并根据计算所得的该函数表达式的覆盖率、第一概率值、第二概率值以及第三概率值集合计算该函数表达式的总概率值;选取子模块50313,配置用于在上述至少一个函数表达式中选取总概率值最高的函数表达式作为目标函数表达式。
在本实施例的一些可选的实现方式中,上述函数表达式生成子模块50311可以进一步配置用于:对上述关键词集合中的每个关键词,根据上述预设的关键词与函数名的对应关系,查找与该关键词对应的函数名,如果找到,则:将与该关键词对应的函数名作为第一函数名,根据上述预设的函数名与形参集合的对应关系以及上述预设的关键词与参数类型的对应关系,将上述关键词集合中除该关键词以外的其他关键词与上述第一函数名对应的形参集合匹配,如果匹配成功,则形成与该关键词对应的函数表达式,上述与该关键词对应的函数表达式以上述第一函数名为函数名,以上述第一函数名对应的形参集合中的各个形参的参数类型、参数顺序以及上述关键词集合中除该关键词以外的其他关键词中与该形参的参数类型对应的关键词分别作为实参集合的各个实参的参数类型、参数顺序和参数取值。
在本实施例的一些可选的实现方式中,上述函数表达式生成子模块50311还可以进一步配置用于:对上述第一函数名对应的形参集合中的各个形参,如果在上述关键词集合中除该关键词以外的其他关键词中都能找到与该形参的参数类型对应的关键词,则生成匹配成功的结果。
在本实施例的一些可选的实现方式中,上述预设的结构化知识库中存储了结构化数据,上述结构化数据包括至少一个属性及相应的属性值。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、切分单元、确定单元、查询单元和返回单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收搜索请求的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收终端发来的搜索请求,上述搜索请求包括搜索式;对上述搜索式进行切分,得到关键词集合;由上述关键词集合确定待查询的目标对象类型、待查询属性关键词、条件属性关键词和条件属性取值;在预设结构化知识库的上述目标对象类型的表中查询上述条件属性关键词所指示的属性的取值与上述条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果;将上述搜索结果返回上述终端。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (8)

1.一种基于人工智能的搜索方法,其特征在于,所述方法包括:
接收终端发来的搜索请求,所述搜索请求包括搜索式;
对所述搜索式进行切分,得到关键词集合;
根据预设的关键词与函数名的对应关系、预设的关键词与参数类型的对应关系以及预设的函数名与形参集合的对应关系,利用所述关键词集合中的关键词生成至少一个函数表达式,并将所述至少一个函数表达式中各个函数表达式的函数名对应的关键词和形参集合中的各个形参的参数类型对应的关键词作为该函数表达式所覆盖的关键词集合,其中,所述函数表达式包括:函数名和实参集合,所述实参包括:参数类型、参数顺序和参数取值;
对所述至少一个函数表达式中的每个函数表达式,计算该函数表达式所覆盖关键词集合中的关键词的数量与所述关键词集合中的关键词数量的比值作为该函数表达式的覆盖率,并分别根据预设的函数名与参数类型之间的概率值、预设的关键词与函数名之间的概率值、预设的关键词与参数类型之间的概率值,确定该函数表达式的函数名和形参集合的之间的概率值作为第一概率值,确定该函数表达式的函数名对应的关键词与该函数表达式的函数名之间的概率值作为第二概率值,以及确定该函数表达式的形参集合中的各个形参的参数类型对应的关键词与该形参的参数类型之间的概率值作为第三概率值集合,并根据计算所得的该函数表达式的覆盖率、第一概率值、第二概率值以及第三概率值集合计算该函数表达式的总概率值;
在所述至少一个函数表达式中选取总概率值最高的函数表达式作为目标函数表达式;
根据预设的函数名与对象类型的对应关系,将与所述目标函数表达式的函数名对应的对象类型作为待查询的目标对象类型;
根据预设的函数名与属性关键词的对应关系,将与所述目标函数表达式的函数名对应的属性关键词作为待查询属性关键词;
根据预设的参数类型与属性关键词的对应关系,对所述目标函数表达式的实参集合中各个实参,分别将与该实参的参数类型对应的属性关键词和该实参的参数取值作为与该实参对应的条件属性关键词和条件属性值;
在预设结构化知识库的所述目标对象类型的表中查询所述条件属性关键词所指示的属性的取值与所述条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果;
将所述搜索结果返回所述终端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述预设的关键词与函数名的对应关系、所述预设的关键词与参数类型的对应关系以及所述预设的函数名与形参集合的对应关系,利用所述关键词集合中的关键词生成至少一个函数表达式,包括:
对所述关键词集合中的每个关键词,根据所述预设的关键词与函数名的对应关系,查找与该关键词对应的函数名,如果找到,则:将与该关键词对应的函数名作为第一函数名,根据所述预设的函数名与形参集合的对应关系以及所述预设的关键词与参数类型的对应关系,将所述关键词集合中除该关键词以外的其他关键词与所述第一函数名对应的形参集合匹配,如果匹配成功,则形成与该关键词对应的函数表达式,所述与该关键词对应的函数表达式以所述第一函数名为函数名,以所述第一函数名对应的形参集合中的各个形参的参数类型、参数顺序以及所述关键词集合中除该关键词以外的其他关键词中与该形参的参数类型对应的关键词分别作为实参集合的各个实参的参数类型、参数顺序和参数取值。
3.根据权利要求2所述的方法,其特征在于,所述将所述关键词集合中除该关键词以外的其他关键词与所述第一函数名对应的形参集合匹配,包括:
对所述第一函数名对应的形参集合中的各个形参,如果在所述关键词集合中除该关键词以外的其他关键词中都能找到与该形参的参数类型对应的关键词,则生成匹配成功的消息。
4.根据权利要求1所述的方法,其特征在于,所述预设的结构化知识库中存储了结构化数据,所述结构化数据包括至少一个属性及相应的属性值。
5.一种基于人工智能的搜索装置,其特征在于,所述装置包括:
接收单元,配置用于接收终端发来的搜索请求,所述搜索请求包括搜索式;
切分单元,配置用于对所述搜索式进行切分,得到关键词集合;
确定单元,配置用于根据预设的关键词与函数名的对应关系、预设的关键词与参数类型的对应关系以及预设的函数名与形参集合的对应关系,利用所述关键词集合中的关键词生成至少一个函数表达式,并将所述至少一个函数表达式中各个函数表达式的函数名对应的关键词和形参集合中的各个形参的参数类型对应的关键词作为该函数表达式所覆盖的关键词集合,其中,所述函数表达式包括:函数名和实参集合,所述实参包括:参数类型、参数顺序和参数取值;对所述至少一个函数表达式中的每个函数表达式,计算该函数表达式所覆盖关键词集合中的关键词的数量与所述关键词集合中的关键词数量的比值作为该函数表达式的覆盖率,并分别根据预设的函数名与参数类型之间的概率值、预设的关键词与函数名之间的概率值、预设的关键词与参数类型之间的概率值,确定该函数表达式的函数名和形参集合的之间的概率值作为第一概率值,确定该函数表达式的函数名对应的关键词与该函数表达式的函数名之间的概率值作为第二概率值,以及确定该函数表达式的形参集合中的各个形参的参数类型对应的关键词与该形参的参数类型之间的概率值作为第三概率值集合,并根据计算所得的该函数表达式的覆盖率、第一概率值、第二概率值以及第三概率值集合计算该函数表达式的总概率值;在所述至少一个函数表达式中选取总概率值最高的函数表达式作为目标函数表达式;根据预设的函数名与对象类型的对应关系,将与所述目标函数表达式的函数名对应的对象类型作为待查询的目标对象类型;根据预设的函数名与属性关键词的对应关系,将与所述目标函数表达式的函数名对应的属性关键词作为待查询属性关键词;根据预设的参数类型与属性关键词的对应关系,对所述目标函数表达式的实参集合中各个实参,分别将与该实参的参数类型对应的属性关键词和该实参的参数取值作为与该实参对应的条件属性关键词和条件属性值;
查询单元,配置用于在预设结构化知识库的所述目标对象类型的表中查询所述条件属性关键词所指示的属性的取值与所述条件属性取值相同的对象的待查询属性关键词所指示的属性的取值,作为搜索结果;
返回单元,配置用于将所述搜索结果返回所述终端。
6.根据权利要求5所述的装置,其特征在于,所述函数表达式生成子模块进一步配置用于:
对所述关键词集合中的每个关键词,根据所述预设的关键词与函数名的对应关系,查找与该关键词对应的函数名,如果找到,则:将与该关键词对应的函数名作为第一函数名,根据所述预设的函数名与形参集合的对应关系以及所述预设的关键词与参数类型的对应关系,将所述关键词集合中除该关键词以外的其他关键词与所述第一函数名对应的形参集合匹配,如果匹配成功,则形成与该关键词对应的函数表达式,所述与该关键词对应的函数表达式以所述第一函数名为函数名,以所述第一函数名对应的形参集合中的各个形参的参数类型、参数顺序以及所述关键词集合中除该关键词以外的其他关键词中与该形参的参数类型对应的关键词分别作为实参集合的各个实参的参数类型、参数顺序和参数取值。
7.根据权利要求6所述的装置,其特征在于,所述函数表达式生成子模块进一步配置用于:
对所述第一函数名对应的形参集合中的各个形参,如果在所述关键词集合中除该关键词以外的其他关键词中都能找到与该形参的参数类型对应的关键词,则生成匹配成功的消息。
8.根据权利要求5所述的装置,其特征在于,所述预设的结构化知识库中存储了结构化数据,所述结构化数据包括至少一个属性及相应的属性值。
CN201610817691.3A 2016-09-12 2016-09-12 基于人工智能的搜索方法和装置 Active CN106407377B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610817691.3A CN106407377B (zh) 2016-09-12 2016-09-12 基于人工智能的搜索方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610817691.3A CN106407377B (zh) 2016-09-12 2016-09-12 基于人工智能的搜索方法和装置

Publications (2)

Publication Number Publication Date
CN106407377A CN106407377A (zh) 2017-02-15
CN106407377B true CN106407377B (zh) 2020-03-03

Family

ID=57999263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610817691.3A Active CN106407377B (zh) 2016-09-12 2016-09-12 基于人工智能的搜索方法和装置

Country Status (1)

Country Link
CN (1) CN106407377B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545035A (zh) * 2017-07-25 2018-01-05 无锡天脉聚源传媒科技有限公司 一种信息搜索方法及装置
CN107818023B (zh) * 2017-11-06 2021-06-15 深圳市雷鸟网络传媒有限公司 基于线程的消息处理方法、智能设备及存储介质
CN109947908B (zh) * 2017-11-22 2024-07-02 中科南京软件技术研究院 机器人知识库的建设方法及建设系统
CN107798123B (zh) * 2017-11-10 2022-01-11 上海智臻智能网络科技股份有限公司 知识库及其建立、修改、智能问答方法、装置及设备
CN108984600B (zh) * 2018-06-04 2020-03-03 百度在线网络技术(北京)有限公司 交互处理方法、装置、计算机设备及可读介质
CN109582869B (zh) * 2018-11-29 2022-09-30 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
CN110516157B (zh) * 2019-08-30 2022-04-01 盈盛智创科技(广州)有限公司 一种文献检索方法、设备和存储介质
CN111159381B (zh) * 2019-12-31 2023-05-26 中国银行股份有限公司 数据搜索方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2270683A1 (en) * 2009-07-01 2011-01-05 Universita' degli studi di Brescia Procedure for searching of data or a group of data in a database
CN102866990A (zh) * 2012-08-20 2013-01-09 北京搜狗信息服务有限公司 一种主题对话方法和装置
CN103186633A (zh) * 2011-12-31 2013-07-03 北京百度网讯科技有限公司 一种结构化信息抽取方法、搜索方法和装置
CN103377186A (zh) * 2012-04-26 2013-10-30 富士通株式会社 基于命名实体识别的Web服务整合装置、方法以及设备
CN103425714A (zh) * 2012-05-25 2013-12-04 北京搜狗信息服务有限公司 一种搜索方法和系统
CN103823893A (zh) * 2014-03-11 2014-05-28 北京大学 一种基于用户评论的产品检索方法及产品检索系统
CN104899285A (zh) * 2015-06-04 2015-09-09 百度在线网络技术(北京)有限公司 搜索结果展示方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090299978A1 (en) * 2008-05-28 2009-12-03 Alexander Farfurnik Systems and methods for keyword and dynamic url search engine optimization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2270683A1 (en) * 2009-07-01 2011-01-05 Universita' degli studi di Brescia Procedure for searching of data or a group of data in a database
CN103186633A (zh) * 2011-12-31 2013-07-03 北京百度网讯科技有限公司 一种结构化信息抽取方法、搜索方法和装置
CN103377186A (zh) * 2012-04-26 2013-10-30 富士通株式会社 基于命名实体识别的Web服务整合装置、方法以及设备
CN103425714A (zh) * 2012-05-25 2013-12-04 北京搜狗信息服务有限公司 一种搜索方法和系统
CN102866990A (zh) * 2012-08-20 2013-01-09 北京搜狗信息服务有限公司 一种主题对话方法和装置
CN103823893A (zh) * 2014-03-11 2014-05-28 北京大学 一种基于用户评论的产品检索方法及产品检索系统
CN104899285A (zh) * 2015-06-04 2015-09-09 百度在线网络技术(北京)有限公司 搜索结果展示方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
关键词驱动的结构化查询构建方法研究;刘敏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160815;全文 *
基于数据图的关系数据库关键词查询研究;徐慧琴;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150715;全文 *

Also Published As

Publication number Publication date
CN106407377A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN106407377B (zh) 基于人工智能的搜索方法和装置
US10795939B2 (en) Query method and apparatus
JP6647351B2 (ja) 候補応答情報を生成する方法及び装置
CN106874467B (zh) 用于提供搜索结果的方法和装置
US10832011B2 (en) Question answering system using multilingual information sources
JP5555327B2 (ja) 検索結果生成方法および情報検索システム
CN107241260B (zh) 基于人工智能的新闻推送的方法和装置
JP2018106658A (ja) 情報プッシュ用の方法及び装置
US20090094210A1 (en) Intelligently sorted search results
US11758088B2 (en) Method and apparatus for aligning paragraph and video
WO2009108576A2 (en) Prioritizing media assets for publication
CN113806588B (zh) 搜索视频的方法和装置
CN106354856B (zh) 基于人工智能的深度神经网络强化搜索方法和装置
US11019012B2 (en) File sending in instant messaging application
CN107798622B (zh) 一种识别用户意图的方法和装置
US11706172B2 (en) Method and device for sending information
KR20210002619A (ko) 네트워크 시스템에서 도메인-특정 모델의 생성
US20180349500A1 (en) Search engine results for low-frequency queries
US20200073925A1 (en) Method and system for generating a website from collected content
CN117312535B (zh) 基于人工智能的问题数据处理方法、装置、设备及介质
US9298712B2 (en) Content and object metadata based search in e-reader environment
CN108509442B (zh) 搜索方法和装置、服务器以及计算机可读存储介质
CN112148848A (zh) 一种问答处理方法及装置
US20240020321A1 (en) Category recommendation with implicit item feedback
CN109472028B (zh) 用于生成信息的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant