为问题提供语义相关的答案的制作方法

文档序号:19376241发布日期:2019-12-10 23:53阅读:222来源:国知局
为问题提供语义相关的答案的制作方法

相关申请的交叉引用

本申请要求2018年6月3日提交的名称为“providingsemanticallyrelevantanswerstoquestions”的美国临时专利申请序列号62/679,895的权益,该专利申请据此全文以引用方式并入本文以用于所有目的。

本说明书整体涉及问答(“q&a”)服务,包括针对q&a服务利用机器学习模型。



背景技术:

q&a服务允许用户提出问题并接收其问题的答案。例如,用户可向虚拟助理口头询问问题,虚拟助理可利用q&a服务来获取并提供针对用户问题的答案。类似地,用户可例如向搜索引擎中键入问题,并且搜索引擎可利用q&a服务来获取并提供针对用户问题的答案。q&a服务通常可能仅提供针对用户问题的一个答案,例如,确定为最可能是问题的实际正确答案的答案。



技术实现要素:

本发明提供了一种设备,该设备包括至少一个处理器、和存储器,所述存储器包括指令。所述指令当由所述至少一个处理器执行时,使得所述至少一个处理器:基于源数据来识别问题和所述问题的答案,所述答案被确定为与所述问题语义相关;至少部分地基于所述问题和所述答案来对对应于所述源数据的数据语料库执行搜索以获得所述问题的另一答案,所述另一答案被确定为与所述问题语义不相关;将肯定标签分配给与所述问题语义相关的所述答案,并将否定标签分配给与所述问题语义不相关的所述另一答案;至少部分地基于所述问题、分配给语义相关的所述答案的所述肯定标签、以及分配给语义不相关的所述另一答案的所述否定标签,生成机器学习模型;以及提供所述机器学习模型以帮助确定是否能够针对后续问题提供可能语义相关的答案。

附图说明

本主题技术的一些特征在所附权利要求书中被示出。然而,出于解释的目的,在以下附图中阐述了本主题技术的若干实施方案。

图1示出了根据一个或多个具体实施的用于确定是否可响应于问题而提供语义相关答案的示例性网络环境。

图2示出了根据一个或多个具体实施的可实现用于确定是否可响应于问题而提供语义相关答案的系统的示例性服务器。

图3示出了根据一个或多个具体实施的可由服务器实现的主题系统的机器学习模型生成器的示例。

图4示出了根据一个或多个具体实施的可由服务器实现的主题系统的q&a服务的示例。

图5示出了根据一个或多个具体实施的用于提供机器学习模型的示例性过程的流程图。

图6示出了根据一个或多个具体实施的可用以实现主题技术的各个方面的示例性电子系统。

具体实施方式

下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表示主题技术可被实践的唯一配置。附图被并入本文并且构成具体实施方式的一部分。具体实施方式包括具体的细节旨在提供对本主题技术的透彻理解。然而,主题技术不限于本文所述的具体细节,并且可使用一个或多个其他具体实施来实践。在一个或多个具体实施中,以框图形式示出了结构和部件,以便避免使主题技术的概念模糊。

q&a服务通常仅提供针对给定问题的单个答案,例如,q&a服务已确定为最可能是针对问题的事实正确答案的候选答案。在一些情况下,q&a服务已确定为最可能是针对给定问题的事实正确答案的候选答案可能是响应于该问题提供的无意义答案。例如,假设问题是“一群猴子被称为什么?”,一个语义相关的答案可能是“一群猴子被称为部队”。然而,诸如“猴子倾向于成群旅行”这样的答案虽然可能是事实正确的,但会是响应于这一问题提供的无意义答案,因此,最好不要将其作为该问题的答案而提供。因此,并非总是提供q&a服务已确定为最可能是针对给定问题的事实正确答案的候选答案,可能有利的是,首先确定候选答案在语义上与问题相关的可能性,并且在确定候选答案可能在语义上与问题无关时不提供候选答案。

本主题系统用于生成机器学习模型以确定是否可向问题提供语义相关的答案。本主题系统访问源数据(例如,问答论坛)以获取问题,以及针对每个问题的相应的语义相关答案。本主题系统进一步使用问题和语义相关答案作为搜索查询,搜索对应于源数据的数据语料库,以便获得在语义上与每个问题无关的附加答案。例如,对于每个问题,系统可识别一个语义相关的答案和十个语义不相关的其他答案。这十个其他答案可能在语义上类似于问题和/或语义相关的答案,但在语义上可能与问题无关。本主题系统为语义相关的答案分配肯定标签,并为每个语义无关的答案分配否定标签。使用问题以及带肯定标签和否定标签的答案训练机器学习模型。然后可使用机器学习模型来确定给定候选答案在语义上与后续的新问题相关的可能性。

