CN113826089A - 对聊天机器人中的自然理解***的具有到期指标的上下文反馈 - Google Patents

对聊天机器人中的自然理解***的具有到期指标的上下文反馈 Download PDF

Info

Publication number
CN113826089A
CN113826089A CN202080036569.7A CN202080036569A CN113826089A CN 113826089 A CN113826089 A CN 113826089A CN 202080036569 A CN202080036569 A CN 202080036569A CN 113826089 A CN113826089 A CN 113826089A
Authority
CN
China
Prior art keywords
natural language
chat message
context
language processor
concept
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
Application number
CN202080036569.7A
Other languages
English (en)
Inventor
J·A·泰勒
V·S·坎南
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113826089A publication Critical patent/CN113826089A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • 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/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

聊天机器人计算***包括机器人控制器和自然语言处理器。自然语言处理器接收第一文本输入并且标识由第一文本输入表示的概念。概念的指示被输出到机器人控制器,机器人控制器生成针对第一文本输入的响应。当接收到第二文本输入时,自然语言处理器输出的概念也与到期指标一起被反馈到自然语言处理器的输入中。自然语言处理器然后基于第二自然语言、文本输入和未到期的上下文信息来标识第二文本输入中表示的概念。

Description

对聊天机器人中的自然理解***的具有到期指标的上下文 反馈
背景技术
计算***目前正在被广泛使用。一些计算***包括在线聊天功能,该功能允许用户与另一用户进行实时(或者接近实时)消息收发。类似地,一些计算***包括机器人(有时称为网络机器人),它是在网络(诸如,广域网)上运行以执行任务的应用程序。当机器人使用聊天功能时,它有时被称为聊天机器人。
聊天机器人有时被用于计算***中,以实现对话界面。用户可以使用自然语言与对话界面进行交互,以执行各种不同的任务。一些任务包括获取信息(在这种情况下机器人实现搜索功能并且将信息返回给用户)和执行任务(在这种情况下机器人实现控制功能以控制一些物理控制***或者项目)。聊天机器人也可以被用户用于执行各种其他任务。
仅作为几个示例,聊天机器人可以被用作数据存储***的对话接口,以便使用自然语言输入查询进行搜索。在另一示例中,聊天机器人可以被用于实现家庭自动化***的接口,其中家庭中的不同可控子***可以通过用户使用聊天机器人的对话输入来控制。聊天机器人可以被用于预订、获取驾驶方向、获取天气信息和许多其他事情。
上述讨论仅提供一般背景信息,并不旨在用于帮助确定要求保护的主题的范围。
发明内容
聊天机器人计算***包括机器人控制器和自然语言处理器。自然语言处理器接收第一文本输入并且标识由第一文本输入表示的概念。概念的指示被输出到机器人控制器,机器人控制器生成针对第一文本输入的响应。当第二文本输入被接收到时,由自然语言处理器输出的概念也与到期指标一起被反馈到自然语言处理器的输入中作为上下文信息。然后,自然语言处理器基于第二自然语言、文本输入和未到期的上下文信息标识第二文本输入中表示的概念。
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中被进一步描述。本发明内容不旨在确定所要求保护的主题的关键特征或者必要特征,也不旨在用于帮助确定所要求保护的主题的范围。要求保护的主题不限于解决背景技术中提到的任何或者所有缺点的实现。
附图说明
图1是在其中使用聊天机器人计算***的计算***架构的一个示例的框图。
图2是图示了在图1中所图示的架构的总体操作的一个示例的流程图。
图3是示出了使用知识模型的在图1中图示的架构的框图。
图3A、3B、3C示出了知识模型的不同部分的示例。
图4是示出了知识模型的一个示例的框图。
图5是示出了使用上下文过滤/增强逻辑的在图3中图示的架构的框图。
图6是更详细地示出了上下文过滤/增强逻辑的一个示例的框图。
图7是图示了使用知识模型的前述图中图示的架构的一个示例的流程图。
图8是示出了使用上下文过滤/增强逻辑操作的前述图中示出的架构的一个示例的流程图。
图9示出了部署在云计算架构中的前述图中图示的架构的一个示例。
图10-12示出了可以在前述图中示出的架构中使用的移动设备的示例。
图13是示出了可以在前述图中示出的架构中使用的计算环境的一个示例的框图。
具体实施方式
如上面所讨论的,聊天机器人经常被用于实现各种不同类型的***的自然语言界面。自然语言输入经常包含歧义。这是因为自然语言对话经常假设在对话中的参与者之间存在一定程度的共享的上下文。
举例来说,假设发生了以下对话:
对话参与者1:“今天西雅图的天气如何?”
参与者2:“今天是阴天,可能会有雨。”
参与者1:“明天如何?”
参与者2:“明天可能会有阵雨。”
参与者1:“艾伦斯堡呢?”
参与者2:“明天艾伦斯堡将会阳光充足。”
在对话的开始处,第一话语的接收者没有上下文,而是只有第一话语(“今天西雅图的天气如何?”)是明确的。然而,第二话语(“明天如何?”),其本身是模糊的。
当这些类型的自然语言输入被通过由聊天机器人实现的对话界面提供时,聊天机器人理解用户第二话语的含义的唯一方式是知晓该话语的上下文。上下文表示在收到第二话语之前,在对话中的参与者在谈论什么。在本示例中,这些内容包括“天气”、“西雅图”和“今天”。用户第三话语(“艾伦斯堡呢?”)。准确回答的唯一方法是知道该话语的内容是“天气”和“明天”(这将覆写“今天”的上下文)。
因此,本讨论继续,讨论关于标识对聊天机器人的自然语言输入中的概念,并且将这些概念作为上下文信息在对话中向前推进,以增强对话中的后续话语。因此,图1示出了计算***架构100的一个示例,其中聊天机器人计算***102通过聊天消息通道功能104从通过用户设备108提供聊天消息的用户106接收聊天消息。
用户设备108可以是各种不同类型的设备中的任何一种。在图1所示的示例中,其可以是生成一个或多个接口110以供用户106交互的移动设备。用户106示例性地与接口110交互,以便控制和操纵用户设备108和聊天机器人计算***102的某些部分。作为一个示例,接口110可以包括麦克风,使得用户106可以通过用户设备108和聊天消息通道功能104向聊天机器人计算***102提供自然语言输入作为语音输入。
举例来说,图1示出了用户106已经提供聊天消息112作为聊天消息通道功能104的输入。聊天消息112被提供给聊天机器人计算***102。聊天机器人计算***102处理聊天消息112并且生成聊天响应114,该聊天响应114通过聊天消息通道功能104被提供回用户设备108,在用户设备108处,聊天消息112在接口110之一上向用户106呈现。接口110可以在显示设备、音频设备、触觉设备等上被生成。
在图1所示的示例中,聊天机器人计算***102示例性地包括一个或多个处理器或者服务器116、数据存储库118、聊天机器人120,并且其可以包括各种其他项目121。处理器和/或服务器116可以以各种不同的方式实现聊天机器人120。在图1所示的示例中,聊天机器人102示例性地包括机器人控制器122和自然语言处理器124。机器人控制器122示例性地可以是由开发者生成的代码,以实现开发者希望实现的特定类型的接口。自然语言处理器124示例性地对自然语言文本输入执行自然语言处理,以标识这些输入表示的概念。
因此,在一个示例中,聊天消息112作为文本输入126从机器人控制器122被提供给自然语言处理器124。自然语言处理器124(如下面将更详细被描述)标识输入文本126中的概念,并且生成表示这些概念的输出128。如下面更详细被描述,这些概念可以由唯一标识符表示。
输入文本126中的概念(例如,唯一标识符)被提供回机器人控制器122,机器人控制器122生成响应聊天消息114(或者响应于这些概念采取其他动作)。根据一个示例,输出128还与后续从用户106处被接收(例如,基于第二话语)的后续输入文本一起被反馈回自然语言处理器124。
因此,继续上面所讨论的示例,第一输入文本126可以是“今天西雅图的天气如何?”基于该输入,自然语言处理器124可以标识概念(或者对应于这些概念的唯一标识符),例如“天气”、“西雅图”和“今天”。这些概念可以作为输出128输出给机器人控制器122,机器人控制器122生成响应聊天消息114,该消息可以是“今天将是阴天,可能会有雨。”然后,当第二话语作为第二聊天消息112被接收时(“明天如何?”),该文本输入作为输入文本126与在第一话语中标识的概念(“天气”、“西雅图”和“今天”)被提供给自然语言处理器124。因此,自然语言处理器124不仅基于第二话语的文本,还基于第一话语中标识的概念(其用作第二话语的上下文)来生成指示在第二话语中表示的概念的输出。自然语言处理器124基于第二话语生成的输出将被再次反馈给机器人控制器122,以便机器人控制器122能够生成响应,但是如果接收到第三话语,自然语言处理器124的输出也将作为第三话语的上下文被反馈给自然语言处理器124。
再次参考上面陈述的示例对话,由机器人控制器122生成的第二响应(响应于第二话语“明天如何?”)是“明天可能会有阵雨。”用户106然后生成第三话语“艾伦斯堡呢?”显然,如果知道对话的上下文,用户106正在询问艾伦斯堡明天的天气情况。因此,响应于第二话语(“明天如何?”)将包括“天气”、“明天”和“西雅图”等概念,自然语言处理器124生成输出128。它将被提供给机器人控制器122,以便机器人控制器122可以生成响应“明天可能会有阵雨”。这些概念还将连同第三话语“艾伦斯堡呢”一起被反馈给自然语言处理器124。由于“艾伦斯堡”的概念比“西雅图”的概念更新,“艾伦斯堡”将取代“西雅图”。因此,自然语言处理器124将基于反馈给它的上下文知道当前的对话是关于“天气”、“明天”和“艾伦斯堡”。
自然语言处理器124因此将基于第三话语和从第二话语反馈给它的上下文生成另一输出128。基于第三话语的输出128将被提供给机器人控制器122,以便机器人控制器122能够生成对第三话语的响应。如示例对话中所述,该响应可以包括“明天艾伦斯堡将会阳光充足。”
如上面简要地所提及的,在一个示例中,自然语言处理器124包括代码,使得(在最近的话语中的)最近的单词将更重要,将覆盖任何冲突,以及伴随它们并且从先前的话语反馈的上下文。因此,在上面所讨论的示例中,当第二话语“明天如何?”提供了“明天”这一概念,则“今天”这一概念的上下文信息将被覆盖。因此,“天气”和“西雅图”这两个概念被用来消除第二话语的歧义,但“今天”这一上下文被丢弃了,因为“明天”这一更近的概念取代了它。第二话语的新的上下文信息将是“天气”、“西雅图”和“明天”。然后,当收到第三话语时,“艾伦斯堡”的概念优先于“西雅图”的概念。
在图1中示出的示例中,自然语言处理器124可以以各种不同的方式标识输入话语中的概念。在一个示例中,它使用对每个概念而言唯一的唯一标识符来标识基础概念。因此,例如,虽然“天气”的概念可以包括许多不同的标签,诸如,“天气”、“状况”、“天气状况”等,“天气”的潜在的概念将由单一的唯一标识符表示。类似地,虽然潜在的概念“西雅图”可以由不同的标签表示,例如“绿宝石城”和“西雅图”,但潜在的概念“西雅图”将由单个唯一的标识符表示。
图2是更详细地示出图1中图示的架构100的操作的一个示例的流程图。首先假设聊天机器人计算***102从聊天消息通道104接收话语的表示。这在图2的流程图中由框134表示。应当注意,话语的表示可以是音频表示、文本表示或者不同类型的表示。在一个示例中,当它是音频表示时,对该表示执行语音标识以生成文本表示。这只是一个示例。
机器人控制器122向自然语言处理器124提供话语的表示,用于评估。这由框136指示。自然语言处理器从任何先前的话语中接收任何上下文以及机器人控制器122向其提供的话语表示。在图2中的流程图中的框138指示从任何先前的话语接收上下文。在图1中所示的示例中,由自然语言处理器124生成的任何输出128被直接反馈给自然语言处理器124,作为该话语的上下文信息。由图2的流程图中的框140指示直接提供来自对先前话语的评估的自然语言处理器输出,作为后续话语的上下文信息输入。
然而,如下面更详细描述的,上下文信息不仅可以包括来自自然语言处理器124的输出128,还可以包括该输出的增强或者修改版本,或者可以包括来自除自然语言处理器124的输出之外的其他源的上下文。框142指示提供来自先前评估的过滤的、增强的输出,框144指示提供来自其他源的上下文信息。
然后,在给定的一起接收到的上下文信息的情况下,自然语言处理器124评估其已经接收到的话语的表示。这由框146指示。通过在给定上下文的情况下评估话语的表示,意味着自然语言处理器124基于新所接收的话语及其上下文信息标识一组新的概念。它可以通过多种不同的方式实现这一点。在一个示例中,其使用知识模型(如下面关于图3-7更详细讨论的)。使用知识模型由在图2的流程图中的框148指示。然而,自然语言处理器124也可以以多种其他方式评估给定上下文下的话语表示。这由框150指示。
自然语言处理器124基于评估生成一组概念并将其输出到机器人控制器122。这由框152指示。机器人控制器122基于自然语言处理器124提供的评估结果制定并且输出对聊天消息通道功能104的聊天响应。制定和输出聊天响应由在图2的流程图中的框154指示。
如果另一话语的另一表示被接收,如由框156所指示,则处理返回到框136,其中机器人控制器122将该表示提供给自然语言处理器124。然后,在框138处,自然语言处理器124接收来自先前话语的上下文信息,并且评估继续进行。因此,如图1和图2所示,自然语言处理器124不仅基于特定话语中的信息本身,而且基于来自先前话语的上下文信息以解释(或者评估)该特定话语。这可以极大地促进聊天机器人计算***102的运行。它还可以被用于消除话语歧义,以及提高实现自然语言界面的准确性等等。上下文可以被捕获为一组无序的唯一标识符,其可以被表示为URI或者其他方式。
图3示出了架构100的另一示例,其类似于图1中示出的架构100的示例,并且类似的项目被类似地编号。然而,图3还示出了自然语言处理器124现在可以访问知识模型158,该知识模型158可以被用于基于提供给自然语言处理器124的话语和上下文信息以标识概念。知识模型158示例性地将语言(话语中的单词和文本)与主题或者概念相关联,该主题或者概念成为自然语言处理器124的输出128。这些概念也成为接收到的下一个后续话语(或许还有更多后续话语)的上下文信息。
每个概念可以具有多个不同的标签。例如,天气可能被描述为“阴沉”。然而,当某人情绪低落时,他们的情绪状态也可能被描述为“阴沉”。因此,“阴天”的概念可能被标注为“阴沉”。同样,“悲伤情绪状态”的概念也可以被标注为“阴沉”。进一步地,知识模型158示例性地说明了同义词。例如,“悲伤情绪状态”的概念可以用语言标签(例如,用单词)“悲伤”、“不快乐”、“阴沉”等来标注。
图3A示出了这些类型的模型化概念的示例。图3A示出了“阴天”的概念可以具有“阴沉”的标签。然而,“情绪-悲伤”概念也可以具有标签“阴沉”,以及标签“悲伤”和标签“不快乐”。
另外,概念也可以与其他概念相关,而不仅仅是标签。知识模型158还示例性地捕捉这些类型的关系,因为自然语言处理器124输出的上下文信息不仅可以包括文本输入126中标识的概念,还可以包括密切相关的概念。例如,将分立概念“滑雪条件”和“驾驶条件”与“天气”概念联系起来可能是有用的。
图3B示出了这方面的一个示例。图3B示出,“天气-驾驶条件”和“天气-滑雪条件”这两个概念均与“天气”概念相关。
命名这些类型的关系并且使其具有方向性也是有用的。例如,知识模型158指示“情绪状态”的概念比“情绪状态-悲伤”的概念更宽泛可以是有帮助的。类似地,“情绪状态-悲伤”的概念比“情绪状态-悲观”的概念更宽泛。进一步地,概念可以与多个不同的概念具有相同的关系。例如,“情绪状态悲观”的概念可以与两个更宽泛的不同概念有关。例如,它可以与更宽泛的概念“情绪状态-消极”有关,也可能与更宽泛概念“情绪状态”有关。
图3C示出了这些类型的关系的一个示例。图3C示出,“情绪-悲伤”和“情绪-消极”这两个概念均与更宽泛的“情绪-情绪状态”概念相关。类似地,“情绪-悲观”概念与两个更宽泛的概念相关,第一个是“情绪-悲伤”,第二个是“情绪-消极”。
因此,在一个示例中,知识模型158表示不同的概念,每个概念被赋予唯一的标识符。利用有名称并且有方向的关系,概念可以与其他概念相关联。它们可以用自然语言单词(例如,语言标签)被标注。针对一个特定的概念,可以有许多不同的标签,并且标签本身可以不是唯一的,因为相同的标签可以被用于不同的概念。然而,潜在的概念相对于其他模型概念而言是唯一的。
因此,图4示出了知识模型158的一个示例的框图。知识模型158具有一组概念,每个概念由唯一标识符和一个或多个语言标签(单词)来表示。概念由图4中的框160标识。概念可以通过连接或者链接被连接到语言标签。应当注意,如果模型158被本地化为不同的语言,则表示潜在的概念的唯一标识符无需本地化,因为它们是语言无关的。然而,语言学标签将被本地化。
概念也可以通过带标记的有向链接162被相互连接。模型158还可以包括多种其他的项目164。因此,在操作中,图3示出的架构100的示例操作类似于图1中示出的架构的操作。然而,在图3中,自然语言处理器124使用知识模型158标识由输入文本126(以及从先前评估反馈到自然语言处理器124的任何上下文)表示的概念。这方面的一个示例通过图7在下面被描述。
图5示出了架构100的另一示例,其类似于图3所示的示例。相似的项目编号相似。然而,在图5所示的示例中,聊天机器人计算***102还包括其他上下文源168,其可以向自然语言处理器124提供上下文,作为向语言模型158提供上下文的附加或替代,并且作为从为先前话语生成的输出128反馈的上下文的附加。图5还示出,在一个示例中,输出128被提供给机器人控制器122,使得机器人控制器122可以对刚刚所接收的话语形成聊天响应114。然而,在被提供给上下文过滤/增强逻辑170之后,它被反馈给自然语言处理器124,作为下一后续话语的上下文信息。逻辑170可以对输出128进行增强和/或过滤,以向自然语言处理器124提供过滤和/或增强的上下文信息,以及接收到的下一个后续话语。因此,在图5中所示的示例中,自然语言处理器124不仅能够基于先前的评估结果或者输出128从逻辑170接收增强和过滤的上下文输出,而且还能够从开发者提供的其他源168接收上下文,以便进一步定制由聊天机器人计算***102实现的自然语言界面体验。
在描述架构100的操作之前,在图5所示的示例中,将首先提供对上下文过滤/增强逻辑170的简要描述。图6更详细地示出了图示逻辑170的框图的一个示例。在图6所示的示例中,上下文过滤/增强逻辑170示例性地包括有效期指标生成器180、到期标准处理器182、数据存储库184、上下文增强***186、上下文过滤***188、上下文加权***190、上下文输出生成器192,并且其可以包括多种其他项目194。有效期指标生成器180本身示例性地包括时间戳生成器196、回合计数器198、位置戳生成器200,并且其可以包括其他项目202。到期标准处理器182本身示例性地包括概念级逻辑204、总体上下文逻辑206,并且其可以包括其他项目208。
在更详细地描述逻辑170之前,应当理解,概念通常具有有用的持续时间或者范围(也称为有效期)。因此,与话语一起提供的上下文信息可能具有有限的有用持续时间(或者有效期)。有效期可以通过多种不同标准被确定。在一个示例中,时间标准可以用于确定上下文信息中概念的有效期。例如,如果聊天机器人计算***102在询问当天天气的星期一接收到话语,则如果两天后接收到下一个话语,则从前一个话语生成的上下文信息很可能不再适用于第二话语或者不再对第二话语有意义。因此,包括来自第一话语的概念信息作为第二话语中的上下文信息可能具有有限的有用持续时间,并且该持续时间可以使用时间标准(例如,时间戳)被标识。
有效期指到期标准上下文信息的有限有用性也可以被推广到时间以外的其他维度。例如,聊天机器人计算***102可以在汽车上实现自然语言界面。在这种情况下,用户可以提供寻找最近加油站的话语。然而,下一个后续话语可以是用户106在汽车自前一话语起行驶100英里后提供的话语。在这种情况下,寻找最近加油站的前一话语不太可能用作下一话语的上下文信息。类似地,在同一示例中,如果第一话语询问下一个最近的高速公路出口,并且第二话语是在汽车已经离开高速公路之后提供的,则第一话语作为下一个后续话语的上下文信息的有用性可能有限。因此,在该示例中,有效期或者到期期标准可以是位置(或者地理位置)信息(诸如,当前地理位置),而不是时间信息。
进一步地,可以理解,上下文信息经常仅针对特定最大数目的对话回合有用。举例来说,可以发现上下文信息仅针对三次对话回合(其中聊天机器人计算***102已经接收并且响应了三次话语)有用。此后,可以发现来自第一话语的上下文信息的有用性相对较低。因此,在这种情况下,到期标准可以是在给定时间内已经处理的对话回合。应当注意,当然,用于标识有用性的对话回合数目可以是任何数,并且仅通过示例的方式提供了三个。
在图6所图示的示例中,在由自然语言处理器124生成的输出128作为上下文信息连同下一个话语一起被反馈之前,有效期指标生成器180示例性地生成与该输出相关联的有效期指标。然后将有效期指标与到期标准,或者有效期标准进行比较,以确定其与下一个序列话语的相关性。
在一个示例中,到期标准(或者有效期标准)可以是时间标准。在这种情况下,时间戳生成器196为作为上下文信息被反馈的每个概念生成时间戳。在有效期或到期标准包括对话回合的示例中,则回合计数器198生成回合指示,标识生成输出128的特定对话回合(在最后预定时间之内)。类似地,在有效期或者到期标准包括位置信息的情况下,位置戳生成器200生成位置戳(例如,基于从GPS接收器所接收的信息或者其他位置标识符),该位置戳指示当聊天消息112被接收时用户设备108的位置。
应当注意,可以针对每个单独的概念生成有效期指标。也可以针对输出128生成一个总体指标。
到期标准处理器182后续然后处理与反馈给自然语言处理器124的上下文信息的不同项目相关联或者附加的有效期指标(诸如,通过将其与到期标准进行比较)。这样做以确定上下文信息与下一个话语的相关性。例如,概念级逻辑204处理对应于作为上下文信息被反馈的每个概念标识符的有效期信息。上下文信息的每个项目(例如,每个概念)可以基于不同的话语在不同的时间被生成。在那时将针对它生成一个时间戳。当一个概念作为上下文的项目被反馈时,它与该时间戳相关联。当某一给定概念上的时间戳之间间隔足够长的时间时,那么该项目可能被视为与后续话语不太相关。它可以从反馈到自然语言处理器124中的上下文信息中被移除。其可以被分配较低的相关性权重等。
总体上下文逻辑206评估与反馈到自然语言处理器124的总体上下文(例如,其可以包括来自话语的多个概念或者来自多个聚合并且在时间上推移的话语的概念)相关联的有效期信息。举例来说,待反馈给自然语言处理器124的整个上下文可能是从车辆位于离当前位置100英里的位置时输入的话语中生成的。在这种情况下,逻辑170可以将整个上下文视为不相关而丢弃。
上下文增强***186可以示例性地与其他上下文源168交互,以获得其他上下文信息。其他上下文源168可以被开发者指定或者生成,以为聊天机器人计算***102提供特定行为。上下文过滤***188示例性地基于到期(或有效期)标准或者其他原因过滤上下文项。上下文加权***可以基于不同上下文项的有效期或者到期标准对其进行加权。例如,随着上下文项目老化(基于其时间戳),它可以被上下文加权***190进行更低的加权,因为其可能比其首次生成时更不相关。类似地,当上下文项目在第一回合对话中被生成时,则其权重可能随着后续每个回合对话而降低,因为其可能变得不太相关。类似地,当在第一位置生成上下文项目时,该上下文项目的权重可以随着用户远离该特定位置而被降低。这些仅为示例。
然后,上下文输出生成器192生成到自然语言处理器124的输出,该输出指示过滤和/或增强后的上下文,以便其可以与下一个后续话语一起被考虑。
图7是示出架构100的操作的一个示例的流程图,其中自然语言处理器124使用知识模型158以在给定的上下文信息下标识文本输入126中的概念。
在一个示例中,模型158可以被分布,使得模型的不同部分可以由不同***在不同时间从不同数据源被创建,然后被组合。然后,组合模型可以被用于在运行期间构建运行时执行模型。类似地,知识模型158可以以非分层方式被构建。虽然概念是通过唯一标识符被建模的,但名称空间可以被用于关系名称。
首先假设自然语言处理器124接收待评估的文本126以及表示来自先前话语的上下文的任何唯一标识符。这在图7的流程图中由框212指示。自然语言处理器124后续然后将正在评估的当前文本126与知识模型158中的标签进行匹配。这由框214指示。举例来说,输入文本126将具有可以由知识模型158建模的标签和潜在概念相匹配的语言元素(诸如,单词)。匹配可以由来自先前话语的上下文信息引导或者被告知。
给定上下文信息,自然语言处理器124标识具有与被评估的当前文本最匹配的标签的概念的当前唯一标识符。再一次,举例来说,假设知识模型158包括诸如图3C中所示的条目。还假设概念“悲伤”具有如图3A所示的标签。进一步假设输入文本126包括“不快乐”一词。在这种情况下,知识模型158将指示输入文本匹配概念“悲伤”,并且因此,针对概念“悲伤”的唯一标识符将由知识模型158呈现。图7中的框216指示标识具有与被评估的当前文本相匹配的标签的概念的当前唯一标识符。
自然语言处理器124然后基于为文本输入126所标识的当前唯一标识符,并且基于表示接收到的上下文信息的唯一标识符,生成输出128。这在图7的流程图中由框218表示。由此可见,知识模型158可以被用于在给定其上下文的情况下,基于输入文本126来呈现不同概念的唯一标识符。它也可以通过扩展到知识模型158中的相邻概念来被用于增强上下文信息。
图8是图示了上下文过滤/增强逻辑170当生成将反馈给自然语言处理器124的上下文与后续话语时使用有效期或者到期标准的操作的一个示例的流程图。自然语言处理器124首先从机器人控制器122接收输入文本126。这在图8的流程图中由框230指示。其可以是如由框232所指示的话语的文本表示,或者如由框234所指示的另一表示。
然后,自然语言处理器124执行自然语言处理,以在给定上下文的情况下标识话语中的概念。这由框236指示。它可以使用知识模型158来实现这一点,如图8的流程图中的框238所示。如由框240所指示的,它也可以以其他方式实现这一点。然后,在向具有后续话语的自然语言处理器124提供(概念的)这些唯一标识符之前,上下文过滤/增强逻辑170首先将概念级有效期指标与每个所标识的概念相关联。这在图8的流程图中由框242所指示。在一个示例中,时间戳生成器196生成基于时间的指标244(诸如,指示概念标识符何时被标识的时间戳)。在另一示例中,当接收到被评估的聊天消息112时,位置戳生成器200生成基于位置的有效期指标246,指示用户设备108所在的位置。在另一示例中,回合计数器198生成基于对话回合的指标,如由框248所指示的,指示该概念被标识用于哪个对话回合。有效期指标也可以以多种其他方式被生成,这由图8的流程图中的框250所指示。
一旦有效期指标已经与基于当前话语标识的每个概念相关联,那么任何其他已经存在的上下文项目可以在其作为下一话语的上下文被反馈给自然语言处理器124之前被添加到输出128。这被称为总体上下文信息,总体上下文信息将随下一次话语一起被反馈。添加存在的上下文项以获得总体上下文由图8的流程图中的框252所指示。
有效期指标生成器180然后将总体有效期指标与总体上下文相关联。这在图8的流程图中由框254所指示。再一次,这可以是时间戳256、位置戳258、指示回合数的标记(如由图8的流程图中的框260所指示的)或者另一总体有效期指标262。
到期标准处理器182后续然后将概念级有效期指标和总体有效期指标与到期标准进行比较,以查看是否应当从提供给自然语言处理器124的总体上下文中过滤掉(或者加权)任何上下文信息,作为下一次话语的上下文。由图8的流程图中的框264指示将有效期指标与到期标准进行比较。概念级逻辑104将每个单独概念项目的有效期指标与到期标准进行比较,以确定是否应从总体上下文中移除(或者加权)单独概念。总体上下文逻辑206比较总体上下文的有效期指标,以确定总体上下文是否无关、是否应当具有降低的权重或者是否应当以不同的方式处理。
到期标准的形式取决于有效期指标的形式。例如,其中有效期指标是时间戳,那么到期标准可以是表示与时间戳相关联的概念不再相关、相关性降低等的流逝时间标准。基于当前或者流逝时间过滤上下文由框266指示。
如果有效期指标是位置戳,则到期标准处理器182可以将位置戳与用户设备108的当前位置进行比较。基于当前位置分析到期标准由框268指示。
如果有效期指标是对话回合数指标,则到期标准可以是当前回合数。基于当前回合数评估到期标准由框270指示。
应当理解,到期标准的评估也可以通过多种其他方式进行。这由框272指示。
上下文过滤/增强逻辑170然后基于与到期标准的比较过滤或者增强单个概念和总体上下文,以获得过滤/增强后的上下文。这在图8的流程图中由框274指示。例如,上下文过滤***188可以从上下文移除到期的概念,以与下一个后续话语一起返回给自然语言处理器124。移除到期的概念由框276指示。上下文加权***190可以在各种概念作为下一次话语的上下文被提供之前调整其权重。调整将在下一次评估中被提供给自然语言处理器124的上下文项目的权重由图8的流程图中的框278指示。上下文过滤/增强逻辑170也可以以其他方式过滤和/或增强上下文,这在图8的流程图中由框280指示。
上下文增强***186可以通过从其他上下文源168获得额外的上下文以增强上下文。它还可以通过其他方式对上下文信息进行增强处理。
上下文输出生成器192然后生成指示过滤/增强后的上下文信息的输出,并且将其提供给自然语言处理器124,使得其可被作为下一后续话语的上下文信息。将过滤/增强后的上下文连同下一个话语一起返回自然语言处理器124进行评估由图8的流程图中的框282指示。
应当注意,上述讨论已经描述了各种不同的***、组件和/或逻辑。应当理解,这样的***、组件和/或逻辑可以由执行与该等***、组件和/或逻辑相关联的功能的硬件项目(诸如,处理器和相关联的存储器或者其他处理组件,其中一些将在下面描述)组成。另外,***、组件和/或逻辑可以由软件组成,该软件被加载到存储器中并后续由处理器或者服务器或者其他计算组件执行,如下面所描述的。***、组件和/或逻辑也可以由硬件、软件、固件等的不同组合组成,其中一些示例如下面所描述的。这些仅是可以用于形成上述***、组件和/或逻辑的不同结构的一些示例。其他结构也可以被使用。
本讨论提及了处理器和服务器。在一个示例中,处理器和服务器包括具有相关联的存储器和定时电路的计算机处理器,未单独示出。它们是其所属***或者设备的功能部件,由这些***中的其他组件或者项目激活并且促进其功能。
此外,还讨论了一些用户界面显示器。它们可以采取多种不同的形式,并且可以在其上设置多种不同的用户可驱动的输入机构。例如,用户可以启动的输入机制可以是文本框、复选框、图标、链接、下拉菜单、搜索框等。它们也可以通过多种不同的方式启动。例如,可以使用点击设备(诸如,跟踪球或者鼠标)来启动它们。它们可以通过硬件按钮、开关、游戏杆或者键盘、指压开关或指压垫等启动。它们也可以使用虚拟键盘或者其他虚拟致动器启动。此外,显示它们的屏幕是触敏屏幕,可以使用触摸手势启动它们。此外,当显示它们的设备具有语音识别组件时,可以使用语音命令启动它们。
还讨论了一些数据存储库。应当注意,它们可以各自分为多个数据存储库。所有这些可以位于访问它们的***的本地,所有这些可以是远程的,或者一些可以是本地的,而另一些是远程的。本文考虑了所有这些配置。
此外,图示出了具有归于每个框的功能性的多个框。应当注意,可以使用更少的框,因此功能由更少的组件执行。此外,随着功能在更多组件之间的分布,更多的框可以被使用。
图9是在前述图中示出的架构100的框图,区别是其元素被设置在云计算架构500中。云计算提供计算、软件、数据访问和存储服务,无需终端用户了解提供服务的***的物理位置或者配置。在各种实施例中,云计算使用适当的协议通过广域网(诸如,互联网)交付服务。例如,云计算提供商通过广域网交付应用,并且可以通过网络浏览器或者任何其他计算组件访问这些应用。架构100的软件或者组件以及相应的数据可以被存储在远程位置的服务器上。云计算环境中的计算资源可以被整合到远程数据中心,也可以被分散。云计算基础设施可以通过共享数据中心提供服务,即使它们看起来是用户的单一访问点。因此,本文描述的组件和功能可以由位于远程位置的服务提供商使用云计算架构提供。或者,它们可以由传统服务器提供,也可以直接地或者以其他方式安装在客户端设备上。
描述旨在包括公有云计算和私有云计算两者。云计算(公共和私有两者)提供了基本无缝的资源池,也减少了管理和配置底层硬件基础设施的需求。
公有云由供应商管理,并且通常支持多个使用相同基础设施的消费者。此外,公有云(而非私有云)可以使最终用户免于管理硬件。私有云可以由组织自身管理,并且基础设施通常不与其他组织共享。组织仍在一定程度上维护硬件,诸如,安装和维修等。
在图9示出的示例中,一些项目类似于前述图中所示的项目,并且其编号类似。图9具体示出了计算***102可以位于云502中(其可以是公共的、私有的或者部分是公共的而其他部分是私有的组合)。因此,用户106使用用户设备108通过云502访问这些***。
图9还描述了云架构的另一示例。图9示出了也可以预期的,计算***102的一些元素可以被设置在云502中,而其他元素不可以。举例来说,数据存储库118可以被设置在云502之外,并且通过云502访问。在另一示例中,知识模型158和其他上下文源168(或者其他项目)可以在云502之外。无论它们位于何处,他们都可以通过网络(广域网或者局域网)由设备108直接访问,它们可以由服务托管在远程站点,或者它们可以作为服务通过云提供或者由位于云内的连接服务访问。所有这些架构均在本文中予以考虑。
还应注意的是,架构100或者其部分可以被设置在各种不同的设备上。其中一些设备包括服务器、台式计算机、笔记本电脑、平板电脑或者其他移动设备,诸如,掌上电脑、手机、智能手机、多媒体播放器、个人数字助理等。
图10是可以被用作用户的或者客户的手持设备16的手持或者移动计算设备的一个示例性示例的简化框图,其中本***可以被部署(或者其部分)。图11-图12是手持或者移动设备的示例。
图10提供了可以运行计算***102或者用户设备的组件或者与架构100交互的组件或者两者的客户端设备16的组件的总体的框图。在设备16中,提供了允许手持设备与其他计算设备通信的通信链路13,并且在一些示例中提供了用于自动接收信息(诸如,通过扫描)的通道。通信链路13的示例包括红外端口、串行/USB端口、电缆网络端口(诸如,以太网端口)和允许通过一种或多种通信协议进行通信的无线网络端口,通信协议包括通用分组无线服务(GPRS)、LTE、HSPA、HSPA+和其他3G和4G无线协议、1Xrtt和短消息服务,用于提供蜂窝网络接入的无线服务,以及Wi-Fi协议和蓝牙协议,其提供网络的本地无线连接。
在其他示例中,应用或者***在连接至SD卡接口15的可移除安全数字(SD)卡上接收。SD卡接口15和通信链路13沿着总线19与处理器17(其也可以包括来自其他图的处理器或者服务器)通信,该总线19也连接到存储器21和输入/输出(I/O)组件23,以及时钟25和定位***27。
在一个实施例中,I/O组件23被提供以实现输入和输出操作。设备16的各种实施例的I/O组件23可以包括输入组件,诸如,按钮、触摸传感器、多点触摸传感器、光学或者视频传感器、语音传感器、触摸屏、接近传感器、麦克风、倾斜传感器和重力开关,以及输出组件,诸如,显示设备、扬声器和/或打印机端口。其他I/O组件23也可以被使用。
时钟25示例性地包括输出时间和日期的实时时钟组件。示例性地,它还可以为处理器17提供计时功能。
定位***27示例性地包括输出设备16的当前地理位置的组件。这可以包括,例如,全球定位***(GPS)接收器、LORAN***、航位推算***、蜂窝三角测量***或者其他定位***。例如,它还可以包括生成所期望的地图、导航路线和其他地理功能的地图软件或者导航软件。
存储器21存储操作***29、网络设置31、应用程序33、应用程序配置设置35、数据存储库37、通信驱动程序39和通信配置设置41。存储器21可以包括所有类型的有形的易失性和非易失性计算机可读存储设备。它还可以包括计算机存储介质(如下面所描述的)。存储器21存储计算机可读指令,当该指令被处理器17执行时,使得处理器根据该指令执行计算机实现的步骤或者功能。类似地,设备16可以具有客户端***24,其可以运行各种应用或者体现架构100的部分或者全部。处理器17也可以由其他组件激活,以实现其功能。
网络设置31的示例包括,诸如,代理信息、互联网连接信息和映射等。应用配置设置35包括针对特定企业或者用户定制应用的设置。通信配置设置41提供用于与其他计算机通信的参数,并且包括诸如GPRS参数、短信参数、连接用户名和密码等项目。
应用程序33可以是先前已经被存储在设备16上的应用程序,或者是在使用过程中安装的应用程序,虽然这些应用程序可以是操作***29的一部分,或者也可以被托管在设备16的外部。
图11示出了设备16是平板计算机600的一个示例。在图11中,计算机600被示出为具有用户界面显示屏602。屏幕602可以是触摸屏(因此来自用户手指的触摸手势可以被用于与应用交互)或者从笔或者手写笔接收输入的笔使能接口。它还可以使用屏幕虚拟键盘。当然,它也可以通过适当的连接机制(诸如,无线链接或者USB端口,例如)连接到键盘或者其他用户输入设备。计算机600也可以示例性地接收语音输入。
图12示出了设备可以是智能电话71。智能电话71具有显示图标或者区块或者其他用户输入机制75的触敏显示器73。机制75可以由用于使用以运行应用程序、拨打电话、执行数据传输操作等。通常,智能手机71被构建在移动操作***上,并且提供比功能手机更先进的计算能力和连接性。
注意,设备16的其他形式也是可能的。
图13是可以部署架构100或者其一部分(例如)的计算环境的一个示例。参考图13,用于实现一些实施例的示例***包括计算机810形式的通用计算设备。计算机810的组件可以包括但不限于处理单元820(其可以包括来自先前图的处理器或者服务器)、***存储器830以及将包括***存储器在内的各种***组件耦合至处理单元820的***总线821。***总线821可以是几种类型的总线结构中的任何一种,包括存储器总线或者存储器控制器、***总线和使用各种总线架构中的任何一种的本地总线。举例来说,但不限于此,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和也被称为夹层总线的***组件互连(PCI)总线。前述图中描述的存储器和程序可以被部署在图13的相应部分部。
计算机810通常包括各种计算机可读介质。计算机可读介质可以是可以由计算机810访问的任何可用介质,包括易失性和非易失性介质、可移动和不可移动介质。举例来说,但不限于此,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质不同于并且不包括调制数据信号或者载波。它包括硬件存储介质,包括易失性和非易失性、可移动和不可移动介质,以任何方法或者技术实现,用于存储信息,例如计算机可读指令、数据结构、程序模块或者其他数据。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或者其他存储技术、CD-ROM、数字多功能盘(DVD)或者其他光盘存储、磁带、磁盘存储或者其他磁存储设备,或者可以用于存储所需信息并且可以由计算机810访问的任何其他介质。通信介质通常在传输机制中包含计算机可读指令、数据结构、程序模块或者其他数据,并且包括任何信息传递介质。术语“经调制的数据信号”指其一个或多个特征以在信号中编码信息的方式被设置或者改变的信号。举例来说,但不限于此,通信介质包括有线介质,诸如,有线网络或者直接有线连接,以及无线介质,诸如,声音、RF、红外和其他无线介质。上述任一项的组合也应当被包括在计算机
***存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,诸如,只读存储器(ROM)831和随机存取存储器(RAM)832。基本输入/输出***833(BIOS)通常存储在ROM 831中,该***包含有助于在计算机810内的元件之间(诸如,在启动期间)传输信息的基本例行程序。RAM 832通常包含由处理单元820可以立即访问和/或当前正在操作的数据和/或程序模块。举例来说,但不限于此,,图13图示了操作***834、应用程序835、其他程序模块836和程序数据837。
计算机810还可以包括其他可移除/不可移除易失性/非易失性计算机存储介质。仅举例来说,图13图示了从不可移动、非易失性磁介质读取或者向其写入的硬盘驱动器841,以及从可移动、非易失性光盘856(诸如,光盘或者其他光学介质)读取或者向其写入的光盘驱动器855。可以在示例性操作环境中被使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等。硬盘驱动器841通常通过诸如接口840等不可移除存储器接口连接至***总线821,光盘驱动器855通常通过诸如接口850等可移除存储器接口连接至***总线821。
备选地,或者另外,本文描述的功能可以至少部分地由一个或多个硬件逻辑组件执行。例如,但不限于,可被使用的硬件逻辑组件的示例性类型包括现场可编程门阵列(FPGAs)、专用集成电路(ASICs)、专用标准产品(ASSPs)、片上***(SOCs)、复杂可编程逻辑器件(CPLDs)等。
上面所讨论的并且在图13中示出的驱动器及其相关联的计算机存储介质针对计算机810提供了计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图13中,硬盘驱动器841被图示为存储操作***844、应用程序845、其他程序模块846和程序数据847。注意,这些组件可以与操作***834、应用程序835、其他程序模块836和程序数据837相同或者不同。操作***844、应用程序845、其他程序模块846和程序数据847在此被赋予不同的编号,以图示它们至少是不同的副本。
用户可以通过输入设备(诸如,键盘862、麦克风863和指点设备861,诸如,鼠标、跟踪球或者触摸板)向计算机810输入命令和信息。其他输入设备(未示出)可以包括游戏杆、游戏手柄、圆盘式***天线、扫描仪,或者类似的。这些和其他输入设备通常通过耦合到***总线的用户输入接口860被连接到处理单元820,但是也可以通过其他接口和总线结构连接,诸如并行端口、游戏端口或者通用串行总线(USB)。视觉显示器891或者其他类型的显示设备也经由接口(诸如,视频接口890)连接到***总线821。另外对于监视器,计算机还可以包括其他***输出设备,诸如,扬声器897和打印机896,其可以通过输出***接口895被连接。
计算机810使用连接一个或多个远程计算机(诸如,远程计算机880)的逻辑连接在网络环境中运行。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络个人计算机、对等设备或者其他公共网络节点,并且通常包括上面相对于计算机810所描述的许多或者所有元件。图13所示的逻辑连接包括局域网(LAN)871和广域网(广域网)873,但是也可以包括其他网络。这样的组网环境在办公室、企业范围的计算机网络、内部网和互联网中很常见。
当在LAN组网环境中使用时,计算机810通过网络接口或者适配器870连接到LAN871。当在WAN组网环境中使用时,计算机810通常包括调制解调器872或者用于通过WAN873(诸如,互联网)建立通信的其他装置。调制解调器872可以是内置或者外置的,可以经由用户输入接口860或者其他适当的机制被连接到***总线821。在网络环境中,相对于计算机810所描述的程序模块或者其部分可以被存储在远程存储器存储设备中。举例来说,但不限于此,图13图示了远程应用程序885驻留在远程计算机880上。应当理解,所示的网络连接是示例性的,并且在计算机之间建立通信链路的其他方式可以被使用。
还应当注意,本文所描述的不同示例可以以不同方式组合。即,一个或多个示例的部分可以与一个或多个其他示例的部分组合。这些所有均在本文中予以考虑。
示例1是计算***,包括:
自然语言处理器(NLP),其接收文本输入和上下文信息,文本指示给定的接收聊天消息,上下文基于在给定的接收聊天消息之前被接收的先前接收聊天消息而被标识,自然语言处理器基于文本输入和上下文信息生成NLP输出,NLP输出标识给定的接收聊天消息中的概念;
到期指标生成器,其生成对应于所标识的概念的到期指标;
上下文过滤逻辑,其基于到期指标过滤NLP输出,以获得过滤后的NLP输出,并且将过滤后的NLP输出提供回自然语言处理器,作为在给定的接收聊天消息之后被接收的后续接收聊天消息的上下文信息;以及
机器人控制器,其从自然语言处理器接收NLP输出,并且基于NLP输出生成响应输出。
示例2是任何或者所有前述示例的计算***,其中上下文过滤逻辑包括:
到期标准处理器被配置为基于到期指标标识上下文信息与后续接收聊天消息的相关性。
示例3是任何或者所有前述示例的计算***,其中生成器到期指标生成器被配置为生成概念级到期指标,概念级到期指标对应于在给定的接收聊天消息中被标识的多个概念中的每个概念指标。
示例4是任何或者所有前述示例的计算***,其中多个概念一起包括总体上下文信息,并且其中到期指标生成器被配置为生成对应于总体上下文信息的总体到期指标。
示例5是任何或者所有前述示例的计算***,其中上下文过滤逻辑包括:
上下文过滤***,其基于与后续接收聊天消息的相关性过滤上下文信息。
示例6是任何或所有前述示例的计算***,其中上下文过滤***被配置为通过基于相关性从上下文信息中删除所标识的概念以过滤上下文信息。
示例7是任何或者所有前述示例的计算***,其中上下文过滤***被配置为通过基于相关性调整上下文信息中与所标识的概念相关联的权重以过滤上下文信息。
示例8是任何或者所有前述示例的计算***,其中到期指标生成器包括:
时间戳生成器,其生成指示概念何时被自然语言处理器标识的时间戳。
示例9是任何或者所有前述示例的计算***,其中到期指标生成器包括:
位置戳生成器,其生成指示位置戳,位置戳给定的接收聊天消息被生成的地理位置。
示例10是任何或者所有前述示例的计算***,其中生成器到期指标生成器包括:
对话回合计数器,其生成指示回合计数戳,回合计数戳对应于给定的接收聊天消息的对话回合。
示例11是计算机实现的方法,包括:
在自然语言处理器处接收文本输入和上下文信息,文本输入指示给定的接收聊天消息,上下文信息基于在给定的接收聊天消息之前被接收的先前接收聊天消息而被标识;
利用自然语言处理器,基于文本输入和上下文信息生成NLP输出,NLP输出标识给定的接收聊天消息中的概念;
生成对应于所标识的概念的到期指标;
基于到期指标过滤NLP输出,以获得过滤后的NLP输出;
将过滤后的NLP输出提供回自然语言处理器,作为在给定的接收聊天消息之后被接收的后续接收聊天消息的上下文信息;以及
利用机器人控制器,基于NLP输出生成响应输出。
示例12是任何或者所有前述示例的计算机实现的方法,其中过滤包括:
基于到期指标标识上下文信息与后续接收聊天消息的相关性。
示例13是任何或者所有前述示例的计算机实现的方法,其中生成到期指标包括:
生成概念级到期指标,概念级到期指标对应于在给定的接收聊天消息中被标识的多个概念中的每个概念。
示例14是任何或者所有前述示例的计算机实现的方法,其中多个概念一起包括总体上下文信息,并且其中生成到期指标包括:
生成对应于总体上下文信息的总体到期指标。
示例15是任何或者所有前述示例的计算机实现的方法,其中过滤包括:
基于与后续接收聊天消息的相关性过滤上下文信息。
示例16是任何或者所有前述示例的计算机实现的方法,其中过滤包括:
通过基于相关性从上下文信息中删除所标识的概念来过滤上下文信息。
示例17是任何或者所有前述示例的计算机实现的方法,其中过滤包括:
通过基于相关性调整上下文信息中与所标识的概念相关联的权重来过滤上下文信息。
示例18是任何或者所有前述示例的计算机实现的方法,其中生成到期指标包括:
生成指示何时概念被自然语言处理器标识的时间戳。
示例19是任何或者所有前述示例的计算机实现的方法,其中生成到期指标包括:
生成位置戳,位置戳指示给定的接收聊天消息被生成的地理位置。
示例20是聊天机器人计算***,包括:
自然语言处理器(NLP),其接收文本输入和上下文信息,文本输入指示第一聊天消息,上下文信息基于在第一聊天消息之前被接收的先前接收聊天消息而被标识,该自然语言处理器基于文本输入和上下文信息生成NLP输出,NLP输出第一聊天消息中的概念;
到期指标生成器,其生成对应于所标识的概念的到期指标;
到期标准处理器,被配置为基于到期指标标识上下文信息与后续接收聊天消息的相关性;
上下文过滤逻辑,其基于相关性过滤NLP输出以获得过滤后的NLP输出,并且将过滤后的NLP输出提供回自然语言处理器,作为在第一聊天消息之后被接收的后续接收聊天消息的上下文信息;以及
机器人控制器,其从自然语言处理器接收NLP输出,并且基于NLP输出生成响应输出。
虽然已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中定义的主题不一定限于上述特定特征或者动作。相反,上述特定的特征和行为作为实现权利要求的示例形式被描述。

