CN110110053B - 在间接话语和事务之间建立逻辑连接 - Google Patents
在间接话语和事务之间建立逻辑连接 Download PDFInfo
- Publication number
- CN110110053B CN110110053B CN201910052363.2A CN201910052363A CN110110053B CN 110110053 B CN110110053 B CN 110110053B CN 201910052363 A CN201910052363 A CN 201910052363A CN 110110053 B CN110110053 B CN 110110053B
- Authority
- CN
- China
- Prior art keywords
- user
- utterance
- logical form
- knowledge graph
- parsing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
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)
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
描述了一种用于在间接话语和事务之间建立逻辑连接的方法、装置和计算机程序产品。从用户接收间接话语作为会话系统的输入。间接话语被解析成第一逻辑形式。将第一组谓词和术语从第一逻辑形式映射到知识图中的第一子图。将第二组谓词和术语从属于事务的第二逻辑形式映射到知识图的第二子图。搜索知识图中第一子图和第二子图之间的最佳路径,同时使用沿着最佳路径的节点和边标签变换第一逻辑形式,以生成中间逻辑形式。如果中间逻辑形式的图结构与高于阈值的事务的逻辑形式的图结构相匹配,则对事务执行系统动作。
Description
技术领域
本公开一般涉及自然语言处理。更具体地,它涉及为用户提供对由数据处理系统管理的内容的自然语言界面。
背景技术
诸如虚拟代理和“聊天机器人”等的应用程序已经被开发出来,为零售、汽车、医疗和其他行业的网络内容、应用程序和渠道提供自然语言界面。这些应用程序通过与用户的书面或口头对话收集信息,并帮助用户完成常见任务(诸如提供常见问题的答案和帮助用户完成在线事务)。这种会话系统增加了网络内容和其他文档的可访问性,因为它们以自然语言与终端用户交互。这些类型的聊天机器人应用程序为托管web内容或其他文档的组织提供了巨大的实用价值,减少了代表用户回答文档问题和执行事务及其他请求所需要的人工帮助代理的数量。这些应用程序为组织提供了更友好的界面。
然而,开发人工智能应用程序来与终端用户进行基于自然语言的交互是一项非常具有挑战性的任务。最大的挑战之一是生成对话流来指导应用程序的会话。人类创作的对话流开发时间和金钱都很昂贵。尽管这些手工制作的流程具有主题专业知识和时间,但用户经常会说出系统设计者没有预料到的话语。通常不被预期的一种类型的用户话语是间接话语,这可能意味着特定的用户目标,但是没有明确陈述用户想要什么。
例如,“我退休了”可能是事实,但是在保险处理系统的上下文中,同样的陈述也可能意味着用户想要退休人员折扣。在间接话语和获取信息或执行事务的目标之间建立逻辑连接可能很困难。话语中的单词可能与目标不直接匹配。此外,目标先前可能没有在对话中建立。
因此,在计算机辅助自然语言处理中,需要一种方法来建立间接话语和对话目标之间的逻辑连接,从而支持更有效的对话。
发明内容
根据本公开,描述了一种用于在间接话语和事务之间建立逻辑连接的方法、装置和计算机程序产品。从用户接收间接话语作为会话系统的输入。间接话语被解析成第一逻辑形式(logical form)。第一组谓词(predicate)和术语从第一逻辑形式映射到知识图中的第一子图。第二组谓词和术语从属于事务的第二逻辑形式映射到知识图的第二子图。搜索知识图中第一子图和第二子图之间的最佳路径,同时使用沿着最佳路径的节点和边标签变换第一逻辑形式,以生成中间逻辑形式。如果中间逻辑形式的图结构与高于阈值的事务的逻辑形式的图结构相匹配,则对事务执行系统动作。
前面已经概述了所公开主题的一些更相关的特征。这些特征应该被解释为仅仅是说明性的。通过以不同的方式应用所公开的主题或者通过修改本发明,可以获得许多其他有益的结果,如将要描述的。
附图说明
为了更全面地理解本发明及其优点,现在结合附图参考以下描述,其中:
图1描绘了其中可以实施说明性实施例的示例性方面的分布式数据处理环境的示例性框图;
图2是其中可以实施说明性实施例的示例性方面的数据处理系统的示例性框图;
图3示出了根据本发明实施例的生成会话界面的系统中的组件的体系结构图;
图4示出了根据本发明实施例的系统设置的一般流程图;
图5是从用户话语生成系统响应的高级流程图;
图6是根据本发明实施例的从间接用户话语生成系统响应的流程图;
图7是使用根据本发明的一个实施例的知识图从逻辑形式制定目标的流程图;和
图8是根据本发明实施例执行系统动作的流程图。
具体实施方式
在高级别上,本发明的优选实施例提供了用于处理会话系统或对话系统中的间接话语的系统、方法和计算机程序产品。间接话语是真正意味着请求的陈述,然而,它们是陈述。这些陈述与系统处理的请求的逻辑形式不匹配。因此,对话系统或会话系统不能基于话语直接生成响应。在本发明的实施例中,话语由语义解析器解析,该语义解析器产生请求的逻辑形式。然后导致语义解析失败的话语被处理为隐含话语,系统试图找到与对话目标的逻辑连接,即发出请求的目标。通过从文档中产生的知识图来执行连接。导致语义解析器失败的话语被传递给句法解析器(例如依赖解析器)。然后句法解析器的部分结果借助于知识图索引通过知识图连接到已建立的对话目标(发出请求的目标),或者如果连接失败,连接到先前未建立为对话目标的请求。因为会话系统可以为所有请求生成系统响应,所以可以为间接话语提供适当的系统响应,诸如询问用户是否想要建立发出请求的目标。在优选实施例中,会话系统可以借助于知识图索引,通过利用句法解析器和知识图,生成对来自语义解析器结果以及导致语义解析器失败的那些请求两者的请求的响应。
本发明在间接话语和对话目标之间建立了逻辑连接,从而可以支持更有效的对话。通过更有效,发明者指的是系统能够处理更多的话语,以实现对话目标,诸如获取信息、执行事务或其他请求。如在本公开中使用的,“事务”是对计算机系统执行的数据的任何操作,包括对用户查询的自然语言响应。如在本公开中使用的,“用户目标”通常是与计算机系统的事务,但是也包括可用事务和动作的信息呈现,其也可以包括对系统的用户输入。
现在参考附图,特别是参考图1-图2,提供了数据处理环境的示例图,其中可以实施本公开的说明性实施例。应当理解,图1-图2仅是示例性的,并不旨在断言(sserted)或暗示对于可以实施所公开主题的方面或实施例的环境的任何限制。在不脱离本发明的精神和范围的情况下,可以对所描绘的环境进行许多修改。
现在参考附图,图1描绘了示例性分布式数据处理系统的图表示,其中可以实施说明性实施例的方面。分布式数据处理系统100可以包括计算机网络,其中可以实施说明性实施例的方面。分布式数据处理系统100包含至少一个网络102,网络102是用于在分布式数据处理系统100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括连接,诸如有线、无线通信链路或光纤电缆。
在所描绘的示例中,服务器104和服务器106与网络存储单元108一起连接到网络102。此外,客户端110、112和114也连接到网络102。这些客户端110、112和114可以是例如智能手机、平板电脑、个人电脑、网络电脑等。在所描绘的示例中,服务器104向客户端110、112和114提供数据,诸如引导文件、操作系统映像和应用程序。在所描绘的示例中,客户端110、112和114是服务器104的客户端。分布式数据处理系统100可以包括额外的服务器、客户端和其他未示出的设备。一个或多个服务器计算机可以是连接到网络102的大型计算机。例如,大型计算机可以是执行IBM z/OS操作系统的IBM System z大型机。连接到大型机的可能是大型机存储单元和工作站(未显示)。工作站可以是直接连接到通过总线通信的大型机的个人计算机,也可以是经由显示端口直接连接到大型机的控制台终端。
在所描绘的示例中,分布式数据处理系统100是具有网络102的互联网,网络102表示使用传输控制协议/互联网协议(Transmission Control Protocol/InternetProtocol,TCP/IP)协议族彼此通信的网络和网关的全球集合。互联网的核心是主要节点或主机之间高速数据通信线路的主干,由数千个商业、政府、教育和其他计算机系统组成,用于路由数据和消息。当然,分布式数据处理系统100也可以被实施为包括许多不同类型的网络,诸如内联网、局域网(local area network,LAN)、广域网(wide area network,WAN)等。如上所述,图1旨在作为示例,而不是对所公开主题的不同实施例的体系结构限制,因此,图1中所示的特定元素不应该被认为是对可以实施本发明的说明性实施例的环境的限制。
现在参考图2,示出了示例性数据处理系统的框图,其中可以实施说明性实施例的方面。数据处理系统200是诸如图1中的客户端114之类的计算机的示例,实施本公开的说明性实施例的处理的计算机可用代码或指令可以位于该计算机中。
现在参考图2,示出了其中可以实施说明性实施例的数据处理系统的框图。数据处理系统200是诸如图1中的服务器104或客户端110之类的计算机的示例,其中对于说明性实施例,实施这些过程的计算机可用程序代码或指令可以位于该计算机中。在该说明性示例中,数据处理系统200包括通信结构202,其提供处理器单元204、存储器206、持久存储208、通信单元210、输入/输出(input/output,I/O)单元212和显示器214之间的通信。
处理器单元204用于执行可加载到存储器206中的软件指令。处理器单元204可以是一个或多个处理器的集合,或者可以是多处理器核,这取决于特定的实施方式。此外,处理器单元204可以使用一个或多个异构处理器系统来实施,其中主处理器与辅助处理器一起存在于单个芯片上。作为另一说明性示例,处理器单元204可以是包含相同类型的多个处理器的对称多处理器(symmetric multi-processor,SMP)系统。
存储器206和持久存储208是存储设备的示例。存储设备是能够临时和/或永久存储信息的任何硬件。在这些示例中,存储器206可以是这些示例中例如随机存取存储器或任何其他合适的易失性或非易失性存储设备。持久存储208可以采取各种形式,这取决于特定的实施方式。例如,持久存储208可以包含一个或多个组件或设备。例如,持久存储208可以是硬盘驱动器、闪存、可重写光盘、可重写磁带或以上的某种组合。持久存储208使用的介质也可以是可移动的。例如,可移动硬盘驱动器可用于持久存储208。
在这些示例中,通信单元210提供与其他数据处理系统或设备的通信。在这些示例中,通信单元210是网络接口卡。通信单元210可以通过使用物理和无线通信链路之一或两者来提供通信。
输入/输出单元212允许与可以连接到数据处理系统200的其他设备输入和输出数据。例如,输入/输出单元212可以通过键盘和鼠标为用户输入提供连接。此外,输入/输出单元212可以向打印机发送输出。此外,输入/输出单元可以提供到麦克风的连接,用于来自用户的音频输入,以及提供来自计算机的音频输出的扬声器。显示器214提供了向用户显示信息的机制。
用于操作系统和应用程序或程序的指令位于持久存储208上。这些指令可被加载到存储器206中以供处理器单元204执行。不同实施例的处理可以由处理器单元204使用计算机实施的指令来执行,这些指令可以位于存储器中,诸如存储器206中。这些指令被称为可由处理器单元204中的处理器读取和执行的程序代码、计算机可用程序代码或计算机可读程序代码。不同实施例中的程序代码可以体现在不同的物理或有形计算机可读介质上,诸如存储器206或持久存储208。
程序代码216以功能形式位于计算机可读介质218上,该计算机可读介质218是可选择性移除的,并且可以被加载到数据处理系统200上或被传送到数据处理系统200,以由处理器单元204执行。在这些示例中,程序代码216和计算机可读介质218形成计算机程序产品220。在一个示例中,计算机可读介质218可以是有形的形式,例如插入或放置到作为持久存储208一部分的驱动器或其他设备中的光盘或磁盘,用于传送到存储设备上,诸如作为持久存储208一部分的硬盘驱动器。在有形的形式中,计算机可读介质218还可以采取连接到数据处理系统200的持久存储的形式,诸如硬盘驱动器、拇指驱动器或闪存。计算机可读介质218的有形的形式也称为计算机可记录存储介质。在一些情况下,计算机可记录介质218可能是不可移动的。
可替代的,程序代码216可以通过到通信单元210的通信链路和/或通过到输入/输出单元212的连接从计算机可读介质218传送到数据处理系统200。在说明性示例中,通信链路和/或连接可以是物理的或无线的。计算机可读介质也可以采取非有形介质的形式,诸如包含程序代码的通信链路或无线传输。为数据处理系统200示出的不同组件并不意味着对可以实施不同实施例的方式提供体系结构限制。不同的说明性实施例可以在数据处理系统中实施,该数据处理系统包括除了为数据处理系统200示出的组件之外的组件,或者代替为数据处理系统200示出的组件。图2中所示的其他组件可以与所示的说明性示例不同。作为一个示例,数据处理系统200中的存储设备是可以存储数据的任何硬件装置。存储器206、持久存储208和计算机可读介质218是有形的形式的存储设备的示例。
在另一示例中,总线系统可以用于实施通信结构202,并且可以包括一个或多个总线,诸如系统总线或输入/输出总线。当然,总线系统可以使用任何合适类型的体系结构来实施,该体系结构提供附接到总线系统的不同组件或设备之间的数据传送。此外,通信单元可以包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。此外,存储器可以是例如存储器206或高速缓存,诸如可以在通信结构202中存在的接口和存储器控制器集线器中找到的高速缓存。
用于执行本发明操作的计算机程序代码可以用一种或多种编程语言的任意组合来编写,包括面向对象的编程语言,诸如JavaTM、Smalltalk、C++、C#、Objective-C等,以及传统的过程编程语言,诸如Python或C。程序代码可以完全在用户计算机上、部分在用户计算机上,作为独立软件包,部分在用户计算机上、部分在远程计算机上、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,所述网络包括局域网(LAN)或广域网(WAN),或者可以到外部计算机的连接(例如,通过使用互联网服务提供商的互联网)。
本领域普通技术人员将理解,图1-图2中的硬件可以根据实施方式而变化。除了图1-图2中描述的硬件之外或代替图1-图2中描述的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等同的非易失性存储器或光盘驱动器等。此外,在不脱离所公开主题的精神和范围的情况下,说明性实施例的过程可以应用于除了先前提到的SMP系统之外的多处理器数据处理系统。
这里描述的技术可以在标准客户端-服务器范例内协同操作,如图1所示,其中客户端机器与在一个或多个机器的集合上执行的因特网可访问的基于Web的门户通信。终端用户操作能够访问门户并与之交互的可连接互联网的设备(例如台式计算机、笔记本电脑、支持互联网的移动设备等)。典型地,每个客户端或服务器机器是诸如图2所示的包括硬件和软件的数据处理系统,并且这些实体通过诸如因特网、内联网、外联网、专用网络或任何其他通信介质或链路的网络彼此通信。数据处理系统通常包括一个或多个处理器、操作系统、一个或多个应用程序以及一个或多个实用程序。
该系统的一般操作是会话或对话系统。用户说出或键入的话语可能是问题(对信息的请求)、陈述(在推理系统中断言的事实)、目标(获取信息或执行系统操作的请求)或命令(执行系统操作的请求)。通常,话语是包含相对较少概念的短文本。使用一个或多个解析器将识别的文本解析成输入逻辑形式,该输入逻辑形式通常是分层符号形式。输入逻辑形式可以由对话系统直接处理,或者传递给推理系统、基于规则的系统或诸如Prolog系统的逻辑系统。
在推理系统是Prolog系统的那些实施例中,请求被处理为Prolog目标。使用预先存储在推理系统中的规则的集合来解决目标,并且它计算包含问题答案的变量的绑定。陈述被处理为Prolog事实。事实被添加到推理系统的事实库中,并且事实可以被用于与目标的绑定。在目标的处理过程中,命令可以被发送到后端系统进行处理。后端系统可以是执行诸如更新记录的动作的事务系统。后端系统也可以在目标处理过程中被访问,以计算返回并绑定到变量的某物。使用自然语言生成子系统将绑定翻译成自然语言系统响应,然后从对话系统发回给用户作为问题的答案。有许多已知的自然语言生成子系统可以用于本发明的实施例中。对于命令,系统执行所请求的动作,并且也可以用自然语言应答例如“OK”进行响应。
本发明的实施例提供了一种能够处理间接话语的对话系统。间接话语是事实陈述,但实际上也意味着请求。导致语义分析失败的话语被处理为隐含话语,并且系统试图找到与对话目标的逻辑连接。
实现这一点的方式是将导致语义解析器失败的话语传递给句法解析器,例如更广泛的、领域通用的依赖解析器。依赖解析器的结果以逻辑形式转换,其格式与语义解析器的输出相同。然后,在知识图索引的帮助下,将这种逻辑形式的部分与请求进行比较或通过知识图连接到请求。如果可以进行到请求的逻辑连接,则系统可以使用该请求,诸如建议用户建立发出请求的目标,而无需用户在用户话语中明确陈述期望的对话目标。
在本发明的实施例中,如果在对话期间,系统没有陈述或解释目标,用户也没有陈述目标,那么用户仍然有机会了解什么是合适的对话目标。这样,它使得用户和系统之间的对话更加高效。
图3示出了根据本发明实施例的生成会话界面的系统中的组件的体系结构图。在优选实施例中,执行时系统作为云计算环境的一部分操作。作为聊天程序的客户端接受输入并将其发送到执行时系统。对话系统控制器300是用户321的主界面。控制器300包含认证、用户简档和自然语言解释(可能包括拼写校正)以及生成模块,它们分别执行已知功能以实施本发明的方面。在该实施例中,知识图301是根据从与会话系统交互的用户提取的与预期话语303相关的文档的集合的知识构建的。标记为L1、G3、T5、T6、T11、T12的箭头指向知识图301中的特定节点,这些节点表示系统知道如何执行的请求(诸如事务),或者发出系统已经为用户建立的请求的目标。因此,所有对话目标和请求都可以用于与用户话语的可能连接。在替代实施例中,知识图可以是诸如WordNet或Yago之类的通用知识图,或者通用知识图和根据所提取的文档的集合的知识构建的知识图的某种组合。知识图的元素可以是用于构成请求的任何结构,然后这些请求可以成为用户的目标(诸如符号、逻辑形式、实体、关系、对象、节点或链接)。
对话系统控制器300将用户话语传递给语义解析器305,如果需要,在下面讨论的过程中传递给句法解析器307。语用分析单元309包括谓词和术语匹配模块311、知识图遍历模块313和分层符号形式匹配模块315。在本发明的实施例中,语义解析器305、句法解析器307和语用分析单元309是用户话语分析模块的组件。该系统还包括推理系统317和后端事务系统319。
在本发明的实施例中,用户访问网站并阅读网页,然后向作为对话系统控制器300的一部分的对话系统用户界面键入问题、陈述或命令。因此,用户的话语可以与网站内容相关。例如,他们可能会阅读房主保险或租赁保险的折扣,然后进入对话系统输入话语。这些话语可能是关于折扣的问题,关于他们自己或他们的房子或公寓的陈述,以及购买房主或租赁保险的愿望。在本发明的其他实施例中,用户话语可以是由语音识别系统识别的用户语音。有许多已知的语音识别系统适用于这些实施例。
来自用户321的许多用户话语将是系统可以转换成诸如逻辑形式的解析结构的话语,并且在其中话语将解析为请求(可能对应于事务)或稍后发出链接到知识图301的请求的目标。推理系统317连同请求处理系统(事务系统)将能够生成输出,该输出然后被传递到对话控制器内的自然语言生成模块,以生成返回给用户321的某些系统响应。然而,用户321可能会做出一个或多个间接话语323,系统无法将其直接映射到请求或发出请求的目标。如下所述的本发明的实施例提供了该问题的解决方案。
可能有来自用户简档的初始数据。当用户登录时,简档被加载到推理系统317中。例如,简档可以包含用户的年度付款的量和用户享有的折扣。例如,对于低犯罪率地区,他们可能会有折扣。这类数据可用于填写事务或回答问题。当回答问题时,在本发明的实施例中,系统在界面中做出自然语言响应。
在本发明的替代实施例中,解析结构是逻辑形式、组成性(constituency)解析、短语结构解析、依赖解析、通用依赖解析和增强依赖解析中的一种。间接话语的示例包括短文本、不合语法的文本、聊天文本、文本消息、自然语言句子和对话交流中的转录语音。
图4示出了根据本发明实施例的系统设置的一般流程图。在执行系统来处理来自用户的对话之前,采取以下步骤:在步骤401中,使用一组话语/逻辑形式对来训练语义解析器。这些对通常来自于用它们的逻辑形式等同物注释先前对话中的话语。接下来,在步骤403中,使用诸如实体和关系提取之类的已知技术,从现有知识图或多个技术中选择特定实体和关系,来构建知识图。然后,在步骤405中,通过输入期望的规则的集合来初始化推理系统。这些步骤中的每一个都相对于优选实施例进行了更详细的讨论,但是本领域技术人员将认识到,在本发明的范围内可以进行许多变化。
一个设置任务,步骤401,是训练语义解析器。该解析器有许多<短文本,逻辑形式>对,如下所示:
短文本:我的第一次付款是多少
逻辑形式:(查询(初始_付款的金额:x))
一种用于语义解析的算法是适用于本发明实施例的基于统一的学习(unification-based learning,UBL)算法。在优选实施例中,用于训练的<短文本,逻辑形式>对是从过去用户对对话系统的话语中产生的。然后,知道该格式的人类注释者键入逻辑形式。UBL语义解析器方法在本领域中是众所周知的,尽管在本发明的替代实施例中使用了其他解析算法。
接下来,在步骤403中,构建知识图。有各种自动和半自动的方法来构建知识图。本发明的一些实施例使用实体和关系提取来从领域数据(诸如并入后端应用中的数据库)或根据来自领域语料库的非结构化文本构建知识图。本发明的其他实施例通过从诸如DBPedia的大型现有知识图之一中选择实体和关系来产生知识图。(http://wiki.dbpedia.org/)Yago https://en.Wikipedia.org/Wiki/Yago_(数据库)或用于会话系统感兴趣的领域Freebase。
在下面的描述中,知识图反映了网页中提到的实体和关系。它包含个人、组织、事件、政策、政策特征、折扣等实体。知识图包含部分事物,例如政策如何崩溃、军事的分支,但也包含一些事物的类型,例如人员或组织的类型。它还包含实体之间的关系,诸如一个人是一个国家的领导人,或者一个武装部队组织是军事的一个分支。可以通过从现有的大型知识图中添加实体和关系来增强该知识图。本领域技术人员将认识到,本发明的教导可以扩展到处理不同主题的事务的网站。
知识图由具有名称和类型属性的实体组成。知识图通过这些二元关系链接实体节点。例如:
e1“军队”/组织,r1的分支,e2“军事”/组织
在此示例中,e1具有填充有“军队”的名称属性和填充有“组织”的类型属性。类似地,e2具有填充有“军事”的名称属性和填充有“组织”的类型属性。关系r1的名称为“的分支”,并且第一个参数为e1,和第二个参数为e2。
这是组织知识图的常用方法;在本发明的其他实施例中使用其他类型的知识图。
接下来,在步骤405中,初始化推理系统。规则被断言到推理系统中。推理系统的一个实施方式是Prolog,然而,在本发明的替代实施例中使用了其他推理系统。推理系统是模块,其中程序逻辑表达为事实和规则。给定带有未绑定变量的目标,系统应用规则并匹配事实。可以使用反向链接或正向链接推断。目标可能导致没有解决方案或多个解决方案。
如上所提到的,在优选实施例中,执行时系统在云中操作。作为聊天程序的客户端接受输入并将其发送到例如使用HTTP协议的执行时系统。图5是使用执行时系统从用户话语生成系统响应的高级流程图。
用户在步骤501中发出话语。例如,用户在聊天机器人的帮助下将短文本键入网页表单,或者使用语音识别从用户的语音中生成短文本。在本发明的不同实施例中,捕捉一定量的自然语言文本的任何方法都是可能的。通常,自然语言文本可能包含错误或不合语法。
步骤503,短文本被转换成逻辑形式。这个步骤是在一系列子步骤中完成的,例如,使用拼写校正器(对话控制器的一部分)、语义解析器、依赖解析器和语用分析。通常,逻辑形式从用户意图(一种请求)开始,诸如“查询”或“计算”。例如,下面列出了一些短文本及其对应的逻辑形式:
我的付款是多少?
(查询(付款的金额),?x)
我一个月会付多少钱?
(查询(付款的金额(月1)),?x)
这些逻辑形式本质上是分层的。?x是变量;‘付款’是符号;‘查询’是意图;‘月’是谓词;‘1’是数字。在优选实施例中,形式是表达式(谓词arg1arg2…argN),其中arg是符号、数字或其他表达式。
可以使用其他语义解析方法,例如神经网络方法。此外,可以使用其他自然语言解析方法,包括关系提取方法,然后可以将输出转换成逻辑形式。在优选实施例中,系统包括拼写检查器,因此拼写校正器修复用户话语的拼写,例如,“我加入了(joinedt)军队”变成“我加入了(joined)军队”。在优选实施例中,拼写校正器使用编辑距离来执行拼写校正操作。
在步骤504中,确定逻辑形式的意图。如果可以确定意图,则过程继续到步骤505。在优选实施例中,使用文本分类技术的集合来识别意图。这些技术的示例包括使用单词嵌入和卷积和/或递归神经网络将话语编码成张量(tensor)以预测意图类的模型,使用从话语中提取的离散特征使用支持向量机、决策树/森林或多项式逻辑回归来执行分类的模型,以及基于规则的过滤器,其基于话语中的关键词或短语来分配意图。然而,这些技术中的任何一种也可以酌情单独使用(例如,基于规则的过滤器在训练数据稀缺的特定领域可能有用)。此外,意图分类可以作为排序任务来执行,最高候选意图通过处理流水线向前传递(步骤505),直到产生有效的最终解决方案。如果不能确定意图,则过程继续到图6所示的A。
语义解析器可能无法产生逻辑形式,因为输入的自然语言与提供的训练示例太不一样了。因此,如果语义解析器被训练来识别一组请求,那么当输入不是这些请求之一时,语义解析器将无法产生逻辑形式。
在步骤505中,如果意图是问题(“我的付款是多少”?)或请求(“给我租赁保险”),逻辑形式变成Prolog,作为Prolog目标,即系统绑定变量并执行后端操作。例如,这里是Prolog目标:
(查询(付款的金额),?x)
接下来,步骤507,在Prolog中使用在用户简档或其他数据源中查找用户付款的规则来生成答案。
例如,
(查询(付款的金额),?x)
?x=500
X是变量。X=500是数字500与变量X的绑定。在某些情况下,X可能有多个绑定。可能有多个变量,诸如给定时间的量。Prolog是现有技术系统,其可以使用解析定理证明(resolution theorem proving)来组合处理这些不同的变量。也可以使用其他推理系统,但是它们都产生用于逻辑形式的变量的绑定。
接下来,在步骤509中,自然语言子系统生成对用户的自然语言响应。自然语言生成(natural language generation,NLG)子系统可以是一组将绑定作为输入并生成字符串的模式或模板。例如,给定模板:“你的付款金额是每月?x美元”,NLG子系统将模板转换成自然语言短语“你的付款金额是每月500美元。”自然语言文本被传递回用户界面301。使用模板的自然语言生成在本领域中是众所周知的。在本发明的其他实施例中使用了其他自然语言生成方法。
在步骤511中,如果意图是目标,诸如“我想要军事折扣”:
(目标(‘注册’(我,‘军事折扣’(我)))
然后,逻辑形式之后被存储在知识图索引中。在对话的后期,可以从间接话语与这个目标建立逻辑连接。因此,知识图索引包含发出所陈述的请求的目标和尚未被建立为目标且未陈述的请求。本发明允许系统在这两种情况下进行逻辑连接。
图6是根据本发明实施例的从间接用户话语生成系统响应的流程图。图5中A处的过程加入该图中描述的过程。
下一步是语义解析器的解析,然而,在这种情况下,步骤605,语义解析器,例如UBL解析器,失败并且不产生输出。在这种情况下,在步骤607中,调用依赖解析器。一种可以使用的依赖解析器是神经网络依赖解析器,尽管本发明的替代实施例使用不同的依赖解析器。依赖解析器产生本领域众所周知的语法结构。
在某些情况下,依赖解析器无法解析输入,在这种情况下,可以使用命名实体识别或名词短语(Noun Phrase,NP)组块或其他方法提取单个实体。最终,如果没有任何东西可以被解析,系统将会提供默认的响应,诸如“你能否重新说一下?”。
在本发明的实施例中,以与来自语义解析器的逻辑形式相同的语法,产生了组合单个实体和连接到实体的关系的分层符号形式。
例如,在说明性示例中,依赖解析器产生:
nsubj(加入了/VBD,我/NP)
root(ROOT,加入了/VP)
det(军队/NN,该/DET)
dobj(加入了/VP,军队/NN)
在步骤609中,系统将解析树转换成类似于输入逻辑形式的分层形式。示例转换过程如下:首先,系统从ROOT节点遍历。接下来,它收集VP节点(动词短语节点,在这种情况下仅是一个节点(“加入了/VP”)),并将动词转换为词元形式(即,“加入了(joined)”变成“加入(join)”)。接下来,系统获得这些节点(在这种情况下为“我/NP”和“军队/NN”)的下一个主题(nsubj)和下一个直接对象(dobj)。如果这些参数节点中的一个是VP节点,系统将返回收集VP节点。该过程递归进行,直到到达解析树的底部。
示例逻辑形式输出是:
(加入(我,军队))
在本发明的实施例中,像“我自己(myself)”和“我(I)”这样的词被转换成规范的“我(me)”。例如,
(加入(我,军队))
如本领域技术人员将理解的,在本发明的其他实施例中,可以使用其他方法将输入转换成逻辑形式。
在步骤611中,逻辑形式被转换成Prolog事实。例如,
加入(我,军队)
然而,这个Prolog事实与知识图中任何目标的逻辑形式都不匹配。此外,例如,没有以“加入”作为谓词的Prolog规则。这个系统不知道如何证明任何关于人们加入事物的事情。也没有关于“加入”的请求。此时,没有本发明的会话系统将会失败,并会执行默认行为,诸如询问“我能帮你吗?”相反,我们称之为“间接话语”,并对其进行处理。
因此,本发明的实施例试图利用知识图来制定从该逻辑形式发出请求的目标。这将参考下面的图7进一步详细讨论。在本发明的实施例中,步骤615,话语被分类为间接话语。此外,步骤617,基于逻辑形式的自然语言响应由自然语言子系统制定并发送回用户。
在本发明的实施例中,语用(pragmatic)分析子系统试图利用知识图来制定从逻辑形式发出请求的目标。图7示出了根据本发明的一个实施例的使用知识图制定从逻辑形式发出请求的目标的流程图。在“初始化知识图”步骤701期间,Prolog处理的请求的逻辑形式在知识图索引中被索引。例如,请求可能是‘注册’(我,‘军事折扣’(我)),这使得用户可以注册折扣,在这种情况下是军事折扣。
因此,请求的逻辑形式可能具有‘r-1’的id:
‘注册’(我,‘军事折扣’(我))
将被索引如下:
知识图索引由标记(token)索引和节点索引组成。标记索引有效地从输入标记映射到知识图节点列表。例如,它从标记‘军事’映射到节点‘军事-1’。节点索引有效地从节点映射到请求列表。
节点索引然后为:
‘军事-1’-(‘r-1’)
‘建筑物-1’(‘r-534’,‘r-987’)
接下来,在步骤703中,逻辑形式加入(我,军队)被分解成输入标记:
“加入”
“军队”
“我”
接下来,在步骤705中,组件输入标记用于查找知识图标记索引中的节点。继续此示例,系统找到节点军队-1:
“军队”->“军队”/组织(军队-1)
“加入”->没有找到
“我”->没有查找
如果输入标记映射到多个节点,那么所有的节点都会被探测到。如果输入标记没有映射到任何节点,则系统执行一组操作,尝试将标记转换为知识图中节点的规范名称。例如,词元化(lemmatization)、复数化(pluralization)、大写化(capitalization)等等。
在本发明的优选实施例中,步骤707,系统从知识图节点开始执行广度优先交叉搜索。在这种情况下,军队-1概念节点被用作起点。搜索操作在知识图中扇出(fans out),遵循节点之间的关系,通过对节点排队,使得当前节点的子节点不会被访问,除非所有兄弟节点都被访问过。该系统将不断增加搜索直径,寻找符合请求的逻辑形式的交叉。在本发明的实施例中,搜索直径可以通过将搜索限制在距起始节点的预定跳数来进行限制。步骤709,系统继续搜索知识图,直到它到达索引至少一个请求实体的知识图节点。也就是说,当到达节点时,该节点名称的文本用于在节点索引中查找请求。
从军队/组织(军队-1),遍历“的分支”到达“军事”/组织(军事-1)
对知识图的探测停止了,因为当算法在知识图索引中查找“军事”时,它会找到请求r-1。这是因为谓词‘军事折扣’中的标记‘军事’是在请求逻辑形式‘注册’(我,‘军事折扣’(我))中,即r-1。
在步骤711中,系统转换加入,例如,使用(我,军队)和“军事/组织”-的分支军队来产生:
加入(我,军事)
接下来,在步骤713中,系统在知识图索引中检索在“军事”下索引的请求。例如,请求可能是:
‘注册’(我,‘军事折扣’(我))
在步骤715中,系统将加入(我,军事)与‘注册’(我,‘军事折扣’(我))相匹配。
此匹配作为图匹配执行。图编辑距离可用于计算输入逻辑形式图和检索的请求图之间的相似性。有效的近似算法在本领域中是众所周知的。在这种情况下,匹配相似性很低,因为只有‘军事’匹配。
在步骤717,系统收集所有请求,并根据图匹配分数对它们进行排序。如果使用图编辑距离,则匹配是在节点添加、删除、替换和关系添加、删除和替换方面。此外,基于输入逻辑形式图和请求逻辑形式图中节点之间的平均匹配,第二个因素被加倍。匹配度量是子字符串重叠(字符重叠的长度除以两个字符串的长度),但是也可以使用使用WordNet、Word2Vec、向量空间和其他方法的其他度量。在该示例中,排序最高的请求是:
‘注册’(?x,‘军事折扣’(?x))
其他可能排序较低的请求可能是‘加入服务’(?x,‘保险服务’)。排序顺序中的所有匹配请求的所有绑定都发送到自然语言生成系统,并可由对话使用。例如,如果用户说他们不寻求军事折扣,那么系统可能会询问他们是否试图加入保险服务。
因为系统可能没有处理对话目标的所有绑定,所以它也可能必须向用户询问信息。例如,如果对军事折扣的请求要求这个人的年龄,那么系统可能会问:
你对军事折扣感兴趣吗?
如果他们说“是的”,它可能会问:
你的年龄是多少?
然后执行对折扣的请求。
对于给定的输入逻辑形式,可以使用知识图同时开始多个搜索。当系统以广度优先搜索开始遍历图时,可以在搜索相邻节点时计算距离。这可以通过为每个节点存储变量来实现,该节点存储距起始节点的距离。在一个优选实施例中,目标节点离搜索节点越近,分数越高。在替代实施例中使用其他评分算法。
每个请求逻辑形式按请求分数排序。在优选实施例中,请求分数考虑三个因素:
1)实体相似性因素:实体字符串的百分比相似性(这些字符串中重叠标记的数量(标记为不是空白的字符)占两个字符串中标记总数的百分比)。可以使用其他相似性测量(诸如编辑距离或向量空间中的距离)。最终结果是介于0和1之间的数字。
2)距离因素:从知识图中的开始节点到匹配请求的节点的标准化距离。因此,如果4是最大距离,那么与距离0处的请求的匹配将是1.0,距离1将是0.25,距离2将是0.5,距离3将是0.75。距离4将是1.0。
3)匹配因素:使用在解析逻辑形式和请求逻辑形式的图中匹配实体和关系的数量以及匹配三元组的数量的计数的百分比量。例如(a r(b r2 c))匹配(d r(b r2 c))分数将会是1对于(b匹配)、1对于(c匹配)、1对于(r匹配)、1对于(r2匹配)、1对于(b r3 c)三元匹配,在总共7个可能的匹配中=5,5/7=0.714
在一个优选实施例中,使用根据以下等式的分数来完成总体排序:
分数=实体相似性因素*距离因素*匹配因素。
在步骤719中,系统使用自然语言生成组件将排序最高的请求翻译成问题。例如,系统响应可以是以下自然语言响应:
“你想要注册军事折扣吗?
在这个示例中,自然语言响应在间接话语和对话目标之间建立了逻辑连接。
图8是根据本发明实施例执行系统动作的流程图。在步骤801中,系统将目标的逻辑形式的语义谓词和术语与知识图中的实体和关系相匹配。这不包括诸如金钱、年份等数据。在步骤803中,系统将话语的逻辑形式的实例化谓词与术语与知识图中的实体相匹配。这不包括参数。接下来,系统将中间逻辑形式初始化为话语的逻辑形式。
在步骤807中,执行图相似性的比较。如果中间逻辑形式和目标的逻辑形式之间的图相似性(包括匹配来自话语的逻辑形式的屏蔽数据(masked data)和来自目标的参数)超过阈值,则系统进入步骤813。如果不是,则系统在步骤815中遍历知识图,以识别话语的逻辑形式中的匹配谓词和术语与事务的逻辑形式中的匹配谓词和术语之间的转换。在本发明的优选实施例中,“最佳路径”用于遍历知识图。知识图中的最佳路径通常包括同义词关系、是-一-关系、N-gram相似性关系、来自数据库的关系或通过从本体推断得出的关系中的至少一个。然后,系统将遍历的目标替换为话语的逻辑形式,以生成中间逻辑形式。系统返回到步骤807。
在本发明的优选实施例中,将中间逻辑形式的图结构与事务的逻辑形式的图结构相匹配包括添加处置操作。在替代实施例中,处置操作是增加操作、减少操作、添加操作和移除操作。
在步骤813中,系统用屏蔽数据实例化事务或目标参数。然后,如果得分超过阈值,它将对实例化的事务或目标执行系统动作。
例如,本发明不是使用规则直接从逻辑形式映射如在(我,军队)中到增加(折扣(我)),而是在知识图的指导下按步骤执行映射。在这种情况下,它可能会从在(我,军队)中到在(我,军事)中到+军事折扣,(我)到折扣(我)到增加(折扣(我))。
可能的转换基于提取到知识图中的关系。例如,“是-一”关系可能被提取出来,因此可以以话语的逻辑形式应用于术语(“军队”是-一“军事”)。可以使用各种遍历/搜索算法。例如,可以在知识图上执行波束搜索。
由于保留了逻辑形式中不匹配的部分,它可以用于附加数据或向用户返回的问题的自然语言生成。
示例:
1.用户。>我曾经在军队中在(我,军队)中。
在(我,军事)中-术语之间的是-一链接找到i
+军事折扣,(我)-术语到谓词相似性
折扣(我,我的房子)-谓词到谓词相似性
目标:增加(折扣(我))-处置规则
系统响应:是的,我们有军事折扣。你也对其他类型的折扣也感兴趣吗?
2.用户。>我需要洪水保险吗?
需要(我,洪水保险),
要求(我,洪水保险),-谓词到谓词相似性
要求(+覆盖范围,我的房子)术语之间的是-一链接
了解(+要求,(覆盖范围,我的房子)))处置规则
系统响应:不。不要求洪水保险。你想了解所要求的覆盖范围的种类吗?
本发明的实施例使用对话目标来改进语义解析。很容易将“预订航班”这样的话语映射到预订事务的符号语言。然而,用户的话语很少如此简单。用户话语以间接方式进行陈述,这可能包括事务中不存在的语言。语义解析器可能很难将这样的话语直接映射到正确简洁的逻辑形式。在这些情况下,语义解析器可以受益于已知的会话目标,例如期望的事务。因此,具有现有的对话目标可能会使语义分析偏向有用的形式。例如,以旅行为目标可能会使语义解析正确地偏向语义形式“预订(我,旅行)”,即使输入是“我想去旅行”。因此,在本发明的实施例中,语义解析器产生的逻辑形式取决于各个输入上的权重,并且由于与对话目标建立逻辑连接,至少一个权重被不同地初始化。
在本发明的实施例中使用了许多响应策略。鉴于对话目标已经确定,一些响应策略是可能的:
1.确定目标:你是否试图降低度假屋的保险成本?
2.差异化:你是想降低度假屋的保险成本,还是想获得足够的覆盖范围?
3.有帮助的:如果你想降低成本,你可以尝试良好的租赁者折扣。他们会为你节约很多。
4.祝贺:在部队中是降低你的成本的最好方法之一。
因此,在本发明的实施例中,系统响应基于连接的目标,并且系统响应向用户建议或推荐该目标。
除了上述响应策略之外,在某些情况下,系统可能会使用延迟响应。例如,在与用户目标建立逻辑连接后,系统可能会记录目标,而不是立即响应。例如,它可能会记录下这样一个事实,即人们可能喜欢军事折扣,后来当他们抱怨整体对话时,诸如保险花费,响应于承认用户的目标,例如,“在你放弃我们之前,你提到你在军事,因此可能有资格享受折扣”。因此,在这个示例中,所连接的目标不是作为自然语言响应立即传达,而是在之后的对话交流中传达给用户。
本发明的实施例还可以用于训练系统,以使这些技术适应新的问题的集合。向系统提供常见用户对话目标或事务的列表以及试图达到这些目标的样本查询。接下来,构建特定于领域的知识图,以捕捉用户可能会问的问题的本质。例如,如果有几个关于不同措辞的军事折扣的问题,这些问题可能与知识图中的一个‘军事_折扣’条目一致。因此,该系统可以基于这些种子问题的特征(单词、句法类别)来学习分类器。接下来,当需要处理新的查询/对话时,系统可以提取这些特征并将问题分类为知识图中的一个节点。
使用本发明的实施例还可以创建跨用户话语的一致性。也就是说,多个用户话语可能与单个目标相关。
例如:-用户:我在军队。
用户:良好的租赁者折扣怎么样?
>响应:我看到你对折扣感兴趣。我们提供几个。
与折扣相关的多项陈述可能会增加期望得到保险折扣的可能性,并会调用适当的响应策略。在这个示例中,陈述“我在军队”是间接话语,似乎与用户目标无关。然而,当与“良好的租赁者折扣怎么样”的问题配对时认识到陈述之间的一致主题。该系统可以使用实体和关系跟踪算法来学习在话语之间架起桥梁的目标,该算法在对话中的多个地方找到相同的实体和关系。因此,在该示例中,系统响应基于从对话的先前部分存储的连接的目标。在其他情况下,系统响应基于连接目标和从对话的先前部分存储的第二连接的目标。
在本发明的实施例中,由于意图分类,话语被识别为间接话语。根据语音行为(speech act)规则的语音行为分类可以用作分类的一部分。在本发明的不同实施例中,被识别为间接话语的话语处于语音行为分类中,诸如接受响应、应答、社交礼节、反问句、开放式问题、拒绝响应和不确定响应。在其他实施例中,可以使用其他意图识别算法来分类or-问题、wh-问题或其他语音行为。
由于知识图中提取的关系的含义与逻辑形式的谓词中的关系的含义不匹配,逻辑连接可能不完美。这可以通过设计类型系统或提取与逻辑形式中使用的谓词相同的关系来减少。如果不是这种情况,关系应该是逻辑的,这样关系的遍历就不会引入与目标的逻辑形式的逻辑不一致的逻辑。
诸如“折扣”或“覆盖范围”之类的中间符号可以提供一种方式,从处理特定用户特定示例的表面形式(“空军”折扣或“飓风损害”覆盖范围)映射到涵盖所有或大多数这些示例的更一般类别(“军事”折扣)或(“事故”覆盖范围)。因此,在本发明的实施例中,解析的至少一部分连接到用户目标的至少一部分。可以使用各种已知技术,诸如知识图中的包容、专门化或抽象关系。
本发明的实施例使用绑定来确定系统响应。本发明概括了术语和谓词。谓词可能是表达事件或动作的非常不同的方式,诸如“砸到我的房子”或“损坏我的前门”,这可能需要映射到“事故”,然后映射到“覆盖范围_事件”。然后谓词和术语的这些更一般的组合可以创建后端系统可以操作的逻辑形式。例如,用户可能有已知的目标,以增加折扣或增加覆盖范围。一旦识别出更一般的目标,如果绑定存在,系统可以将这个更一般级别的响应与更低级别的特定绑定相关联。例如,响应“军队和其他军事折扣会减少你的保险”。因此,响应于间接话语,系统响应是语音行为,其中语音行为可以包括从知识图中确认、解释、阐明或建议目标。
本发明的实施例对非逻辑连接使用各种缓解策略。从具体的示例中推断更一般的目标可能是危险的。推断可能没有根据。然而,有许多缓解策略。系统响应可以确认用户目标(“你是否试图扩大覆盖范围?”),创建解释(“是的,添加玻璃会增加你的覆盖范围”),或者阐明目标(“是的,你可以添加玻璃覆盖范围。添加此覆盖范围将增加您的覆盖范围。”)
基于对话上下文,可以确认或拒绝不同的用户目标。基于对话上下文,特定目标和事务可能被激活,但不完全满足或执行。因此,当建立逻辑连接时,这些路径最有可能。其他目标和事务可能会被排除。例如,目标可能已经建立,或者可能被用户的话语明确否定。在这种情况下,来自这些目标和事务的符号不会被索引到知识图,或者会被赋予非常低的权重。例如,由于包括来自用户话语的否定的解析,来自目标和事务的符号可能不被连接。
本发明的实施例可以包括从用户反馈中学习。用户可以通过提供关于目标的正面或负面反馈来响应。给定这种反馈,系统可以学习更好地选择特定的目标,给定话语的逻辑形式。例如,奖励函数可用于训练神经网络,以选择给定中间逻辑形式的目标或事务。该系统还可以测量用户对系统答案的响应,例如,经由情感分析/脏话检测来识别错误。过去的交互可以用来收集数据,供无监督学习算法使用。因此,在本发明的实施例中,基于排序过程来选择用户目标。在这些实施例中的一些中,排序过程使用来自用户对先前系统响应的反馈,该系统响应包括连接的目标。
与现有技术相比,本发明具有许多优点。尽管语义解析、实体和关系提取、知识图以及图搜索和转换在现有技术中是已知的,并且可以用于本发明的实施例中,就发明人所知,现有技术仅能够连接话语的逻辑形式,该话语具有在话语中陈述的明确目标。本发明能够将间接话语与发出请求的目标相匹配,这个目标在对话中是没有陈述的。
现有技术不包括添加谓词(例如,增加、减少)的“处置”规则。处置规则的思想是,系统可以通过还包含诸如‘增加’或‘减少’的谓词来与对话目标建立逻辑连接。例如,请求可以是增加(折扣(我))或减少(费用(我)),但中间逻辑形式只是“折扣(我)”或“费用(我)”。处置规则可用于假设用户对事件、动作或对象的处置。
现有技术在建立逻辑连接时不包括逻辑形式和知识图之间的一些差异。特别地,本发明的实施例在匹配过程中使用“术语到谓词”相似性。通过将术语‘军事’来与谓词‘军事折扣’相匹配来将在(我,军事)中与‘军事折扣’(我)相匹配;。现有系统的一个缺陷是,如果逻辑形式完全不匹配,就无法建立连接。添加这种额外的连接方法可以减少与对话目标建立逻辑连接的完全失败。本发明的其他实施例使用不同的匹配过程,包括语言的匹配过程、语义匹配过程、结构匹配过程、句法匹配过程和概率匹配过程。
如上所述,来自语义解析的话语的逻辑形式可能不会直接映射到目标。为了弥合这一差距,实施例使用知识图,例如,从与话语相关的文档的集合生成的知识图。例如,文档可能是网站,人们会阅读该网站,然后进行对话。系统对文档执行实体和关系提取,以生成通过关系连接的实体的图。例如,标记为“军队”的实体可以经由“是-一”关系连接到标记为“军事”的实体。
在对话处理期间,使用语义解析器(例如,组合类别语法解析器)解析话语。然后,话语的逻辑形式与对话中建立的现有目标相匹配。如果目标没有被陈述(因此不匹配),那么话语的逻辑形式会被分解成标记、谓词、术语和值(例如数字)。然后,系统将谓词和术语与实体和关系的知识图中的标签进行匹配,并在搜索时通过一组转换/派生来保持逻辑形式,以找到与服务于事务的未陈述目标之一的匹配。最后的匹配是按照话语的转换的逻辑形式的图结构和知识图中(未陈述的)目标的图结构。给定匹配,目标中的变量可以绑定到话语中的数据,然后系统可以就像目标被明确陈述一样在对话中做出响应,或者通过各种响应策略在对话中做出响应。由于知识图中的一些实体来自网络资源,因此产生的逻辑形式可以包括映射到网络资源的至少一个术语或谓词。网络资源可以链接到图结构中的其他网络资源。
本发明的实施例涵盖了用户目标没有在话语中陈述,而是由用户先前建立的情况,其中用户目标没有在话语中陈述,而是由会话系统先前建立,并且用户目标没有在话语中陈述,并且先前完全没有建立。这只是可以发出的请求,并且用户的间接话语与之相关。
虽然已经描述了优选的操作环境和使用情况,但是这里的技术可以用于期望部署服务的任何其他操作环境。
如上所述,上述功能可以作为独立的方法来实施,例如,由一个或多个硬件处理器执行的一个或多个基于软件的功能,或者可以作为托管服务(包括经由SOAP(SimpleObject Access Protocol,简单对象访问协议)/XML(Extensible Markup Language,可扩展标记语言)或RESTful接口作为web服务)来获得。这里描述的特定硬件和软件实施方式细节仅仅是为了说明的目的,并不意味着限制所描述的主题的范围。
更一般地,所公开主题的上下文中的计算设备每个都是包括硬件和软件的数据处理系统,并且这些实体通过诸如因特网、内联网、外联网、专用网络或任何其他通信介质或链路的网络彼此通信。数据处理系统上的应用程序为Web和其他已知服务和协议提供本机支持,包括但不限于HTTP
(HyperText Transfer Protocol,超文本传输协议)、FTP(File TransferProtocol,文件传输协议)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、SOAP、XML、WSDL(Web Services Description Language,网络服务描述语言)、UDDI(Universal Description Discovery and Integration,通用描述发现和集成)和WSFL(Web Services Flow Language,网络服务流程语言)等的支持。关于SOAP、WSDL、UDDI和WSFL的信息可从负责开发和维护这些标准的万维网联盟(World Wide Web Consortium,W3C)获得;其负责开发和维护这些标准;关于HTTP、FTP、SMTP和XML的进一步信息可从因特网工程任务组(Internet Engineering Task Force,IETF)获得。
除了基于云的环境之外,这里描述的技术可以在各种服务器端体系结构中实施或者结合各种服务器端体系结构来实施,包括简单的n层体系结构、web门户、联合系统等。
更一般地,这里描述的主题可以采取完全硬件实施例、完全软件实施例或包含硬件和软件元素的实施例的形式。在优选实施例中,模块功能以软件实施,该软件包括但不限于固件、驻留软件、微码等。此外,接口和功能可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,该介质提供由计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合使用的程序代码。出于本描述的目的,计算机可用或计算机可读介质可以是能够包含或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的程序的任何装置。介质可以是电子、磁、光、电磁、红外或半导体系统(或装置或设备)。计算机可读介质的示例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、刚性磁盘和光盘。光盘的当前示例包括紧凑盘只读存储器(compact disk–read only memory,CD-ROM)、紧凑盘读/写(compact disk–read/write,CD-R/W)和DVD(Digital VersatileDisc,数字通用光盘)。计算机可读介质是有形的、非暂时性的物品。
计算机程序产品可以是具有实施一个或多个所述功能的程序指令(或程序代码)的产品。这些指令或代码可以在通过网络从远程数据处理系统下载之后存储在数据处理系统中的计算机可读存储介质中。或者,这些指令或代码可以存储在服务器数据处理系统中的计算机可读存储介质中,并且适于通过网络下载到远程数据处理系统,以在远程系统内的计算机可读存储介质中使用。
在代表性实施例中,这些技术在专用计算平台中实施,优选地在由一个或多个处理器执行的软件中实施。软件被维护在与一个或多个处理器相关联的一个或多个数据存储或存储器中,并且软件可以被实施为一个或多个计算机程序。总的来说,这种专用硬件和软件包括上述功能。
在优选实施例中,这里提供的功能被实施为现有云计算部署管理解决方案的附属或扩展。
虽然以上描述了由本发明的某些实施例执行的操作的特定顺序,但是应当理解,这种顺序是示例性的,因为替代实施例可以以不同的顺序执行操作、组合某些操作、重叠某些操作等。说明书中对给定实施例的引用表示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例不一定包括特定的特征、结构或特性。
最后,虽然已经单独描述了系统的给定组件,但是普通技术人员将会理解,一些功能可以在给定指令、程序序列、代码部分等中组合或共享。
描述了我们的发明之后,我们现在要求保护的内容如下。
Claims (16)
1.一种用于响应用户和会话系统之间的对话中的间接话语的方法,包括:
响应于接收间接话语,生成所述间接话语的解析结构,其中所述间接话语是具有与表达为知识图的元素的用户目标不匹配的元素的话语,其中所述知识图包括表达为元素的用户目标;
通过所述知识图将所述解析结构连接到用户目标,以发出所述间接话语中未陈述的请求,其中所述连接包括匹配过程,所述匹配过程根据结构相似性的程度来匹配解析结构与用户目标;
执行系统响应,其中所述系统响应是基于所述解析结构和所连接的用户目标的组合的对话系统响应。
2.如权利要求1所述的方法,其中所述解析结构是逻辑形式、组成性解析、短语结构解析、依赖解析、通用依赖解析和增强依赖解析中的一种。
3.如权利要求1所述的方法,其中,所述间接话语是短文本、不合语法的文本、聊天文本、文本消息、自然语言句子和对话交流中的转录语音中的一种。
4.如权利要求1所述的方法,其中在所述匹配过程中使用术语到谓词相似性测量。
5.如权利要求1所述的方法,其中所述匹配过程选自由语言的匹配过程、语义匹配过程、结构匹配过程、句法匹配过程和概率匹配过程组成的组。
6.如权利要求1所述的方法,其中所述解析结构是由语义解析器产生的逻辑形式,其取决于权重,并且由于与对话目标建立逻辑连接,至少一个权重被不同地初始化。
7.如权利要求6所述的方法,其中所述逻辑形式包括映射到web资源的至少一个术语或谓词。
8.如权利要求1所述的方法,其中,所述系统响应基于连接的目标,并且所述系统响应包括所述目标。
9.如权利要求8所述的方法,其中,所连接的目标不是作为自然语言响应立即传达,而是在之后的对话交流中传达给用户。
10.如权利要求1所述的方法,其中所述解析的至少一部分通过所述知识图中的包容、专门化或抽象关系连接到所述用户目标的至少一部分。
11.如权利要求1所述的方法,其中所述系统响应执行语音行为,其中所述语音行为包括确认、解释、阐明或建议所述目标。
12.如权利要求1所述的方法,其中基于排序过程来选择所述用户目标。
13.如权利要求1所述的方法,其中,排序过程使用来自用户对先前系统响应的反馈,所述系统响应包括连接的目标。
14.一种装置,包括:
处理器;
保存由处理器执行的计算机程序指令的计算机存储器,用于响应用户和会话系统之间的对话中的间接话语,该计算机程序指令包括响应于实施方法1-13之一的程序代码。
15.一种用于数据处理系统的计算机可读介质,其保存由所述数据处理系统执行的计算机程序指令,用于响应用户和会话系统之间的对话中的间接话语,该计算机程序指令包括响应于实施方法1-13之一的程序代码。
16.一种用于响应用户和会话系统之间的对话中的间接话语的系统,包括用于实施方法1-13之一的装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/886,109 US11954613B2 (en) | 2018-02-01 | 2018-02-01 | Establishing a logical connection between an indirect utterance and a transaction |
US15/886,037 | 2018-02-01 | ||
US15/886,109 | 2018-02-01 | ||
US15/886,037 US10534862B2 (en) | 2018-02-01 | 2018-02-01 | Responding to an indirect utterance by a conversational system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110110053A CN110110053A (zh) | 2019-08-09 |
CN110110053B true CN110110053B (zh) | 2023-09-26 |
Family
ID=67483670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910052363.2A Active CN110110053B (zh) | 2018-02-01 | 2019-01-21 | 在间接话语和事务之间建立逻辑连接 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110110053B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11501065B2 (en) * | 2019-09-11 | 2022-11-15 | Oracle International Corporation | Semantic parser including a coarse semantic parser and a fine semantic parser |
CN110888969A (zh) * | 2019-11-27 | 2020-03-17 | 华为技术有限公司 | 一种对话响应方法及装置 |
CN112163397B (zh) * | 2020-09-21 | 2024-05-24 | 长春理工大学 | 一种复杂线束布线工艺智能设计系统 |
CN114238648B (zh) * | 2021-11-17 | 2022-11-08 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于知识图谱的博弈对抗行为决策方法及装置 |
US20230252309A1 (en) * | 2022-02-07 | 2023-08-10 | International Business Machines Corporation | Building knowledge graphs based on partial topologies formulated by users |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101535983B (zh) * | 2006-10-16 | 2012-08-22 | 沃伊斯博克斯科技公司 | 协作会话语音用户界面的系统和方法 |
CN105912559A (zh) * | 2015-02-20 | 2016-08-31 | 国际商业机器公司 | 从非结构化数据提取复杂实体和关系 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9892208B2 (en) * | 2014-04-02 | 2018-02-13 | Microsoft Technology Licensing, Llc | Entity and attribute resolution in conversational applications |
US20150370787A1 (en) * | 2014-06-18 | 2015-12-24 | Microsoft Corporation | Session Context Modeling For Conversational Understanding Systems |
US20170161372A1 (en) * | 2015-12-04 | 2017-06-08 | Codeq Llc | Method and system for summarizing emails and extracting tasks |
-
2019
- 2019-01-21 CN CN201910052363.2A patent/CN110110053B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101535983B (zh) * | 2006-10-16 | 2012-08-22 | 沃伊斯博克斯科技公司 | 协作会话语音用户界面的系统和方法 |
CN105912559A (zh) * | 2015-02-20 | 2016-08-31 | 国际商业机器公司 | 从非结构化数据提取复杂实体和关系 |
Non-Patent Citations (1)
Title |
---|
Matching Utterances to Rich Knowledge Structures to Acquire a Model of the Speaker’s Goal;PZ Yeh;《Proceedings of the 3rd international conference on knowledge capture》;20051002;第2-5页,图3 * |
Also Published As
Publication number | Publication date |
---|---|
CN110110053A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10832006B2 (en) | Responding to an indirect utterance by a conversational system | |
US11954613B2 (en) | Establishing a logical connection between an indirect utterance and a transaction | |
US10824658B2 (en) | Implicit dialog approach for creating conversational access to web content | |
US10915588B2 (en) | Implicit dialog approach operating a conversational access interface to web content | |
CN110110053B (zh) | 在间接话语和事务之间建立逻辑连接 | |
Khan et al. | Multi-class sentiment analysis of urdu text using multilingual BERT | |
US10705796B1 (en) | Methods, systems, and computer program product for implementing real-time or near real-time classification of digital data | |
US9373086B1 (en) | Crowdsource reasoning process to facilitate question answering | |
US8972408B1 (en) | Methods, systems, and articles of manufacture for addressing popular topics in a social sphere | |
US9710829B1 (en) | Methods, systems, and articles of manufacture for analyzing social media with trained intelligent systems to enhance direct marketing opportunities | |
US11829725B2 (en) | Computer implemented method for the automated analysis or use of data | |
US11989507B2 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
Tizard et al. | Can a conversation paint a picture? mining requirements in software forums | |
US11977854B2 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
US11989527B2 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
US11775772B2 (en) | Chatbot providing a defeating reply | |
US20230274089A1 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
WO2023161630A1 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
Galitsky | Artificial intelligence for customer relationship management | |
KR20230050673A (ko) | 자연어이해 학습 모델을 위한 학습데이터의 이중 증강 방법 및 장치 | |
US12008333B2 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
US12008326B2 (en) | Computer implemented method for the automated analysis or use of data | |
Sanches et al. | Automatic Extraction of Conversation Flows from Human Dialogues: Understanding Their Impact to Refine NLP Models | |
Nuruzzaman | IntelliBot: A Domain-specific Chatbot for the Insurance Industry | |
McTear et al. | Response generation |
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 |