例如,用户可利用后续问题查询q&a服务(例如,由虚拟助理提供)。q&a服务可使用机器学习模型来确定问题的最可能事实正确的候选答案在语义上与问题相关的可能性。如果确定最可能事实正确的候选答案可能在语义上与问题无关,则q&a服务可确定不应当为该问题提供答案。这一确定对于用户体验可能是有益的,例如,通过提供“抱歉,我无法回答该问题”的响应,而不是提供对该问题可能是无意义响应的答案。

图1示出了根据一个或多个具体实施的用于确定是否可响应于问题而提供语义相关答案的示例性网络环境。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件、或更少的部件。

网络环境100包括电子设备102、103和104(下文称为102-104)、网络106、服务器108和数据语料库110。网络106可通信地(直接或间接)耦接例如电子设备102-104、服务器108和/或数据语料库110中的任何两者或更多者。在一个或多个具体实施中,网络106可以是可包括互联网或可通信地耦接到互联网的设备的互连网络。出于解释的目的,图1中示出的网络环境100包括电子设备102-104、单个服务器108和单个数据语料库110;然而,网络环境100可包括任何数量的电子设备、任何数量的服务器和任何数量的数据语料库。

电子设备102-104中的一者或多者可以是例如便携式计算设备,诸如膝上型计算机、智能电话、智能扬声器、外围设备(例如,数字相机、耳机)、平板设备、可穿戴设备(诸如手表、带等),或者包括例如一个或多个无线接口的任何其他适当设备,诸如wlan无线电设备、蜂窝无线电设备、蓝牙无线电设备、zigbee无线电设备、近场通信(nfc)无线电设备和/或其他无线电设备。在图1中,以举例的方式,电子设备102被描绘为智能电话,电子设备103被描绘为智能扬声器,且电子设备104被描绘为膝上型计算机。电子设备102-104的每个可以是和/或可包括下文相对于图6所述的电子系统的全部或部分。

服务器108可以是和/或可以包括下文相对于图2所论述的服务器和/或下文相对于图6所论述的电子系统的全部或部分。服务器108可包括可用于实现q&a服务的一个或多个服务器,诸如服务器云。此外,服务器108可训练可由q&a服务采用的机器学习模型,以确定是否应响应于给定问题来提供答案,例如,以确定对该问题而言最可能事实正确的答案是针对该问题的语义相关响应的可能性。出于解释的目的,相对于各种操作,诸如在网站爬取、训练机器学习模型、提供q&a服务等,示出和论述单个服务器108。然而,本文所论述的这些操作和其他操作可由一个或多个服务器执行,并且每个不同的操作可由相同或不同的服务器来执行。

可使用从数据语料库110获得的问题和答案数据训练机器学习模型。图1中将数据语料库110示为与服务器108分开。然而,数据语料库110的全部或部分可相对于服务器108转而存储于本地。在一个或多个具体实施中,可由服务器108通过爬取包括问题和问题答案的一个或多个网页来获得数据语料库110。

例如,一些网站可提供论坛,其中用户可提出问题,其他用户可提供针对该问题的答案。用户(和/或网站管理员)可选择问题的正确答案,并且所选择的答案可显示在网站上,带有指示符,指示这是问题的正确答案。因此,服务器108可抓取该网站以获得在该网站上询问的所有问题,并且可生成包括所有所询问问题的问题索引。类似地,服务器108可抓取该网站以获得在该网站上提供的所有答案,并且可生成包括所提供的所有答案的答案索引。问题索引中的每个问题都可与答案索引中该问题的正确答案的指示符一起存储。因此,数据语料库110可对应于所生成的问题和答案索引,其中问题、答案和指示符值源自该论坛数据。

在使用数据语料库110对机器学习模型进行训练之后,用户可在运行于电子设备102-104之一(诸如电子设备102)上的应用内输入问题。电子设备102可将问题发送到由服务器108提供的q&a服务。服务器108可使用机器学习模型来确定是否提供针对问题的答案,例如,最佳候选答案是否可能在语义上与问题相关。然后,服务器108可向电子设备102提供对应的响应。例如,服务器108可提供问题的答案,或表明q&a服务无法提供问题答案的消息。

图2示出了根据一个或多个具体实施的可实现用于确定是否可响应于问题而提供可能语义相关答案的系统的示例性服务器。例如,服务器可对应于图1的服务器108。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件、或更少的部件。

服务器108可包括主机处理器202、存储器204和通信接口206。主机处理器202可包括能够处理数据和/或控制服务器108的操作的适当逻辑器、电路和/或代码。就这一点而言,主机处理器202可被使能以向服务器108的各个其他部件提供控制信号。主机处理器202还可控制服务器108的各部分之间的数据传输。另外,主机处理器202可使得能够实现操作系统或以其他方式执行代码以管理服务器108的操作。在本主题系统中,主机处理器202可实现用于如下文相对于图3所论述生成机器学习模型和/或用于如下文相对于图4进一步所论述采用机器学习模型的软件架构。