Claims (15)

1.一种计算***,包括:
自然语言处理器(NLP),所述自然语言处理器接收文本输入和上下文信息,所述文本输入指示给定的接收聊天消息,所述上下文信息基于在所述给定的接收聊天消息之前被接收的先前接收聊天消息而被标识,所述自然语言处理器基于所述文本输入和所述上下文信息生成NLP输出,所述NLP输出标识所述给定的接收聊天消息中的概念;
到期指标生成器,所述到期指标生成器生成对应于所标识的所述概念的到期指标;
上下文过滤逻辑,所述上下文过滤逻辑基于所述到期指标过滤所述NLP输出,以获得过滤后的NLP输出,并且将所述过滤后的NLP输出提供回所述自然语言处理器,作为在所述给定的接收聊天消息之后被接收的后续接收聊天消息的上下文信息;以及
机器人控制器,所述机器人控制器从所述自然语言处理器接收所述NLP输出,并且基于所述NLP输出生成响应输出。
2.根据权利要求1所述的计算***,其中所述上下文过滤逻辑包括:
到期标准处理器,被配置为基于所述到期指标标识所述上下文信息与所述后续接收聊天消息的相关性。
3.根据权利要求2所述的计算***,其中所述到期指标生成器被配置为生成概念级到期指标,所述概念级到期指标对应于在所述给定的接收聊天消息中被标识的多个概念中的每个概念。
4.根据权利要求3所述的计算***,其中所述多个概念一起包括总体上下文信息,并且其中所述到期指标生成器被配置为生成对应于所述总体上下文信息的总体到期指标。
5.根据权利要求4所述的计算***,其中所述上下文过滤逻辑包括:
上下文过滤***,所述上下文过滤***基于与所述后续接收聊天消息的所述相关性来过滤所述上下文信息。
6.根据权利要求5所述的计算***,其中所述上下文过滤***被配置为通过基于所述相关性从所述上下文信息中删除所标识的概念来过滤所述上下文信息。
7.根据权利要求5所述的计算***,其中所述上下文过滤***被配置为通过基于所述相关性调整所述上下文信息中与所标识的概念相关联的权重来过滤所述上下文信息。
8.根据权利要求1所述的计算***,其中所述到期指标生成器包括:
时间戳生成器,所述时间戳生成器生成指示所述概念何时被所述自然语言处理器标识的时间戳。
9.根据权利要求1所述的计算***,其中所述到期指标生成器包括:
位置戳生成器,所述位置戳生成器生成位置戳,所述位置戳指示所述给定的接收聊天消息被生成的地理位置。
10.根据权利要求1所述的计算***,其中所述到期指标生成器包括:
对话回合计数器,所述对话回合计数器生成回合计数戳,所述回合计数戳指示对应于所述给定的接收聊天消息的对话回合。
11.一种计算机实现的方法,包括:
在自然语言处理器处接收文本输入和上下文信息,所述文本输入指示给定的接收聊天消息,所述上下文信息基于在所述给定的接收聊天消息之前被接收的先前接收聊天消息而被标识;
利用所述自然语言处理器,基于所述文本输入和所述上下文信息生成NLP输出,所述NLP输出标识所述给定的接收聊天消息中的概念;
生成对应于所标识的所述概念的到期指标;
基于所述到期指标过滤所述NLP输出,以获得过滤后的NLP输出;
将所述过滤后的NLP输出提供回所述自然语言处理器,作为在所述给定的接收聊天消息之后被接收的后续接收聊天消息的上下文信息;以及
利用机器人控制器,基于所述NLP输出生成响应输出。
12.根据权利要求11所述的计算机实现的方法,其中过滤包括:
基于所述到期指标标识所述上下文信息与所述后续接收聊天消息的相关性。
13.根据权利要求12所述的计算机实现的方法,其中生成到期指标包括:
生成概念级到期指标,所述概念级到期指标对应于在所述给定的接收聊天消息中被标识的多个概念中的每个概念。
14.根据权利要求13所述的计算机实现的方法,其中所述多个概念一起包括总体上下文信息,并且其中生成所述到期指标包括:
生成对应于所述总体上下文信息的总体到期指标。
15.一种聊天机器人计算***,包括:
自然语言处理器(NLP),所述自然语言处理器接收文本输入和上下文信息,所述文本输入指示第一聊天消息,所述上下文信息基于在所述第一聊天消息之前被接收的先前接收聊天消息而被标识,所述自然语言处理器基于所述文本输入和所述上下文信息生成NLP输出,所述NLP输出标识所述第一聊天消息中的概念;
到期指标生成器,所述到期指标生成器生成对应于所标识的所述概念的到期指标;
到期标准处理器,所述到期标准处理器被配置为基于所述到期指标标识所述上下文信息与所述后续接收聊天消息的相关性;
上下文过滤逻辑,所述上下文过滤逻辑基于所述相关性过滤所述NLP输出以获得过滤后的NLP输出,并且将所述过滤后的NLP输出提供回所述自然语言处理器,作为在所述第一聊天消息之后被接收的后续接收聊天消息的上下文信息;以及
机器人控制器,所述机器人控制器从所述自然语言处理器接收所述NLP输出,并且基于所述NLP输出生成响应输出。
CN202080036569.7A 2019-05-30 2020-04-23 对聊天机器人中的自然理解***的具有到期指标的上下文反馈 Pending CN113826089A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/426,470 2019-05-30
US16/426,470 US10868778B1 (en) 2019-05-30 2019-05-30 Contextual feedback, with expiration indicator, to a natural understanding system in a chat bot
PCT/US2020/029411 WO2020242666A1 (en) 2019-05-30 2020-04-23 Contextual feedback, with expiration indicator, to a natural understanding system in a chat bot

