CN112307281A - 一种实体推荐方法及装置 - Google Patents
一种实体推荐方法及装置 Download PDFInfo
- Publication number
- CN112307281A CN112307281A CN201910677886.6A CN201910677886A CN112307281A CN 112307281 A CN112307281 A CN 112307281A CN 201910677886 A CN201910677886 A CN 201910677886A CN 112307281 A CN112307281 A CN 112307281A
- Authority
- CN
- China
- Prior art keywords
- entity
- word
- query request
- word vector
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 239000013598 vector Substances 0.000 claims abstract description 401
- 238000012549 training Methods 0.000 claims abstract description 37
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 9
- 230000000875 corresponding effect Effects 0.000 description 167
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 235000013311 vegetables Nutrition 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- 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/9532—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种实体推荐方法及装置,当用户进行搜索查询时,获取用户输入的目标查询请求,以提取目标查询请求中包括的目标实体词。再根据预先训练生成的实体词向量集合,获得该目标实体词的词向量,并根据目标查询请求包括的各目标实体词的词向量,确定目标查询请求对应的词向量。在实体词向量集合中查找与目标查询请求对应的词向量相似度较高的至少一个词向量,并将查找到的至少一个词向量对应的实体词作为目标查询请求对应的推荐词,将推荐词推荐给用户。可见,在根据用户输入的目标查询请求确定推荐词时,是利用目标查询请求中自身所包括的实体词来确定与其相关的推荐词,保证了所确定的推荐词与目标实体词的相关性,提高推荐的准确性。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种实体推荐方法及装置。
背景技术
随着互联网技术的发展,用户会使用搜索引擎查询感兴趣的内容。在用户搜索某关键词时,可以向用户推荐相关关键词,以使用户继续对相关关键词的内容进行查看,上述推荐关键词的过程可以认为是实体推荐过程。
在传统的实体推荐过程中,可以根据用户查询请求,扩展出一些相关的查询请求,再利用这些相关的查询请求进行实体推荐。但是,在有些情况下,相关的查询请求与原始的查询请求差异较大,导致利用相关的查询请求进行实体推荐得到的结果与原始查询请求中的实体相关性较差,造成实体推荐不准确。
发明内容
有鉴于此,本申请实施例提供一种实体推荐方法及装置,以解决现有技术中实体推荐不准确的技术问题。
为解决上述问题,本申请实施例提供的技术方案如下:
一种实体推荐方法,所述方法包括:
获取用户输入的目标查询请求,提取所述目标查询请求中包括的目标实体词;
根据预先生成的实体词向量集合,得到所述目标实体词的词向量;根据所述目标查询请求包括的各目标实体词的词向量,确定所述目标查询请求对应的词向量;所述实体词向量集合包括实体词对应的词向量,所述实体词向量集合根据至少一个相关实体词集合训练得到的;
在所述实体词向量集合中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量,将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词;
将所述推荐词推荐给所述用户。
在一种可能的实现方式中,所述根据所述目标查询请求包括的各目标实体词的词向量,确定所述目标查询请求对应的词向量,包括:
计算所述目标查询请求包括的所有目标实体词的词向量的平均值,将所述平均值确定为所述目标查询请求对应的词向量。
在一种可能的实现方式中,所述将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词,包括:
将查找到的至少一个词向量对应的实体词按照与所述目标查询请求的相关性进行排序;
将排序结果满足预设条件的词向量对应的实体词确定为所述目标查询请求对应的推荐词。
在一种可能的实现方式中,所述方法还包括:
获取至少一个相关实体词集合;
根据所述至少一个相关实体词集合训练语言模型,以得到各个实体词的词向量,构成所述实体词向量集合。
在一种可能的实现方式中,所述获取至少一个相关实体词集合,包括:
获取同一用户在预设时长内输入的至少一条查询请求;
从每条所述查询请求中提取实体词;
根据提取到的实体词构建相关实体词集合。
在一种可能的实现方式中,所述根据提取到的实体词构建相关实体词集合,包括:
将从不同查询请求中提取的实体词两两组合构成实体词对;
确定所述实体词对内两个实体词是否具有相关性;
将实体词对内两个实体词不具有相关性的实体词对剔除,在剩余的实体词对中,将包含相同实体词的实体词对对应的实体词划分到同一个相关实体词集合,以构建至少一个相关实体词集合。
在一种可能的实现方式中,所述确定所述实体词对内两个实体词是否具有相关性,包括:
计算所述实体词对内两个实体词之间的相关度值;
当所述相关度值大于或等于第一阈值,则所述实体词对内两个实体词之间具有相关性;
当所述相关度值小于第一阈值,则所述实体词对内两个实体词之间不具有相关性。
在一种可能的实现方式中,所述确定所述实体词对内两个实体词是否具有相关性,包括:
获取所述实体词对内两个实体词出现在同一查询请求中的次数;
当所述次数大于或等于第二阈值,则所述实体词对内两个实体词之间具有相关性;
当所述次数小于第二阈值,则所述实体词对内两个实体词之间不具有相关性。
在一种可能的实现方式中,所述方法还包括:
根据实体词向量集合建立高维检索树;
所述在所述实体词向量集合中查找与所述查询请求对应的词向量相似度较高的至少一个词向量,包括:
在所述高维检索树中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量。
一种实体推荐装置,所述装置包括:
提取单元,用于获取用户输入的目标查询请求,提取所述目标查询请求中包括的目标实体词;
第一确定单元,用于根据预先生成的实体词向量集合,得到所述目标实体词的词向量;根据所述目标查询请求包括的各目标实体词的词向量确定所述目标查询请求对应的词向量;所述实体词向量集合包括实体词对应的词向量,所述实体词向量集合根据至少一个相关实体词集合训练得到的;
查找单元,用于在所述实体词向量集合中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量;
第二确定单元,用于将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词;
推荐单元,用于将所述推荐词推荐给所述用户。
在一种可能的实现方式中,所述第一确定单元还用于:
计算所述目标查询请求包括的所有目标实体词的词向量的平均值,将所述平均值确定为所述目标查询请求对应的词向量。
在一种可能的实现方式中,所述第二确定单元,包括:
排序子单元,用于将查找到的至少一个词向量对应的实体词按照与所述目标查询请求的相关性进行排序;
第一确定子单元,用于将排序结果满足预设条件的词向量对应的实体词确定为所述目标查询请求对应的推荐词。
在一种可能的实现方式中,所述装置还包括:
获取单元,用于获取至少一个相关实体词集合;
训练单元,用于根据所述至少一个相关实体词集合训练语言模型,以得到各个实体词的词向量,构成所述实体词向量集合。
在一种可能的实现方式中,所述获取单元,包括:
获取子单元,用于获取同一用户在预设时长内输入的至少一条查询请求;
第一提取子单元,用于从每条所述查询请求中提取实体词;
构建子单元,用于根据提取到的实体词构建相关实体词集合。
在一种可能的实现方式中,所述构建子单元,包括:
第二提取子单元,用于将从不同查询请求中提取的实体词两两组合构成实体词对;
第二确定子单元,用于确定所述实体词对内两个实体词是否具有相关性;
划分子单元,用于将实体词对内两个实体词不具有相关性的实体词对剔除,在剩余的实体词对中,将包含相同实体词的实体词对对应的实体词划分到同一个相关实体词集合,以构建至少一个相关实体词集合。
在一种可能的实现方式中,所述第二确定子单元具体用于:
计算所述实体词对内两个实体词之间的相关度值;当所述相关度值大于或等于第一阈值,则所述实体词对内两个实体词之间具有相关性;当所述相关度值小于第一阈值,则所述实体词对内两个实体词之间不具有相关性。
在一种可能的实现方式中,所述第二确定子单元具体用于:
获取所述实体词对内两个实体词出现在同一查询请求中的次数;当所述次数大于或等于第二阈值,则所述实体词对内两个实体词之间具有相关性;当所述次数小于第二阈值,则所述实体词对内两个实体词之间不具有相关性。
在一种可能的实现方式中,所述装置还包括:
建立单元,用于根据实体词向量集合建立高维检索树;
所述查找单元具体用于:
在所述高维检索树中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量。
一种用于实体推荐的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取用户输入的目标查询请求,提取所述目标查询请求中包括的目标实体词;
根据预先生成的实体词向量集合,得到所述目标实体词的词向量;根据所述目标查询请求包括的各目标实体词的词向量确定所述目标查询请求对应的词向量;所述实体词向量集合包括实体词对应的词向量,所述实体词向量集合根据至少一个相关实体词集合训练得到的;
在所述实体词向量集合中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量,将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词;
将所述推荐词推荐给所述用户。
一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行上述的实体推荐方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例当用户进行搜索查询时,服务端可以获取用户输入的目标查询请求,以提取目标查询请求中包括的目标实体词。再根据预先训练生成的实体词向量集合,获得该目标实体词的词向量,并根据目标查询请求包括的各个目标实体词的词向量,确定目标查询请求对应的词向量。然后,在实体词向量集合中查找与目标查询请求对应的词向量相似度较高的至少一个词向量,并将查找到的至少一个词向量对应的实体词作为目标查询请求对应的推荐词,再将该推荐词推荐给用户。可见,本申请实施例中,在根据用户输入的目标查询请求确定推荐词时,是利用目标查询请求中自身所包括的实体词来确定与其相关的推荐词,保证了所确定的推荐词与目标实体词的相关性,避免现有技术中扩展出的查询请求中的实体词与原查询请求中的实体词偏差较大,从而可以为用户推荐与目标实体词具有相关性的推荐词,提高推荐的准确性。
附图说明
图1为本申请实施例提供的一种例性应用场景的框架示意图;
图2为本申请实施例提供的一种实体推荐方法的流程图;
图3为本申请实施例提供的一种获取实体词向量集合方法的流程图;
图4为本申请实施例提供的一种构建相关实体词集合方法的流程图;
图5为本申请实施例提供的一种实体推荐方法的装置结构图;
图6为本申请实施例提供的另一种实体推荐方法的装置结构图;
图7为本申请实施例提供的一种服务器设备示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
发明人在对传统的实体推荐研究中发现,传统的实体推荐是根据用户查询请求进行扩展,以获得一些相关的查询请求,进而利用相关的查询请求进行实体推荐。然而,在扩展相关查询请求时,会出现扩展出的相关查询请求中实体词与原查询请求中的实体词偏差较大的问题,进而造成实体推荐不准确的问题。例如,用户输入的原查询请求为“办婚礼”,***扩展出的查询请求为“婚礼办在蔬菜大棚”,其中,“蔬菜大棚”与原查询请求中实体“婚礼”偏差较大,进而再根据“婚礼办在蔬菜大棚”进行推荐时就会得到一些蔬菜大棚相关的结果,明显与原查询请求不相关,影响用户使用体验。
基于此,本申请实施例提供了一种实体推荐方法,具体为,当用户在进行搜索查询时,获取用户输入的目标查询请求,并提取该目标查询请求所包括的目标实体词。然后,根据预先生成的实体词向量集合,得到每个目标实体词对应的词向量,并根据各目标实体词对应的词向量确定目标查询请求对应的词向量。在实体词向量集合中查找与目标查询请求对应的词向量相似度较高的至少一个词向量,并将查找到的至少一个词向量对应的实体词确定为目标查询请求对应的推荐词,再将该推荐词推荐给用户。也就是,在确定推荐词时,是根据目标查询请求中所包括的目标实体词以及实体词向量集合确定的。其中,实体词向量集合是根据相关实体词集合训练得到的,由于每个相关实体词集合中包括相关的实体词,则根据大量相关实体词集合训练得到的实体词向量集合中的词向量满足如果实体词越相关则对应的词向量越相似。当确定出目标实体词对应的词向量后,通过在实体词向量集合中查找与目标实体词对应的词向量相关的词向量,以将相关的词向量对应的实体词确定为推荐词,从而保证推荐词与目标查询请求中的目标实体词存在相关性,避免现有技术中存在的偏差,提高推荐的准确性。
为便于理解本申请实施例提供的参见图1,该图为本申请实施例提供的示例性应用场景的框架示意图。其中,本申请实施例提供的实体推荐方法可以应用于客户端10或服务器20中。
实际应用时,服务器20可以通过客户端10获取用户输入的目标查询请求,并提取目标查询请求中包括的目标实体词。然后,根据预先生成的实体词向量集合得到目标实体词对应的词向量,以便在从实体词向量集合中查找与目标实体词对应的词向量相似度最高的词向量,将相似度最高的词向量对应的实体词确定为推荐词,将推荐词发送给客户端10以向用户进行推荐。
或者,客户端10获取用户输入的目标查询请求,并提取目标查询请求中包括的目标实体词。然后,再根据实体词向量集合得到目标实体词对应的词向量,以便从实体词向量集合中查找与目标实体词对应的词向量相似度最高的词向量,将相似度最高的词向量对应的实体词确定为推荐词,将推荐词推荐给用户。
进一步的,客户端10还可以根据用户对推荐词的触发操作,将推荐词发送给服务器20,以便服务器20根据该推荐词进行相关搜索。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
需要注意的是,客户端10可以承载于终端,该终端可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线和/或无线连接(例如,Wi-Fi、LAN、蜂窝、同轴电缆等)相互交互的任何用户设备,包括但不限于:现有的、正在研发的或将来研发的智能可穿戴设备、智能手机、非智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、小型计算机、中型计算机、大型计算机等。本申请的实施方式在此方面不受任何限制。还需要注意的是,本申请实施例中服务器20可以是现有的、正在研发的或将来研发的、能够向用户提供搜索服务的设备的一个示例。本申请的实施方式在此方面不受任何限制。
为便于理解本申请实施例提供的一种实体推荐方法,下面将结合附图对该方法进行说明。
参见图2,该图为本申请实施例提供的一种实体推荐方法的流程图,如图2所示,该方法可以包括:
S201:获取用户输入的目标查询请求,提取目标查询请求中包括的目标实体词。
本实施例中,当用户进行搜索查询时,可以获取用户输入的目标查询请求,提取该目标查询请求中包括的目标实体词。其中,目标查询请求为用户当前时刻输入的查询请求,目标实体词可以为该目标查询请求中包括的所有实体词或部分实体词,目标实体词的数量可以为一个或多个。例如,用户输入的目标查询请求为“婚礼上穿婚纱或禾服哪个更好”,其中,“婚礼”、“婚纱”、“禾服”可以作为目标实体词。
在具体实现时,可以先对目标查询请求进行分词处理,然后根据分词结果提取目标实体词。在实际应用时,可以利用现有的实体词提取方法从目标查询请求中提取目标实体词,本实施例在此不再赘述。
S202:根据预先生成的实体词向量集合,得到目标实体词的词向量;根据目标查询请求包括的各目标实体词的词向量,确定目标查询请求对应的词向量。
本实施中,当提取目标查询中所包括的目标实体词后,可以根据预先生成的实体词向量集合,确定每个目标实体词的词向量,并根据目标查询请求包括的各目标实体词的词向量,确定目标查询请求对应的词向量。其中,实体词向量集合包括各个实体词对应的词向量,实体词向量集合是根据至少一个相关实体词集合训练得到的。
实体词向量集合中词向量的相似性可用于反映对应实体词的相关性,由于每个相关实体词集合中包括的实体词之间具有一定的相关性,则根据大量相关实体词集合训练得到的实体词向量集合,可以满足实体词越相关则对应的词向量越相似。其中,词向量是将语言中的词进行数学化的一种方式,顾名思义,就是把一个词表示成一个向量,关于实体词向量集合的生成将在后续实施例进行详细说明。
可以理解的是,实体词向量集合中可以保存实体词与词向量的映射关系。在一种可能的实现方式中,当提取目标实体词后,可以根据实体词向量集合中实体词与词向量的映射关系确定每个目标实体词对应的词向量,则可以将所述目标查询请求包括的所有目标实体词分别对应的词向量共同构成该目标查询请求的词向量。例如,根据实体词向量集合中的映射关系,得到目标实体词“婚礼”对应的词向量为a、“婚纱”对应的词向量为b、“禾服”对应的词向量为c,则目标查询请求“办婚礼穿婚纱或禾服哪个更好”对应的词向量为{词向量a、词向量b、词向量c}。
在一种可能的实现方式中,提供了另一种确定目标查询请求对应的词向量的方式,具体为,计算所述目标查询请求包括的所有目标实体词的词向量的平均值,将该平均值确定为目标查询请求对应的词向量。也就是,当获取每个目标实体词的词向量后,也可以计算所有目标实体词的词向量的平均值,将该平均值确定为目标查询请求对应的词向量。例如,目标查询请求中目标实体词“婚礼”对应的词向量为a、“婚纱”对应的词向量为b、“禾服”对应的词向量为c,则目标查询请求“办婚礼穿婚纱或禾服哪个更好”对应的词向量为:词向量a、词向量b、词向量c的平均值。
S203:在实体词向量集合中查找与目标查询请求对应的词向量相似度较高至少一个词向量,将查找到的至少一个词向量对应的实体词确定为目标查询请求对应的推荐词。
本实施例中,当确定目标查询请求对应的词向量后,从实体词向量集合中查找与目标查询请求对应的词向量相似度较高的至少一个词向量,并将查找到的至少一个词向量对应的实体词确定为目标查询请求对应的推荐词。其中,相似度较高可以为:对相似度按降序排列,取在前的至少一个。
其中,词向量相似度可以通过两个词向量之间的距离来表示,两个词向量之间的距离越小,表明相似度越大。其中,词向量之间的距离可以为欧式距离、余弦距离等,本实施例在此不做限定。
在具体实现时,可以通过遍历实体词向量集合的方式确定实体词向量集合中的词向量与目标查询请求对应的词向量之间的相似度,然后通过相似度比较,确定目标查询请求中每个词向量对应的相似度较高的至少一个词向量,并将相似度较高的词向量对应的实体词确定为目标查询请求对应的推荐词。例如,实体词向量集合中共包括100个实体词的词向量,目标查询请求对应的词向量为词向量a、词向量b、词向量c,则针对词向量a,则确定a分别与100个词向量的相似度,并将相似度较高的至少一个词向量对应的实体词确定为目标查询请求的推荐词;针对词向量b,则确定b分别与100个词向量的相似度,并将相似度较高的至少一个词向量对应的实体词确定为目标查询请求的推荐词;针对词向量c,则确定c分别与100个词向量的相似度,并将相似度较高的至少一个的词向量对应的实体词确定为目标查询请求的推荐词,从而可以确定出目标查询请求对应的多个推荐词。
需要注意的是,当目标查询请求仅包括一个目标实体词时,则目标查询请求对应的词向量为该目标实体词的词向量。在实体词向量集合中查找与目标查询请求对应的词向量相似度较高的至少一个词向量时,需要排除该目标实体词对应的词向量。也即,当目标查询请求仅包括一个目标实体词,目标查询请求对应的推荐词需要排除该目标实体词本身。
可以理解的是,通过遍历的方式查找与目标查询请求对应的词向量相似度最高的词向量,会影响查找速度。在具体实现时,还可以通过高维检索树进行查找,提高查找速度。其中,关于根据实体词向量集合建立高维检索树和利用高维检索树查找相似度最高的词向量的实现方式将在后续实施例进行说明。
查找到与目标查询请求对应的词向量相似度较高的至少一个词向量,这些查找到的词向量所对应的实体词可以认为是与目标查询请求中目标实体词相关的实体词,则可以将查找到的至少一个词向量对应的实体词确定为目标查询请求对应的推荐词。
在具体实现时,当查找到的至少一个词向量对应的实体词数量较多时,可以将这些待推荐的实体词先进行筛选,则本实例提供了一种确定目标查询请求对应的推荐词的实现方式,具体为,将查找到的至少一个词向量对应的实体词按照与目标查询请求的相关性进行排序;将排序结果满足预设条件的词向量对应的实体词确定为目标查询请求对应的推荐词。也就是,在一种实现方式中还可以先计算查找到的每个词向量对应的实体词与目标查询请求的相关性,根据该相关性进行排序。然后,将排序结果满足预设条件的词向量对应的实体词确定为目标查询请求对应的推荐词。其中,预设条件可以根据实际排序情况进行设定,例如,当按照相关性从大到小排序时,预设条件可以为前预设数量个;当按照相关度从小到大排序时,预设条件可以为倒数预设数量个。或者,预设条件可以为相关性大于预设阈值的词向量对应的实体词确定为目标查询请求对应的推荐词。
S204:将推荐词推荐给用户。
本实施例中,当确定出目标查询请求对应的推荐词后,将推荐词推荐给用户,以便可以根据用户的选择利用推荐词进行内容推荐,提高推荐的准确性。
通过上述描述可知,当用户进行搜索查询时,服务端可以获取用户输入的目标查询请求,以提取目标查询请求中包括的目标实体词。再根据预先训练生成的实体词向量集合,获得该目标实体词的词向量,并据此确定目标查询请求对应的词向量。然后,在实体词向量集合中查找与目标查询请求对应的词向量相似度较高的至少一个词向量,并将查找到的至少一个词向量对应的实体词作为目标查询请求对应的推荐词,再将该推荐词推荐给用户。可见,本申请实施例中,在根据用户输入的目标查询请求确定推荐词时,是利用目标查询请求中自身所包括的实体词来确定与其相关的推荐词,保证了所确定的推荐词与目标实体词的相关性,避免现有技术中扩展出的查询请求中的实体词与原查询请求中的实体词偏差较大,从而可以为用户推荐与目标实体词具有相关性的推荐词,提高推荐的准确性。
在本申请实施例一种可能的实现方式中,提供一种利用高维检索树查找词向量的方法,具体为,根据实体词向量集合建立高维检索树;在所述高维检索树中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量。也就是,先利用实体词向量集合建立高维检索树,然后利用高维检索树查找与目标查询请求对应的词向量相似度最高的至少一个词向量。其中,高维检索树结构可以为二叉树,高维检索树的目标在于实现快速检索,也就是在高维空间求最近邻。因为如果直接使用实体词向量集合,则查找最近邻需要遍历每一个向量,这样查询时间是O(n),而采用高维检索树的查询时间可以缩短到O(logn),n为实体词向量集合中的实体词数量。
在实际应用中,构建高维检索树的思想是,在原空间中相邻的两个点,在树结构中也表现出相互靠近。也就是,如果两个点在空间上相似,则在建立树结构时,这两个点将很大概率地被划分在一个分支。即在利用实体词向量集合建立高维检索树时,如果实体词向量集合中两个词向量存在较大的相似度,则两个词向量可能被划分到高维检索树的同一方向上,如果两个词向量相似度较小,则两个词向量被划分到高维检索树的不同方向上,进而在利用高维检索树查找与目标查询请求对应的词向量存在相似性的词向量时,可以先确定查找方向,进而可以在一个确定的方向上查找相似的词向量,提高查找的速度。
通过上述实施例可知,实体词向量集合是根据至少一个相关实体词集合训练得到的,下面将结合附图对实体词向量集合的生成进行说明。
参见图3,该图为本申请实施例提供的一种生成实体词向量集合的方法的流程图,如图3所示,
S301:获取至少一个相关实体词集合。
本实施例中,为训练获得实体词向量集合,首先获取训练数据即相关实体词集合,以利用大量相关实体词集合训练生成实体词向量集合。
可以理解的是,为保证实体词向量集合的丰富性、多样性,在获取相关实体词集合时,可以获取大量的相关实体词集合,以使得训练生成的实体词向量集合尽可能包括所需的实体词对应的词向量。在具体实现时,本实施例提供了一种获取相关实体词集合的实现方式,具体可以通过以下步骤实现:
1)获取同一用户在预设时长内输入的至少一条查询请求。
2)从每条查询请求中提取实体词。
本实施例中,针对同一用户,获取该用户在预设时长内输入的一条或多条查询请求,以便从每条查询请求中提取实体词。其中,预设时长可以根据实际情况进行确定,例如,预设时长为5分钟,本实施例在此不做限定。
例如,用户A在5分钟内输入四条查询请求,则从查询请求1中提取其所包括的实体词a1、b1;则从查询请求2中提取其所包括的实体词a2、b2;则从查询请求3中提取其所包括的实体词a3、b3;则从查询请求4中提取其所包括的实体词a4、b4。
3)根据提取到的实体词构建相关实体词集合。
本实施例中,可以认为用户在一定时间段内输入的查询请求可能具有相关性,则当从同一用户对应的查询请求中提取每条查询请求中的实体词后,可以根据提取到的实体词构建相关实体词集合。每个相关实体词集合中所包括的实体词之间存在一定的相关性,从而在利用相关实体词集合训练生成实体词向量集合时,相关实体词集合中的实体词对应的词向量在实体词向量集合中也存在相关性。其中,关于利用提取到的实体词构建相关实体词集合的具体实现将在后续实施例进行说明。
S302:根据至少一个相关实体词集合训练语言模型,以得到各个实体词的词向量,构成所述实体词向量集合。
本实施例中,当获取相关实体词集合后,将相关实体词集合作为训练数据训练语言模型,以得到各个实体词的词向量,从而依据各个实体词的词向量构成所述实体词向量集合。例如,获取相关实体词集合1为[a1b1a2b2]、相关实体词集合2为[a3b3a4b4],利用两个相关实体词集合训练语言模型,获得每个实体词对应的词向量,分别为a_1、b_1、a_2、b_2、a_3、b_3、a_4、b_4,则将8个词向量组成实体词向量集合。
其中,语言模型可以为词向量word2vec模型,该word2vec模型是可以将实体词表征为实数值向量的一种高效的算法模型,其利用深度学习的思想,通过训练把对实体词的处理简化为K维向量空间中的向量运算,而向量空间上的相似度可以用来表示实体词之间的相似度。word2vec模型的核心思想是通过训练将每个实体词映射成K维实数向量,通过词向量之间的距离(比如余弦相似度、欧氏距离等)来判断其对应实体词之间的语义相似度。两个词向量之间的距离越短,表明其相似度越大,则两个词向量分别对应的实体词的相似度也越大。
可以理解的是,由于相关实体词集合中实体词之间存在相关性,则利用相关实体词集合训练生成语言模型获得各个实体词的词向量时,可以保证同一相关实体词集合中各个实体词的词向量也存在相关性。也就是,在实体词向量集合中实体词越相关,则实体词对应的词向量越相似,这样词向量的相似性可以体现出实体词的相关性。
通过上述方法,可以利用相关实体词集合训练语言模型以获得各个实体词的词向量,进而获得实体词向量集合。当需要进行实体推荐时,从用户输入的目标查询请求中提取目标实体词,根据实体词向量集合得到目标实体词对应的词向量,将其作为目标查询请求对应的词向量。再在实体词向量集合中查找与目标查询请求对应的词向量相似度较高的至少一个词向量,以便将相似度较高的至少一个词向量对应的实体词确定为推荐词,以推荐给用户。
参见图4,该图为本申请实施例提供的一种构建相关实体词集合的方法的流程图,如图4所示,该方法可以包括:
S401:将从不同查询请求中提取的实体词两两组合构成实体词对。
在本实施例中,在具体实现时,当从不同查询请求中提取各自所包括的实体词后,按照两两组合的方式,获得不同查询请求中实体词所组成的实体词对。可以理解的是,所组成的实体词对的数量不仅和预设时长内获取的查询请求条数相关,还与每条查询请求所包括的实体词数量相关。
例如,共获取四条查询请求,其中,查询请求1中包括m个实体词,查询请求2中包括n个实体词,查询请求3中包括p个实体词,查询请求4中包括q个实体词,则可以组成的实体词对数量为m*n+m*p+m*q+n*p+n*q+p*q。
S402:确定实体词对内两个实体词是否具有相关性。
S403:将实体词对内两个实体词不具有相关性的实体词对剔除,在剩余的实体词对中,将包含相同实体词的实体词对对应的实体词划分到同一个相关实体集合,以构建至少一个相关实体集合。
可以理解的是,用户在预设时长内输入的查询请求可能会出现部分查询请求之间存在相关性,部分查询请求之间不存在相关性。当通过两两组合的方式组成实体词对时,会出现不存在相关性的两个查询请求包括的实体词组成实体词对。为保证所构建的相关实体词集合中所包括的实体词之间存在相关性,当获取不同查询请求包括的实体词所组成的实体词对后,还需确定每个实体词对内两个实体词是否具有相关性。针对包括的两个实体词存在相关性的实体词对,将包含相同实体词的实体词对对应的实体词划分到同一个相关实体词集合中,从而构建相关实体词集合。而当一个实体词对包括的两个实体词不具有相关性时,则将该实体词对剔除,不放入该相关实体词集合。
例如,用户在预设时长内输入四条查询请求,查询请求1中包括的实体词a1、b1;查询请求2中包括的实体词a2、b2;查询请求3中包括的实体词a3、b3;查询请求4中包括的实体词a4、b4,则共可以组成24个实体词对[a1a2]、[a1b2]、[b1a2]、[b1b2];[a1a3]、[a1b3]、[b1a3]、[b1b3];[a1a4]、[a1b4]、[b1a4]、[b1b4];[a2a3]、[a2b3]、[b2a3]、[b2b3];[a2a4]、[a2b4]、[b2a4]、[b2b4];[a3a4]、[a3b4]、[b3a4]、[b3b4]。然而,用户输入的查询请求1和查询请求2均为关于“婚礼”;而查询请求3和查询请求4为关于“19年税收”,则存在查询请求1中的实体词与查询请求3或查询请求4中实体词之间无相关性,为避免不相关的实体词划分到同一相关实体词集合,还需对每个实体词对内的两个实体词是否具有相关性进行判断。
则在判断实体词对内两个实体词是否具有相关性时,可以根据判断结果确定被剔除的实体词对以及可以划分到同一个相关实体词集合中的实体词对。假设,[a1a2]、[a1b2]、[b1a2]、[b1b2]每个实体词对中包括的两个实体词均存在相关性,[a3a4]、[a3b4]、[b3a4]、[b3b4]每个实体词对中包括的两个实体词均存在相关性。而[a1a3]、[a1b3]、[b1a3]、[b1b3]每个实体词对中包括的两个实体词不存在相关性,[a1a4]、[a1b4]、[b1a4]、[b1b4]每个实体词对中包括的两个实体词不存在相关性,[a2a3]、[a2b3]、[b2a3]、[b2b3]每个实体词对中包括的两个实体词不存在相关性,[a2a4]、[a2b4]、[b2a4]、[b2b4]每个实体词对中包括的两个实体词不存在相关性,则将包括不具有相关性实体词的实体词对剔除,将包含相同实体词的实体词对中的实体词划分到同一个相关实体词集合中。例如,[a1a2]、[a1b2]包含相同的实体词a1,[b1a2]、[b1b2]包含相同的实体词b1,a1和b1默认相关,则可以建立相关实体词集合1为[a1b1a2b2]。[a3a4]、[a3b4]包含相同的实体词a3,[b3a4]、[b3b4]包含相同的实体词b3,a3和b3默认相关,则构建相关实体词集合2为[a3b3a4b4],即共建立两个相关实体词集合。
需要说明的是,在实际训练语言模型时,需要获取大量用户分别对应的相关实体词集合,以便利用大量的相关实体词集合进行后续的语言模型训练。对于每位用户所对应的相关实体词集合,均可以通过上述方法获得,从而获得大量的相关实体词集合。
在本申请实施例一种可能的实现方式中,提供了两种确定实体词对内两个实体词是否具有相关性的实现方式,下面将分别对这两种方式进行说明。
一种是,计算实体词对内两个实体词之间的相关度值,当相关度值大于或等于第一阈值,则实体词对内两个实体词之间具有相关性,当相关度值小于第一阈值,则实体词对内两个实体词之间不具有相关性。也就是,针对每个实体词对,计算两个实体词之间的相关度值,如果相关度值大于或等于第一阈值,则确定实体词对内的两个实体词之间存在相关性,否则确定该实体词对内的两个实体词之间不具有相关性。其中,第一阈值可以根据实际情况进行设定,本实例在此不做限定。
另一种是,获取实体词对内两个实体词出现在同一查询请求中的次数,当次数大于或等于第二阈值,则实体词对内两个实体词之间具有相关性,当次数小于第二阈值,则实体词对内两个实体词之间不具有相关性。在具体实现时,可以认为在同一查询请求中的实体词是相关的,则可以统计不同用户的大量查询请求中实体词对的出现情况。针对一个实体词对,可以获取该实体词对内两个实体词在同一个查询请求中的出现次数,如果一同出现的次数大于或等于第二阈值,则确定该实体词对内的两个实体词之间存在相关性,否则不存在相关性。其中,第二阈值可以根据实际情况进行确定,本实施例在此不再限定。
通过本实施例提供的方法,可以构建所需的相关实体词集合,以便利用该相关实体词集合训练语言模型,获得相关实体词集合中各个实体词对应的词向量,进而获得实体词向量集合,以便利用该实体词向量集合进行实体推荐。
基于上述方法实施例,本申请还提供了一种实体推荐装置,下面将结合该装置进行说明。
参见图5,该图为本申请实施例提供的一种实体推荐装置结构图,如图4所示,该装置可以包括:
提取单元501,用于获取用户输入的目标查询请求,提取所述目标查询请求中包括的目标实体词;
第一确定单元502,用于根据预先生成的实体词向量集合,得到所述目标实体词的词向量;根据所述目标查询请求包括的各目标实体词的词向量确定所述目标查询请求对应的词向量;所述实体词向量集合包括实体词对应的词向量,所述实体词向量集合根据至少一个相关实体词集合训练得到的;
查找单元503,用于在所述实体词向量集合中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量;
第二确定单元504,用于将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词;
推荐单元505,用于将所述推荐词推荐给所述用户。
在一种可能的实现方式中,所述第一确定单元还用于:
计算所述目标查询请求包括的所有目标实体词的词向量的平均值,将所述平均值确定为所述目标查询请求对应的词向量。
在一种可能的实现方式中,所述第二确定单元,包括:
排序子单元,用于将查找到的至少一个词向量对应的实体词按照与所述目标查询请求的相关性进行排序;
第一确定子单元,用于将排序结果满足预设条件的词向量对应的实体词确定为所述目标查询请求对应的推荐词。
在一种可能的实现方式中,所述装置还包括:
获取单元,用于获取至少一个相关实体词集合;
训练单元,用于根据所述至少一个相关实体词集合训练语言模型,以得到各个实体词的词向量,构成实体词向量集合。
在一种可能的实现方式中,所述获取单元,包括:
获取子单元,用于获取同一用户在预设时长内输入的至少一条查询请求;
第一提取子单元,用于从每条所述查询请求中提取实体词;
构建子单元,用于根据提取到的实体词构建相关实体词集合。
在一种可能的实现方式中,所述构建子单元,包括:
第二提取子单元,也难怪有将从不同查询请求中提取的实体词两两组合构成实体词对;
第二确定子单元,用于确定所述实体词对内两个实体词是否具有相关性;
划分子单元,用于将实体词对内两个实体词不具有相关性的实体词对剔除,在剩余的实体词对中,将包含相同实体词的实体词对对应的实体词划分到同一个相关实体词集合,以构建至少一个相关实体词集合。
在一种可能的实现方式中,所述第二确定子单元具体用于:
计算所述实体词对内两个实体词之间的相关度值,当所述相关度值大于或等于第一阈值,则所述实体词对内两个实体词之间具有相关性,当所述相关度值小于第一阈值,则所述实体词对内两个实体词之间不具有相关性。
在一种可能的实现方式中,所述第二确定子单元具体用于:
获取所述实体词对内两个实体词出现在同一查询请求中的次数;当所述次数大于或等于第二阈值,则所述实体词对内两个实体词之间具有相关性;当所述次数小于第二阈值,则所述实体词对内两个实体词之间不具有相关性。
在一种可能的实现方式中,所述装置还包括:
建立单元,用于根据实体词向量集合建立高维检索树;
所述查找单元具体用于:
在所述高维检索树中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量。
需要说明的是,本实施例中各个单元的实现可以参见上述方法实施例,本实施例在此不再赘述。
图6示出了一种实现实体推荐的装置600的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理部件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理***,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件616经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法:
获取用户输入的目标查询请求,提取所述目标查询请求中包括的目标实体词;
根据预先生成的实体词向量集合,得到所述目标实体词的词向量;根据所述目标查询请求包括的各目标实体词的词向量,确定所述目标查询请求对应的词向量;所述实体词向量集合包括实体词对应的词向量,所述实体词向量集合根据至少一个相关实体词集合训练得到的;
在所述实体词向量集合中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量,将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词;
将所述推荐词推荐给所述用户。
可选的,所述根据所述目标查询请求包括的各目标实体词的词向量,确定所述目标查询请求对应的词向量,包括:
计算所述目标查询请求包括的所有目标实体词的词向量的平均值,将所述平均值确定为所述目标查询请求对应的词向量。
可选的,所述将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词,包括:
将查找到的至少一个词向量对应的实体词按照与所述目标查询请求的相关性进行排序;
将排序结果满足预设条件的词向量对应的实体词确定为所述目标查询请求对应的推荐词。
可选的,所述方法还包括:
获取至少一个相关实体词集合;
根据所述至少一个相关实体词集合训练语言模型,以得到各个实体词的词向量,构成所述实体词向量集合。
可选的,所述获取至少一个相关实体词集合,包括:
获取同一用户在预设时长内输入的至少一条查询请求;
从每条所述查询请求中提取实体词;
根据提取到的实体词构建相关实体词集合。
可选的,所述根据提取到的实体词构建相关实体词集合,包括:
将从不同查询请求中提取的实体词两两组合构成实体词对;
确定所述实体词对内两个实体词是否具有相关性;
将实体词对内两个实体词不具有相关性的实体词对剔除,在剩余的实体词对中,将包含相同实体词的实体词对对应的实体词划分到同一个相关实体词集合,以构建至少一个相关实体词集合。
可选的,所述确定所述实体词对内两个实体词是否具有相关性,包括:
计算所述实体词对内两个实体词之间的相关度值;
当所述相关度值大于或等于第一阈值,则所述实体词对内两个实体词之间具有相关性;
当所述相关度值小于第一阈值,则所述实体词对内两个实体词之间不具有相关性。
可选的,所述确定所述实体词对内两个实体词是否具有相关性,包括:
获取所述实体词对内两个实体词出现在同一查询请求中的次数;
当所述次数大于或等于第二阈值,则所述实体词对内两个实体词之间具有相关性;
当所述次数小于第二阈值,则所述实体词对内两个实体词之间不具有相关性。
可选的,所述方法还包括:
根据实体词向量集合建立高维检索树;
所述在所述实体词向量集合中查找与所述查询请求对应的词向量相似度较高的至少一个词向量,包括:
在所述高维检索树中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行实体推荐的方法,所述方法包括:
获取用户输入的目标查询请求,提取所述目标查询请求中包括的目标实体词;
根据预先生成的实体词向量集合,得到所述目标实体词的词向量;根据所述目标查询请求包括的各目标实体词的词向量,确定所述目标查询请求对应的词向量;所述实体词向量集合包括实体词对应的词向量,所述实体词向量集合根据至少一个相关实体词集合训练得到的;
在所述实体词向量集合中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量,将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词;
将所述推荐词推荐给所述用户。
可选的,所述根据所述目标查询请求包括的各目标实体词的词向量,确定所述目标查询请求对应的词向量,包括:
计算所述目标查询请求包括的所有目标实体词的词向量的平均值,将所述平均值确定为所述目标查询请求对应的词向量。
可选的,所述将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词,包括:
将查找到的至少一个词向量对应的实体词按照与所述目标查询请求的相关性进行排序;
将排序结果满足预设条件的词向量对应的实体词确定为所述目标查询请求对应的推荐词。
可选的,所述方法还包括:
获取至少一个相关实体词集合;
根据所述至少一个相关实体词集合训练语言模型,以得到各个实体词的词向量,构成所述实体词向量集合。
可选的,所述获取至少一个相关实体词集合,包括:
获取同一用户在预设时长内输入的至少一条查询请求;
从每条所述查询请求中提取实体词;
根据提取到的实体词构建相关实体词集合。
可选的,所述根据提取到的实体词构建相关实体词集合,包括:
将从不同查询请求中提取的实体词两两组合构成实体词对;
确定所述实体词对内两个实体词是否具有相关性;
将实体词对内两个实体词不具有相关性的实体词对剔除,在剩余的实体词对中,将包含相同实体词的实体词对对应的实体词划分到同一个相关实体词集合,以构建至少一个相关实体词集合。
可选的,所述确定所述实体词对内两个实体词是否具有相关性,包括:
计算所述实体词对内两个实体词之间的相关度值;
当所述相关度值大于或等于第一阈值,则所述实体词对内两个实体词之间具有相关性;
当所述相关度值小于第一阈值,则所述实体词对内两个实体词之间不具有相关性。
可选的,所述确定所述实体词对内两个实体词是否具有相关性,包括:
获取所述实体词对内两个实体词出现在同一查询请求中的次数;
当所述次数大于或等于第二阈值,则所述实体词对内两个实体词之间具有相关性;
当所述次数小于第二阈值,则所述实体词对内两个实体词之间不具有相关性。
可选的,所述方法还包括:
根据实体词向量集合建立高维检索树;
所述在所述实体词向量集合中查找与所述查询请求对应的词向量相似度较高的至少一个词向量,包括:
在所述高维检索树中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量。
图7是本发明实施例中服务器的结构示意图。该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。
终端700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,一个或一个以上键盘756,和/或,一个或一个以上操作***741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种实体推荐方法,其特征在于,所述方法包括:
获取用户输入的目标查询请求,提取所述目标查询请求中包括的目标实体词;
根据预先生成的实体词向量集合,得到所述目标实体词的词向量;根据所述目标查询请求包括的各目标实体词的词向量,确定所述目标查询请求对应的词向量;所述实体词向量集合包括实体词对应的词向量,所述实体词向量集合根据至少一个相关实体词集合训练得到的;
在所述实体词向量集合中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量,将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词;
将所述推荐词推荐给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标查询请求包括的各目标实体词的词向量,确定所述目标查询请求对应的词向量,包括:
计算所述目标查询请求包括的所有目标实体词的词向量的平均值,将所述平均值确定为所述目标查询请求对应的词向量。
3.根据权利要求1所述的方法,其特征在于,所述将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词,包括:
将查找到的至少一个词向量对应的实体词按照与所述目标查询请求的相关性进行排序;
将排序结果满足预设条件的词向量对应的实体词确定为所述目标查询请求对应的推荐词。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取至少一个相关实体词集合;
根据所述至少一个相关实体词集合训练语言模型,以得到各个实体词的词向量,构成所述实体词向量集合。
5.根据权利要求4所述的方法,其特征在于,所述获取至少一个相关实体词集合,包括:
获取同一用户在预设时长内输入的至少一条查询请求;
从每条所述查询请求中提取实体词;
根据提取到的实体词构建相关实体词集合。
6.根据权利要求5所述的方法,其特征在于,所述根据提取到的实体词构建相关实体词集合,包括:
将从不同查询请求中提取的实体词两两组合构成实体词对;
确定所述实体词对内两个实体词是否具有相关性;
将实体词对内两个实体词不具有相关性的实体词对剔除,在剩余的实体词对中,将包含相同实体词的实体词对对应的实体词划分到同一个相关实体词集合,以构建至少一个相关实体词集合。
7.根据权利要求6所述的方法,其特征在于,所述确定所述实体词对内两个实体词是否具有相关性,包括:
计算所述实体词对内两个实体词之间的相关度值;
当所述相关度值大于或等于第一阈值,则所述实体词对内两个实体词之间具有相关性;
当所述相关度值小于第一阈值,则所述实体词对内两个实体词之间不具有相关性。
8.根据权利要求6所述的方法,其特征在于,所述确定所述实体词对内两个实体词是否具有相关性,包括:
获取所述实体词对内两个实体词出现在同一查询请求中的次数;
当所述次数大于或等于第二阈值,则所述实体词对内两个实体词之间具有相关性;
当所述次数小于第二阈值,则所述实体词对内两个实体词之间不具有相关性。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
根据实体词向量集合建立高维检索树;
所述在所述实体词向量集合中查找与所述查询请求对应的词向量相似度较高的至少一个词向量,包括:
在所述高维检索树中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量。
10.一种实体推荐装置,其特征在于,所述装置包括:
提取单元,用于获取用户输入的目标查询请求,提取所述目标查询请求中包括的目标实体词;
第一确定单元,用于根据预先生成的实体词向量集合,得到所述目标实体词的词向量;根据所述目标查询请求包括的各目标实体词的词向量确定所述目标查询请求对应的词向量;所述实体词向量集合包括实体词对应的词向量,所述实体词向量集合根据至少一个相关实体词集合训练得到的;
查找单元,用于在所述实体词向量集合中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量;
第二确定单元,用于将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词;
推荐单元,用于将所述推荐词推荐给所述用户。
11.一种用于实体推荐的装置,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取用户输入的目标查询请求,提取所述目标查询请求中包括的目标实体词;
根据预先生成的实体词向量集合,得到所述目标实体词的词向量;根据所述目标查询请求包括的各目标实体词的词向量确定所述目标查询请求对应的词向量;所述实体词向量集合包括实体词对应的词向量,所述实体词向量集合根据至少一个相关实体词集合训练得到的;
在所述实体词向量集合中查找与所述目标查询请求对应的词向量相似度较高的至少一个词向量,将查找到的至少一个词向量对应的实体词确定为所述目标查询请求对应的推荐词;
将所述推荐词推荐给所述用户。
12.一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行权利要求1至9中任一项所述的实体推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910677886.6A CN112307281A (zh) | 2019-07-25 | 2019-07-25 | 一种实体推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910677886.6A CN112307281A (zh) | 2019-07-25 | 2019-07-25 | 一种实体推荐方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112307281A true CN112307281A (zh) | 2021-02-02 |
Family
ID=74329229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910677886.6A Pending CN112307281A (zh) | 2019-07-25 | 2019-07-25 | 一种实体推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307281A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112991011A (zh) * | 2021-03-12 | 2021-06-18 | 广东来个碗网络科技有限公司 | 基于智能租赁柜的餐具获取控制方法及装置 |
CN113569566A (zh) * | 2021-07-30 | 2021-10-29 | 苏州七星天专利运营管理有限责任公司 | 一种词汇扩展方法和*** |
WO2023005419A1 (zh) * | 2021-07-29 | 2023-02-02 | 北京快乐茄信息技术有限公司 | 目标信息的推荐方法及装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970748A (zh) * | 2013-01-25 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 一种相关关键词推荐方法和装置 |
WO2017219696A1 (zh) * | 2016-06-24 | 2017-12-28 | 中兴通讯股份有限公司 | 文本信息处理方法、装置及终端 |
CN108509479A (zh) * | 2017-12-13 | 2018-09-07 | 深圳市腾讯计算机***有限公司 | 实体推荐方法及装置、终端及可读存储介质 |
CN109213916A (zh) * | 2018-09-14 | 2019-01-15 | 北京字节跳动网络技术有限公司 | 用于生成信息的方法和装置 |
CN109815492A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种基于识别模型的意图识别方法、识别设备及介质 |
CN109902156A (zh) * | 2019-01-09 | 2019-06-18 | 北京小乘网络科技有限公司 | 实体检索方法、存储介质和电子设备 |
-
2019
- 2019-07-25 CN CN201910677886.6A patent/CN112307281A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970748A (zh) * | 2013-01-25 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 一种相关关键词推荐方法和装置 |
WO2017219696A1 (zh) * | 2016-06-24 | 2017-12-28 | 中兴通讯股份有限公司 | 文本信息处理方法、装置及终端 |
CN108509479A (zh) * | 2017-12-13 | 2018-09-07 | 深圳市腾讯计算机***有限公司 | 实体推荐方法及装置、终端及可读存储介质 |
CN109213916A (zh) * | 2018-09-14 | 2019-01-15 | 北京字节跳动网络技术有限公司 | 用于生成信息的方法和装置 |
CN109815492A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种基于识别模型的意图识别方法、识别设备及介质 |
CN109902156A (zh) * | 2019-01-09 | 2019-06-18 | 北京小乘网络科技有限公司 | 实体检索方法、存储介质和电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112991011A (zh) * | 2021-03-12 | 2021-06-18 | 广东来个碗网络科技有限公司 | 基于智能租赁柜的餐具获取控制方法及装置 |
CN112991011B (zh) * | 2021-03-12 | 2024-04-12 | 广东来个碗网络科技有限公司 | 基于智能租赁柜的餐具获取控制方法及装置 |
WO2023005419A1 (zh) * | 2021-07-29 | 2023-02-02 | 北京快乐茄信息技术有限公司 | 目标信息的推荐方法及装置、电子设备及存储介质 |
CN113569566A (zh) * | 2021-07-30 | 2021-10-29 | 苏州七星天专利运营管理有限责任公司 | 一种词汇扩展方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11120078B2 (en) | Method and device for video processing, electronic device, and storage medium | |
CN109800325B (zh) | 视频推荐方法、装置和计算机可读存储介质 | |
US20210117726A1 (en) | Method for training image classifying model, server and storage medium | |
CN110008401B (zh) | 关键词提取方法、关键词提取装置和计算机可读存储介质 | |
CN108227950B (zh) | 一种输入方法和装置 | |
CN109918565B (zh) | 一种搜索数据的处理方法、装置及电子设备 | |
CN108073606B (zh) | 一种新闻推荐方法和装置、一种用于新闻推荐的装置 | |
CN109933714B (zh) | 一种词条权重的计算方法、搜索方法及相关装置 | |
CN107315487B (zh) | 一种输入处理方法、装置及电子设备 | |
CN112784142A (zh) | 一种信息推荐方法及装置 | |
CN108874827B (zh) | 一种搜索方法及相关装置 | |
CN112307281A (zh) | 一种实体推荐方法及装置 | |
CN110110207B (zh) | 一种信息推荐方法、装置及电子设备 | |
US11546663B2 (en) | Video recommendation method and apparatus | |
CN109521888B (zh) | 一种输入方法、装置和介质 | |
CN109977293B (zh) | 一种搜索结果相关性的计算方法及装置 | |
CN112926310A (zh) | 一种关键词提取方法及装置 | |
CN111368161A (zh) | 一种搜索意图的识别方法、意图识别模型训练方法和装置 | |
CN109918624B (zh) | 一种网页文本相似度的计算方法和装置 | |
CN110895558B (zh) | 一种对话回复的方法及相关装置 | |
CN110147426B (zh) | 一种查询文本的分类标签确定方法及相关装置 | |
CN109901726B (zh) | 一种候选词生成方法、装置及用于候选词生成的装置 | |
CN108073664B (zh) | 一种信息处理方法、装置、设备及客户端设备 | |
CN107301188B (zh) | 一种获取用户兴趣的方法及电子设备 | |
CN110020206B (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 |