存储器204可包括使得能够存储各种类型信息的适当逻辑器、电路和/或代码,诸如所接收的数据、生成的数据、代码和/或配置信息。存储器204可包括例如随机存取存储器(ram)、只读存储器(rom)、闪存和/或磁性存储装置。在一个或多个具体实施中,存储器204可在本地存储数据语料库110(例如,从在线问答论坛生成)。然而,如上所述,数据语料库110也可远离服务器108并且可经由网络106访问。

通信接口206可包括合适的逻辑器、电路和/或代码,使得能够诸如在任何电子设备102-104、数据语料库110与服务器108之间通过网络106进行有线或无线通信。通信接口206可包括例如蓝牙通信接口、nfc接口、zigbee通信接口、wlan通信接口、usb通信接口中的一种或多种,或一般地,任何通信接口。通信接口206可用于(例如,从电子设备102-104中的任一个)接收问题,和/或向电子设备102-104传输问题的答案或表明q&a服务无法提供问题答案的通知。此外,在数据语料库110的全部或部分远离服务器108的情况下,通信接口206可用于经由网络106访问数据语料库110。

在一个或多个具体实施中,主机处理器202、存储器204、通信接口206和/或其一个或多个部分中的一者或多者可在软件(例如,子例程和代码)中实现,可在硬件(例如专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、控制器、状态机、门控逻辑部件、分立硬件部件或任何其他合适的设备)中实现,和/或两者的组合。

图3示出了根据一个或多个具体实施的可由服务器实现的主题系统的机器学习模型生成器的示例。例如,机器学习模型生成器302可由在服务器108的主机处理器202和/或任何其他设备上运行的一个或多个软件模块来实现。又如,机器学习模型生成器302可通过由定制硬件(例如,一个或多个协处理器)实现的一个或多个软件模块来实现。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件、或更少的部件。

如图3所示,机器学习模型生成器302将数据语料库110作为输入,以生成和训练机器学习模型312。在一个或多个具体实施中,机器学习模型生成器302包括问答识别模块304、附加答案生成模块306、答案标记模块308和训练模块310。

在一个或多个具体实施中,数据语料库110对应于基于在线问答论坛生成的数据,如上所论述。该论坛数据可从在线论坛提取并且本地存储在数据语料库110中,或者可对应于从在线论坛实时访问的数据。

问答识别模块304用于从数据语料库110识别问题和问题的答案(例如,对应于问题和答案索引),其中答案被指示为在语义上与问题相关。就这一点而言,论坛数据可包括论坛用户所提出的多个问题。对于给定问题而言,论坛数据可提供对论坛用户所回答的问题的多个答案。在一个或多个具体实施中,对于每个被回答的问题而言,论坛数据可进一步提供问题答案的排序。例如,可基于论坛用户对每个答案表示同意(例如,单击向上拇指或“+”界面元素)或不同意(例如,单击向下拇指或“-”界面元素)来确定排序。在一个或多个具体实施中,论坛数据可包括问题的正确答案或最佳答案的指示符,因此可确定正确答案或最佳答案是关于问题的语义相关答案。例如,论坛网页可突出显示正确或最佳答案和/或在正确或最佳答案旁提供图形指示符。

对于由论坛提供的每个所回答的问题,问答识别模块304可识别问题的正确答案,因此确定该答案是问题的语义相关答案。问答识别模块304可基于在论坛网页上提供的上述排序和/或图形指示符来识别正确答案。例如,针对给定问题的排序最高的答案(例如,对应于更多的用户同意)可被确定为问题的正确答案,并且因此可被确定为是该问题的比问题的其他答案更语义相关的答案。

另选地或除此之外,问答识别模块304可基于将阈值语义相似性与论坛中呈现的问题进行匹配来识别语义相关的答案。例如,为了在语义上相关,答案可能必须与问题共享一定数量的类似术语(或符号)和/或具有相对于问题以预定义的顺序出现的术语。在一个或多个具体实施中,要在语义上相关,答案可能需要包括最小数量的术语,其中最小数量基于例如问题中术语的数量。

在一个或多个具体实施中,从该论坛提取的问题可以是“一群猴子称为什么?”问答识别模块304可确定问题(从论坛中提取)的正确答案可以是“一群猴子被称为部队”。例如,这个答案可能已根据论坛数据得到了较高排序,并且具有与问题中的术语相一致的几个术语。根据论坛数据,答案“部队”可能得到较高排序,但未被选择为语义相关的答案,因为它不与问题共享阈值数量的术语(标记),和/或不包括最少数量的术语。