Publications (1)

Publication Number Publication Date
CN113826089A true CN113826089A (zh) 2021-12-21

Family

ID=70614678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080036569.7A Pending CN113826089A (zh) 2019-05-30 2020-04-23 对聊天机器人中的自然理解***的具有到期指标的上下文反馈

Country Status (4)

Country Link
US (2) US10868778B1 (zh)
EP (1) EP3977311A1 (zh)
CN (1) CN113826089A (zh)
WO (1) WO2020242666A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US11477140B2 (en) 2019-05-30 2022-10-18 Microsoft Technology Licensing, Llc Contextual feedback to a natural understanding system in a chat bot
US11741308B2 (en) * 2020-05-14 2023-08-29 Oracle International Corporation Method and system for constructing data queries from conversational input

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075435A (zh) * 2007-04-19 2007-11-21 深圳先进技术研究院 一种智能聊天***及其实现方法
CN102298928A (zh) * 2004-09-27 2011-12-28 罗伯特·博世有限公司 用于认知超负荷的设备用户的交互式对话
US20130275164A1 (en) * 2010-01-18 2013-10-17 Apple Inc. Intelligent Automated Assistant
CN107003910A (zh) * 2015-06-16 2017-08-01 华为技术有限公司 移动用户虚拟活动的分类方法和装置
US20180375804A1 (en) * 2017-06-23 2018-12-27 Wayblazer, Inc. Interaction driven artificial intelligence system and uses for same

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6076051A (en) 1997-03-07 2000-06-13 Microsoft Corporation Information retrieval utilizing semantic representation of text
JP4451435B2 (ja) 2006-12-06 2010-04-14 本田技研工業株式会社 言語理解装置、言語理解方法、及び、コンピュータプログラム
US9195739B2 (en) 2009-02-20 2015-11-24 Microsoft Technology Licensing, Llc Identifying a discussion topic based on user interest information
US9805020B2 (en) 2009-04-23 2017-10-31 Deep Sky Concepts, Inc. In-context access of stored declarative knowledge using natural language expression
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9031829B2 (en) * 2013-02-08 2015-05-12 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications
US9269354B2 (en) 2013-03-11 2016-02-23 Nuance Communications, Inc. Semantic re-ranking of NLU results in conversational dialogue applications
EP3008641A1 (en) * 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9189742B2 (en) 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
US9558176B2 (en) 2013-12-06 2017-01-31 Microsoft Technology Licensing, Llc Discriminating between natural language and keyword language items
US11200581B2 (en) * 2018-05-10 2021-12-14 Hubspot, Inc. Multi-client service system platform
US10257151B2 (en) * 2014-10-27 2019-04-09 Phanto, Llc Systems and methods for enabling dialog amongst different participant groups with variable and association-based privacy
US9690776B2 (en) 2014-12-01 2017-06-27 Microsoft Technology Licensing, Llc Contextual language understanding for multi-turn language tasks
US9767091B2 (en) 2015-01-23 2017-09-19 Microsoft Technology Licensing, Llc Methods for understanding incomplete natural language query
WO2017112813A1 (en) 2015-12-22 2017-06-29 Sri International Multi-lingual virtual personal assistant
US10878191B2 (en) 2016-05-10 2020-12-29 Nuance Communications, Inc. Iterative ontology discovery
GB201616477D0 (en) * 2016-09-28 2016-11-09 Service Friendz Ltd Systems methods and computer-readable storage media for real- time automated conversational agent
US10437833B1 (en) * 2016-10-05 2019-10-08 Ontocord, LLC Scalable natural language processing for large and dynamic text environments
US10713317B2 (en) 2017-01-30 2020-07-14 Adobe Inc. Conversational agent for search
US10997259B2 (en) 2017-10-06 2021-05-04 Realpage, Inc. Concept networks and systems and methods for the creation, update and use of same in artificial intelligence systems
US10678402B1 (en) * 2017-11-06 2020-06-09 Amazon Technologies, Inc. Interactive bot for natural language analytics
US10963273B2 (en) * 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US10846288B2 (en) 2018-07-02 2020-11-24 Babylon Partners Limited Computer implemented method for extracting and reasoning with meaning from text
WO2020040517A1 (en) * 2018-08-20 2020-02-27 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US20200081939A1 (en) 2018-09-11 2020-03-12 Hcl Technologies Limited System for optimizing detection of intent[s] by automated conversational bot[s] for providing human like responses
CA3018060C (en) 2018-09-20 2023-03-14 The Toronto-Dominion Bank Chat bot conversation manager
US10872083B2 (en) * 2018-10-31 2020-12-22 Microsoft Technology Licensing, Llc Constructing structured database query language statements from natural language questions
US20200210646A1 (en) * 2018-12-31 2020-07-02 3M Innovative Properties Company Natural language processing shallow discourse parser
US11075862B2 (en) 2019-01-22 2021-07-27 International Business Machines Corporation Evaluating retraining recommendations for an automated conversational service
US11682390B2 (en) 2019-02-06 2023-06-20 Microstrategy Incorporated Interactive interface for analytics
US20200380076A1 (en) 2019-05-30 2020-12-03 Microsoft Technology Licensing, Llc Contextual feedback to a natural understanding system in a chat bot using a knowledge model
US11477140B2 (en) 2019-05-30 2022-10-18 Microsoft Technology Licensing, Llc Contextual feedback to a natural understanding system in a chat bot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298928A (zh) * 2004-09-27 2011-12-28 罗伯特·博世有限公司 用于认知超负荷的设备用户的交互式对话
CN101075435A (zh) * 2007-04-19 2007-11-21 深圳先进技术研究院 一种智能聊天***及其实现方法
US20130275164A1 (en) * 2010-01-18 2013-10-17 Apple Inc. Intelligent Automated Assistant
CN107003910A (zh) * 2015-06-16 2017-08-01 华为技术有限公司 移动用户虚拟活动的分类方法和装置
US20180375804A1 (en) * 2017-06-23 2018-12-27 Wayblazer, Inc. Interaction driven artificial intelligence system and uses for same

