CN110096577B - 数据处理***中的方法、程序产品、装置和*** - Google Patents

数据处理***中的方法、程序产品、装置和*** Download PDF

Info

Publication number
CN110096577B
CN110096577B CN201910070349.5A CN201910070349A CN110096577B CN 110096577 B CN110096577 B CN 110096577B CN 201910070349 A CN201910070349 A CN 201910070349A CN 110096577 B CN110096577 B CN 110096577B
Authority
CN
China
Prior art keywords
user
natural language
ads
intent
anomaly
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
CN201910070349.5A
Other languages
English (en)
Other versions
CN110096577A (zh
Inventor
M·卡尼姆
R·G·法尔瑞尔
J·A·古内尔斯
A·K·伊因加
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110096577A publication Critical patent/CN110096577A/zh
Application granted granted Critical
Publication of CN110096577B publication Critical patent/CN110096577B/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

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

Abstract

本公开涉及从异常简档数据预测用户的意图。提供了用于在自动对话***和客户端计算设备的用户之间进行自然语言对话的机制。自动对话***经由客户端计算设备接收与来自用户的用户输入对应的自然语言文本,该自然语言文本具有自然语言文本的有歧义部分。自动对话***分析与用户对应的用户简档信息,以识别用户简档信息中的异常并预测与该异常相关联的用户意图。自动对话***基于预测的用户意图消除自然语言文本的有歧义部分的歧义,并基于消除歧义的自然语言文本生成对用户输入的响应,该响应被输出到客户端计算设备,从而进行自然语言对话。

Description

数据处理***中的方法、程序产品、装置和***
技术领域
本申请一般而言涉及改进的数据处理装置和方法,并且更具体而言涉及用于从异常简档数据预测用户的意图的机制。
背景技术
对话***或会话代理(CA)是旨在与人交谈的计算机***。对话***采用文本、语音、图形、触觉、手势和其它模式在输入和输出通道上进行通信。对话***有许多不同的体系架构。对话***中包括哪些部件集合以及那些部件如何划分责任因***而异。
任何对话***主要的都是对话管理器,它是管理对话的状态和对话策略的部件。对话***中的典型活动周期包含以下阶段。最初,用户说话,并且***的输入识别器/解码器将输入转换为纯文本,其中输入识别器/解码器可以包括自动语音识别器(ASR)、手势识别器或手写识别器等。通过自然语言处理(NLP)***分析所生成的文本,其中NLP***可以包括用于执行适当的名称识别、词性标注、句法/语义解析等的逻辑。
语义信息由对话管理器分析,对话管理器保持对话的历史和状态并管理会话的一般流程。通常,对话管理器联系具有具体任务领域的知识的一个或多个任务管理器,以基于NLP***操作对自然语言文本执行各种任务,以执行特定于领域的动作。对话管理器使用输出生成器生成输出。使用输出渲染器渲染输出,输出渲染器可以包括执行文本到语音转换、渲染图形表示、输出文本响应等。
在诸如自动客户服务***之类的、基于语音或文本的对话***中,用户通过以自然语言提供的口头话语或短文本消息与***通信。一旦接收到用户输入(说出的话语或文本输入),自动化***就尝试处理/分析用户话语,以将其精简到计算机可理解的形式。鉴于对话语的这种明确解释,***可以执行任务或产生响应,诸如对用户提出的问题的回答。但是,一些用户话语、文本输入或其部分对于对话***可能是有歧义的。例如,口头或文本输入中的术语“它”对于“它”指的是什么可能是有歧义的。作为这种引用模糊性的结果,对话***可以忽略或跳过用户输入的有歧义部分。这可以减少对话***考虑的许多可能的解释,这进而导致潜在不准确或非优化的响应。这会导致用户方面的沮丧,因为用户会感觉他们正在接收不准确的响应并且没有被正确地听到。
发明内容
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在本文的具体实施方式中进一步描述。本发明内容不旨在识别所要求保护的主题的关键因素或必要特征,也不旨在用于限制所要求保护的主题的范围。
在一个说明性实施例中,提供了一种在包括至少一个处理器和至少一个存储器的数据处理***中的方法,该至少一个存储器包括由至少一个处理器执行以使至少一个处理器实现用于在自动对话***和客户端计算设备的用户之间进行自然语言对话的自动对话***的指令。该方法包括由自动对话***经由客户端计算设备接收与来自用户的用户输入对应的自然语言文本,该自然语言文本具有自然语言文本的有歧义部分。该方法还包括由自动对话***分析与用户对应的用户简档信息,以识别用户简档信息中的至少一个异常,并且由自动对话***预测与该至少一个异常相关联的至少一个用户意图。用户意图指示来自用户的用户输入的潜在原因。该方法还包括由自动对话***基于预测出的至少一个用户意图消除自然语言文本的有歧义部分的歧义,以生成与用户输入对应的消除歧义的自然语言文本。而且,该方法包括由自动对话***基于消除歧义的自然语言文本生成对用户输入的响应,并且由自动对话***向客户端计算设备输出响应,从而进行自然语言对话。
在其它说明性实施例中,提供了一种包括具有计算机可读程序的计算机可用或可读介质的计算机程序产品。当在计算设备上执行时,计算机可读程序使计算设备执行以上关于方法说明性实施例概述的操作中的各种操作及其组合。
在又一个说明性实施例中,提供了一种***/装置。该***/装置可以包括一个或多个处理器和耦合到一个或多个处理器的存储器。存储器可以包括指令,当由一个或多个处理器执行时,所述指令使得一个或多个处理器执行以上关于方法说明性实施例概述的操作中的各种操作及其组合。
本发明的这些和其它特征及优点将在以下对本发明的示例实施例的详细描述中描述或者鉴于以下对本发明的示例实施例的详细描述,将对本领域普通技术人员变得显而易见。
附图说明
当结合附图阅读时,通过参考说明性实施例的以下详细描述,将最好地理解本发明以及优选使用模式及其进一步的目的和优点,其中:
图1是图示根据一个说明性实施例的、用于用户自动对话***(ADS)交互的信息流的示例图;
图2是图示根据一个说明性实施例的、用于用户简档的变量的异常改变的基于模糊逻辑的权重确定的示例图;
图3是概述根据一个说明性实施例的、响应于对用户简档信息的更新的异常检测和意图识别引擎及意图加权引擎的示例操作的流程图;
图4是概述根据一个说明性实施例的、用于消除用户输入的歧义的示例操作的流程图;
图5是概述根据一个说明性实施例的、用于基于根据用户简档信息中的异常/意图检测确定的权重来执行引用消除歧义的示例操作的流程图;
图6是为了与用户执行对话而实现请求处理流水线的ADS的一个说明性实施例的示例图;
图7是其中实现了说明性实施例的各方面的示例数据处理***的框图;
图8是图示根据一个说明性实施例的ADS和认知***流水线的元件的交互的示例图;
图9描绘了根据本发明一个说明性实施例的、用于基于数量的改变生成用于响应的定制信息的示例处理;
图10描绘了根据本发明一个说明性实施例的、用于确定将定制信息用于响应多长时间的示例处理;
图11描绘了根据本发明一个说明性实施例的、用于基于数量的改变生成用于响应的定制信息的示例处理;
图12描绘了根据本发明一个说明性实施例的、用于基于信息的改变生成用于响应的定制信息的示例处理;以及
图13描绘了根据本发明一个说明性实施例的、用于确定将定制信息用于响应多长时间的示例处理。
具体实施方式
说明性实施例提供了用于从异常用户简档数据预测用户的意图并利用这种预测通过解决用户交互中的歧义来改进对话***操作的机制。意图是与对话***交换的话语(无论是文本的还是听觉的)背后的目的/目标/原因。例如,意图可以表达用户是否想要对话***针对某个引用量检查某个变量的值,或者检索变量的量或解释变量。如上所述,在对话***中,一些用户语音话语、文本输入或其部分对于对话***可以是有歧义的,并且可以降低所生成的响应的准确性,从而导致用户沮丧。但是,确定用户的可能意图(例如,对账单的抱怨、询问费率增加等)可以帮助解决这种歧义。因此,具有用于在自然语言对话中预测用户的可能意图的机制将是有益的。
例如,用户可以联系自动客户服务***,其意图是获得关于某个事物的信息、修理某个事物、对某个事物抱怨或者很多其它可能的原因。说明性实施例解决的问题是,当用户在与自动客户服务***的对话会话期间与对话***交互时,自动客户服务***是否可以分析关于用户的信息并尝试预测用户可能联系自动客户服务***的原因,例如,基于用户简档、最近的账单信息、最近呈现给用户的信息等。而且,一旦确定了用户联系自动客户服务***的原因(意图),问题就变为在尝试理解对话会话期间的用户语音话语或文本输入的同时自动客户服务***是否可以从这种确定或预测中受益。
说明性实施例提供用于基于存储在用户简档中的数据中发现的异常来预测用户的意图并解决这种异常的机制。本文的术语“用户简档”指的是存储与特定识别出的用户相关的信息的任何数据结构。用户简档可以是单个数据结构,或者可以是存储在同一计算***中或分布在多个计算***上的多个数据结构。在一些说明性实施例中,用户简档可以包括与使用这些不同数据结构实现单独目的(例如,一个数据结构用于开账单目的、一个数据结构用于客户服务目的、一个数据结构用于计算服务配置目的等)的多个不同***相关联的多个不同数据结构。与用户相关联的各种信息,无论是在单个数据结构中提供还是在相同或不同计算***中的多个数据结构中提供,在本文中都将被称为“用户简档”。
基于预测出的意图,说明性实施例的机制选择对话中的用户语音话语或文本输入的表示,其消除了用户输入中可能被认为是有歧义的任何部分的歧义。例如,词消除歧义、引用消除歧义、主题消除歧义和解析消除歧义是可以基于从与用户的简档相关联的异常识别出的用户的预测意图来执行的所有类型的消除歧义。基于异常的意图预测以消除用户输入的歧义导致由客户服务***提供的更准确的响应,并且导致与用户的更有益的交互,从而减轻用户的沮丧。例如,在说明性实施例的这种机制之前,如果用户要提供“它为什么这么高?”的用户输入,这是有歧义的,因为***可能无法确定术语“它”是指什么,那么***可以针对未被识别出的输入以固定的预定义响应进行响应,例如,“对不起,我不明白。如果您对帐单有疑问,请按1。如果您对服务有疑问,请按2。”
利用说明性实施例的机制,说明性实施例可以预测用户的意图是询问他们的账单并且因此通过基于预测出的意图提供直接回答来更智能地响应,而不是要求用户经历预定义的提示和交互层以达到其输入的目的,例如,被呈现相同问题的说明性实施例的机制可以预测用户打算询问他们的账单,并且还可以确定他们的用户简档中存在示出由于促销期限到期而导致其账单增加的异常。因此,说明性实施例可以作出响应“上个月您的12个月促销折扣期结束,这就是为什么您的最新结算单高于以往的原因。”因此,用户感觉他们的输入已被准确理解并且提供了即时且准确的响应。
出于本描述的目的,将假设说明性实施例在用于提供自动或半自动客户服务***的对话***中实现。这种对话***可以利用用户输入的认知处理,诸如执行自然语言问答、认知信息检索等。应当认识到的是,客户服务***仅仅是对话***的一个示例,利用该对话***,可以利用说明性实施例的机制,因此,说明性实施例不限于此。相反,说明性实施例可以用任何基于文本的对话***或从语音处理文本的对话***来实现。对话***的示例包括患者医疗诊断辅助***、患者治疗推荐***、销售指导***、技术支持***、培训或教育***、聊天机器人、各种领域中的各种类型的决策支持***,或任何其它对话***、基于电话的口头对话***、基于车载的对话***、智能会议室对话***等。
而且,将假设对话***是文本对话***,诸如可以经由聊天窗口或其它基于文本的用户界面提供的,用于提交和交换与对话***的文本通信的对话***,然后对话***处理用户文本输入并生成响应或以其它方式联系人类代表以获得附加帮助。应当认识到的是,这仅仅是个示例,并且例如从用户到对话***的其它输入(诸如可以通过语音到文本转换被转换为文本格式的口头话语或语音输入)可以在不脱离本发明的精神和范围的情况下使用。
为了说明根据一个说明性实施例的为客户服务配置的对话***的操作,考虑以下场景,其图示了用户和与虚构公司ABC Wireless公司相关联的客户服务***之间的对话交互。客户John Smith与ABC Wireless公司客户服务部门联系,诸如通过来自其web浏览器的聊天窗口或经由与ABC Wireless公司相关联的网站的网站界面。当自动对话***从JohnSmith接收到消息发起请求时,自动对话***(ADS)从John Smith的用户简档中检索信息(该用户简档同样可以是单个数据结构或者同一计算***中或跨计算***分布的多个数据结构)并分析这个信息,例如,使用统计分析、模式分析、趋势分析等。ADS通过此类分析确定John Smith的账单在过去6个月内约为60美元,但在上个月的结算单中突然增加到105美元。由ADS执行的进一步分析表明,客户曾经受益于电视服务订阅的45美元折扣的1年促销节省,但促销期限已经结束。例如,可以通过查看在指定的时间段存在于用户简档信息中的变量发生的变化来识别这些异常。可以通过将规则应用于通过分析用户简档信息而识别出的各种统计数据、模式、趋势等来识别这种异常。在这个场景下,由于促销期限结束,因此客户的账单在上个月有所增加。
说明性实施例的ADS可以应用关于可接受的偏差的规则,可以利用过去关于相同或不同用户的类似情况的观察以及与过去用户对话的原因(诸如每月账单的突然改变、移动到新地址等)的对应性,以确定客户联系客户服务***的可能原因以及对应的置信度值的列表,以对可能原因的列表进行排名。例如,ADS可以确定处于类似情况(即,在他们的用户简档中具有历史数据、统计数据等的类似模式)的80%的客户联系了客户服务***以询问为什么每月账单增加。而且,ADS可以确定处于类似情况的55%的客户联系了客户服务***,因为一旦他们搬到新地址,他们通常就会遇到需要纠正其服务的技术问题。
因此,在这个示例中存在两个可能的意图,即,确定每月账单增加的原因和报告关于服务的技术问题。给定意图还可以涉及一个或多个变量的改变。创建相对排名,其中每个用户意图具有该用户意图将成为与ADS的用户对话的查询或其它部分的原因的可能性或概率。然后利用这两个可能的用户意图及其可能性的相对排名来生成对用户输入的响应。例如,可以选择和使用排名最高的用户意图候选。可替代地,可以选择具有等于或高于阈值的排名的所有可能意图用于潜在的使用,并且可以向用户呈现替代响应以供考虑。
而且,在一些情况下,在与变量的权重值相乘之后,可以使用意图的可能性,如下文所讨论的,以基于它们与识别出的可能意图的相关性重新排名其对用户输入的解释的消除歧义的版本,以及因此基于解释的这些消除歧义的版本的处理生成的响应。解释可以被定义为自然语言输入的明确表示。解释可以用各种表示语言表达,包括但不限于谓词逻辑、命题逻辑、知识图、语义网络、数学函数等。可以基于对用户输入的连续分析动态地修改相对排名,其中用户输入的连续分析提供其中一个意图是正确意图的进一步证据。例如,如果ADS以不适当的响应进行响应,那么用户可以用后续自然语言文本输入进行响应,该文本输入可以被处理并添加到与ADS的对话的上下文中,并且可以被用于进一步定义可能的意图中的哪一个是用户拥有的意图,从而增加那个意图的相对排名/权重。
基于所确定的可能意图以及可能地,对最高排名意图的选择,可以消除用户输入中的歧义。例如,如果用户的原始文本输入是“它为什么这么高?”类型的自然语言问题,那么不清楚术语“它”所指的是什么,因此这是用户输入中的歧义点。通过处理用户简档,以及可选地与提问用户的用户简档具有类似历史或统计数据、数据的模式或趋势等的其他用户的用户简档,ADS可以确定存在两个可能的逻辑值,其中“它”指的是“账单”或“费率”。
可以利用模糊逻辑机制来确定每个可能意图中的每个变量的权重值,如下所述,以生成与可能意图相关联的相对排名。基于这个相对排名,可以选择最终意图并用于消除原始用户输入的歧义,例如,来自用户的自然语言文本输入可以被消除歧义为“为什么我的账单这么高?”。然后消除歧义的用户输入可以使用自然语言处理(NLP)机制、通过问答(QA)***询问问题等来处理。例如,现在预测用户的意图是询问他们最近的账单,QA***可以通过用“你的12个月的折扣期于上个月结束。”类型的回答作为响应来处理消除歧义的输入问题“为什么我的账单这么高?”。
因此,说明性实施例提供了用于分析用户简档的信息中的异常以预测用户可能联系自动对话***(ADS)(诸如客户服务***)的原因的机制。这些异常可以采取许多不同的形式,这取决于说明性实施例的实现的特定领域以及期望的实现本身,例如,寻找指示异常的什么趋势、因素、统计度量等。在一些说明性实施例中,通过识别指示用户简档中可能是非预期或不寻常的某个事物的一个或多个变量的改变(例如,满足或超过确定的阈值的一个或多个变量的改变)来识别异常。应当认识到的是,可以使用与多个变量的改变相关联的规则来识别异常,例如,如果与上个月相比用户的总账单增加至少20%,并且用户的费率在过去15天内至少增加了25%,那么可以识别出异常。
在一些情况下,可以执行对用户简档的周期性、连续或基于事件的评估,以在接收用户输入之前识别异常。即,在一些说明性实施例中,当新数据被添加到用户的简档时,例如,生成和/或接收新的每月账单,用于关于新添加的数据评估用户简档以识别异常的处理可以被自动执行。如果识别出异常,那么可以利用本文所阐述的用于确定异常的相对排名或权重的操作,例如,使用模糊逻辑。识别出的异常和对应的排名/权重可以与用户简档相关联地存储在异常数据结构中,以供以后用户在用用户输入联系ADS时使用。
关于用户意图的预测被用于减少对对ADS的用户输入的理解的歧义。例如,预测的相对排名/权重可以用于通过执行语义解析并以利用其相应的权重(在本文中也称为置信度值)排名的次序***用于自然语言处理的替代入口点来消除自然语言用户输入中有歧义的术语的歧义。
例如,利用上面的前一示例,当完成对用户话语的分析时,存在对用户输入的两种可能解释。每种解释都有一个置信度值。置信度值确定相对排名。例如,单词“是”可以指示右侧的变量“高”以置信度0.7等同于左侧的变量“它”。这可以基于各种自然语言关系提取模型,例如统计或概率或神经网络或基于模式的模型。对于统计模型,诸如最大熵,单词“是”的左侧和右侧的各种术语的特征和单词“是”本身(例如,可以是“都是”或“等于”)是在很多示例中用于训练模型的特征。在这种训练结束时,存在一种分类器,其将输入中的标记或单词的各种特征作为输入,并且当各种特征是陈述(presentation)时建议实体之间的关系,但是具有置信度。在解决歧义时置信度值被维持和更新。因此,例如,作为引用,“它”可以被解析为“账单”,然后话语“账单高”导致指示“账单”与“高”的关系中的焦点的关系提取。这种解释的置信度是值0.7。
在一个说明性实施例中,可以使用最高排名/加权意图预测来消除用户输入的有歧义术语的歧义,从而生成由ADS,例如通过NLP处理的用户输入的消除歧义的版本。语义解析以置信度C生成解释。给定解释,这可以直接映射到实际计算问题的回答或执行任务的函数的入口点。因此,入口点中的置信度也是C。然后,可以将解释与每个可能的意图匹配(相关),每个可能的意图具有概率P。匹配的意图可以具有k个定性变量,每个变量具有权重Wk。因此,入口点置信度是C,并且模糊逻辑权重是P*Wk1*Wk2*...Wkn,其中k是与意图相关联的每个定性变量的索引。重新排名函数被用于重新排序入口点。存在权重w1和w2,以确定入口点置信度(EPC)的相对重要性以及意图的可能性和意图中的各个变量的模糊逻辑权重的组合。F(x)=w1*EPC+w2*FLW,其中FLW是意图的可能性P与各种定性变量的模糊逻辑权重Wk的乘积。
在一些说明性实施例中,可以通过ADS生成和评估用户输入文本的多个消除歧义的版本,并且可以根据其对应的排名/权重连同其它由NLP实现的证据权重和置信度评分机制来对对应的候选回答/响应进行加权。例如,可以生成用户输入文本的多个不同版本作为用户输入文本的替代消除歧义的版本,例如,用户输入文本“它为什么这么高?”的一个版本可以是“为什么我的账单这么高?”和“为什么我的费率这么高?”。可以由ADS评估这两个消除歧义的版本,并且可以基于响应的组合的相对排名(例如,基于与回答/响应相关联的相对置信度得分)来选择适当的响应。而且,可以生成并组合用于两个替代版本的单独响应,以提供对用户输入的组合响应。例如,对“为什么我的账单这么高?”的响应可能是“您的12个月促销期已到期”,而对“为什么我的费率这么高?”的响应可以是“上个月优惠费率有所增加”。组合响应可以是“您的12个月促销期已到期并且上个月的优惠费率有所增加”。
作为消除歧义操作的一部分,在一个说明性实施例中,给定用户输入文本,例如“它为什么这么高?”,使用关系模式对文本进行过滤以获得引用,例如,模式可以是类型“是<对象><值>”,其指示与<对象>的关系是与诸如“它”之类的有歧义术语的潜在匹配。用户输入文本中的无界有歧义术语被识别,例如,无界代词引用,诸如“它”。对于关系模式,模式匹配与否导致置信度为1或0。
基于用户输入文本的上下文生成潜在引用的集合,其可以涉及在与ADS对话期间先前提到的元素、关于指示上下文元素的领域的一般信息等。例如,在上下文(环境、对话、GUI)等(“Joe”、“到期日”、“账单”、“费率”)中。在这个上下文中存在变量,例如,在这个示例中为“到期日”、“账单”和“费率”。给定上下文和上下文中的变量,可以将无界变量映射到这些变量中的特定变量,例如“账单”、“费率”或“到期日”。然后使用模式信息过滤潜在引用的这个集合,例如,变量“账单”可以是具有定性值(例如,“低”到“中”到“高”)的数字,或者“到期日”不能是“高”。因此,在这种情况下,可以将经过滤的潜在引用集合简化为“账单”和“费率”的子集。
因此,利用说明性实施例,诸如“我的支付”之类的后照应(anaphoric reference)可以有可能被解析为“用户每月支付”,因为用户可能关于他们的每月支付的增加正在联系ADS。用户输入通常在语法方面不太正式,或者可能包含印刷错误。有时用户输入只是不包含确定用户输入的主语的目的所需的所有情况的细节。当存在歧义时,说明性实施例的意图预测机制可以被用于对用户输入的可能解释进行排名并根据最可能的场景来响应用户。
根据一个说明性实施例,该机制实现四个主要操作。在第一操作中,识别发起对话会话的用户的(一个或多个)用户简档中的异常,从而识别用户联系ADS的可能原因的列表。这可以在用户发起与ADS的对话会话之前或者响应于用户发起与ADS的对话会话而进行。例如,可以为用户的各种参数定义阈值,其中参数可以指示用户联系ADS的潜在原因,例如,客户的费率(例如,收费率、使用费率,利率等)在过去的y(例如,15)天内已经增加/减少至少x(例如,30%)。这些阈值的定义可以基于功能规则,其包括各种因素,包括时间、金钱、数据速率、统计度量或者指示用户联系ADS的潜在原因的用于特定领域的任何其它适用的定量或定性因素。而且,这种阈值可以基于其中识别出类似异常的其他用户简档的分析以及被确定为在这些其他用户联系ADS的情况下适用的特定阈值。在一些说明性实施例中,阈值可以由主题专家(SME)基于他们对领域的知识以及哪些因素、因素的改变以及因素的这些改变的强度/量值指示异常来定义。
在一些说明性实施例中,阈值的确定可以涉及机器学习处理,其中ADS基于用户对来自ADS的自动生成的响应的后续响应来确定用户的最高排名的预测意图是否实际上是用户的意图。如果预测的意图是正确的,那么可以确定正确地指定了对应的阈值。如果预测的意图是不正确的,那么可以调整阈值以降低未来在类似情况下该预测意图的排名,例如,可以增加/减小阈值,以减少这种异常将在类似情况下上升到最高排名的可能性。
给定检测到的异常生成可能意图。对于这个操作,利用指定用户输入的潜在原因的意图模式,例如,如果确定用户的简档数据中的异常是费率增加,那么用户可以发起与ADS的联系以询问费率规则、增加费率的政策、费率大幅增加的原因等。可以通过从储存库检索与对应异常相关联的规则或模式基于检测到的异常来确定用户联系ADS的原因的确定。储存库中指定的特定规则或模式可以由主题专家(SME)定义,可以通过ADS对用户输入的训练和/或操作随时间进行机器学习,或者基于SME的和基于机器学习的机制的任意合适组合。
在一些说明性实施例中,作为说明性实施例的第二主要操作,导致异常的识别的值的差异的强度或量值(例如,如果用户的费率从每月20美元增加到100美元/月,那么强度是80美元)可以被映射到可以被表示为强度值的离散的集合或分类(诸如“低”、“中”和“高”)。可以应用基于模糊逻辑的方法来获得数字权重,该数字权重稍后可以用于对可能的对应意图进行排名,以用于消除用户输入的自然语言处理(NLP)的歧义。
在第三主要操作中,说明性实施例的机制根据其对应的意图应用用于消除歧义的权重。可以使用加权的意图来执行各种类型的消除歧义,包括但不限于词消除歧义、引用消除歧义、主题消除歧义和解析消除歧义。关于词消除歧义,意图预测可以被用于改变与上下文中的词典相关联的概率。例如,如果用户抱怨他们的“bill”,那么这个词的感觉比“昨天在国会提出的bill”中的“bill”更有可能。ADS可以对两者都有响应策略/对话,并且可以利用意图预测来协助区分词/短语的多个潜在正确用法。
关于引用消除歧义,在给出含糊的问题或陈述(例如,“I don’tlike your fees”)的情况下,术语“fees”可以被实例化为用户最可能抱怨的特定费用。这可以是一般的实例化,例如,人们不喜欢这种费用,或者它可能是来自用户数据的异常。说明性实施例可以通过基于用户简档中以及其他用户简档中的异常评估各种意图来评估这各种可能性,如上所述。类似地,可以使用说明性实施例的机制来消除诸如“it(它)”、“she(她)”、“he(他)”、首字母缩略词等的后照应以及其它有歧义的引用。
关于主题消除歧义,给定可能的主题,诸如关于家庭电话与移动电话的陈述,由于根据在用户简档信息中找到的异常确定的预测意图,一个主题可以是更可能的。例如,如果用户提供“我的最新账单上涨了”的用户输入,那么说明性实施例的机制可以通过确定用户简档中指示用户的移动电话账单的异常在过去一个月或其它预定时间段内已增加或者用户的简档指示确定时段的折扣率已经结束来消除这个用户输入的歧义。而且,说明性实施例可以从其他用户简档的分析确定用户一般正在传达关于移动电话相关账单的抱怨。因此,说明性实施例可以被用于消除引用用户的移动电话账单的用户输入的歧义并且可以生成对应的响应,诸如“你的意思是关于你的移动电话的最新账单?遗憾的是,由于你的移动电话的折扣率已经在上个月结束,因此费率有所上升。”
关于解析消除歧义,给定捕获句法关系的可能句法分析树,一个解析可以是更可能,因为预测的意图匹配用户输入的一个句法分析而不是另一个句法分析。例如,如果用户输入是有歧义的,例如,“Bill now”可能指“Bill”这个人(名词)或者“开账单”过程(动词)。如果用户的意图指示用户可能询问他们的账单,那么解析消除歧义可以选择“账单”(名词)而不是“开账单”(动词)。
一旦使用一种或多种不同类型的消除歧义来消除用户的输入的歧义,就通过自然语言处理(NLP)机制等处理消除歧义的输出,以生成(一个或多个)候选响应,对(一个或多个)候选响应进行排名,并选择一个或多个候选响应作为对用户输入的响应以供输出。在一个说明性实施例中,消除歧义的输出可以包括基于与在用户简档中识别出的异常相关联的预测意图的相对排名而选择的用户输入的单个消除歧义的模型。在另一个说明性实施例中,消除歧义的输出可以包括用户输入的多个不同的消除歧义的版本,每个版本与不同的可能的预测意图对应,其中不同的消除歧义的版本,和/或由NLP机制生成的它们的相关联的(一个或多个)候选响应,可以根据与预测意图相关联的对应权重来加权。这些权重可以与由NLP机制生成的其它权重组合,以生成针对特定响应的总体权重或置信度值,例如,认知问答(QA)***可以基于证据分析来给回答加权,以生成置信度得分,并且这个置信度得分可以进一步通过与预测意图相关联的权重值加权或受其影响。
基于排名的响应列表,可以选择最终响应并且将其作为响应于用户输入的输出返回给用户。在一些情况下,可以输出具有资格的多个响应,例如,“如果您询问您的账单,那么您的账单增加的原因是......”和“如果您询问您的费率,那么您的费率增加的原因是因为......”。因此,由自动对话***生成的响应更有可能是对用户有歧义的输入的准确响应,而无需请求用户进一步澄清。
在更详细地开始讨论说明性实施例的各个方面之前,首先应当认识到的是,贯穿本描述,术语“机制”将用于指执行各种操作、功能等的本发明的元件。如本文使用的术语“机制”可以是装置、过程或计算机程序产品形式的说明性实施例的功能或方面的实现。在过程的情况下,过程由一个或多个设备、装置、计算机、数据处理***等实现。在计算机程序产品的情况下,由体现在计算机程序产品中或计算机程序产品上的计算机代码或指令表示的逻辑由一个或多个硬件设备执行,以便实现与具体“机制”相关联的功能或执行与具体“机制”相关联的操作。因此,本文描述的机制可以被实现为专用硬件、在通用硬件上执行的软件、存储在介质上以使得指令易于由专用或通用硬件执行的软件指令、用于执行功能的过程或方法,或任何上述的组合。
本描述和权利要求可以关于说明性实施例的特定特征和元素使用术语“一个”、“至少一个”和“一个或多个”。应当认识到的是,这些术语和短语旨在表明在特定的说明性实施例中存在至少一个特定特征或元素,但是也可以存在多于一个。即,这些术语/短语不旨在将描述或权利要求限制为存在单个特征/元素或者要求存在多个这样的特征/元素。相反,这些术语/短语仅要求至少单个特征/元素,并且多个这种特征/元素的可能性在描述和权利要求的范围内。
而且,应当认识到的是,如果在本文中关于描述本发明的实施例和特征而使用,那么术语“引擎”的使用不旨在限制用于实现和/或执行可归因于引擎和/或由引擎执行的动作、步骤、处理等的任何特定实现。引擎可以是但不限于执行指定功能的软件、硬件和/或固件或其任意组合,包括但不限于通用和/或专用处理器的任何使用与加载或存储在机器可读存储器中并由处理器执行的适当软件的组合。另外,除非另有说明,否则与特定引擎相关联的任何名称是为了便于引用,而并不旨在限制于具体实现。此外,归因于引擎的任何功能可以由多个引擎同等地执行、结合到相同或不同类型的另一个引擎的功能中和/或与其组合,或者跨各种配置的一个或多个引擎分布。
此外,应当认识到的是,以下描述使用用于说明性实施例的各种元件的多个各种示例来进一步说明说明性实施例的示例实现并且有助于理解说明性实施例的机制。这些示例旨在是非限制性的,而并非穷举实现说明性实施例的机制的各种可能性。鉴于本说明书,对于本领域普通技术人员来说显而易见的是,存在用于这各种元件的许多其它替代实现,其可以在不脱离本发明的精神和范围的情况下作为本文提供的示例的补充或者替代本文提供的示例被使用。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。如上所述,本发明提供了用于根据在用户简档信息中找到的异常来预测用户意图并使用预测的意图来消除用户的有歧义输入的歧义并提供适当响应的机制。说明性实施例的机制可以与任何自然语言处理或基于认知的自动对话***一起使用或者可以集成在其中,以便处理来自用户的自然语言输入(其可以是口头的或文本的),并且考虑到用户的预测意图而提供适当的响应,以消除用户输入的歧义。
图1是图示根据一个说明性实施例的、用于用户自动对话***(ADS)交互的信息流的示例图。如图1中所示,用户110可以访问ADS,诸如经由工作站、音频捕获设备、智能扬声器***或能够以口头或文本格式接收自然语言用户输入的任何计算设备。在口头输入的情况下,可以使用语音到文本转换机制将口头输入转换为文本格式。可以将用户110输入的文本表示提供给语义解析器120以进行进一步处理。而且,用户110的身份可以例如经由用户110的登录处理、经由用户110对来自ADS对用户110识别他/她自己的询问的响应、经由基于与用户110用于访问ADS的设备相关联的设备标识符的自动识别,或用于识别用户110的任何其它合适的机制。
基于用户110的身份,ADS可以为用户110检索对应的用户简档信息130。在所描绘的示例中,响应于用户110访问ADS,异常检测和意图识别引擎140分析用户简档中的信息,以识别用户简档信息中的异常。可以通过评估用户简档信息130中的变量的值以及在特定的预定时间段内变量值的改变的差异、统计度量、趋势或其它类型的分析来检测这种异常。而且,阈值、规则等可以应用于与变量、改变等相关联的值,以确定是否存在异常以及异常的强度/量值。
基于在用户简档130中识别出的改变,异常检测和意图识别引擎140识别与满足在任何应用的规则中阐述的阈值和标准的改变相关联的对应意图。此类阈值的定义可以基于包括各种因素的功能规则,其中因素包括时间、金钱、数据速率、统计度量或指示用户联系ADS的潜在原因的特定领域的任何其它适用的定量或定性因素,该定义可以基于分析其中识别出类似异常的其他用户简档以及被确定在这些其他用户联系ADS的那些情况下适用的特定阈值等。阈值可以由SME手动定义,或者自动定义,诸如通过机器学习处理。
通过应用指定用户输入的潜在原因的意图模式来生成给定检测到的异常的可能意图,例如,如果确定用户的简档数据中的异常是费率增加,那么用户可以发起与ADS的联系以询问费率规则、增加费率的政策、费率大幅增加的原因等。用户联系ADS的原因的确定可以基于检测到的异常通过从与异常检测和意图识别引擎140相关联的储存库142检索与对应异常相关联的规则或模式来确定。储存库中指定的特定规则或模式可以由主题专家(SME)定义,可以通过ADS对用户输入的训练和/或操作随时间进行机器学习,或者基于SME的和基于机器学习的机制的任意合适组合。因此,例如,规则可以指定如果在15天内用户的费率变化超过30%,那么用户与ADS通信的可能意图是询问关于他们的费率增加、设置其费率的政策或与其账户关联的费率规则。最初,对于给定的改变强度存在多个可能的意图,每个意图具有同等的可能性。例如,有人可能会问为什么费率这么高,以至于抱怨费率这么高。这形成了每个意图的先验可能性。但是,随着时间的推移,可能会有关于用户生成哪种意图的其它数据。例如,随着时间的推移,说明性实施例的***可以获知用户更有可能询问他们的账单改变的原因而不是抱怨改变。
可以将识别出的用户的可能意图输出到解析器120,解析器120解析用户的输入,例如“它为什么这么高?”,并使用可能的意图来生成自然语言用户输入的替代解释,例如,原因(账单(高))或原因(费率(高))。如前面所提到的,排名基于三件事:询问账单原因的可能性(与意图的相关性)、账单的改变强度(模糊逻辑值)以及解析的置信度(解析器获得原因(账单(高))正确的解释的可能性)。这些解释也可以被映射到与***可以执行的计算对应的入口点(我的账单是什么,然后可以映射到返回账单值的路由)或***可以生成的回答。在许多情况下,解释和入口点之间的这种对齐是完美的,并且***可以简单地响应,但是在其它情况下,***可能必须被构造为尽管解释和入口点之间仅部分对齐但也操作。例如,***可以知道用户询问他们的账单,但是如果***没有正确地确定用户询问其值,那么对话***可以呈现用户界面,用户可以通过该用户界面阐明用户的意图。通过具有解释的相对排名来实现这种类型的部分对齐。如果一个解释与入口点不能良好匹配,那么可以使用另一个解释。
例如,可以在所描绘的示例中生成“费率”和“账单”的可能性。在一些说明性实施例中,这基本上生成用户的自然语言输入的替代消除歧义的版本,例如,“为什么我的费率这么高?”和“为什么我的账单这么高?”。用户的自然语言输入的替代版本可以被输出到意图排名/消除歧义引擎160。
与识别出的异常对应的变量的改变强度可以由异常检测和意图识别引擎140输出到异常/意图加权引擎150。异常/意图加权引擎150可以将模糊逻辑应用于改变强度,以生成对应的权重值。例如,模糊逻辑可以评估异常,以将它们分类为具有对应权重值的强度值集合的不同分类,例如低、中、高,或者可以基于异常改变强度值的预定函数来计算权重值。因此,例如,在所描绘的示例中,由异常/意图加权引擎150针对识别出的与由异常检测和意图识别引擎140识别出的用户简档信息130中的变量的改变对应的“费率”和“账单”意图生成权重。
由异常/意图加权引擎150生成的权重被输出到意图排名/消除歧义引擎160。意图排名/消除歧义引擎160对用户输入的替代逻辑入口点或替代消除歧义版本进行操作,以生成消除歧义输出,该输出被输出到ADS响应生成器170,ADS响应生成器170可以包括自然语言处理(NLP)以生成对消除歧义的输出的响应。意图排序/消除歧义引擎160可以基于加权的可能意图应用如前面所讨论的各种类型的消除歧义。在一些说明性实施例中,消除歧义的输出可以包括基于替代的相对排名/权重来选择用户输入的替代逻辑入口点或替代消除歧义版本之一。在一些说明性实施例中,消除歧义的输出可以包括用户输入的各种替代逻辑入口点/消除歧义的版本以及它们对应的权重值。
一旦用户的输入被意图排名/消除歧义引擎160消除歧义以生成消除歧义的输出,消除歧义的输出就由ADS响应生成器170的自然语言处理(NLP)机制、认知机制等处理,以生成(一个或多个)候选响应,对(一个或多个)候选响应进行排名,并选择一个或多个候选响应作为对用户输入的响应以进行输出。在一个说明性实施例中,消除歧义的输出可以包括基于与在用户简档中识别出的异常相关联的预测意图的相对排名而选择的用户输入的单个消除歧义版本。在另一个说明性实施例中,消除歧义的输出可以包括用户输入的多个不同的消除歧义的版本,每个版本与不同的可能的预测意图对应,其中不同的消除歧义的版本,和/或由NLP机制生成的它们相关联的(一个或多个)候选响应,可以根据与预测意图相关联的对应权重来加权。这些权重可以与NLP机制生成的其它权重组合,以生成针对特定响应的总体权重或置信度值,例如,认知问答(QA)***可以基于证据分析来给回答加权,以生成置信度得分,并且这个置信度得分可以进一步通过与预测意图相关联的权重值加权或受其影响。
基于经排名的响应列表,可以响应于用户输入而选择最终响应并且将其作为输出返回给用户。在一些情况下,可以如上面所讨论的那样输出具有资格的多个响应。可以将响应作为对用户的原始输入的响应提供回用户110。因此,例如,响应于用户输入“它为什么这么高?”,ADS可以基于用户的简档信息130中的异常来预测用户询问他们的账单或者他们的费率。基于与用户简档信息130中的账单和费率信息相关联的变量的改变的强度,相对较高的权重可以与“账单”相关联而不是与“费率”相关联,因此,可以确定用户最有可能询问他们的账单。
结果是意图排名/消除歧义引擎160将用户输入消除歧义为“为什么我的账单这么高?”然后将其输入到ADS响应生成器170,ADS响应生成器170对消除歧义的用户输入进行操作以生成响应。在这种情况下,通过用户简档信息130的NLP分析,可以确定用户的账单已经增加,因为用户的促销折扣已经到期。因此,生成“您的12个月促销折扣期限已于上个月到期”的响应并将其返回给用户。因此,从对话的角度来看,用户问“它为什么这么高?”并且ADS响应“您的12个月促销折扣期限已于上个月到期”,这是更自然的对话响应,其基于计算机生成的用户意图的预测而生成,该预测是基于用户的简档信息中识别出的异常。
图2是图示根据一个说明性实施例的、用于用户简档的变量的异常改变的基于模糊逻辑的权重确定的示例图。如上面所提到的,异常意图加权引擎150可以利用模糊逻辑等来评估用户简档信息中的变量的改变强度,以确定与那个改变相关联的对应意图相关联的权重值。模糊逻辑是一种多值逻辑的形式,其中变量的真值可以是0到1之间的任何实数。模糊逻辑被用于处理部分真的概念,其中真值可以在完全真和完全假之间的范围内。在本上下文中,模糊逻辑用于评估在用户简档信息中发现的异常是用户与ADS通信的原因或意图的确定性级别。
如图2中所示,一旦执行了异常检测并且通过识别用户简档中满足或超过一个或多个阈值的变量的改变识别出对应的意图,就将改变强度或量值输入到模糊逻辑模型或认知***模型,该模型对改变强度进行分类并将权重值与改变强度相关联。例如,可以定义将不同的改变强度范围与不同的模糊逻辑权重值相关联的模糊逻辑函数,例如,对于落入“低”分类内的改变强度范围,相关联的模糊逻辑权重值可以是0.2,而对于“高”分类,相关联的模糊逻辑权重值可以是0.8。可以基于由特定实现的特定模糊逻辑所采用的函数来确定特定值。在一些情况下,还可以指定用于特定分类的固定权重。在所描绘的示例中,给定客户的每月账单金额的变量,可以通过给定时间段内的最低账单金额与给定时间内的最高账单金额之间的差异来确定改变强度,在这个情况下是80美元。这个改变强度可以沿着表示模糊逻辑函数或模型的图的x轴映射,并且可以检索y轴上的对应权重值。在这个示例中,模糊逻辑权重被确定为0.8,即,改变强度落入“高”分类内,这意味着与异常相关联的意图很可能是用户(客户)与ADS通信或将与ADS通信的原因。
如图1中所示,可以为与在用户简档信息130中找到的异常相关联的每个改变强度生成模糊逻辑权重值,并将其提供给意图排名/消除歧义引擎160。然后意图排名/消除歧义引擎160可以对对应的意图进行排名并生成原始用户输入的消除歧义以供ADS响应生成器170处理,ADS响应生成器170可以采用自然语言处理、认知处理等来生成对用户输入的响应。
虽然图1的以上描述假设异常检测和意图识别引擎140响应于用户访问ADS而动态地识别用户简档信息130中的异常,但是本发明不限于此。更确切地说,响应于对用户简档信息130执行更新,可以对用户简档信息130执行引擎140和150的操作。这些更新可以是连续的、周期性的,或者响应于给定事件而执行。
例如,在客户服务***环境中,客户通常与ADS通信以讨论他们的账单并获得他们的服务/产品的帮助。因此,例如,当用户简档信息的源(诸如公司计费***)生成新的用户简档信息(例如,新的每月账单)时,该信息被添加到用户简档信息130。这可以触发引擎140和150评估新添加的信息以确定它是否在用户简档信息130中引入了任何新的异常的操作。再次,这可以涉及应用阈值、规则等,用于基于用户简档信息130中变量值的改变来检测异常并将这些改变与不同的意图相关联。然后,异常/意图加权引擎150可以对改变强度进行分类并将权重值指派给异常/意图,然后将其与用户简档信息130相关联地存储。因此,当用户随后访问ADS时,不是必须动态地执行对用户简档信息130的分析,而是异常检测和意图识别引擎140可以简单地从用户简档信息130中检索存储的异常/意图和对应的权重信息,并利用这种先前识别出的异常/意图信息来执行先前上面针对排名和消除歧义描述的操作。
图3是概述根据一个说明性实施例的、响应于对用户简档信息的更新的图1的引擎140和150的示例操作的流程图。如图3中所示,当接收到新的用户数据以包括在用户简档信息中时,例如,由计费***或其它用户简档信息数据源生成新的每月账单,操作开始(步骤310)。更新用户简档信息(步骤320),并且将异常检测分析、规则和阈值应用于用户简档信息,以确定是否发现任何异常(步骤330)。如果没有发现异常(步骤340),即,没有新用户数据产生满足或超过阈值或满足规则标准的任何变量或变量组合的改变,那么操作终止。如果发现异常(步骤340),那么将模糊逻辑、认知逻辑等应用于变量的改变强度,以生成与异常及其相关联的意图相关联的权重值(步骤350)。然后将异常/意图信息和对应的权重值存储在用户简档信息中,以便稍后在用户用有歧义的用户输入与ADS通信时进行检索(步骤360)。然后操作终止。
图4是概述根据一个说明性实施例的、用于消除用户输入的歧义的示例操作的流程图。无论异常检测和意图识别是动态地还是先验地响应于对用户简档的更新而执行,都可以执行图4的操作。如图4中所示,响应于用户访问自动对话***(ADS)并提供用户输入(例如,说出的话语或文本输入)(步骤410),ADS检索对应用户的用户简档并且确定用户简档信息中是否存在任何异常(步骤420)。确定用户简档信息中是否存在异常可以先验地执行(诸如当新用户数据如上面在图3的上下文中所描述的那样被用于更新用户简档时),或者可以在步骤410中响应于用户访问ADS而被动态地执行。因此,取决于实现,步骤420可以涉及执行用户简档信息的实际分析以识别用户简档信息中的变量的显著改变(例如,满足或超过阈值或者满足异常检测规则的标准的改变),或者可以涉及从用户简档信息中检索从用户简档信息的先验分析生成的先前异常/意图及其对应权重的列表。
如果不存在异常(步骤430),那么经由NLP***或认知***(例如,问答(QA)***)使用常规自然语言处理(NLP)和/或认知操作来处理用户输入,以生成对用户输入的响应(步骤440),并将生成的响应返回给用户(步骤450)。如果存在异常(步骤430),那么确定与异常相关联的意图并计算异常/意图的对应权重(步骤460)。如上所述,可以通过应用基于一个或多个在用户简档信息中阐述的变量值中检测到的改变、统计度量,趋势等将意图与异常相关联的规则来确定意图。可以使用模糊逻辑、认知评估等来计算与这种异常/意图相关联的权重。
然后基于计算出的权重将消除歧义操作应用于用户输入,以解决引用(步骤470)。应当认识到的是,虽然图4将消除歧义描述为针对引用消除歧义,但是也可以执行用户输入的其它类型的消除歧义,包括但不限于词义消除歧义、主题消除歧义和解析消除歧义,如上文先前所提到的。
语义解析器还可以处理涉及有歧义词的输入,例如“bill”。Bill可以是名词(国会中的法案)、动词(“支付账单”)或先验名词(prior noun)(William的缩写版)。当处理输入时,可以存在与每个词义对应的多个解释,每个解释具有概率C。然后,将解释与意图的可能性L相匹配并且乘以权重值Wk。
语义解析器还可以将输入处理成解析树,诸如组成或短语结构解析或依赖关系解析。解析中的节点的标签(其句法类别-名词、专有名词、动词等)或其附件(有资格的东西是bill)可能是有歧义的。在这种情况下,解析器将输出多个与输入匹配的句法分析,每个句法分析具有解析得分(0到1)。句法分析被用于生成给定的解释(来自语义解析器的输出),从而生成解析得分。
将语义解析应用于消除歧义的用户输入,并且以利用相应置信度值排名的次序提取替代入口点(步骤480)。然后使用重新排名函数对入口点进行重新排名(步骤490)。例如,重新排名函数可以使用用户输入的自然语言处理和与入口点对应的改变强度的给定类别或分类的模糊逻辑权重来评估入口点置信度的组合。示例重新排名函数可以是Franking=(w1*EPC)+(w2*FLW)类型,其中EPC是使用自然语言处理方法计算的入口点置信度值,FLW是改变强度的给定类别或分类的模糊逻辑权重,w1是重新排名函数中EPC的权重,并且w2是重新排名函数中FLW的权重。
通过对入口点执行函数,直接生成响应。例如,如果用户询问当前的每月帐单,那么***可以将其映射到入口点get_amount(variable,period,point)并将variable设置为“bill”,将period设置为“month”并将point设置为“current”。然后存在执行的代码或构造的查询,其运行以在目标计算机***中实际检索每月帐单的当前值。
基于在步骤460和470中确定的消除歧义操作和权重,涵盖在步骤480中生成的替代入口点的用户输入的重新排名的入口点由NLP和/或认知响应生成操作使用(步骤440),以生成对用户输入的响应,然后输出该响应(步骤450)并且操作终止。
图5是概述根据一个说明性实施例的、用于基于根据用户简档信息中的异常/意图检测确定的权重来执行引用消除歧义的示例操作的流程图。例如,图5中概述的操作可以作为图4的步骤470中的操作的一部分来执行,以解决用户输入中的引用,从而基于用户简档信息中识别出的异常消除用户输入的歧义。
如图5中所示,操作通过应用一个或多个关系模式来过滤用户输入中的引用开始(步骤510)。例如,关系模式可以是指示关系的类型“是<对象><值>”。可以使用基于规则的模式匹配来执行步骤510中的操作,但是也可以使用统计模型来完成。用户输入的匹配模式的一部分,例如“它为什么这么高?”指示“它”是个事物,因为它匹配<对象>而“它”具有<值>,例如“高”,但没有性别。这将可以匹配术语“它”的“事物”类型的列表从人类、变量等缩小到仅仅变量。
在过滤掉引用之后,识别无界的引用,例如,代词引用“它”被识别为无界引用,因为在这个用户输入之前没有交谈(步骤520)。然后构建潜在引用的集合(步骤530)。例如,可以利用与用户输入的上下文相关联的元素,例如领域、环境、对话、GUI等。例如,可以确定各种元素(诸如“Joe”、“到期日”、“账单”、“费率”等)可以包括在潜在引用的列表中。但是,鉴于在步骤510中确定引用“它”是“事物”,潜在引用的列表被减少为变量(例如“账单”、“费率”和“到期日”)的列表。
然后使用识别不同潜在引用的属性的模式信息过滤潜在引用集合中的引用(步骤540)。例如,模式可以声明变量“账单”可以是具有定性值的数字(例如,“低”到“中”到“高”)并且“到期日”可以是“高”。因此,潜在引用集变成“账单”和“费率”。
此后,为了消除用户输入中的引用的歧义,根据它们的权重(例如,模糊逻辑权重值)对该潜在引用的集合进行排名(步骤550)。例如,如果与潜在引用“账单”相关联的变量的值或改变强度异常高,那么潜在引用“账单”更可能与无界引用“它”匹配。因此,可以选择最高排名的潜在引用“账单”来消除用户输入的歧义,例如,将“它为什么这么高?”消除歧义为“为什么我的账单这么高?”。应当认识到的是,可以与其排名和权重相关联地维护所有潜在引用,以便在从用户接收到附加信息时,可以动态地更新这个相对排名,并且可以选择不同的潜在引用以生成更准确的响应。
如先前关于图4所提到的,一旦消除了用户输入的歧义,诸如通过执行如上面参考图5所述的操作,应用语义解析,以按照利用相应置信度值排名的次序提取替代入口点(步骤480)并对入口点重新进行排名(步骤490)。这个信息被提供给NLP或认知***以生成输出给用户的适当响应(步骤440和450)。
因此,利用说明性实施例的机制,在用户简档信息中发现的异常被用于消除来自用户的自然语言输入的部分的歧义,以便通过自动对话***(ADS)确定对用户输入的适当响应。消除歧义使用用户意图的预测,诸如基于在用户的简档信息中找到的异常的改变强度/量值以及基于模糊逻辑或基于认知逻辑的分类或这些改变强度/量值的加权。基于预测的意图,通过修改用户输入中的无界或有歧义的引用以指向与预测的意图对应的元素来消除用户输入的有歧义部分的歧义。然后,使用自然语言处理和/或认知处理操作来评估用户输入的(一个或多个)消除歧义的版本,以生成假设预测意图的适当响应。然后,生成的响应作为对其输入的响应输出给用户。当用户提供多个输入时,可以动态地调整意图的预测以反映接收到的新信息,从而随着获得更多上下文信息而改善预测的意图。这导致用户和自动对话***之间更自然和令人满意的对话。
如从以上描述中显而易见的,说明性实施例可以在许多不同类型的数据处理环境中被使用。为了提供说明性实施例的具体元素和功能的描述的上下文,下文提供图6-8作为其中可以实现说明性实施例的各方面的示例环境。应当认识到的是,图6-8仅仅是示例,并非旨在断言或暗示关于其中可以实现本发明的方面或实施例的环境的任何限制。在不脱离本发明的精神和范围的情况下,可以对所描绘的环境进行许多修改。
图6-8针对描述示例自动对话***(ADS),其实现请求处理流水线(诸如问答(QA)流水线(也称为问题/回答流水线或问题和回答流水线)),例如,请求处理方法,以及利用其实现说明性实施例的机制的请求处理计算机程序产品。具有QA流水线的认知***提供用于评估用户输入并基于深度学习和来自电子文档的一个或多个语料库集和结构化/非结构化收集数据的证据的评估来生成适当响应的能力。ADS执行操作,以经由计算设备以模仿人类交互的方式与用户进行自然语言对话,但使用自动计算机化机制。从用户接收的请求(例如,口头或文本用户输入)可以被提供或转换为结构或非结构化请求消息、自然语言问题或用于请求要由ADS执行的操作的任何其它合适格式。根据说明性实施例,ADS基于由用户简档信息中的异常所指示的意图的预测来消除用户输入的歧义,并将消除歧义的用户输入提供给认知***以用于评估和生成适当的响应。
应当认识到的是,虽然图6-8中所示的说明性实施例假设认知***实现,但是在不脱离本发明的精神和范围的情况下,可以关于能够生成对来自用户的口头或文本输入的自动响应的任何基于自然语言处理(NLP)的机制来实现说明性实施例。而且,假设认知***实现,应当认识到的是,认知***虽然在下文的示例中被示为具有单个请求处理流水线,但实际上可以具有多个请求处理流水线。每个请求处理流水线可以被单独训练和/或被配置为处理与不同领域相关联的请求,或者被配置为对输入请求(或使用QA流水线的实现中的问题)执行相同或不同的分析,这取决于期望的实现。例如,在一些情况下,可以训练第一请求处理流水线以对针对客户服务用户账户的输入请求进行操作,同时可以训练另一个请求处理流水线以回答针对服务修复请求的输入请求。在其它情况下,例如,请求处理流水线可以被配置为提供不同类型的认知功能或支持不同类型的ADS应用,诸如一个请求处理流水线用于客户服务,而另一个请求处理流水线被配置为用于医疗处理建议,以及另一个请求处理流水线被配置为用于金融投资组合问题。
而且,每个请求处理流水线可以具有它们对其摄取和操作的自己的相关联的语料库或语料库集,例如在上述示例中,一个语料库用于血液病领域文档,而另一个语料库用于癌症诊断领域相关文档。在一些情况下,请求处理流水线可以各自在输入问题的相同领域上操作,但是可以具有不同的配置,例如,不同的注释器或经过不同训练的注释器,使得生成不同的分析和潜在的回答。认知***可以提供用于将输入请求/问题路由到适当的请求处理流水线(诸如基于输入请求的确定领域)、组合和评估通过由多个请求处理流水线执行的处理生成的最终结果的附加逻辑,以及促进利用多个请求处理流水线的其它控制和交互逻辑。
如上所述,可以利用说明性实施例的机制的一种类型的请求处理流水线是问答(QA)流水线。以下对本发明的示例实施例的描述将利用QA流水线作为请求处理流水线的示例,该流水线可以被扩充以包括根据ADS的一个或多个说明性实施例的机制。应当认识到的是,虽然将在实现对输入问题进行操作的一个或多个QA流水线的认知***的上下文中描述本发明,但是说明性实施例不限于此。更确切地说,说明性实施例的机制可以对未被提出为“问题”但是被格式化为对认知***的请求的请求进行操作,以使用相关联的语料库或语料库集以及用于配置认知***的具体配置信息对指定的输入数据集执行认知操作。例如,认知***可能会接收到“告诉我什么使它变高”等的请求,而不是问自然语言问题“它为什么这么高?”。应当认识到的是,QA***流水线的机制可以在只需稍作修改的情况下以与输入自然语言问题类似的方式对请求进行操作。实际上,在一些情况下,如果对于特定实现期望的话,那么可以将请求转换为自然语言问题以供QA***流水线处理。
说明性实施例提供了自动对话***(ADS),该***与认知***及其对应的一个或多个QA流水线或请求处理流水线一起操作并且可以与其集成。ADS接收用户输入,诸如通过语音到文本转换工具转换为文本的语音输入,或者由用户经由用户界面(例如聊天窗口、即时消息应用、电子邮件应用等)直接输入的文本。ADS处理用户输入并生成响应,以便在ADS和用户之间进行模拟用户说话或与另一个人通信的自然语言对话。根据说明性实施例,ADS通过基于检测到的用户简档信息中的异常来消除这些歧义,基于检测到的异常预测意图,并且选择用户输入的消除歧义以供通过自然语言处理机制和/或认知处理机制进一步处理来适应用户输入中的歧义。例如,具有带有歧义术语或自然语言内容的一部分的问题的用户输入可以基于用户的预测意图来消除歧义,并且可以将消除歧义的问题传递给认知***以进行处理,以生成对问题的回答。然后可以经由ADS将回答提供给用户。
由于说明性实施例可以利用QA***和流水线来协助与用户进行自然语言对话,因此在描述说明性实施例的机制如何被集成在实现QA流水线的认知***和请求处理流水线或QA流水线机制并对其扩充之前,重要的是首先了解如何实现在这种认知***中认知***和问答创建。应当认识到的是,图6-8中描述的机制仅仅是示例,并非旨在陈述或暗示关于实现说明性实施例的认知***机制的类型的任何限制。在不脱离本发明的精神和范围的情况下,可以在本发明的各种实施例中实现对图6-8中所示的示例认知***的许多修改。
作为概述,认知***是专用计算机***或计算机***的集合,其配置有硬件和/或软件逻辑(与软件在其上执行的硬件逻辑相结合),以模仿人类认知功能。这些认知***将类似人类的特点应用于传达和操纵思想,当与数字计算的固有优势相结合时,可以以高准确度和弹性大规模地解决问题。认知***执行一个或多个计算机实现的认知操作,其近似人类思维过程以及使人和机器能够以更自然的方式进行交互,从而扩展和放大人类的专业知识和认知。例如,认知***包括人工智能逻辑(诸如基于自然语言处理(NLP)的逻辑),以及机器学习逻辑(其可以作为专用硬件、在硬件上执行的软件或者专用硬件和在硬件上执行的软件的任意组合提供)。认知***的逻辑实现(一个或多个)认知操作,其示例包括但不限于问题回答、语料库中内容的不同部分内的相关概念的识别、智能搜索算法(诸如互联网网页搜索,例如,医学诊断和治疗建议,以及其它类型的推荐生成,例如,特定用户感兴趣的项目、潜在的新联系人推荐等)。
IBM WatsonTM是一种这样的认知***的示例,其可以处理人类可读的语言并且以比人类快得多的速度和在更大规模上以类似人类的高准确度识别文本段落之间的推断。一般而言,这种认知***能够执行以下功能:
·导航人类语言和理解的复杂性
·摄取并处理大量的结构化和非结构化数据
·生成并评估假设
·加权和评估仅基于相关证据的响应
·提供特定于情况的建议、见解和指导
·通过机器学习处理来利用每次迭代和交互改进知识并学习
·使得在影响点能够做出决策(上下文指导)
·与任务成比例的缩放
·扩展和放大人类的专业知识和认知
·从自然语言中识别出共鸣、类似人类的属性和特质
·从自然语言中删除各种特定于语言的或不可知的属性
·来自数据点(图像、文本、语音)的高度相关回忆(记忆和回忆)
·利用基于经验模仿人类认知的情境意识进行预测和感知
·基于自然语言和具体证据回答问题
在一个方面,认知***提供了用于使用问答流水线或***(QA***)来回答对这些认知***提出的问题的机制和/或处理可以或可以不作为自然语言问题提出的请求。QA流水线或***是在数据处理硬件上执行的人工智能应用,其回答与以自然语言呈现的给定主题领域有关的问题。QA流水线接收来自各种源的输入,包括通过网络的输入、电子文档或其它数据的语料库、来自内容创建者的数据、来自一个或多个内容用户的信息,以及来自其它可能的输入源的其它此类输入。数据存储设备存储数据的语料库。内容创建者在文档中创建内容,以作为数据的语料库的一部分与QA流水线一起使用。文档可以包括用在QA***中的任何文件、文本、文章或数据源。例如,QA流水线访问关于领域或主题区的知识体系,例如,金融领域、医学领域、法律领域等,其中知识的主体(知识库)可以以各种配置来组织。例如,特定于领域的信息的结构化储存库(诸如本体)或与领域相关的非结构化数据,或关于领域的自然语言文档的集合。
内容用户向实现QA流水线的认知***输入问题。然后,QA流水线通过评估文档、文档的章节、语料库中数据的部分等来使用数据的语料库中的内容回答输入的问题。当处理评估文档的给定章节以获得语义内容时,处理可以使用各种约定从QA流水线查询这种文档,例如,将查询作为格式良好的问题发送到QA流水线,然后由QA流水线解释,并且提供包含对问题的一个或多个回答的响应。语义内容是基于记号(诸如词、短语、记号(sign)和符号(symbol))之间的关系以及记号代表什么、它们的外延或内涵的内容。换句话说,语义内容是解释表达的内容,诸如通过使用自然语言处理解释。
如下文将更详细描述的,QA流水线接收输入的问题、解析问题以提取问题的主要特征、使用提取出的特征来制定查询,然后将那些查询应用于数据的语料库。基于将查询应用于数据的语料库,QA流水线通过跨数据的语料库查看数据语料库中具有包含对输入问题的有价值的响应的某种可能的部分来生成一组假设或输入问题的候选回答。然后,QA流水线使用各种推理算法(reasoning algorithm)对输入问题的语言和在应用查询期间找到的数据语料库的每个部分中使用的语言进行深入分析。可以应用数百甚至数千个推理算法,每个推理算法执行不同的分析,例如比较、自然语言分析、词汇分析等,并生成得分。例如,一些推理算法可以查看输入问题的语言中的术语和同义词与数据语料库的找到的部分的匹配。其它推理算法可以查看语言中的时间或空间特征,而其它推理算法可以评估数据语料库的部分的源并评估其真实性。
从各种推理算法获得的得分指示基于该推理算法的具体焦点区域由输入问题推断出潜在响应的程度。然后对照统计模型对每个得到的得分进行加权。统计模型捕获推理算法在QA流水线的训练期间在特定领域的两个相似段落之间建立推断时执行得多好。统计模型被用于总结关于通过问题推断潜在响应(即,候选回答)的证据QA流水线具有的置信度水平。对于每个候选回答重复这个处理,直到QA流水线识别出表现得明显强于其它回答的候选回答,从而为输入问题生成最终回答或排名的回答集。
图6是采用为了执行与用户的对话而实现请求处理流水线608的认知***600的ADS的一个说明性实施例的示例图,在一些实施例中,该流水线可以是问答(QA)流水线。出于本描述的目的,将假设请求处理流水线608被实现为QA流水线,该QA流水线对以输入问题的形式的结构化和/或非结构化请求进行操作。在美国专利申请公开No.2011/0125734中描述了可以结合本文描述的原理使用的问题处理操作的一个示例,该申请通过引用整体并入本文。
ADS 620及在它与其一起操作或集成的其对应认知***600在连接到计算机网络602的一个或多个计算设备104A-D(包括一个或多个处理器和一个或多个存储器,以及可能的本领域一般已知的任何其它计算设备元件,包括总线、存储设备、通信接口等)上实现。仅出于说明的目的,图6描绘了ADS 620和仅在计算设备604A上实现的认知***600,但是如上所述,认知***600可以分布在多个计算设备上,诸如多个计算设备604A-D。网络602包括可以作为服务器计算设备操作的多个计算设备604A-D,以及可以作为客户端计算设备操作的610-612,它们彼此通信并且经由一个或多个有线和/或无线数据通信链路与其它设备或部件通信,其中每个通信链路包括导线、路由器、开关、发送器、接收器等中的一个或多个。在一些说明性实施例中,ADS 620、认知***600和网络602在用户和ADS 620之间的自然语言对话中经由它们相应的计算设备610-612为一个或多个认知***用户启用问题处理和应答生成(QA)功能,其中认知***600用于为ADS 620的响应生成提供回答。在其它实施例中,认知***600和网络602可以提供其它类型的认知操作,包括但不限于请求处理和认知响应生成,取决于期望的实现,这可以采取许多不同的形式,例如认知信息检索、用户的训练/指示、数据的认知评估等。认知***600的其它实施例可以与除本文描述的那些之外的部件、***、子***和/或设备一起使用。
ADS 620被配置为经由网络602从客户端计算设备610、612接收用户输入,其中用户输入可以是自然语言问题、自然语言请求等。用户输入可以以以下形式呈现:自然语言问题、对信息的自然语言请求、执行认知操作的自然语言请求等,并且可以被提供为转换成自然语言文本的语音输入、直接自然语言文本等。与用户输入对应的自然语言文本可以由ADS620和/或认知***600的自然语言处理(NLP)逻辑处理,以提取自然语言文本的特征并评估这些特征。例如,如前所述,根据说明性实施例,可以识别自然语言文本的有歧义部分,诸如经由语义解析器622。
ADS 620包括对用户简档数据库630中的用户简档信息进行操作的逻辑624-628,用户简档数据库630可以是ADS 620的一部分、耦合到网络602的单独数据库、跨可经由网络602访问的多个计算设备分布等。例如,异常检测和意图识别引擎624可以对用户简档信息进行操作,以基于在预定时间段内用户简档信息的变量值的改变、这些值的统计度量、这些值的趋势等来识别异常。这种异常检测可以包括应用异常发现规则,这些规则评估用户简档信息的各种标准,其中标准指示用户简档信息中是否存在异常。
异常检测和意图识别引擎624将异常与预测的用户意图相关。同样,可以定义将意图与异常关联的规则,其指示特定类型的异常指示什么用户意图,例如,如果用户的账单在上一个计费周期中增加了30%,那么用户意图可以是询问账单增加、询问开账单政策或询问开账单规则。
异常/意图加权引擎626基于对异常识别有贡献的变量的改变强度的分类来生成识别出的用户意图/异常的权重值。如上所述,模糊逻辑或认知过程可以被用于评估改变强度并将它们分类为具有相关联权重值的对应类别或分类。然后,权重值可以被意图排名/消除歧义引擎628用来执行用户输入的有歧义部分的意图排名和消除歧义。然后可以将消除歧义的用户输入提供给认知***600以供经由流水线608进行处理,以生成对消除歧义的用户输入的一个或多个候选响应,响应作为与用户的持续对话的一部分经由服务器604A、网络602和用户的客户端计算设备610返回到ADS 620以呈现给用户。
认知***600接收消除歧义的用户输入,其可以基于单个所选择的用户意图和用户输入的对应替代版本,或者可以包括与不同用户意图相关联并且具有关联的权重值的多个不同替代版本,并且基于从电子文档106的语料库或语料库集、认知***用户和/或可以提供用于处理用户查询和请求的其它数据和其它可能的信息源获得的信息来处理消除歧义的用户输入。在一个实施例中,认知***600的一些或全部输入被路由通过网络602。网络602上的各种计算设备604A-D包括用于内容创建者和认知***用户的接入点。计算设备604A-D中的一些包括用于存储数据的语料库或语料库集606的数据库的设备(为了说明的目的,其在图6中被示为单独的实体)。还可以在一个或多个其它网络附连的存储设备上、在一个或多个数据库中或图6中未明确示出的其它计算设备上提供数据的语料库或语料库集606的部分。在各种实施例中,网络602包括本地网络连接和远程连接,使得认知***600可以在任何尺寸(包括本地和全球)的环境(例如,互联网)中操作。
在一个实施例中,内容创建者在数据的语料库或语料库集606的文档中创建内容,以作为数据的语料库的一部分与认知***600一起使用。文档包括在认知***600中使用的任何文件、文本、文章或数据源。ADS 620用户经由网络连接或到网络602的互联网连接访问ADS 620,从而访问认知***600,并且如果需要,就向ADS 620输入由ADS 620消除歧义并由认知***100处理的问题/请求,以便基于数据的语料库或语料库集606中的内容回答输入问题/处理请求。在一个实施例中,使用自然语言形成问题/请求并且,如果必要的话,由ADS620将其消除歧义为自然语言用户输入的替代形式,其中基于检测到的用户简档信息中的异常和对应的用户意图来消除有歧义部分的歧义。在用户输入中没有识别出有歧义部分的情况下,自然语言问题/请求可以被传递到认知***600以进行处理。
认知***600经由流水线608解析和解释问题/请求,并且向ADS 620提供响应,ADS620进而制定自然语言响应并经由其计算设备(例如,ADS用户客户端计算110)向ADS用户输出自然语言响应,其中响应可以包含对提出的问题的一个或多个回答、对请求的响应、处理请求的结果等。在一些实施例中,认知***600向ADS 620并且因此最终向用户提供在候选回答/响应的排名列表中的响应,而在其它说明性实施例中,认知***600提供单个最终回答/响应或最终回答/答复与其它候选回答/响应的排名列表的组合。
认知***600实现流水线608,其包括用于基于从数据的语料库或语料库集606获得的信息处理输入问题/请求的多个阶段。流水线608基于输入问题/请求和数据的语料库或语料库集606的处理生成针对输入问题或请求的回答/响应。将在下文中参考图8更详细地描述流水线608。
在一些说明性实施例中,认知***600可以是可从International BusinessMachines Corporation,Armonk,New York获得的IBM WatsonTM认知***,其利用下文描述的说明性实施例的机制来增强。IBM WatsonTM认知***的流水线接收输入问题或请求,然后解析该输入问题或请求以提取问题/请求的主要特征,然后将该主要特征用于制定应用于数据的语料库或语料库集606的查询。基于对数据的语料库或语料库集606应用查询,通过从数据的语料库或语料库集606查找数据的语料库或语料库集606中具有包含对输入问题/响应(以下假设为输入问题)的有价值的响应的某种可能的部分(以下简称为语料库106)来生成对输入问题/请求的假设集合或候选回答/响应。然后,IBM WatsonTM认知***的流水线608使用各种推理算法对输入问题的语言和在查询的应用期间找到的语料库606的每个部分中使用的语言执行深入分析。
然后,对照统计模型对从各种推理算法获得的得分进行加权,该统计模型总结了IBM WatsonTM认知***600的流水线108在这个示例中关于由问题推断潜在候选回答的证据具有的置信度水平。对于每个候选回答重复这个处理,以生成候选回答/响应的排名列表,然后可以将其呈现给提交输入问题的用户,例如,客户端计算设备110的用户,或者从列表中选择最终回答并经由ADS 620呈现给用户。关于IBM WatsonTM认知***600的流水线608的更多信息可以例如从IBM公司网站、IBM红皮书等获得。例如,关于IBM WatsonTM认知***的流水线的信息可以在Yuan等人的“Watson and Healthcare”(IBM developerWorks,2011)以及Rob High的“The Era of Cognitive Systems:An Inside Look at IBM Watson andHow it Works”(IBM红皮书,2012)中找到。
在本发明的上下文中,ADS 620及其对应的认知***600可以提供认知功能,用于帮助对自然语言用户输入作出响应,以便提供客户服务对话以帮助客户解决他们关于产品或服务可能遇到的问题。基于客户服务的ADS 620和对应的认知***600可以被具体地配置为用于其所部署的特定领域,例如,如果ADS 620将用于辅助公用事业公司的客户,那么ADS620可以被配置为对针对与此类公用事业相关联的账户、服务和产品的请求/问题进行操作。ADS 620被扩充为包括逻辑、数据结构和配置,以基于检测到的用户简档信息中的异常和与此类异常相关联的对应用户意图来执行自然语言用户输入的歧义消除。而且,ADS 620被扩充为包括逻辑、数据结构和配置,以基于预定时间段内用户简档信息中的变量的改变强度来执行用于对各种用户意图进行加权的操作,基于加权对这些用户意图进行排名,并基于排名和加权的用户意图以及与这些用户意图相关联的对应替代文本消除用户输入的歧义。
如上所述,说明性实施例的机制植根于计算机技术领域,并且使用存在于这种计算或数据处理***中的逻辑来实现。这些计算或数据处理***或者通过硬件、软件或者硬件和软件的组合来具体配置,以实现上述各种操作。照此,提供图7作为其中可以实现本发明的各方面的一种类型的数据处理***的示例。许多其它类型的数据处理***可以同样被配置为具体地实现说明性实施例的机制。
图7是其中实现说明性实施例的各方面的示例数据处理***的框图。数据处理***700是计算机的示例,诸如图6中的服务器604,其中定位了实现本发明的说明性实施例的处理的计算机可用代码或指令。在一个说明性实施例中,图7表示服务器计算设备,诸如服务器704,其实现ADS 620以及被扩充以包括下文描述的说明性实施例的附加机制的对应的认知***600和QA***流水线608。
在所描绘的示例中,数据处理***700采用包括北桥和存储器控制器集线器(NB/MCH)702以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)704的集线器体系架构。处理单元706、主存储器708和图形处理器710连接到NB/MCH 702。图形处理器710通过加速图形端口(AGP)连接到NB/MCH 702。
在所描绘的示例中,局域网(LAN)适配器712连接到SB/ICH704。音频适配器716、键盘和鼠标适配器720、调制解调器722、只读存储器(ROM)724、硬盘驱动器(HDD)726、CD-ROM驱动器730、通用串行总线(USB)端口和其它通信端口732以及PCI/PCIe设备734通过总线738和总线740连接到SB/ICH 704。PCI/PCIe设备可以包括例如以太网适配器、插件卡和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe则不使用。ROM 724可以是例如闪存基本输入/输出***(BIOS)。
HDD 726和CD-ROM驱动器730通过总线740连接到SB/ICH704。HDD 726和CD-ROM驱动器730可以使用例如集成驱动电子设备(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备736连接到SB/ICH 704。
操作***在处理单元706上运行。操作***协调并提供对图7中的数据处理***700内的各种部件的控制。作为客户端,操作***是商业上可用的操作***,诸如
Figure GDA0004132637250000411
Windows/>
Figure GDA0004132637250000412
面向对象的编程***(诸如JavaTM编程***)可以与操作***结合运行,并从在数据处理***700上执行的JavaTM程序或应用提供对操作***的调用。
作为服务器,数据处理***700可以是例如运行高级交互执行(AIX)操作***或
Figure GDA0004132637250000413
操作***的/>
Figure GDA0004132637250000414
eServerTM System/>
Figure GDA0004132637250000415
计算机***。数据处理***700可以是对称多处理器(SMP)***,其包括处理单元706中的多个处理器。可替代地,可以采用单个处理器***。
用于操作***、面向对象的编程***和应用或程序的指令位于诸如HDD 726之类的存储设备上,并且被加载到主存储器708中以供处理单元706执行。用于本发明的说明性实施例的处理由处理单元706使用计算机可用程序代码执行,该计算机可用程序代码位于例如诸如主存储器708、ROM 724之类的存储器中,或者例如一个或多个***设备726和730中。
诸如图7中所示的总线738或总线740之类的总线***由一条或多条总线组成。当然,总线***可以使用任何类型的通信架构或体系架构来实现,该通信架构或体系架构提供数据在附连到架构或体系架构的不同部件或设备之间的传送。通信单元(诸如图7的调制解调器722或网络适配器712)包括用于发送和接收数据的一个或多个设备。存储器可以是例如主存储器708、ROM 724或诸如在图7中的NB/MCH 702中找到的高速缓存。
本领域普通技术人员将认识到的是,图6和7中描绘的硬件可以取决于实现而变化。除了图6和7中所示的硬件之外或代替图6和7中所示的硬件,还可以使用其它内部硬件或***设备,诸如闪存、等效的非易失性存储器或光盘驱动器等。而且,在不脱离本发明的精神和范围的情况下,除了前面提到的SMP***之外,说明性实施例的处理还可以应用于多处理器数据处理***。
而且,数据处理***700可以采用多种不同数据处理***中的任何一种的形式,包括客户端计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其它通信设备、个人数字助理(PDA)等。在一些说明性示例中,数据处理***700可以是便携式计算设备,例如其配置有闪存以提供例如用于存储操作***文件和/或用户生成的数据的非易失性存储器。本质上,数据处理***700可以是任何已知的或以后开发的数据处理***,而没有体系架构的限制。
图8是图示根据一个说明性实施例的ADS和认知***流水线的元件的交互的示例图。应当认识到的是,图8中所示的QA流水线的阶段被实现为一个或多个软件引擎、部件等,这些被配置有用于实现归因于特定阶段的功能的逻辑。每个阶段使用一个或多个这样的软件引擎、部件等来实现。软件引擎、部件等在一个或多个数据处理***或设备的一个或多个处理器上执行,并利用或操作存储在一个或多个数据处理***上的一个或多个数据存储设备、存储器等中的数据。
如图8中所示,QA流水线800包括多个阶段810-880,认知***通过这些阶段进行操作,以分析输入问题并生成最终响应。在初始问题输入阶段810中,QA流水线800接收以自然语言格式呈现的输入问题,诸如由用户作为自然语言用户输入的一部分提交给ADS 620的问题的消除歧义的版本。即,用户经由用户界面输入用户希望获得对其的回答的输入问题,例如“它为什么这么高?”。响应于接收到输入问题,ADS 620可以执行如前所述的操作,以消除用户输入的有歧义部分(例如,在这个示例中的术语“它”)的歧义,并且将消除歧义的用户输入作为消除歧义的问题提供给QA流水线800,例如“我的账单为什么这么高?”。
在阶段810中,流水线800接收消除歧义的用户输入(问题)或原始用户输入(如果不需要消除歧义的话),阶段810可以执行用户输入的一些初始分析,以供问题和主题分析阶段820使用。QA流水线800的下一阶段(即,问题和主题分析阶段820)使用自然语言处理(NLP)技术解析输入问题,以从输入问题中提取主要特征,并根据类型(例如,名称、日期或多个其它定义的主题中的任何一个)对主要特征进行分类。例如,在“谁是华盛顿最亲密的顾问?”类型的问题中,术语“谁”可以与用于“人”的、指示正在寻找某人的身份的主题相关联,“华盛顿”可以被识别为与该问题相关联的人的正确名称,“最亲密”可以被识别为指示接近性或关系的词,并且“顾问”可以指示名词或其它语言主题。
此外,提取出的主要特征包括关键词和短语,其被分类为问题特点,诸如问题的焦点、问题的词汇回答类型(LAT)等。如本文所提到的,词汇回答类型(LAT)是输入问题中指示回答类型的词或从中推断出的词,而与向那个词指派语义无关。例如,在“在16世纪发明了什么机动以加速游戏并涉及两块相同颜色?”的问题中,LAT是字符串“机动”。问题的焦点是问题的一部分,如果该部分被回答取代,那么问题就是独立的陈述。例如,在“什么药物已被证明可以减轻ADD症状并且副作用相对较少?”的问题中,焦点是“药物”,因为如果这个词被回答取代,例如回答“Adderall”可以被用来取代术语“药物”以生成句子“Adderall已被证明可以减轻ADD症状并且副作用相对较少。”焦点经常但并非总是包含LAT。另一方面,在许多情况下,不可能从焦点中推断出有意义的LAT。
再次参考图8,然后在问题分解阶段830期间使用识别出的主要特征将问题分解为应用于数据/信息的语料库集845的一个或多个查询,以便生成一个或多个假设。查询以任何已知或以后开发的查询语言(诸如结构查询语言(SQL)等)生成。查询被应用于存储关于构成数据/信息的语料库集845的电子文本、文档、文章、网站等的信息的一个或多个数据库。即,这些各种源本身、源的不同集合等表示语料库集845内的不同语料库847。取决于具体实现,可以基于各种标准为文档的不同集合定义不同的语料库集845。例如,可以针对不同的主题、主题类别、信息源等建立不同的语料库集。作为一个示例,第一语料库可以与医疗保健文档相关联,而第二语料库可以与财务文档相关联。可替代地,一个语料库可以是由美国能源部发布的文档,而另一个语料库可以是IBM红皮书文档。具有某个类似属性的内容的任何集合可以被认为是语料库集845内的语料库847。
查询被应用于存储关于电子文本、文档、文章、网站等的信息的一个或多个数据库,其构成数据/信息的语料库,例如图6中的数据的语料库606。在假设生成阶段840将查询应用于数据/信息的语料库,以生成识别用于回答输入问题的潜在假设的结果,然后可以对结果进行评估。即,查询的应用导致提取数据/信息的语料库中与特定查询的标准匹配的部分。然后在假设生成阶段840期间分析和使用语料库的这些部分,以生成用于回答输入问题的假设。这些假设在本文中也称为输入问题的“候选回答”。对于任何输入问题,在这个阶段840,可以存在生成的数百个可能需要评估的假设或候选回答。
然后,在阶段850中,QA流水线800对输入问题的语言和每个假设或“候选回答”的语言进行深入分析和比较,并且执行证据评分,以评估特定假设是输入问题的正确回答的可能性。如上面所提到的,这涉及使用多个推理算法,每个推理算法对输入问题的语言和/或语料库的内容执行单独类型的分析,这种分析提供支持或不支持假设的证据。每个推理算法基于其执行的分析生成得分,该得分指示数据/信息的语料库中通过应用查询所提取的各个部分的相关性的测量以及对应假设的正确性的测量,即,对假设的置信度的测量。取决于正被执行的特定分析,存在生成这种得分的各种方式。但是,一般而言,这些算法寻找指示感兴趣的术语、短语或模式的文本的特定术语、短语或模式,并确定匹配程度,其中较高匹配程度被给予比较低匹配程度相对较高的得分。
因此,例如,算法可以被配置为从输入问题中查找确切的术语或输入问题中那个术语的同义词,例如术语“movie”的确切术语或同义词,并基于这些确切术语或同义词的使用频率生成得分。在这种情况下,确切匹配将被给予最高得分,而同义词可以基于同义词的相对排名给予较低得分,如可以由主题专家(具有所使用的特定领域和术语的知识的人)指定或者根据该同义词在与领域对应的语料库中的使用频率自动确定。因此,例如,语料库的内容中的术语“movie”的确切匹配(也称为证据或证据段落)被给予最高得分。movie的同义词(诸如“motion picture”)可以被给予较低的得分,但仍然高于“film”或“movingpicture show”类型的同义词。可以编译每个证据段落的确切匹配和同义词的实例,并且在定量函数中用于生成证据段落与输入问题的匹配程度的得分。
因此,例如,对“What was the first movie?”的输入问题的假设或候选回答是“The Horse in Motion”。如果证据段落包含语句“The first motion picture ever madewas‘The Horse in Motion’in 1878by Eadweard Muybridge.It was a movie of ahorse running”并且算法在寻找与输入问题的焦点(即,“movie”)的确切匹配或同义词,那么在证据段落的第二句中找到确切匹配“movie”并且在证据段落的第一句中找到“movie”的高得分同义词(即,“motion picture”)。这可以与对证据段落的进一步分析相结合,以识别候选回答的文本也存在于证据段落(即,“The Horse in Motion”)中。这些因素可以结合起来,以给予这一证据段落相对高的得分,因为用于候选回答“The Horse in Motion”的支持证据是正确回答。
应当认识到的是,这仅仅是可以如何执行评分的一个简单示例。在不脱离本发明的精神和范围的情况下,可以使用各种复杂度的许多其它算法来为候选回答和证据生成得分。根据本发明的一些说明性实施例,输入到流水线800的消除歧义的用户输入实际上可以包括具有由ADS 620生成的相关联权重的用户输入的多个不同的消除歧义的版本。照此,权重可以在对针对不同的消除歧义的版本的候选回答进行评分时应用,以便在生成候选回答的排名列表时相对于另一个版本对一个版本的候选回答进行加权。因此,排名列表可以包括针对用户输入的多个不同的消除歧义的版本生成的候选回答,并且可以相对于彼此进行排名,其中排名至少部分地基于由如ADS 620生成的不同的消除歧义的版本的相对权重,例如,如果一个消除歧义的版本是“为什么我的账单这么高?”并且候选回答为“联邦税增加”并且权重为0.8,另一个消除歧义的版本是“为什么我的费率这么高?”并且具有权重为0.5的候选回答“你的12个月的促销折扣已经到期”,那么这些回答可以使用它们相应的权重0.8和0.5相对于彼此进行排名,以便生成候选回答的排名列表。
在合成阶段860中,将由各种推理算法生成的大量得分合成为用于各种假设的置信度得分或置信度测度。这个处理涉及将权重应用于各种得分,其中权重已经通过由QA流水线800采用的统计模型的训练确定和/或被动态更新。例如,用于由识别确切匹配的术语和同义词的算法生成的得分的权重可以被设置为相对高于评估证据段落的发布日期的其它算法。权重本身可以由主题专家指定或通过机器学习处理学习,其中机器学习处理评估特征证据段落的重要性及其对总体候选回答生成的相对重要性。
根据通过QA流水线800的训练生成的统计模型来处理加权的得分,该统计模型识别可以组合这些得分以生成用于各个假设或候选回答的置信度得分或测量的方式。这个置信度得分或测量总结关于通过输入问题推断出候选回答的证据(即,候选回答是输入问题的正确回答)QA流水线800具有的置信度水平。
所得到的置信度得分或测量由最终置信度合并和排名阶段870处理,该阶段将置信度得分与测量相互比较,将它们与预定阈值进行比较,或者对置信度得分执行任何其它分析,以确定哪些假设/候选回答最有可能是输入问题的正确回答。根据这些比较对假设/候选回答进行排名,以生成假设/候选回答(下文中简称为“候选回答”)的排名列表。从候选回答的排名列表中,在阶段880,生成最终回答和置信度得分,或候选回答和置信度得分的最终集合,并将其输出到ADS 620,用于制定对用户输入的响应。然后生成响应并诸如经由其对应的客户端计算设备输出给提交用户输入的用户,即,对用户的有歧义问题的回答的自然语言输出。
因此,说明性实施例提供了用于基于用户意图的预测来消除来自用户的自然语言输入的歧义的机制。用户意图的预测是基于用户简档信息中检测到的异常和对这种异常的强度的基于模糊逻辑的评估分类。然后可以经由自然语言处理机制处理消除歧义的自然语言输入,以生成对消除歧义的自然语言输入的响应。
除了关于消除有歧义自然语言输入的歧义以用于自动对话***(ADS)的问题之外,在计算机化环境中提供更紧密近似人类之间的自然语言对话的用户友好的ADS的其它关键方面是确定如何基于经由对话会话与ADS交谈的特定用户个性化由ADS生成的响应。本发明的一些说明性实施例的一个方面是进一步分析各个用户的用户简档信息,以向ADS提供信息,以允许ADS个性化各个用户的响应。考虑这样一种情况,其中用户Ann被公司收取ADS与之相关联的产品或服务(例如,互联网或电话访问、电力、燃气、石油、保险、清洁和维护等)的费率。Ann的费率最近上涨了30%。如上所述,Ann的费率上涨如此大的事实可以被ADS用来改善向她提供的回答。ADS意识到她可能会在不久的将来询问她的费率增加。可以针对特定用户定制这个阈值改变量,而不是对所有用户一般化的阈值改变量。因此,ADS调谐与ADS相关联的NLP和/或认知***,以识别与费率增加相关的词汇和短语。此外,对费率增加的解释可以特定于特定用户并且提供给NLP和/或认知***以用于定制响应。以这种方式,可以定制NLP和/或认知***以处理Ann的具体费率问题。
如上所述,问题之一是如何确定用户简档何时具有将受益于定制的消除歧义和定制的响应生成的异常。一种方式是查看具体阈值改变并改变具体用户遇到的量值。例如,如果变量的量(诸如费率)上涨了超过自定制阈值的量(例如30%),那么用户简档中那个变量的改变的量被确定为异常,并且定制的消除歧义和响应定制发生。
可以以针对特定用户定制阈值量的方式确定改变的阈值量(例如30%)。在一个说明性实施例中,可以评估关于多个用户以及关于具体用户的ADS随时间的行为,以识别关于用户对其用户简档信息中变量的改变的反应方式的用户行为中的统计值、模式或趋势。例如,当确定用户简档的变量的不同改变量时,可以随时间跟踪和评估用户和具体用户的行为模式。例如,在一些情况下,变量(例如,费率)的小改变(例如,4%的改变)可能不足以触发与用户的太多附加对话会话,诸如用户引用变量的改变的对话会话,例如,询问有关其费率改变的问题。对于这种费率增加,可能没有必要消除歧义和定制的响应。但是,大的费率改变(诸如30%)可能足以触发与用户的附加对话,其中ADS必须对来自用户的关于费率改变的问题作出响应。
ADS可以分析多个用户的用户简档信息以及与这些用户进行的对话,以确定表示ADS遇到关于改变的用户对话的显著增加的阈值的改变量。然后可以基于这个确定来设置阈值水平。例如,用户简档可以由图6中的异常检测和意图识别引擎624周期性地或连续地监视变量的改变和/或可以响应于ADS 620和用户之间的对话会话经由例如用户客户端计算设备610来评估。监视将用户对话会话与用户简档中检测到的变量的改变关联起来。在检测到的变量改变的预定时间段内确定要由用户发起的用户对话会话被认为潜在地与变量的改变相关联。而且,可以诸如经由自然语言处理来分析用户发起的对话会话的内容,以将用户发起的对话会话的内容中的术语/短语与作为改变的主语的特定变量关联起来。
例如,响应于用户发起与ADS 620的对话会话,异常检测和意图识别引擎624可以分析用户简档数据库630中的用户简档,以识别变量的改变并将这些改变与用户的对话会话相关联。而且,如上面所讨论的,可以识别对话会话的内容中对改变的引用,诸如经由自然语言处理等,以进一步识别用户对话会话与变量的特定改变相关。还可以监视每个改变的强度,以将变量中的特定改变、改变的强度和用户对话会话的发起相关,从而表示关于变量的特定改变的用户行为的模式。这可以针对变量的各种不同改变以及用户简档中相同或不同变量的改变的不同强度来完成。因此,特定用户的行为模式随着时间的推移发展,其表示那个用户如何对不同变量的不同水平的改变作出响应,例如,对于变量的小改变,用户可能不在预定时间段内发起对话会话,但是对于变量的较大改变,用户可以始终在检测到改变的具体时间段内发起对话。
可以对多个用户进行这种监视,以生成多个用户的关于他们的对话会话的模式或趋势。这种模式或趋势可以被用作设置用于为所有用户发起消除歧义和定制响应生成的阈值的基线。在一些说明性实施例中,可以为每个个体用户定制这种基线,或缺省阈值。例如,如果对于特定实现期望的话,那么具体用户的具体行为模式可以用于其中具体用户已经证明了发起与ADS的对话会话的历史的变量改变。对于用户未证明发起对话会话的历史的变量,可以使用缺省阈值。
因此,例如,经由关于用户简档中的变量的改变的用户发起的对话会话的行为模式分析,可以确定一般而言用户将响应于用户费率增加25%并且总账单增加30%而发起与ADS 600的用户对话。但是,即使在费率增加25%时,该特定用户也可能不会发起与ADS 600的对话,而响应于账单仅增加20%而发起与ADS 600的对话。因此,对于这个特定用户,例如Ann,可以将变量“费率”的阈值改变值设置为与多个用户的整体用户行为模式设置对应的25%,并且可以将变量“账单”的阈值设置为仅20%,因为Ann更关心她的账单增加而不是她的费率增加。因此,Ann更有可能发起与ADS 600的对话会话以讨论她的账单而不是讨论她的费率。
而且,可以关于用户发起的与ADS 620的对话会话的历史日志来进行监视,该历史日志可以存储在用户简档数据库630的对应用户简档中或者存储在与用户简档相关联的另一个数据结构中。可以分析历史日志数据结构,以识别用户发起的对话会话的出现以及这种对话会话的内容中存在的可以与用户简档中的特定变量关联的关键术语/短语。指定用户发起对话会话的定时和用户简档中的变量改变的定时的时间戳或其它元数据可以被用于将用户发起的对话会话与变量的改变相关。因此,异常检测和意图识别引擎624可以包括识别用户的历史数据中的模式的另外的逻辑,该逻辑识别变量的过去的改变和对应的先前发起的对话会话,或者缺少这种改变和对话会话。
此外,异常检测和意图识别引擎624的逻辑还可以分析用户的历史日志数据结构,以确定用户多频繁地发起与ADS 600的对话会话以讨论特定变量(例如,用户的费率)的改变。用户发起这种对话的次数指示用户对那个特定变量以及那个变量的改变设置的重要性。因此,当确定如何消除用户在对话会话中提交的自然语言问题或陈述的歧义时,用户先前发起的关于那个变量的改变的对话的次数可以被用于定义与那个变量的改变相关联的权重,如上面先前所讨论的。
基于与用户简档中的变量的改变相关联的定制阈值和加权,响应于这种消除歧义而由ADS 600生成的结果所得的消除歧义和对应响应实际上是为用户定制的。即,对于每个个体用户,可以基于对所有用户执行的行为模式分析以及针对该特定用户的行为模式分析来设置阈值,其中针对该特定用户采用从两种行为模式分析生成的阈值的组合。而且,变量的特定改变的权重可以基于特定用户的对话会话的历史分析,因此,当基于用户的定制阈值发起消除歧义时,基于从与这个特定用户对应的历史分析中识别出的特定权重,针对用户定制ADS 600的消除歧义和结果所得的响应。
图9是概述根据一个说明性实施例的、用于定制变量的改变的阈值以及基于自定义阈值和自定义权重来定制ADS的消除歧义和响应的示例操作的流程图。如图9中所示,操作开始于ADS监视多个用户的用户简档以获得变量的改变(步骤901)。确定关于响应于变量的这些改变而发起对话会话的用户行为模式(步骤902)。为在行为模式中指示对话会话存在显著增加的每个变量确定阈值改变量(步骤903)。可以基于行为模式的统计分析来确定“显著”增加,并且指示变量的改变量,其中由用户引用变量的改变而发起的对话会话的数量增加至少预定量(例如,增加20%)。
对于每个个体用户,分析那个用户的历史对话会话信息,以确定那个用户发起与ADS的对话会话的具体变量改变(步骤904)。然后,对于与用户简档相关联的每个变量,生成那个变量的改变量的阈值,该阈值是这样的值,如果改变量满足或超过该阈值,那么执行消除歧义和定制响应,如上所述(步骤905)。对于用户过去没有针对其先前发起过对话会话的变量,如在历史对话会话信息中所指示的,可以基于跨多个用户执行的行为模式分析来利用缺省阈值(步骤906)。
可以对与用户简档相关联的历史对话会话信息执行过去用户的对话会话的历史分析,从而识别与变量的改变相关联的权重(步骤907)。如上所述,例如,这种权重可以基于特定用户响应于特定变量的改变而在过去发起对话会话的次数。
对于用户简档中的每个变量,存储对应的阈值和权重(步骤908),并且使用存储的阈值监视变量的改变,以发起消除歧义和定制(步骤909)。消除歧义可以至少部分地对于针对检测到的变量改变而存储在用户简档中的相关联权重执行(步骤910),并且操作终止。
因此,除了先前描述的消除歧义机制之外,ADS 600还可以查看各个用户简档以做出定制决策。例如,如果第一用户Ann比第二用户Lisa更少进行费率查询,那么ADS 600更倾向于为Lisa而不是为Ann添加定制。因此,说明性实施例的ADS 600的机制可以识别由用户发起的对话会话的历史,并确定用户在预定时间段内多频繁地联系ADS的相对测量。用户的简档可以维护历史数据结构,该历史数据结构存储关于在预定时间段内与用户进行的各种对话会话的信息。基于在预定时间段期间发起对话会话的频率,可以生成阈值和加权值,以用于确定由ADS 600执行的消除歧义和定制是否将对特定的用户采用。
还可以以定制方式为特定用户确定执行定制的时间长度。例如,假设用户Ann很可能在她发现费率增加之后不久(例如,在发生费率的实际改变的2周内)就其费率增加进行询问。她不太可能在发现改变后7个月(即,发生费率改变后7个月)这样做。定制持续的时间长度可以由ADS 600通过检查用户的过去行为(即,与用户简档相关联地存储的历史对话会话信息)来确定,以查看在特定变量(例如,费率)改变之后对话会话的增加持续多长时间。
即,可以再次分析和识别对话会话的历史以及具有用户简档中的变量的识别出的改变的这种对话会话的模式。基于这些模式,可以确定用户关于变量改变的行为并确定用于定制的对应时间段。例如,分析可以基于对话会话及其内容与变量的特定改变的相关性来确定时间段,以确定变量发生改变与发起与ADS 600的关于检测到的变量改变的对话会话之间的最长时间段。然后可以使用最长时间段来确定如前所述的基于用户意图的消除歧义和定制可以多长时间对变量的特定改变采用。例如,如果在时间点1检测到变量的改变,并且变量的改变与用户发起与ADS 600的对话会话以讨论变量的改变之间发生的最长的时间经过(时间阈值)是4周,然后可以执行基于用户意图的消除歧义和定制,直到时间点1之后大约4周的时间点2。
在确定的用于发起关于变量的特定改变的对话会话的最长经过时间段之后,用户不太可能发起关于变量的那个改变的对话会话,因此,可以在那个时间点之后停止消除歧义和定制。因此,ADS 600将仅在有限的时间内保留消除歧义和定制信息。例如,如果Ann几周后没有询问过费率改变,那么她不太可能会问费率改变,因为它发生在不久前。因此,计算机化的ADS 600可以在超过时间阈值的时段经过之后停止使用消除歧义和定制信息来响应用户发起的对话会话中的问题或陈述。
应当认识到的是,除了上面讨论的历史分析之外或代替上面讨论的历史分析,可以以各种方式确定时间阈值。例如,ADS 600可以分析过去的用户作为整体(即,跨多个用户)已多长时间继续经由与ADS 600的对话会话询问变量的改变。假定过去的客户倾向于在费率改变的第一个月内询问关于费率改变的问题。一个月后,客户不太可能询问有关费率改变的问题。在这种情况下,可以选择一个月的时间阈值。另一种方法是具体考虑特定用户(例如Ann)如何对费率改变作出响应。例如,假定Ann可能会有两个月(即,比普通人更长的时间段)询问关于改变的问题。在这种情况下,ADS 600可以专门为Ann选择两个月的较长时间阈值。
在还有另一种方法中,在为变量的改变设置特定时间阈值时,考虑个体用户和整体用户。例如,ADS 600可以既考虑Ann如何对过去的费率改变作出响应又考虑其他客户如何对过去的费率改变作出响应,以确定适当的时间阈值。如果没有关于Ann如何对费率改变作出响应的足够数据以预测未来的问题,那么(除了Ann自己的过去的问题之外还)建议考虑来自其他人的过去问题以确定时间阈值。在最一般的情况下,ADS 600既考虑Ann的问题,也考虑来自其他人的问题。ADS 600可以基于Ann过去的问题提供多少信息来为Ann的问题指派更高的权重。如果Ann的过去的问题中有很多数据,那么***将给予Ann的问题多得多的权重,并且对来自其他人的问题指派较小的权重。如果Ann的过去的问题的数据很少,那么ADS600将为来自其他人的问题指派显著更高的权重。
在一些情况下,与实体相关联的信息可以不是数字量。例如,如前面所讨论的,信息可以包含在文本文档中。在这种情况下,重要的是要测量文本文档的相似程度。当计算机化的ADS 600确定与实体相关联的文本文档中存在显著改变时,ADS 600为关于该实体的未来问题生成定制信息。为了确定文本文档中是否发生了显著改变,可以使用几种技术,包括但不限于Levenshtein距离。
作为另一个示例,合同或政策可以与实体相关联。当合同或政策发生显著改变时,计算机化的ADS 600可以生成在预测未来的问题时解释合同或政策中的差异的定制信息。ADS 600还可以调谐NLP和/或认知***,以预测关于合同或策略的改变的问题和对话。
与实体相关联的信息不必是文本的。它可以是各种不同格式的二进制数据。为了定量地计算与实体相关联的不同信息之间的差异,可以提供函数以定量地确定与实体相关联的不同信息之间的差异。
图10是概述根据一个说明性实施例的、基于定制时间阈值由ADS进行消除歧义和定制响应生成的示例操作的流程图。如图10中所示,操作开始于ADS监视多个用户的用户简档以获得变量的改变(步骤1001)。确定关于响应于变量的这些改变而发起对话会话的用户行为模式(步骤1002)。确定在行为模式中发起对话会话的每个变量的时间阈值(步骤1003)。
对于每个个体用户,分析那个用户的历史对话会话信息,以确定用户发起对话会话的具体时间段(步骤1004)。然后,对于与用户简档相关联的每个变量,生成时间阈值,该时间阈值是指示从检测到具有显著改变量的变量的改变开始到由ADS发起消除歧义和定制响应的时间段的值,在此期间如上所述执行消除歧义和定制响应(步骤1005)。对于用户过去没有发起过对话会话的变量,如历史对话会话信息中所指示的,可以基于跨多个用户执行的行为模式分析来利用缺省时间阈值(步骤1006)。
对于用户简档中的每个变量,存储对应的时间阈值(步骤1007),并且使用存储的阈值监视变量的改变,以在与时间阈值对应的时间段内发起消除歧义和定制(步骤1008)。对于检测到的变量的改变,在存储在用户简档中的时间阈值中指定的时间段内可以执行消除歧义(步骤1009),并且操作终止。
因此,除了关于消除对自动对话***(ADS)的有歧义的用户输入的歧义之外,在计算机化环境中提供更紧密近似人类之间的自然语言对话的用户友好的ADS的其它关键方面是确定如何基于谁在使用它们来个性化***。本发明的一些说明性实施例的一个方面是查看各个用户的用户简档信息,以提供信息来允许ADS个性化针对各个用户的响应。考虑这样一种情况,其中用户Ann被公司收取ADS与之相关联的产品或服务(例如,互联网或电话访问、电力、燃气、石油、保险、清洁和维护等)的费率。Ann的费率最近上涨了30%。如上所述,Ann的费率上涨如此大的事实可以被ADS用来改善向她提供的回答。ADS意识到她可能会在不久的将来询问她的费率增加。因此,ADS调谐与ADS相关联的NLP和/或认知***以识别与速率增加相关的词汇和短语。此外,对费率增加的解释可以提供给NLP和/或认知***。以这种方式,NLP和/或认知***将被定制为处理Ann的费率问题。
如上所述,问题之一是如何确定用户简档何时具有将受益于定制的异常。一种方式是查看费率改变及其量值。如果费率上涨超过阈值(例如30%)的量,那么确定用户简档是异常的,并且进行定制。还必须确定阈值(例如,30%)。一种方式是查看ADS随时间的行为。小费率改变(例如,4%)可能不会触发来自用户的太多附加问题。对于这种费率增加,将不需要定制的响应。较大的费率改变(诸如30%)将足以触发来自用户的附加问题。ADS查看需要多少费率改变来触发显著更多的问题,并基于这个确定来设置阈值水平。
除了先前描述的消除歧义机制之外,ADS还可以查看各个用户简档以做出定制决策。例如,如果Ann比Lisa更少进行费率查询,那么ADS更倾向于为Lisa而不是为Ann添加定制。
定制将被使用的时间长度也是关键因素。Ann有可能在她发现费率增加之后不久就其费率增加进行询问。她不太可能在发现它之后7个月这样做。定制持续的时间长度可以通过***检查过去的行为以查看在费率改变之后问题持续增加多长时间来确定。
图11描绘了根据本发明的一个说明性实施例的、用于基于数量的改变生成用于响应的定制信息的示例处理。在步骤1101中,计算机化的自动对话***监视与实体相关联的信息,其中实体被广义地定义为具有独特和独立存在的事物。例如,实体可以是访问计算机化的自动对话***(ADS)(诸如图6中的ADS 620)的人和/或客户,其中ADS提供为实体定制的信息。实体也可以是客户端计算设备,诸如图6中描绘的客户端610。实体还可以是与一个或多个人对应的账户或者在本发明的说明性实施例的上下文中的各种其它事物。作为示例,计算机化的ADS可能代表提供产品或服务p1的公司操作。实体可以是使用产品或服务的客户(例如,Ann)。被监视的信息包括Ann的使用产品或服务的费率。
在步骤1102中,计算机化的ADS确定数量已经改变超过阈值的量。数量的这种改变可以是增加或减少。在这种情况下,数量可以是Ann使用产品或服务的费率。由于Ann的费率的显著改变,她将联系计算机化的ADS以询问改变的可能性增加。为了预测这一点,在步骤1103中计算机化的ADS生成信息以帮助回答关于费率改变的问题。例如,计算机化的ADS可以生成解释Ann的费率改变的原因的信息,以预测她可能在不久的将来询问的问题。计算机化的ADS还可以调谐其NLP和/或认知***能力,以预期与速率增加相关的问题和对话。
问题之一是如何确定在步骤1102中使用的阈值。存在若干可能性。ADS可以查看过去的客户如何对费率改变作出响应。假定过去的客户倾向于在他们的费率上涨超过15%时提问。如果费率上涨不到15%,那么客户倾向于问较少的问题。在这种情况下,与15%的费率增加对应的阈值可能是个不错的选择。
另一种方法是具体考虑Ann如何对费率改变作出响应。例如,假定Ann有可能询问关于比普通人更小的费率改变的问题。那么为Ann设置较低的阈值可能会更好。例如,与用于普通人的15%阈值相比,10%的费率增加可能对Ann是更好的阈值选择。
另一种方法是考虑Ann如何对过去的费率改变作出响应以及其他客户如何对过去的费率改变作出响应,以确定适当的阈值。如果关于Ann如何对费率改变作出响应的数据不足以预测未来的问题,那么建议(除了Ann自己过去的问题之外还)考虑来自其他人的过去的问题以确定阈值。在最一般的情况下,ADS既考虑Ann的问题,也考虑来自其他人的问题。ADS基于Ann过去的问题提供多少信息来为Ann的问题指派更高的权重。如果Ann的过去的问题中有很多数据,那么ADS将给予Ann的问题多得多的权重,并且对来自其他人的问题指派较小的权重。如果来自Ann的过去的问题的数据很少,那么ADS将为来自其他人的问题指派显著更高的权重。
ADS常常仅在有限的时间量内保留定制的信息。如果Ann在几周后没有询问过费率改变,那么她不太可能会问费率改变,因为它发生在不久前。因此,计算机化的ADS可以在超过时间阈值的时段经过之后停止使用定制信息来回答问题。
问题之一是如何确定时间阈值。存在几种可能性。ADS可以查看过去的客户已多长时间继续询问费率改变。假设过去的客户倾向于在费率改变的第一个月内询问有关费率改变的问题。一个月后,客户不太可能询问有关费率改变的问题。在这种情况下,一个月的时间阈值可能是个不错的选择。
另一种方法是具体考虑Ann如何对费率改变作出响应。例如,假定Ann可能会有两个月(即,比普通人更长的时间段)询问关于改变的问题。那么对于Ann,具有两个月的较长时间阈值可能会更好。
另一种方法是同时考虑Ann如何对过去的费率改变作出响应以及其他客户如何对过去的费率改变作出响应,以确定适当的时间阈值。如果关于Ann如何对费率改变作出响应没有足够的数据来预测未来的问题,那么建议(除了Ann自己过去的问题之外还)考虑来自其他人的过去的问题,以确定时间阈值。在最一般的情况下,ADS既考虑Ann的问题,也考虑来自其他人的问题。ADS基于Ann过去的问题提供多少信息来为Ann的问题指派更高的权重。如果Ann的过去的问题中有很多数据,那么***将给予Ann的问题多得多的权重,并且对来自其他人的问题指派较小的权重。如果来自Ann的过去的问题的数据很少,那么ADS将为来自其他人的问题指派显著更高的权重。
在一些情况下,与实体相关联的信息可以不是数字量。例如,如前面所讨论的,信息可以包含在文本文档中。在这种情况下,重要的是要测量文本文档的相似程度。当计算机化的ADS确定与实体相关联的文本文档中存在显著改变时,ADS为关于该实体的未来问题生成定制信息。为了确定文本文档中是否发生了显著改变,可以使用几种技术,包括但不限于Levenshtein距离。
作为另一个示例,合同或策略可以与实体相关联。当合同或政策发生显著改变时,计算机化的ADS可以生成在预测未来的问题时解释合同或政策中的差异的定制信息。ADS还可以调谐NLP和/或认知***,以预测关于合同或策略的改变的问题和对话。
与实体相关联的信息不必是文本的。它可以是各种不同格式的二进制数据。为了定量地计算与实体相关联的不同信息之间的差异,可以提供函数以定量地确定与实体相关联的不同信息之间的差异。
图12描绘了根据本发明一个说明性实施例的、用于基于信息的改变生成针对响应的定制信息的示例处理。在步骤1201中,提供定量地确定可能与实体相关联的不同信息之间的差异的函数。例如,如果与实体相关联的信息由文本组成,那么该函数可以计算不同信息之间的Levenshtein距离。本发明的说明性实施例也可以使用各种其它函数。
在步骤1202中,计算机化的ADS监视与实体相关联的信息。例如,文本文档可以与实体相关联。在步骤1203中,计算机化的ADS确定与实体相关联的信息已经显著改变。这可以通过将步骤1201中提供的函数应用于与实体相关联的信息并测试函数值是否已经改变超过阈值的量来确定。函数值的这种改变可以是增加或减少。由于与实体相关联的信息发生显著改变,因此计算机化的ADS将被问及改变的可能性增加。为了预测这一点,在步骤1204中计算机化的ADS生成信息以帮助回答关于信息改变的问题。例如,计算机化的ADS可以生成解释信息改变的原因的信息,以预测可能在不久的将来被询问的问题。ADS还可以调谐NLP和/或认知***,以预测关于信息改变的问题和对话。
问题之一是如何确定在步骤1203中使用的阈值。存在几种可能性。ADS可以查看过去的问题(或对话)如何响应于与实体相关联的信息改变而改变。假定如果与实体相关联的信息改变超过15%,那么会询问更多问题(或发送其它对话)。如果与实体相关联的信息改变小于15%,那么问题(或其它对话)不会显著增加。在这种情况下,与15%改变对应的阈值可能是个不错的选择。
可以通过考虑若干实体e1、e2、...、en的改变并且对于这些实体中的任何一个的信息改变使用相同的阈值来确定阈值。
另一种方法是为具体实体定制阈值。例如,可以通过考虑当与e1相关联的信息改变时问题(或对话)的过去改变来确定实体e1的阈值。虽然如果有大量数据可用于与e1相关联的信息的改变则为具体实体e1定制阈值效果良好,但是当可用于与e1关联的信息的改变的数据量不足时,它不能正常工作。另一种方法是通过考虑与e1相关联的信息的过去改变以及与其它实体相关联的信息的过去改变来为e1指派阈值。如果关于与e1相关联的信息的改变存在大量数据,那么在确定e1的阈值时更多地对该数据进行加权。如果关于与e1相关联的信息的改变的数据很少,那么关于与其它实体相关联的信息的改变的数据被更多地加权。
***常常仅在有限的时间量内保留定制的信息。因此,计算机化的ADS可以在超过时间阈值的时段经过之后停止使用定制信息来回答问题。问题之一是如何确定时间阈值。存在几种可能性。ADS可以查看关于对信息的显著改变倾向于询问问题(或其它对话)多长时间的过去的数据。假定关于对信息的显著改变的问题(或其它对话)倾向于在改变的第一个月内被询问。一个月后,这些问题(或其它对话)很少见。在这种情况下,一个月的时间阈值可能是个不错的选择。
可以通过考虑若干实体e1、e2、...、en的改变并且对于这些实体中的任何一个的信息改变使用相同的时间阈值来确定时间阈值。
另一种方法是为具体实体定制时间阈值。例如,当与e1相关联的信息改变时,可以通过考虑问题(或其它对话)的过去改变来确定实体e1的时间阈值。
虽然如果有大量数据可用于与e1相关联的信息的改变则为具体实体e1定制时间阈值效果良好,但是当可用于与e1关联的信息的改变的数据量不足时,它不能正常工作。另一种方法是通过考虑与e1相关联的信息的过去改变以及与其它实体相关联的信息的过去改变来为e1指派时间阈值。如果关于与e1相关联的信息的改变存在大量数据,那么在确定e1的时间阈值时更多地对该数据进行加权。如果关于与e1相关联的信息的改变的数据很少,那么关于与其它实体相关联的信息的改变的数据被更多地加权。
图13描绘了根据本发明一个说明性实施例的、用于确定将定制信息用于响应多长时间的示例处理。
在步骤1301中,定义重要事件。例如,在管理公司对产品或服务的费率的***中,重要事件可以被定义为客户的费率增加至少15%。在步骤1302中,计算机化的ADS确定重要事件已经发生。例如,ADS可以监视客户的费率。在这样做时,ADS可以确定Ann的费率增加了18%,这包括重要事件。在步骤1303中,计算机化的ADS生成定制的响应信息。例如,定制的响应信息可以包括对费率增加的原因的解释。计算机化的ADS还可以调谐其NLP和/或认知***能力,以预期与费率增加相关的问题和对话。
在步骤1304中,计算机化的ADS在经过时间阈值之后停止使用定制的响应信息。
问题之一是如何确定时间阈值。存在几种可能性。ADS可以查看关于重要事件倾向于询问问题(或其它对话)多长时间的过去的数据。假定关于重要事件的问题(或其它对话)倾向于在改变的第一个月内被询问。一个月后,这些问题很少见。在这种情况下,一个月的时间阈值可能是个不错的选择。
可以通过考虑针对若干实体e1、e2、...、en的重要事件并且对于这些实体中的任何一个对于重要事件使用相同的时间阈值来确定时间阈值。
另一种方法是为具体实体定制时间阈值。例如,实体e1的时间阈值可以通过考虑当针对e1的重要事件发生时问题(和其它对话)的过去改变来确定。
虽然如果有大量数据可用于针对具体实体e1发生的事件则为该e1定制时间阈值效果良好,但是当可用于针对e1发生的事件的数据量不足时,它不能正常工作。另一种方法是通过考虑针对e1以及针对其它实体发生的事件来为e1指派时间阈值。如果关于针对e1发生的事件存在大量数据,那么在确定e1的时间阈值时,该数据被更多地加权。如果关于针对e1发生的事件的数据很少,那么关于针对其它实体发生的事件的数据被更多地加权。
如上所述,应当认识到的是,说明性实施例可以采用完全硬件实施例、完全软件实施例或包含硬件和软件元素两者的实施例的形式。在一个示例实施例中,说明性实施例的机制以软件或程序代码实现,其包括但不限于固件、驻留软件、微代码等。
适于存储和/或执行程序代码的数据处理***将包括至少一个处理器,其直接或通过例如通信总线(诸如***总线)间接耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置和高速缓存存储器,高速缓存存储器提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储装置检索代码的次数。存储器可以是各种类型,包括但不限于ROM、PROM、EPROM、EEPROM、DRAM、SRAM、闪存、固态存储器等。
输入/输出或I/O设备(包括但不限于键盘、显示器、定点设备等)可以直接或通过中间有线或无线I/O接口和/或控制器等耦合到***。I/O设备可以采用除常规键盘、显示器、定点设备等之外的许多不同形式,诸如例如通过有线或无线连接耦合的通信设备,其中通信设备包括但不限于智能电话、平板计算机、触摸屏设备、语音识别设备等。任何已知的或以后开发的I/O设备都旨在落入说明性实施例的范围内。
网络适配器也可以耦合到***,以使数据处理***能够通过中间私有或公共网络耦合到其它数据处理***或者远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡只是当前可用于有线通信的网络适配器类型中的一小部分。还可以使用基于无线通信的网络适配器,包括但不限于802.11a/b/g/n无线通信适配器、蓝牙无线适配器等。任何已知的或以后开发的网络适配器都在本发明的精神和范围内。
已经出于说明和描述的目的给出了对本发明的描述,并且本描述不旨在是详尽的或将本发明限于所公开的形式。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并且使本领域其他普通技术人员能够理解本发明的各种实施例,其具有适于预期的特定用途的各种修改。选择本文使用的术语是为了最好地解释实施例的原理、实际应用或对市场中发现的技术的技术改进,或者使本领域其他普通技术人员能够理解本文公开的实施例。

Claims (13)

1.一种在包括至少一个处理器和至少一个存储器的数据处理***中的方法,所述至少一个存储器包括由所述至少一个处理器执行以使所述至少一个处理器实现自动对话***的指令,所述自动对话***用于在自动对话***和客户端计算设备的用户之间进行自然语言对话,其中所述方法包括:
由自动对话***经由客户端计算设备接收与来自用户的用户输入对应的自然语言文本,所述自然语言文本具有自然语言文本的有歧义部分;
由自动对话***分析与用户对应的用户简档信息,以识别用户简档信息中的至少一个异常;
由自动对话***预测与所述至少一个异常相关联的至少一个用户意图,其中所述用户意图指示来自用户的用户输入的潜在原因;
由自动对话***基于预测出的至少一个用户意图消除自然语言文本的有歧义部分的歧义,以生成与用户输入对应的消除歧义的自然语言文本;
由自动对话***基于消除歧义的自然语言文本生成对用户输入的响应;以及
由自动对话***向客户端计算设备输出响应,从而进行自然语言对话。
2.如权利要求1所述的方法,其中消除自然语言文本的有歧义部分的歧义包括基于所述至少一个用户意图的预测进行词消除歧义、引用消除歧义、主题消除歧义或解析消除歧义中的至少一个。
3.如权利要求1所述的方法,其中分析与用户对应的用户简档信息以识别用户简档信息中的至少一个异常包括:识别在预定时间段内用户简档信息中的、指示用户简档信息的至少一个变量的异常改变的统计、模式或趋势,并确定指示所述至少一个变量的异常改变的原因的相关因素。
4.如权利要求3所述的方法,其中通过将预定义的规则应用于在预定时间段内用户简档信息中的统计、模式或趋势来识别所述至少一个异常,并且其中所述预定义的规则中的每一个指定对应的阈值改变量,所述对应的阈值改变量指示用户简档信息的至少一个变量中的对应变量的异常。
5.如权利要求4所述的方法,其中在预定义的规则中指定的阈值改变量是基于其他用户对由自动对话***针对其它对话会话中的对应变量生成的对话的响应通过机器学习处理自动学习的。
6.如权利要求1所述的方法,其中分析与用户对应的用户简档信息以识别用户简档信息中的至少一个异常还包括:
确定所述至少一个异常的强度;以及
通过自动对话***的模糊逻辑将所述至少一个异常的强度映射到强度分类,其中所述自动对话***基于所述至少一个异常的强度到强度分类的映射来预测与所述至少一个异常相关联的至少一个用户意图。
7.如权利要求6所述的方法,其中将所述至少一个异常的强度映射到强度分类包括生成与强度分类对应的概率值,并且其中预测与所述至少一个异常相关联的至少一个用户意图包括选择具有最高概率值的用户意图以用于消除自然语言文本的有歧义部分的歧义。
8.如权利要求1所述的方法,其中基于预测出的至少一个用户意图消除自然语言文本的有歧义部分的歧义包括:
为所述至少一个用户意图中的每一个生成其中有歧义部分被消除歧义的自然语言文本的对应的消除歧义的版本,其中对于所述至少一个用户意图中的不同用户意图,不同的消除歧义的版本利用有歧义部分的不同消除歧义来生成;
基于与对应的至少一个用户意图相关联的权重值,对与自然语言文本的消除歧义的版本中的每一个相关联的置信度得分进行加权;以及
基于消除歧义的版本中的每一个的加权的置信度得分来选择自然语言文本的消除歧义的版本。
9.如权利要求8所述的方法,其中对置信度得分进行加权还包括基于与至少一个意图对应的改变的强度和自然语言文本的解析的置信度来对置信度得分进行加权。
10.如权利要求1所述的方法,其中,在接收自然语言文本之前,执行分析与用户对应的用户简档信息以识别用户简档信息中的至少一个异常并预测与所述至少一个异常相关联的至少一个用户意图,并且与用户简档信息相关联地存储所述至少一个异常的识别以及对应的预测出的至少一个用户意图。
11.一种包括其中存储有计算机可读程序的计算机可读存储介质,其中计算机可读程序在计算设备上被执行时使计算设备实现用于在自动对话***和客户端计算设备的用户之间进行自然语言对话的自动对话***,其中所述自动对话***操作来实现如权利要求1至10中任一项所述的方法。
12.一种装置,包括:
处理器;以及
耦合到处理器的存储器,其中存储器包括指令,所述指令在由处理器执行时使处理器实现用于在自动对话***和客户端计算设备的用户之间进行自然语言对话的自动对话***,其中所述自动对话***操作来实现如权利要求1至10中任一项所述的方法。
13.一种在包括至少一个处理器和至少一个存储器的数据处理***中的自动对话***,所述至少一个存储器包括由所述至少一个处理器执行以使所述至少一个处理器实现用于在自动对话***和客户端计算设备的用户之间进行自然语言对话的自动对话***的指令,其中所述自动对话***包括用于执行如权利要求1至10中任一项所述的方法的各个步骤的装置。
CN201910070349.5A 2018-01-31 2019-01-25 数据处理***中的方法、程序产品、装置和*** Active CN110096577B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/884,887 2018-01-31
US15/884,887 US10430447B2 (en) 2018-01-31 2018-01-31 Predicting intent of a user from anomalous profile data

Publications (2)

Publication Number Publication Date
CN110096577A CN110096577A (zh) 2019-08-06
CN110096577B true CN110096577B (zh) 2023-05-30

Family

ID=67393482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910070349.5A Active CN110096577B (zh) 2018-01-31 2019-01-25 数据处理***中的方法、程序产品、装置和***

Country Status (2)

Country Link
US (3) US10430447B2 (zh)
CN (1) CN110096577B (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014182820A2 (en) * 2013-05-07 2014-11-13 Haley Paul V System for knowledge acquisition
US11770398B1 (en) * 2017-11-27 2023-09-26 Lacework, Inc. Guided anomaly detection framework
US11973784B1 (en) * 2017-11-27 2024-04-30 Lacework, Inc. Natural language interface for an anomaly detection framework
US10617959B2 (en) * 2018-01-18 2020-04-14 Moveworks, Inc. Method and system for training a chatbot
US10741176B2 (en) 2018-01-31 2020-08-11 International Business Machines Corporation Customizing responses to users in automated dialogue systems
US10430447B2 (en) 2018-01-31 2019-10-01 International Business Machines Corporation Predicting intent of a user from anomalous profile data
CN110580335B (zh) * 2018-06-07 2023-05-26 阿里巴巴集团控股有限公司 用户意图的确定方法及装置
US11488110B2 (en) * 2018-06-18 2022-11-01 Adp, Inc. Targeting delivery of recruiting messages
JP7125630B2 (ja) * 2018-08-15 2022-08-25 日本電信電話株式会社 要点抽出装置、要点抽出方法、及びプログラム
US11106869B1 (en) * 2018-08-23 2021-08-31 Walgreen Co. Facilitating pharmacy customer orders through natural language processing
CN110502624A (zh) * 2019-08-13 2019-11-26 出门问问(武汉)信息科技有限公司 一种对话处理方法及电子设备
CN112035506A (zh) * 2019-10-28 2020-12-04 竹间智能科技(上海)有限公司 一种语义识别方法及其设备
US11289082B1 (en) * 2019-11-07 2022-03-29 Amazon Technologies, Inc. Speech processing output personalization
US11769013B2 (en) 2019-11-11 2023-09-26 Salesforce, Inc. Machine learning based tenant-specific chatbots for performing actions in a multi-tenant system
US11763090B2 (en) * 2019-11-11 2023-09-19 Salesforce, Inc. Predicting user intent for online system actions through natural language inference-based machine learning model
CN110929105B (zh) * 2019-11-28 2022-11-29 广东云徙智能科技有限公司 一种基于大数据技术的用户id关联方法
CN111538820A (zh) * 2020-04-10 2020-08-14 出门问问信息科技有限公司 一种异常答复处理、装置以及计算机可读存储介质
US10798031B1 (en) * 2020-04-13 2020-10-06 Moveworks, Inc. Generic disambiguation
CN113761138B (zh) * 2020-06-02 2024-02-02 阿里巴巴集团控股有限公司 对话***、方法、装置、电子设备及计算机可读存储介质
US11790181B2 (en) 2020-08-19 2023-10-17 International Business Machines Corporation Extractive structured prediction in interactive systems
GB2598558A (en) * 2020-08-27 2022-03-09 Arm Cloud Tech Inc A conversational flow apparatus and technique
CN111985249A (zh) * 2020-09-03 2020-11-24 贝壳技术有限公司 语义分析方法、装置、计算机可读存储介质及电子设备
CN112131364B (zh) * 2020-09-22 2024-03-26 沈阳东软智能医疗科技研究院有限公司 问答方法、装置、电子设备和存储介质
CN111930921B (zh) * 2020-10-10 2021-01-22 南京福佑在线电子商务有限公司 意图预测的方法及装置
WO2022081618A1 (en) 2020-10-14 2022-04-21 TTEC Digital, LLC Integrated orchestration of intelligent systems
US20220130398A1 (en) * 2020-10-22 2022-04-28 Capital One Services, Llc Systems and methods using natural language processing to identify irregularities in a user utterance
US11776534B1 (en) * 2020-12-08 2023-10-03 Amazon Technologies, Inc. Natural language understanding intent adjustment
CN112632989B (zh) * 2020-12-29 2023-11-03 中国农业银行股份有限公司 一种合同文本中风险信息的提示方法、装置及设备
US20220245489A1 (en) * 2021-01-29 2022-08-04 Salesforce.Com, Inc. Automatic intent generation within a virtual agent platform
US20220284059A1 (en) * 2021-03-04 2022-09-08 International Business Machines Corporation Measuring quality of a chatbot response
US11763803B1 (en) * 2021-07-28 2023-09-19 Asapp, Inc. System, method, and computer program for extracting utterances corresponding to a user problem statement in a conversation between a human agent and a user
US11922357B2 (en) 2021-10-07 2024-03-05 Charter Communications Operating, Llc System and method for identifying and handling data quality anomalies
US20230342397A1 (en) * 2022-04-22 2023-10-26 International Business Machines Corporation Techniques for predicting a personalized url document to assist a conversation
US20230409838A1 (en) * 2022-05-31 2023-12-21 International Business Machines Corporation Explaining natural-language-to-flow pipelines
CN114691852B (zh) * 2022-06-01 2022-08-12 阿里巴巴达摩院(杭州)科技有限公司 人机对话***及方法
US20240031255A1 (en) * 2022-07-20 2024-01-25 Cisco Technology, Inc. User lifecycle journey and asset data based bot skill selection
US20240064239A1 (en) * 2022-08-16 2024-02-22 Twilio Inc. Pipeline flow management for calls
CN115599891B (zh) * 2022-11-29 2023-03-21 支付宝(杭州)信息技术有限公司 一种确定异常对话数据方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086462B1 (en) * 2004-09-09 2011-12-27 At&T Intellectual Property Ii, L.P. Automatic detection, summarization and reporting of business intelligence highlights from automated dialog systems
CN105095357A (zh) * 2015-06-24 2015-11-25 百度在线网络技术(北京)有限公司 一种用于咨询数据处理的方法和装置
CN106328166A (zh) * 2016-08-31 2017-01-11 上海交通大学 人机对话异常检测***及方法
CN107633042A (zh) * 2012-07-20 2018-01-26 韦韦欧股份有限公司 在对话交互***中推断搜索输入中的用户意图的方法和***

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541836A (en) 1991-12-30 1996-07-30 At&T Corp. Word disambiguation apparatus and methods
US7644054B2 (en) 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
DE102006055864A1 (de) 2006-11-22 2008-05-29 Deutsche Telekom Ag Verfahren zur Dialoganpassung und Dialogsystem zur Durchführung
ATE555433T1 (de) 2007-04-26 2012-05-15 Ford Global Tech Llc Emotives beratungssystem und verfahren
US20100011488A1 (en) * 2008-07-21 2010-01-21 John Sutton Sweatband and sun protective headgear apparatus
US20100114887A1 (en) 2008-10-17 2010-05-06 Google Inc. Textual Disambiguation Using Social Connections
US20110125734A1 (en) 2009-11-23 2011-05-26 International Business Machines Corporation Questions and answers generation
US8977584B2 (en) 2010-01-25 2015-03-10 Newvaluexchange Global Ai Llp Apparatuses, methods and systems for a digital conversation management platform
US20120197732A1 (en) * 2011-01-31 2012-08-02 Microsoft Corporation Action-aware intent-based behavior targeting
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9092801B2 (en) 2011-09-23 2015-07-28 24/7 Customer, Inc. Customer journey prediction and resolution
US20140074589A1 (en) 2012-09-02 2014-03-13 Aaron David NIELSEN System and method for the selection and delivery of a customized consumer offer or engagement dialog by a live customer service representative in communication with a consumer
US9235978B1 (en) 2013-01-16 2016-01-12 Domo, Inc. Automated suggested alerts based on natural language and user profile analysis
US9292254B2 (en) 2013-05-15 2016-03-22 Maluuba Inc. Interactive user interface for an intelligent assistant
US10579396B2 (en) * 2014-04-09 2020-03-03 Nice-Systems Ltd. System and automated method for configuring a predictive model and deploying it on a target platform
US9319522B1 (en) 2014-04-28 2016-04-19 West Corporation Applying user preferences, behavioral patterns and/or environmental factors to an automated customer support application
US20160005049A1 (en) 2014-07-02 2016-01-07 Verizon Patent And Licensing Inc. Predicting a likelihood of customer service interactions
US9836452B2 (en) * 2014-12-30 2017-12-05 Microsoft Technology Licensing, Llc Discriminating ambiguous expressions to enhance user experience
EP3262815B1 (en) * 2015-02-24 2020-10-14 Cisco Technology, Inc. System and method for securing an enterprise computing environment
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US20170140387A1 (en) 2015-11-16 2017-05-18 At&T Intellectual Property I, L.P. Method and apparatus to provide proactive customer care
US20180068031A1 (en) 2016-08-16 2018-03-08 Ebay Inc. Enhancing user queries using implicit indicators
US11004131B2 (en) 2016-10-16 2021-05-11 Ebay Inc. Intelligent online personal assistant with multi-turn dialog based on visual search
US10741176B2 (en) 2018-01-31 2020-08-11 International Business Machines Corporation Customizing responses to users in automated dialogue systems
US10430447B2 (en) 2018-01-31 2019-10-01 International Business Machines Corporation Predicting intent of a user from anomalous profile data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086462B1 (en) * 2004-09-09 2011-12-27 At&T Intellectual Property Ii, L.P. Automatic detection, summarization and reporting of business intelligence highlights from automated dialog systems
CN107633042A (zh) * 2012-07-20 2018-01-26 韦韦欧股份有限公司 在对话交互***中推断搜索输入中的用户意图的方法和***
CN105095357A (zh) * 2015-06-24 2015-11-25 百度在线网络技术(北京)有限公司 一种用于咨询数据处理的方法和装置
CN106328166A (zh) * 2016-08-31 2017-01-11 上海交通大学 人机对话异常检测***及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
The Era of Cognitive Systems:An Inside Look at IBM Watson and How it works;Rob High;《IBM Corporation Redbooks》;20121231;第1-17页 *
基于用户意图理解的社交网络跨媒体搜索与挖掘;崔婉秋等;《智能***学报》;20171231;第12卷(第06期);全文 *

Also Published As

Publication number Publication date
US10572517B2 (en) 2020-02-25
US20190384784A1 (en) 2019-12-19
US20190236204A1 (en) 2019-08-01
US20200133966A1 (en) 2020-04-30
US10909152B2 (en) 2021-02-02
US10430447B2 (en) 2019-10-01
CN110096577A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
CN110096577B (zh) 数据处理***中的方法、程序产品、装置和***
US10891956B2 (en) Customizing responses to users in automated dialogue systems
US11481416B2 (en) Question Answering using trained generative adversarial network based modeling of text
US11281976B2 (en) Generative adversarial network based modeling of text for natural language processing
US11250033B2 (en) Methods, systems, and computer program product for implementing real-time classification and recommendations
US10705796B1 (en) Methods, systems, and computer program product for implementing real-time or near real-time classification of digital data
US10303683B2 (en) Translation of natural language questions and requests to a structured query format
CN110337645B (zh) 可适配的处理组件
US10528329B1 (en) Methods, systems, and computer program product for automatic generation of software application code
US9373086B1 (en) Crowdsource reasoning process to facilitate question answering
US10467122B1 (en) Methods, systems, and computer program product for capturing and classification of real-time data and performing post-classification tasks
US10585901B2 (en) Tailoring question answer results to personality traits
US8818795B1 (en) Method and system for using natural language techniques to process inputs
US10754886B2 (en) Using multiple natural language classifier to associate a generic query with a structured question type
US11227230B2 (en) Automated technical content conversion based on user understanding level
US11663518B2 (en) Cognitive system virtual corpus training and utilization
CN110781666B (zh) 基于生成式对抗网络的自然语言处理文本建模
US11182552B2 (en) Routine evaluation of accuracy of a factoid pipeline and staleness of associated training data
US20190056912A1 (en) Sorting of Numeric Values Using an Identification of Superlative Adjectives
Vasiliou Implementation of intelligent system to support remote telemedicine services using chatbots technology
US20240127026A1 (en) Shallow-deep machine learning classifier and method
US20240232765A1 (en) Audio signal processing and dynamic natural language understanding

Legal Events

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