在已识别问题和语义相关的答案之后,附加答案生成模块306使用对应于数据语料库110的问题和答案索引来识别问题的附加答案。这样,附加答案生成模块306可识别问题的预定义数量的附加答案(例如,10个答案,或介于8-12个答案的范围之间)。因此,对于给定问题而言,可以保持语义相关的答案(例如,一个)与附加答案(例如,十个)的比率。例如,数据语料库110可存储从500,000到2,000,000个基于论坛的文档中抓取的问题和答案,并且对于这个数量的文档而言,每个问题一个语义相关答案与十个语义无关答案的比率可为该数量文档的适当比率。

在一个或多个具体实施中,附加答案生成模块306将附加答案选择为被确定为在语义上与问题无关的那些答案。例如,附加答案生成模块306可通过将问题和答案并置(例如,将问题标记和答案标记并置)并使用并置的问题和答案搜索答案索引来获取附加答案。

另选地或除此之外,附加答案生成模块306可基于具有与问题的语义相似性和/或所确定的语义相关答案但没有足够相似性从而为语义相关,来识别所确定的语义无关答案。例如,所确定的语义上无关的答案可与问题共享一定数量的类似术语和/或术语的顺序,但不满足被确定为语义相关所需的相似性阈值。因此,由附加答案生成模块306识别的语义无关答案可能在语义上与问题相关并被确定为语义相关答案,但低于阈值相似性。这样,就可以向机器学习模型312提供更精练的训练数据,例如未标记为语义相关的语义相似答案。

在生成附加答案之后,答案标记模块308将肯定标签分配给每个所确定的语义相关答案(例如,每个问题具有一个语义相关答案),并且进一步将否定标签分配给每个所确定的语义无关答案(例如,每个问题具有十个语义无关答案)。例如,对于每个所确定的语义相关的答案,可将肯定标签指定为1,并且对于每个所确定的语义无关的答案,可将否定标签指定为0。

对于每个索引的问题,训练模块310通过向机器学习模型312提供如下内容作为输入来生成和训练机器学习模型312:问题、具有其肯定标签(例如,1)的所确定的语义相关答案,以及具有其相应否定标签(例如,0)的所确定的语义无关答案中的每个。在一个或多个具体实施中,对于问题的每个相关/无关答案,可以通过将问题与答案并置并使用并置的问题和答案连同答案的标签来训练模型,从而训练机器学习模型312。如上所述,由于所确定的语义无关的答案可能在语义上与问题和/或所确定的语义相关答案有关(但低于阈值相似性),因此可以用更精练的数据集来训练机器学习模型312。因此,机器学习模型312能够更准确地确定是否可以为提供给q&a服务的新问题提供语义相关的答案(例如,对问题有意义的答案)。

在一个或多个具体实施中,机器学习模型生成器302、问答识别模块304、附加答案生成模块306、答案标记模块308、训练模块310和机器学习模型312被实现为存储在存储器204中的软件指令,该软件指令在由主机处理器202执行时使得主机处理器202执行一项或多项特定功能。

在一个或多个具体实施中,机器学习模型生成器302、问答识别模块304、附加答案生成模块306、答案标记模块308、训练模块310和机器学习模型312中的一者或多者可在软件(例如,子例程和代码)和/或硬件(例如专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、控制器、状态机、门控逻辑部件、分立硬件部件或任何其他合适的设备)和/或两者的组合中实现。在一个或多个具体实施中,所描绘的部件中的一些或全部可共享硬件和/或电路,和/或所描绘的部件中的一者或多者可利用专用硬件和/或电路。本公开中进一步描述了根据主题技术的各方面的这些模块的附加特征和功能。

图4示出了根据一个或多个具体实施的可由服务器实现的主题系统的q&a服务的示例。例如,q&a服务406可由在服务器108的主机处理器202和/或任何其他设备上运行的一个或多个软件模块来实现。又如,q&a服务406可通过由定制硬件(例如,一个或多个协处理器)实现的一个或多个软件模块来实现。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件、或更少的部件。

q&a服务406可包括候选答案生成模块408和置信度评分计算模块410。q&a服务406接收问题402作为输入。作为响应,q&a服务可提供答案形式的输出414,或提供无法回答该问题的指示。q&a服务可访问搜索引擎404和机器学习模型312两者,以便提供输出414。

在一个或多个具体实施中,可基于经由电子设备102上运行的应用的用户输入来从电子设备102接收问题402。例如,应用可以是虚拟助理应用、浏览器或系统范围搜索应用,每个应用可以为用户提供多种询问问题的方式(例如,语音输入、基于文本的输入)。

候选答案生成模块408搜索针对所接收问题402的候选答案。在一个或多个具体实施中,搜索候选答案包括利用问题查询搜索引擎404以及从搜索引擎404接收搜索结果。

在一个或多个具体实施中,搜索引擎404是基于互联网的搜索引擎。搜索引擎404可在服务器108上或在连接到网络106的不同服务器上实现。通过与搜索引擎404通信,候选答案生成模块408可具有用于向搜索引擎404发送查询和从搜索引擎接收结果的适当的应用界面(api)。