Also Published As

Publication number Publication date
US20210067471A1 (en) 2021-03-04
US10868778B1 (en) 2020-12-15
EP3977311A1 (en) 2022-04-06
US20200382449A1 (en) 2020-12-03
US11575624B2 (en) 2023-02-07
WO2020242666A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
US11575624B2 (en) Contextual feedback, with expiration indicator, to a natural understanding system in a chat bot
CN106164869B (zh) 用于并行处理的混合客户端/服务器架构
US10446142B2 (en) Crafting feedback dialogue with a digital assistant
KR101758302B1 (ko) 컨텍스트에 기초한 음성 인식 문법 선택
US20200380076A1 (en) Contextual feedback to a natural understanding system in a chat bot using a knowledge model
US20100114887A1 (en) Textual Disambiguation Using Social Connections
WO2016004763A1 (zh) 业务推荐方法和具有智能助手的装置
KR20180070684A (ko) 다이얼로그 시스템들에서의 파라미터 수집 및 자동 다이얼로그 생성
US10217112B2 (en) Issue detection for routing assistance requests
CN108369679B (zh) 用于路由按需服务的资源划分
EP4029012A1 (en) Techniques for dialog processing using contextual data
JP7167131B2 (ja) 会話型スケジューリングアシスタントコンピューティングシステムにおける自然言語処理及び分析
US11477140B2 (en) Contextual feedback to a natural understanding system in a chat bot
US10909138B2 (en) Transforming data to share across applications
US11490232B2 (en) Location-based conversation identifier
KR102683169B1 (ko) 대화형 스케줄링 어시스턴트 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법
US20180189290A1 (en) Content object indexing and resolution system
KR20220148981A (ko) 대화형 컴퓨팅 시스템에서의 자연어 처리 및 분석 기법
CN117099077A (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