搜索引擎404可提供按相关性排序的搜索结果。例如,搜索引擎404可为候选答案生成模块408提供基于排序的搜索结果的有序列表。在一个或多个具体实施中,候选答案生成模块408可修剪从搜索引擎404接收的搜索结果的有序列表(例如,将候选答案限制到排序最高的25个搜索结果)。

搜索结果可由搜索引擎404以一个或多个数据类型提供,包括但不限于文本、超链接、文档、图像、视频或音频文件。除了修剪之外,候选答案生成模块408还可格式化从搜索引擎404接收的有序列表,以便生成问题402的候选答案。

置信度评分计算模块410向机器学习模型312提供问题402和候选答案,机器学习模型继而为候选答案的每个提供置信度评分。在一个或多个具体实施中,置信度评分计算模块410对每个问题和候选答案进行符号化,并且向机器学习模型312提供符号化的问题和候选答案,以获得候选答案的置信度评分。

例如,对于具有25个候选答案的给定问题,置信度评分计算模块410对问题进行符号化(例如,基于对应于问题的术语/符号),并且类似地对25个候选问题的每个进行符号化。置信度评分计算模块410然后向机器学习模型312发送问题的符号化版本和25个候选答案的符号化版本。

如上所述,问题402可为训练机器学习模型312中未使用的新问题。然而,基于用于已知问题和答案的训练数据(例如,确定的语义相关答案和每个问题的多个语义无关答案),机器学习模型312可以确定候选答案中的一个(基于来自搜索引擎404的结果)是否可能在语义上与问题402相关。为了进行该确定,机器学习模型312确定每个候选答案的置信度评分。

在一个或多个具体实施中,分配给每个候选答案相关无关值对,其中每个对的相关值和不相关值相加等于1。例如,第一候选答案可能具有相关无关值对[0.7,0.3],而第二候选答案可能具有相关无关值对[0.5,0.5]。机器学习模型312可通过确定该对的相关值与无关值之间的差值来计算每个相关无关值对的净效应。例如,相关无关值对[0.7,0.3]具有净效应0.4,而相关无关值对[0.5,0.5]则具有0的净效应。

机器学习模型312可为净效应设置阈值,并且过滤掉所有不满足阈值的候选答案。例如,机器学习模型312可将净效应的阈值设置为0.6。在一个示例中,对于最初考虑的25个候选答案,可因其中20个不具有至少0.6的净效应而将其移除。

机器学习模型312可从剩余答案中选择候选答案作为问题402的答案。在一个或多个具体实施中,可选择具有最高净效应的候选答案作为答案。另选地,可从剩余的候选答案中选择由搜索引擎404排序确定的排序最高的候选答案作为问题402的答案。

因此,如果至少一个候选答案满足净效应的阈值,则q&a服务406可提供可能语义相关的答案(例如,基于置信度)作为输出414。然而,可能的情况是,没有一个候选答案满足置信度阈值。这表示响应于问题402提供可能语义相关的答案的置信度较低。q&a服务406可在诸如虚拟助理应用内返回诸如“抱歉,我无法回答该问题”之类的消息,而不是提供答案作为输出。另选地,q&a服务406可在浏览器或系统范围搜索应用内不返回任何结果(例如,空白的结果列表)。

在一个或多个具体实施中,q&a服务406可为机器学习模型312提供人类评估和/或人类监督的学习。例如,q&a服务406可提供训练模式,在该模式中,管理或训练用户利用额外的训练数据补充机器学习模型312。在这种模式中,预定义的问题的多个实例可作为输入402被提供给q&a服务406,q&a服务406可提供答案或没有答案的指示作为输出414。

正在该训练模式下训练机器学习模型312的用户可评估输出414。例如,经由用户界面,训练用户可确认输出和/或不同意输出414。例如,如果在语义上不相关的答案(例如,相对于由用户所确定的问题无意义)被提供为输出414,则用户可经由用户界面来如此指示,并且机器学习模型312可被相应地更新。例如,可利用问题和并置的答案,连同标签0,来重新训练机器学习模型312。

在一个或多个具体实施中,此类补充训练可在非训练模式中(例如,在正常使用期间)进行。例如,当最终用户认为输出414在语义上与问题无关时,提供问题402的最终用户可提供反馈。例如,最终用户可提供口头反馈,诸如“这不是我问的”,或“该答案没有意义”。在一个或多个具体实施中,可为用户提供在q&a服务406内启动用户界面的选项,使得不会自动提示用户确认/不同意由q&a服务406提供的每个答案。

在一个或多个具体实施中,搜索引擎404、机器学习模型312和q&a服务406(包括候选答案生成模块408和置信度评分计算模块410)被实现为存储在存储器204中的软件指令,该软件指令在由主机处理器202执行时使得主机处理器202执行一项或多项特定功能。

在一个或多个具体实施中,搜索引擎404、机器学习模型312、q&a服务406、候选答案生成模块408和置信度评分计算模块410中的一者或多者可在软件(例如,子例程和代码)和/或硬件(例如专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、控制器、状态机、门控逻辑部件、分立硬件部件或任何其他合适的设备)和/或两者的组合中实现。在一个或多个具体实施中,所描绘的部件中的一些或全部可共享硬件和/或电路,和/或所描绘的部件中的一者或多者可利用专用硬件和/或电路。本公开中进一步描述了根据主题技术的各方面的这些模块的附加特征和功能。

图5示出了根据一个或多个具体实施的用于提供机器学习模型的示例性过程的流程图。出于解释的目的,本文主要相对于图1的服务器108来描述过程500。然而,过程500不限于图1的服务器108,并且过程500的一个或多个框(或操作)可由服务器108的一个或多个其他部件和/或由其他合适的设备执行。进一步出于解释的目的,过程500的框在本文中被描述为顺序地或线性地发生。然而,过程500的多个框可并行发生。此外,过程500的框不必按所示顺序执行,和/或过程500的一个或多个框不必被执行和/或可由其他操作替代。

服务器108基于源数据(例如,问答论坛)识别问题和问题的答案。该答案在源数据中被指示为与问题相关,因此服务器108确定该答案在语义上与问题相关(502)。

服务器108至少部分地基于该问题和答案对对应于源数据的数据语料库110执行搜索,以获得该问题的另一答案,该另一答案被确定为在语义上与问题无关(504)。源数据可包括问答论坛,并且可基于爬取问答论坛来生成数据语料库。另一个答案在语义上可能类似于问题和/或答案。

服务器108将肯定标签分配给被确定在语义上与问题相关的答案,并将否定标签分配给被确定为在语义上与问题无关的另一答案(506)。服务器108至少部分地基于问题、分配给语义相关答案的肯定标签,以及分配给语义不相关的另一答案的否定标签,生成机器学习模型312(508)。

服务器108提供机器学习模型312以帮助确定是否可针对后续问题提供可能语义相关的答案(510)。

在一个或多个具体实施中,服务器108可接收后续问题,搜索后续问题的候选答案,并且向机器学习模型312提供后续问题和候选答案以获得候选答案的每个的置信度评分。在一个或多个具体实施中,可经由虚拟助理应用、浏览器或系统范围搜索应用来接收后续问题,并且搜索候选答案可包括利用后续问题执行基于互联网的搜索。

在一个或多个具体实施中,当至少一个候选答案的置信度评分满足置信度评分阈值时,服务器108可确定可针对后续问题提供可能语义相关的答案。服务器108可响应于该确定从候选答案中的至少一个(例如,具有最高搜索排序或具有最高置信度评分)选择候选答案,并响应于后续问题提供所选择的候选答案。

在一个或多个具体实施中,当候选答案的每个的置信度评分不满足置信度评分阈值时,服务器108可确定不能针对后续问题提供可能语义相关的答案。响应于该确定,服务器108可发送不能为后续问题提供答案的指示。

如上文所述,本发明技术的一个方面在于采集和使用得自各种来源的数据,例如以改进向用户递送其可能感兴趣的内容,诸如提供用户问题的答案。本公开设想,在一些实例中,这些所采集的数据可包括标识在电子设备上相对于特定人的用户活动的个人信息数据。此类个人信息数据可包括例如用户兴趣的标识、人口统计数据、基于时间的数据、基于位置的数据或其他标识信息。

本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可能被用于递送用户更感兴趣的目标内容(例如,为用户提供相关搜索结果或查询建议,为用户提供可能语义相关的问题答案等)。因此,使用此类个人信息数据使得能够对所递送的内容进行离散的控制。此外,本公开还设想个人信息数据有益于用户的其他用途。

本公开还设想负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私做法。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和做法。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和做法。如本文所述,所收集的个人信息仅存储在用户自己的设备上,不同的是为了传输目的在服务器上临时高速缓存一些数据。

不管前述情况如何,本公开还设想用户选择性地阻止使用或访问个人信息数据的实施方案。也就是说,本公开设想到,可提供硬件元件和/或软件元件以防止或阻止对此类个人信息数据的访问。例如,用户可选择不为目标内容递送服务提供时间或位置信息。再如,用户可选择不提供精确的位置信息,但准许传输位置区域信息。

因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还设想各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或少量的个人信息,诸如与用户相关联的设备请求的内容,其他非个人信息或公开可用的信息来选择内容并且递送至用户。

图6示出了可用以实现主题技术的一个或多个具体实施的电子系统600。电子系统600可以是图1所示的电子设备102-104中的一个或多个和/或服务器108的一个或多个,以及/或者可以是其一部分。电子系统600可包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统600包括总线608、一个或多个处理单元612、系统存储器604(和/或缓存)、rom610、永久性存储设备602、输入设备接口614、输出设备接口606以及一个或多个网络接口616,或其子集及变体形式。

总线608总体表示通信连接电子系统600的许多内部设备的所有系统、外围设备以及芯片组总线。在一个或多个具体实施中,总线608将一个或多个处理单元612与rom610、系统存储器604和永久性存储设备602可通信地连接。一个或多个处理单元612从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行主题公开的过程。在不同的具体实施中,一个或多个处理单元612可以是单个处理器或者多核处理器。

rom610存储一个或多个处理单元612以及电子系统600的其他模块需要的静态数据和指令。另一方面,永久性存储设备602可以是读写存储器设备。永久性存储设备602可以是即使在电子系统600关闭时也存储指令和数据的非易失性存储器单元。在一个或多个具体实施中,海量存储设备(诸如,磁盘或光盘及其相应盘驱动器)可被用作永久性存储设备602。

在一个或多个具体实施中,可移除存储设备(诸如,软盘、闪存驱动器及其相应盘驱动器)可被用作永久性存储设备602。与永久性存储设备602一样,系统存储器604可以是读写存储器设备。然而,与永久性存储设备602不同,系统存储器604可以是易失性读写存储器,诸如随机存取存储器。系统存储器604可存储一个或多个处理单元612在运行时可能需要的指令和数据中的任何指令和数据。在一个或多个具体实施中,主题公开的过程被存储在系统存储器604、永久性存储设备602和/或rom610中。一个或多个处理单元612从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行一个或多个具体实施的过程。

总线608还连接至输入设备接口614和输出设备接口606。输入设备接口614使得用户能够向电子系统600传送信息以及选择命令。可与输入设备接口614一起使用的输入设备可包括例如字母数字混合键盘和指向设备(也称为“光标控制设备”)。输出设备接口606可例如使得能够显示电子系统600所生成的图像。可与输出设备接口606一起使用的输出设备可包括例如打印机和显示设备,诸如液晶显示器(lcd)、发光二极管(led)显示器、有机发光二极管(oled)显示器、柔性显示器、平板显示器、固态显示器、投影仪或用于输出信息的任何其他设备。一个或多个具体实施可包括既充当输入设备又充当输出设备的设备,诸如触摸屏。在这些具体实施中,例如,提供给用户的反馈可以是任何形式的感官反馈,诸如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。

最后,如图6所示,总线608还通过一个或多个网络接口616将电子系统600耦接到一个或多个网络和/或耦接到一个或多个网络节点,诸如图1中所示的服务器108。以此方式,电子系统600可以是计算机网络(诸如lan、广域网(“wan”)或内联网)的一部分,或者可以是网络的网络(诸如互联网)的一部分。电子系统600的任何或所有部件可与主题公开一起使用。

可以利用编写有一个或多个指令的有形计算机可读存储介质(或一种或多种类型的多个有形计算机可读存储介质)部分地或全部地实现本公开范围之内的具体实施。有形计算机可读存储介质实质上也可以是非暂态的。

计算机可读存储介质可以是任何可以由通用或专用计算设备读、写或以其他方式访问的存储介质,包括任何能够执行指令的处理电子器件和/或处理电路。例如,非限制地,计算机可读介质可包括任何易失性半导体存储器,诸如ram、dram、sram、t-ram、z-ram和ttram。计算机可读介质也可包括任何非易失性半导体存储器,诸如rom、prom、eprom、eeprom、nvram、闪存、nvsram、feram、fetram、mram、pram、cbram、sonos、rram、nram、赛道存储器、fjg和millipede存储器。

此外,计算机可读存储介质可包括任何非半导体存储器,诸如光盘存储装置、磁盘存储装置、磁带、其他磁性存储设备或者能够存储一个或多个指令的任何其他介质。在一个或多个具体实施中,有形计算机可读存储介质可直接耦接到计算设备,而在其他具体实施中,有形计算机可读存储介质可例如经由一个或多个有线连接、一个或多个无线连接、或它们的任意组合而间接地耦接到计算设备。

指令可以是直接能执行的,或者可用于开发可执行指令。例如,指令可被实现为可执行的或不可执行的机器代码,或者可被实现为可被编译以产生可执行的或不可执行的机器代码的高级语言指令。此外,指令也可被实现为数据,或者可包括数据。计算机可执行指令也可以任何格式组织,包括例程、子例程、程序、数据结构、对象、模块、应用、小程序、函数等。如本领域技术人员认识到的那样,包括但不限于指令的数量、结构、序列和组织的细节可明显不同,而不改变底层的逻辑、功能、处理和输出。

虽然以上论述主要涉及执行软件的微处理器或多核处理器,但一个或多个具体实施由一个或多个集成电路诸如asic或fpga执行。在一个或多个具体实施中,此类集成电路执行存储在电路自身上的指令。

本领域的技术人员将会认识到,本文所述的各种例示性的框、模块、元件、部件、方法和算法可被实现为电子硬件、计算机软件或两者的组合。为了说明硬件和软件的这种可互换性,上文已经一般性地按照功能性对各种例示性的框、模块、元件、部件、方法和算法进行了描述。此类功能性是被实现为硬件还是软件是取决于具体应用以及对整个系统施加的设计约束。技术人员对于每个具体应用可以以不同方式实现所描述的功能性。各种部件和框可被不同地布置(例如,以不同的顺序排列,或以不同的方式划分),而不脱离主题技术的范围。

应当理解,本发明所公开的过程中的框的特定顺序或分级结构为示例性方法的例示。基于设计优选要求,应当理解,过程中的框的特定顺序或者分级结构可被重新布置或者所有示出的框都被执行。这些框中的任何框可被同时执行。在一个或多个具体实施中,多任务和并行处理可能是有利的。此外,上述具体实施中各个系统部件的划分不应被理解为在所有具体实施中都要求此类划分,并且应当理解,所述程序部件和系统可一般性地被一起整合在单个软件产品中或者封装到多个软件产品中。

如本说明书以及本专利申请的任何权利要求中所用,术语“基站”、“接收器”、“计算机”、“服务器”、“处理器”及“存储器”均是指电子设备或其他技术设备。这些术语排除人或者人的群组。出于本说明书的目的,术语“显示”或“正在显示”意指在电子设备上显示。

如本文所用,在用术语“和”或“或”分开项目中任何项目的一系列项目之后的短语“中的至少一者”是将列表作为整体进行修饰,而不是修饰列表中的每个成员(即每个项目)。短语“中的至少一者”不要求选择所列出的每个项目中的至少一个;相反,该短语允许包括任何一个项目中的至少一个和/或项目的任何组合中的至少一个和/或每个项目中的至少一个的含义。举例来说,短语“a、b和c中的至少一者”或“a、b或c中的至少一者”各自是指仅a、仅b或仅c;a、b和c的任意组合;和/或a、b和c中的每一个中的至少一个。

谓词字词“被配置为”、“可操作以”以及“被编程以”并不意味着对某一主题进行任何特定的有形或无形的修改而是旨在可互换使用。在一个或多个具体实施中,被配置为监视和控制操作或部件的处理器也可以是意指处理器被编程以监视和控制操作或者处理器可操作以监视和控制操作。同样,被配置为执行代码的处理器可解释为被编程以执行代码或可操作为执行代码的处理器。

短语诸如方面、该方面、另一方面、一些方面、一个或多个方面、具体实施、该具体实施、另一具体实施、一些具体实施、一个或多个具体实施、实施方案、该实施方案、另一实施方案、一些实施方案、一个或多个实施方案、配置、该配置、其他配置、一些配置、一个或多个配置、主题技术、公开、本公开、其他变型等等都是为了方便,并不意味着涉及这样的一个或多个短语的公开对于主题技术是必不可少的,或者这种公开适用于主题技术的所有配置。涉及此类一个或多个短语的公开可适用于所有配置或一个或多个配置。涉及此类一个或多个短语的公开可提供一个或多个示例。短语诸如方面或一些方面可指代一个或多个方面,反之亦然,并且这与其他前述短语类似地应用。

字词“示例性”在本文中被用于意指“用作示例、实例或者例示”。在本文中被描述为“示例性的”或作为“示例”的任何实施方案不必被理解为优选于或优于其他具体实施。此外,在术语“包括”、“具有”等在说明书或权利要求中使用的限度内,这样的术语旨在是包含性的,与术语“包括”当在权利要求中被用作过渡字词时“包括”被解释的方式类似。

本领域的普通技术人员已知或稍后悉知的贯穿本公开描述的各个方面的元素的所有结构和功能等同物通过引用明确地并入本文,并且旨在被权利要求书所涵盖。此外,本文所公开的任何内容并非旨在提供给公众,而与该公开是否明确地被陈述在权利要求中无关。根据35u.s.c.§112第六段的规定,不需要解释任何权利要求元素,除非使用短语“用于……的装置”明确陈述了该元素,或者就方法权利要求而言,使用短语“用于……的步骤”陈述了该元素。

先前的描述被提供以使得本领域的技术人员能够实践本文所述的各个方面。这些方面的各种修改对本领域的技术人员而言是显而易见的,并且本文所限定的通用原则可应用于其他方面。因此,本权利要求书并非旨在受限于本文所示的方面,而是旨在使得全部范围与语言权利要求书一致,其中对奇异值中的元素的引用并非旨在意味着“仅仅一个”,而是指“一个或多个”,除非被具体指出。除非另外特别说明,否则术语“一些”是指一个或多个。男性的代名词(例如,他的)包括女性和中性(例如,她的和它的),并且反之亦然。标题和子标题(如果有的话)仅为了方便起见而使用并且不限制本主题公开。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1