CN107210035B - 语言理解***和方法的生成 - Google Patents
语言理解***和方法的生成 Download PDFInfo
- Publication number
- CN107210035B CN107210035B CN201580072257.0A CN201580072257A CN107210035B CN 107210035 B CN107210035 B CN 107210035B CN 201580072257 A CN201580072257 A CN 201580072257A CN 107210035 B CN107210035 B CN 107210035B
- Authority
- CN
- China
- Prior art keywords
- user intent
- utterance
- language
- entity extraction
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000000605 extraction Methods 0.000 claims abstract description 77
- 238000001514 detection method Methods 0.000 claims abstract description 60
- 238000002955 isolation Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 103
- 230000004044 response Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 28
- 230000002452 interceptive effect Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 21
- 238000012937 correction Methods 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 13
- 238000010801 machine learning Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 26
- 238000011161 development Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 235000013550 pizza Nutrition 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 238000001347 McNemar's test Methods 0.000 description 1
- 241001620634 Roger Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
- 230000000378 dietary effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 235000015220 hamburgers Nutrition 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/005—Language recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/065—Adaptation
- G10L15/07—Adaptation to the speaker
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
提供了可以被快速且有效地构建、测试并改进的特定于域的语言理解模型。提供了使得开发方能够快速且在无需专门的机器学习知识的情况下构建用户意图检测模型、语言实体提取模型和语言实体解析模型的方法、***和设备。这些模型可以经由单模型***所构建并实施,该单模型***使得模型能够被隔离地或者在端到端流水线***中被构建,该流水线***使得模型能够以同时的方式被构建和改进。
Description
背景技术
随着现代计算***的出现,各种各样的个人计算***和设备已经启用了对话***和应用,其允许用户向他/她的计算设备讲出问题,以搜索将由计算设备响应于该问题而提供的信息。例如,在典型的设置中,用户向她的手持移动电话或平板计算设备讲出诸如“where is the closest pizza restaurant?(最近的披萨餐厅在哪儿)”的问题,并且该用户预期她的设备(如果配备有适当应用)会用“I have found three pizza restaurantsnearby(我已经找到附近三家披萨餐厅)”这样的短语对该问题作出响应。根据一些***,应用可以响应于用户请求向用户提供地址和其它信息。在一些情况下,所接收的问题在用户的计算设备上被本地处理,例如,在用户的日历信息被询问以面向日历的问题的情况下,在本地天气应用被询问以面向天气的信息的情况下,在本地联系人数据库被询问以用于面向联系人的信息的情况下,等等。如果无法在本地获得响应于请求的信息,则一些***使用所接收的请求进行基于互联网的信息搜索,并且响应于用户请求的基于互联网的搜索结果被返回给用户。
在开发和实施这种***时所遇到的重大困难之一涉及语言理解。也就是说,这种***的开发和实施中的一个问题是理解用户所讲出的自然语言,而使得给定口头话语的组成部分可以被用于执行计算机支持的功能。对于被提供给用户以允许用户通过语音交互来利用这些应用或功能的新应用或功能的开发方而言,该困难尤其成为问题。
例如,如果出租车服务提供方希望提供一种允许用户向其手持计算设备(例如,移动电话)讲出用于请求出租车的请求,则该应用的提供方面临着实施语言理解模型的艰巨任务,该语言理解模型将理解用户可以向该应用讲出针对出租车服务的请求的许多不同方式,该应用将理解上述方式以提供所请求的服务。例如,这种支持计算机的出租车服务可能会收到诸如“I need a taxi,(我需要出租车,)”、“Can you get me a car?(你能给我安排一辆车么?)”、“Is this a taxi service?(这是出租车服务么?)”、“I need a cab todowntown,(我需要出租车去市区)”等之类的口头请求。这样的口头短语的问题在于,它们可能以多种结构、格式以及具有随使用该服务的人数而有所不同的单词和短语讲出。也就是说,该服务可以接收到以几乎无限的方式不同于其它类似口头话语的口头话语形式的请求。
例如,在这些提供的示例话语中,使用了数个不同术语来描述用户将被其运载的物理设备,包括taxi、car、cab等。另外,短语中的一些是作为问题提出的,而话语的一些则是作为陈述给出。话语的一些可以被理解为请求出租车服务,而话语的一些则可以被理解为指向购买车辆的搜索。响应于这种语言理解的困难,语言理解***的开发方和实施者通常参与到向语言理解***的组件教授响应于基于话音的请求提供服务的应用可能预见到的术语和短语的许多不同变型的工作之中,这项工作非常缓慢、艰苦并且是劳动密集的。例如,数据工程师收集包含目标用户意图的实例的话语数据。用户体验设计师创建解释新的目标意图的标记指令。众包工程师创建众包任务,其中多个工作者向多个示例用户在众包任务中所接收到的数据(各种话语)应用该标记指令。机器学习专家使用该数据来构建可以确定将向其计算设备讲出请求的用户的意图的意图检测模型,以及提取实体(例如,口头话语中可能构成该话语的主语的术语,诸如“出租车”)的实体提取模型。
此外,另一个难题包括定义意图或实体的问题,这经常在在过程结尾测量模型性能时时才显现出来,因此需要重复整个过程。总的来说,这样的过程可能需要开发数周甚至数月的时间并影响现有语言理解模型提供方将语言理解扩展到新的口头话语类型的能力。这样的过程还影响应用或功能提供方将应用或功能集成到对话***中的能力,原因在于这样的提供方不具备开发复杂语言理解模型从而允许口头话语被他们的应用和功能所理解从而导致那些应用和功能得以执行的能力。
发明内容
示例提供了可以被快速且有效地构建、测试并改进的特定于域的语言理解模型。根据示例,提供了使得开发方能够快速且在无需专门的机器学习知识的情况下构建用户意图检测模型、语言实体提取模型和语言实体解析模型的方法、***和设备。这些模型可以经由单模型***所构建并实施,该单模型***使得模型能够隔离地或者在端到端流水线***中被构建,该流水线***使得模型能够以同时的方式被构建和改进。
提供该发明内容而以简化形式对随后将在下文的具体实施方式中进一步进行描述的代表性概念的选择进行介绍。该发明内容并非意在标识所请求保护主题的关键特征或必要特征,其也并非意在被用来帮助确定所请求保护主题的范围。
一个或多个实施例的细节在附图和以下描述中给出。其它特征和优势将通过阅读以下详细描述以及参照附图而是显而易见的。所要理解的是,以下详细描述仅是解释性的而并非作为限制。
附图说明
图1图示了多种类型的口头话语以及这样的口头话语可以如何被对话***所理解以将这样的口头话语的组成部分和理解用于请求功能或服务。
图2是根据示例的用于构建和启用特定于域的语言理解模型的***或设备的简化框图。
图3图示了对话***中的交互式分类和提取模型可以通过其被接合以检测用户意图、提取口头话语实体以及解析口头话语实体的用户界面。
图4是图示通过隔离的实验意图建模接收的数据的表格。
图5以图形图示了根据示例的构建示例意图模型所需的时间。
图6图示了用于与图2所示的语言理解建模***或设备交互的支持计算机的用户界面。
图7是图示根据示例的通过端到端意图模型的实验操作所接收的数据的表格。
图8图示了用于允许用户与图2所示的***和设备进行交互以训练和/或改善该***或设备的输出的支持计算机的用户界面。
图9图示了用于图2所示的语言理解***和设备的基于云的平台。
图10是图示根据示例的用于生成语言理解模型的方法的流程图。
图11是图示可以利用其实践示例的计算设备的示例物理组件的框图。
图12A和12B是可以利用其实践示例的移动计算设备的简化框图。
图13是可以在其中实践示例的分布式计算***的简化框图。
具体实施方式
以下的详细描述参考附图。尽可能地,在附图和以下描述中使用相同的附图标记来指代相同或相似的要素。虽然示例可以被描述,但是修改、调适和其它实施方式是可能的。例如,可以对附图中所图示的要素进行替换、添加或修改,并且可以通过对所公开方法进行替换、重新排名或添加阶段来修改本文所描述的方法。因此,以下详细描述并不是限制性的,而是由所附权利要求来描述适当的范围。
如上面简要描述的,示例涉及到语言理解模型的生成和实施,以允许软件应用接收从口头话语所提取或开发的输入和/或查询。更具体地,示例满足快速地向对话***添加新功能,而使得对话***可以被缩放至新的域。示例允许单个用户教导对话***来回答新的类型的问题或请求,而使得可以基于新的类型的问题或请求来执行或提供功能或服务。例如,如果一个对话***接收到新的类型的问题,诸如“Which movies did<DIRECTOR>direct?(<导演>导演了哪些电影)”或“Add a new appointment to my calendar for<date>about<subject>(向我的日历添加<日期>的关于<主题>的约会)”,根据示例,给定对话***的语言理解模型可以被教授以回答这样的问题,并且利用这样的口头问题的实体(例如,术语或短语)来执行或提供所期望的功能或服务。
如利用以下描述的示例所说明的,向用户和***以及语言理解的技术领域提供了显著的益处和/或优点。对于用户来说,讲出自然语言话语以使得所期望功能被执行的能力得到增强,因为用于执行给定功能的不同类型的话语(例如,“find taxi(找辆出租车)”、“get me a taxi(给我安排辆出租车)”、“I need a car(我需要辆车)”等)可以更有效地被理解和标记以使得所期望功能(例如,出租车预定功能)被执行。对于计算***而言,如下文所述(例如,参照图7),对用于执行功能的口头话语的标记实现了明显的加速,这减少了计算机处理时间、存储器消耗,并且提供了对本文所描述的语言理解计算***的整体改进。在语言理解的技术领域方面,因为口语的多样性,并由于对语言激励的计算功能增长的需求,增强理解并标记口头话语的能力是重大利好。
图1图示了多种类型的口头话语以及这样的口头话语可以如何被对话***所理解以将这样的口头话语的组件和理解用于请求功能或服务。根据示例,对话***可以被描述为如图1所示的处理流水线。首先,口头输入使用开放域自动语音识别器而被识别并且被转换为诸如“Am I free today at noon?(我今天中午有空么?)”的多个单词。如果该输入由文本提供,则可以跳过这样的话音识别步骤。本领域技术人员应该意识到,自动语音识别器(ASR)可以根据各种公知方法进行操作。例如,根据一种可接受的自动语音识别方法,通过使用拆词机制将口头话语拆分成多个单词,该拆词机制基于包括空格、标点符号、暂停、常见词型等在内的常用单词分隔将口头话语拆分为多个单词。一旦这样的口头话语被拆分为多个单词,个体单词(实体)或者单词或实体的组合就可以与单词或实体的库进行比较,以返回基于文本的口头话语转换。如应当意识到的,给定的实体可以包括或跨越多个单词。例如,多个单词“Empire State Building(帝国大厦)”可能被视为单个实体。
例如,通过暂停或其它公知分隔而从其它实体所分隔的五个数字的口头模式可以与其它数量为5的模式进行比较以返回邮政编码。作为另一个示例,紧接在一个或多个单词之前所接收的数字集合可以被用于确定/识别街道地址。应当理解,自动语音识别***对于本领域技术人员而言是公知的,并且不需要在本文进一步详细描述。
一旦口头话音被自动语音识别器转换为单词,就可以确定用户意图以及用户话语的实体以开发函数调用,该函数调用可以被提供至给定应用以请求所期望的函数或服务。参考图1,多个不同的口头话语根据多种不同类型的口头话语而被提供。例如,典型的社交对话115可以包括诸如“Will you marry me?(你愿意嫁给我吗?)”的口头问题。典型的物联网话语120可以包括诸如“Turn on the outside lights(打开外面的灯)”的短语。典型的日历话语12可以包括诸如“What's on my calendar for tomorrow?(我明天的日历上有什么)”的问题。以及,典型的一般信息请求问题可以包括诸如“Who directed Annie?(谁导演了Annie)”的问题130。
根据示例,一旦这样的话语被接收并且被适当的自动语音识别器转换为单词,该单词就可以通过处理流水线132被传递,在流水线132中用户的意图被检测,话语中的实体(例如,单词或单词组合)可以被提取并解析,并且在有必要的情况下,适当的函数调用可以被生成以送至应用而用于执行或获得所期望的功能或服务。例如,仍然参考图1,对于用户所讲出的短语“Turn on the outside lights(打开外面的灯)”,用户的意图140可以被确定为“turn on(打开)”。实体可以在话语已经被转换成诸如“outside lights(外面的灯)”145的单词之后从话语中提取。实体解析可以包括将所提取的实体解析成规范形式,诸如具体特定ID 150(例如,“outside lights(外面的灯)”的具体ID)。
在检测到用户意图,提取出实体,并且在必要情况下执行了实体解析之后,可以生成函数调用并将其提供给适当应用以执行所期望的功能或者获得所期望的结果。例如,函数调用可以是应用编程接口(API)的形式,该应用编程接口(API)被传递给应用或函数以请求执行以获得给定结果。用户意图和所提取的实体可以作为输入而经由函数调用被传递给函数。例如,用户意图“turn on(打开)”以及解析出的识别给定灯集合的所提取实体“ID3728”可以在函数调用中被传递给应用,而使得该应用开启被标识的灯。
作为另一个示例,如果话语“Am I free today at noon?(我今天中午有空吗)”从自动语音识别器被转换成多个单词,则可以确定诸如“read from calendar(从日历中读)”的用户意图。与之并行地,实体提取可以标识出包含诸如日期“today(今天)”或时间“noon(中午)”的实体的话语子串,并且实体解析可以将那些子串映射到诸如2014-12-31(155)或12:00:00Z-08:00:00的规范形式。最后,将该意图和实体作为输入,可选地更新内部对话状态或者与数据库交互并产生作为输出170的响应的函数被调用。仍然参考图1,响应于示例日历请求126,功能调用接收显示用户日历上指定日期的事项的结果,并且向用户讲出“Youhave two meetings tomorrow.The first is'Review Budget'at 9:00a.m.(明天你有两个会议。第一个是早上9点的“检查预算”)”的输出。在生成这样的作为输出的响应之后,如果用户对应用说出附加的话语,则循环可以根据需要重复进行。应当理解,诸如意图检测和实体提取/解析之类的处理可以如本文所描述的那样相对于彼此分离地、联合地、并行地或顺序地进行。
根据一个示例,可以使用结果排名模块(下文参考图2描述)对来自所接收请求的结果进行排名。在这种情况下,排名较高的结果可以作为响应被提供,或者所有结果可以以某种类型的适当顺序作为响应被传递。在图1所示的示例中,所找到的最早电影的导演165作为结果被提供,但是类似地,最新电影的导演或者这两部电影的导演能够按照从最旧到最新的顺序作为结果被提供,等等。作为另一个示例,如果针对出租车位置服务提出的问题找到了两个结果,则指示最接近用户当前位置的出租车服务的结果可以作为第一结果被返回,随后是下一个最接近的服务,等等。
为了向对话***添加将对口语话语作出响应的新功能,提供了意图检测模型、实体提取模型和实体解析模型的有所改进的开发和实施方式。如上文简要描述的,如果应用提供方提供了新的功能,例如允许用户通过向该用户的手持计算设备(例如,移动电话)说出话语来预定出租车服务的功能,则需要开发适当的语言理解模型从而允许该新服务的提供方尽快使得所提供的服务上线。例如,对于要添加到对话***的新功能,可能需要一种或多种新的意图检测模型从而允许该对话***从针对新提供功能的口头话语确定用户意图。此外,可能需要一种或多种新的实体提取模型和实体解析模型,这是因为虽然如时间、日期和位置的某些实体类型可能是通用的,但是许多实体类型是特定于域的,例如指向具体房间、建筑物或其它设施中位置、或者“物联网”域、饮食记录域中的食物类型、健身域中的练习类型等的实体。也就是说,对于具有相关联的用户意图和实体的任何域而言,可能需要新的意图检测模型以及新的实体检测和解析模型。
例如,可以提供新的健身监测功能,并且可以针对该健身监测功能说出各种类型的练习,其是现有意图检测和实体提取模型将无法理解的新练习。因此,根据示例,快速构建新的意图和实体提取/解析模型在向对话***添加新功能时是有利的步骤,这使得从口头话语所转换的单词可以被映射到函数调用(例如,API),该函数调用则可以被传递至新功能而使得该新功能将理解所接收到的单词和用户意图,从而可以根据需要来执行该新功能中的功能。
如下文将进一步详细描述的,示例涉及通过交互式学习的过程而生成新的用户意图检测模型和实体提取/解析模型。通过交互式学习,非常大的数据集可以被加载到下文所描述的开发工具中,以开始隔离并标记可被用于开发用于从所接收到的单词确定用户意图的意图模型的单词的处理,以及隔离可以被用于开发用于从口头话语中隔离出将被接收功能实施以动作的实体提取/解析模型的实体。例如,如上所述,必须对诸如“turn on theoutside lights(打开外面的灯)”的短语进行处理而使得“turn on(打开)”的用户意图被隔离,并且使得诸如“outside lights(外面的灯)”之类的实体被隔离,从而允许负责开启照明***的功能理解开启一组灯的命令,并且理解目标灯是“outside lights(外面的灯)”。
在构建这样的用于开发意图和实体提取/解析模型的交互式学习***时,大量数据被输入到端到端处理流水线之中以用于分析。根据一个示例,这样的输入可以通过从各个用户捕获大量语音输入来接收,或者通过捕获从用户和开发方等那里所捕获的打字-手写输入来接收。例如,可以使用起始短语“find taxi(找出租车)”作为起始的交互式学习短语,其因此暗示含有单词“find(找)”和“taxi(出租车)”的口语话语。一旦这样的单词被识别并隔离,包含该单词的话语(例如,“find taxi(找出租车)”)就可以被标记为特定类别的肯定或否定实例,例如意图的肯定或否定实例。例如,如“Find me a taxi(给我找辆出租车)”、“I want to find a taxi(我想找辆出租车)”或“How do I find a taxi?(我怎么找辆出租车?)”这样的短语可以作为针对***的数据输入的一部分而被接收。这样的短语可以被确定为该类别的肯定实例,但是诸如“Yesterday,I wasn't able to find a taxi(昨天我没能够找到一辆出租车)”(例如,从一个用户发给另一个用户的文本消息所捕获的短语)则可以被确定为该类别的否定实例,因为该实例并不是找出租车,而是描述了过去在找出租车时遇到的困难。因此,对否定实例触发函数调用将是不合适的。
继续当前示例,一旦***具有10、20、30或更多的这样的标签,则可以生成相关联的意图分类模型或实体提取(分类)/解析模型,但是这些模型此时可能是非常弱的。然而,现在可以在大量数据上运行这些模型从而开始交互式学习的过程以将该模型快速改进到运行状态。应当理解,在这种交互式学习过程中,从口语话语中所提取的一些单词或短语可以容易地被确定为该类别的肯定实例(例如,与找出租车相关联的类别),一些单词或短语则可以容易地被确定作为否定实例,但是大量的单词或短语可能处于确定肯定和确定否定之间的中间某处。根据示例以及如下文进一步详细描述的,用于生成意图模型和实体提取/解析模型的大型数据集的分析被明显加速,从而实现了将肯定实例从该数据集中隔离以改善模型的构建。
交互式学习的第二个方面在于,由于所接收到的话语被分析并分类,所以用于开发意图和实体模型的特征可以被编辑以提高正在被生成的模型的性能。针对上述获得出租车服务的域示例,重要特征可能包括单词“find(找)”、单词“me(我)”、单词“taxi(出租车)”、短语“find me(给我找)”、短语“find a taxi(找辆出租车)”等。其它特征可以包括话语的长度或其它指示符,例如可以关于用户现在和将来的位置提供有用信息的用户位置、当日时间、来自用户日历的信息,等等。这样的特征和指示符可以被用于进一步辅助对可能用于构建如本文所描述的意图模型和实体提取/解析模型的肯定单词或短语的标记。
如应当意识到的,隔离和标记用于开发意图模型的单词或短语类似于可用于开发实体提取/解析模型的单词和短语的隔离。例如,为了针对上述示例开发实体提取模型,诸如taxi(出租车)、cab(出租汽车)、car(车)、SUV(运动型多功能车)、vehicle(车辆)、transporter(运输车)等的单词可以被隔离并标记为在实体提取模型中使用的肯定实体,以在用于提供出租车服务的功能的语言理解模型中使用。
在实体解析方面,一旦实体提取模型的单词和短语被隔离并且被肯定标记,就可以利用映射过程来开发实体解析模型。例如,诸如“cab(出租汽车)”、“taxi(出租车)”、“car(车)”这样的单词的映射可以被映射到可用于出租车服务的特定类型的轿车的规范ID,而诸如“limousine(豪华轿车)”或“limo(豪华轿车)”的单词则可以被映射到不同车辆类型的不同规范标识。
图2是根据示例的用于构建和启用特定于域的语言理解模型的***或设备200的简化框图。根据示例,用于有所改进的语言理解的语言理解设备或***205包括多个组件,它们操作以接收键入或口头语言输入,并且开发意图检测模型、实体提取模型和实体解析模型,以结合如本文所描述的用于从所接收到的口头话语开发函数调用的其它组件一起使用,该函数调用可以被传递至应用以执行所期望的功能。
参考图2,***205包括所接收语言的数据库210,其可以用于开发意图检测模型、实体提取模型和实体解析模型,以及在成功生成意图和实体提取/解析模型之后用于开发函数调用,从而获得所期望功能的执行。根据实施例,所接收的语言数据库210可以被填充以来自计算设备275的基于文本的查询,该计算设备275在功能上与***205相关联或者通过分布式计算网络而从***205远程操作。此外,如本文所述,一个或多个口头话语可以如通过一个或多个用户经由话音输入设备280(诸如手持计算设备,如移动电话、平板计算设备、可穿戴设备,或者与台式或膝上计算设备相关联的麦克风,或者任意其它适当计算设备)输入的语音所接收那样在被存储在所接收语言数据库210中。
自动语音识别模块215操作以从数据库210接收口头话语,并且将该口头话语转换成基于文本的单词,该单词可用于生成意图和实体提取/解析模型以及用于开发函数调用,该函数调用可以在后续被传递至所期望的应用。应当理解,当接收到数据库210的语言是经由键入-手写语言源所接收的基于文本的语言时,如上所述,这样的语言可以跳过自动语音识别模块215并且被直接送至流水线206。
流水线处理***206包括意图检测开发模块220、实体提取开发模块225和实体解析开发模块230。如下所述,传递到流水线处理***206的语言可以由意图检测开发模型模块220、实体提取开发模块225和实体解析开发模块230用于隔离地或者在整合的端到端迭代处理中生成作为结果的意图检测模型221、实体提取模型226和实体解析模型231并且随后提高它们的性能,直至确定模型以得到充分训练可用于从随后接收的语言输入构建函数调用。以下进一步详细描述用于生成和教导这些模型的交互式学习过程。
函数调用模块235是操作以接收经由意图检测模型221从接收到的口头话语所确定的用户意图,并且从实体提取模型226和实体解析模型231接收所提取和解析(如果有必要)的实体的模块。然后,函数调用模块235进一步操作以从所接收的用户意图和所提取和/或解析的实体开发函数调用,以最终传递到应用265从而执行所期望的功能,如本文所述。应用265是口头话语被指向它以执行所期望功能的任意应用。如本文所述,应用265使用经由函数调用所接收的意图和实体作为执行指令。
如上文参考图1所述,在给定的函数调用160被传递给应用之后,通常可能返回多个结果作为执行该函数调用的结果。例如,参考结果165,从相同的函数调用返回两个结果。例如,从问题“Who directed Annie?(谁导演了Annie)”,电影“Annie”的两个不同版本的导演被返回。如上参考图1所述,结果排名器模块245操作以对来自函数调用的各种结果进行排名。
仍然参考图2,***205可以作为用于生成意图以及实体提取和解析模型的独立计算***或设备进行操作。因此,该***/设备可以接收针对所接收语言数据库的输入,并且***/设备205可以以函数调用的形式将输出传递给接收的应用。当***/设备205作为独立计算***或设备操作时,处理器255和存储器260将被用来提供***/设备205用于执行本文所描述功能所需的计算能力。以下关于图11-13提供这样的计算组件的详细讨论。
备选地,***/设备205可以作为经由互联网或其它分布式计算网络290从远程计算设备或***285对其进行访问的基于云或基于远程的语言理解***来操作。如以下所图示和描述的,根据任一方面,用户与设备或***205的交互可以通过一个或多个用户界面如经由***或设备205在本地计算设备上提供的基于web的用户界面或本地用户界面来执行。
根据示例,一旦模型221、226、231被开发,它们就可以相对于彼此独立工作,或者它们可以为了附加的交互式学习和改进而被链接在一起(如图2所示)(即,当它们在生产中工作时)。例如,可以输入诸如“I need a ride to the airport(我需要到机场的车)”的话语,随后开发方能够利用模型来处理该话语,以查看流水线中的每个步骤将要完成什么。也就是说,如果有必要,开发方可以检查哪些用户意图将被确定、哪个或哪些实体将被提取、以及哪些所提取的实体将被解析为规范参考。如果***在该处理流水线中的某个地方做出错误的决定,则开发方可以纠正该错误,随后流水线的所有后续阶段都基于作为改进输入的更正后的当前决策重新运行。因此,可以输入话语,并且可以运行处理流水线206,而且开发方能够看到***在答案被标记以供生产使用之前的结束时所产生的答案。
如果开发方决定该答案对于所接收到的话语是正确的,则她可以接受该答案为正确的并且它将被标记以用于意图模型221、实体提取模型226和/或实体解析模型231。在另一方面,如果答案不正确,那么开发方可以在流水线中她认为适合的任何点做出改变,随后能够重新运行该过程,而使得该过程和正在开发的模型221、226、231可以交互式改进。
该过程和***的一项很大的好处是在该流水线运行时,能够有许多模型(数十个、数百个以及更多)被开发和训练,因为对于给定话语或话语集合,存在许多不同的意图检测和实体提取模型221、226,并且其均可以具有其自己的实体解析模型231。开发方的很大的好处则在于,当她运行并检查整个流水线206并且为正确答案保存标签时,她就是在以更快的速度开发和训练模型。因此,与现有***相比,设备/***205是被大幅改进且明显更加有效的***,因为处理和存储器的需求以及开发方的时间消耗都大大降低。例如,开发方可能有20种不同意图的起始分类,诸如“Reserve a taxi(预约出租车)”、“Reserve taxi fromcurrent location(从当前位置预约出租车)”、“Reserve black car(预约黑色的车)”,等等。对于这种不同分类可能有20个不同的意图,如下所述为了让开发方知道她是否选择了正确的意图,她只需要通过***用户界面来查看答案,从而得知针对***的更正是否是需要的。
如上所述,示例包括能够使开发方能够快速地并且在没有专门的机器学习知识的情况下构建所有三个模型221、226、231的方法和工具(***和设备)。更具体地,存在单一模型方法/工具,其使得开发方能够单独地构建上述三个模型中的每一个,并且存在流水线方法/工具,其使得开发方能够同时查看并改进流水线中的所有模型。也就是说,示例包括用于“教导”对话***如何回答新类型的问题的方法/工具。以下是对这三种模式的开发的讨论。出于讨论的目的,考虑以下三个示例问题类型:
示例1:
用户输入:What’s on my calendar tomorrow?(明天我的日历上有什么?)
***解析:Intent=ReadCalendar
Entity.RelativeDateText=“tomorrow”
Entity.RelativeDate=+1
函数调用:Calendar.ReadCalendar(RelativeDate=+1)
计算机响应:You have one appointment tomorrow,at 11 AM,with Frank,titled“Review status report”(你明天上午11点有与Frank的约会,名称是“检查状态报告”)
示例2:
用户输入:Who directed The Matrix?(谁导演了Matrix)
***解析:Intent=WhoDirected,Entity.MovieName=”The Matrix”,
Entity.MovieID=Movie249182
函数调用:Movies.WhoDirected(MovieID=Movie249182)
计算机响应:Andy Wachowski and Lana Wachowski directed The Matrix(AndyWachowski和Lana Wachowski导演了Matrix)
示例3:
用户输入:I’m starting my next rep–160pounds bench press(我正开始我的下一项-160磅的卧推)
***解析:Intent=StartExercise,Entity.ExerciseType=”bench press”
Entity.Weight=”160pounds”
Function call:FitnessTracker.StartExercise(ExerciseType=”benchpress”,
Weight=”160pounds”)
计算机响应:Roger that–benching 160pounds,starting now(知道了-卧推160磅,现在开始)
如上所述,在有效开发用于将这样的用户输入转换为可以被标记为可被接收应用所理解的用户意图和实体的单词的模型中存在困难。这之所以困难是因为自然人类语言的变异性和模糊性。例如,如“Who directed<MOVIE>?(谁导演了<电影>?)”的问题可能被表达为“Who was the director of<MOVIE>?(谁是<电影>的导演)”或“<MOVIE>directorplease(<电影>的导演)”。诸如“look for the word director(寻找单词导演)”的书写规则是不够的。例如,该示例规则将被“What movies are by the director<DIRECTOR>?(哪些电影是由导演<导演>所导演的)”错误触发,原因在于所产生的函数调用可能会返回电影标题而不是导演姓名。因此,本文所描述的模型221、226、231基于对数据进行训练的统计模型而开发,并且这些模型识别从话语所导出的意图和实体而且可以应对自然语言的变异性。
根据一个方面,期望开发模型以处理新的类型的问题的开发方以针对他们希望他们的对话***回答新的类型的问题(如“Who directed<MOVIE>?(谁导演了<电影>?)”)的想法开始该过程。
如上所述,为了回答新问题,开发方需要创建以下三种类型的模型:
1)针对该问题类型的意图检测器模型221。例如,在建立“WhoDirected(谁导演)”的意图时,该检测器应该触发一个像“Who was the director of 2001?(谁是2001的导演?)”的问题,而不是像“What movies are by the director Stanley Kubrick?(哪些电影是导演Stanley Kubrick所导演的)”这样的问题。
2)实体提取模型226(零个或更多)。实体提取器模型标识包含某种类型实体的字符串的区域。例如,电影的实体提取器会在字符串“Who was the director of 2001?(谁是2001的导演?)”中选择字符串“2001”。人名的实体提取器不会从此输入中提取任何字符串。
3)实体解析模型231(零个或更多)。某些类型的实体仅作为字符串存在,例如会议主题或文本消息的内容。然而,许多实体则需要被解析为规范形式,例如,针对月中某日的整数;电影数据库中的ID;或者机场的三字母代码。对于这些类型的实体,实体解析模型231从如MovieText=“2001”的所提取实体字符串到如MovieID=726351的ID或者DayOfMonthText-“third”到DayOfMonthInt=3的映射。这是利用实体解析模型来完成。
对数据训练所有这些模型。在部署新功能之前,该数据可能来自两个来源。首先,在大型对话***中,可能有数百万个来自真实用户的可用话语。由于用户并不了解***的限制,所以有些用户会表达出尚未被实施的意图。这样的话语能够被用于训练模型。第二个数据源是新功能的开发方所提供的示例。例如,用于提供出租车服务功能的开发方可以向***提供如“Can you get me a taxi?(你可以给我安排辆出租车吗)”的话语。这些示例将是有效的(因为开发方理解它们的域),但是可能由于难以想象在***操作时其它人会如何表达意图而是不完整的。在新功能部署之后,真实的使用示例将会被观察并且能够用作训练数据来改进该方法。
如以上简要描述的,根据示例,可以使用单一模型方法/工具来执行模型221、226和231的开发,这使得开发人员能够隔离地构建上述三个模型中的每一个,并且使用使得开发方能够同时查看和改进流水线中的所有模型的流水线方法/工具。以下是对构建这三种模式的两种方法的讨论。
单一模型工具被用于评估或改进用于意图检测、实体提取或实体解析的个体模型。这些都是检查话语的特征(诸如存在哪些单词或短语、话语的长度、或者诸如用户的位置的其它特征)的统计模型。这些模型对意图的肯定和否定的已标签的示例进行训练。根据示例,在数百万个话语的语料库中,非常小的一部分将是肯定的。例如,有0.1%的话语可能处于“Who directed<MOVIE>(谁导演了<电影>)”的类别之中。
为了应对这个挑战,可以采用交互式学习方法。根据一个方面,交互式学习是一种迭代过程。作为开始,手动输入几个“种子”示例的肯定和否定示例。这些种子查询来自开发方,并且可以使用自动释义和/或翻译方法进行扩展。种子标签被用来构建模型,并且随后该模型被用来从大型语料库中选择哪些未标记示例要进行标记。新标签被用来重新训练该模型,并且重复该过程。不同于随机选择新的话语进行标记,该模型可以识别出最引起混淆的话语。这大大减少了所要标记的话语数量,从而减少了构建模型所需的时间。因此,大幅提高了***/装置205的效率,并且大幅降低了处理时间和存储器消耗。
除了选择要标记的实例之外,进行中的模型还可以自动为新实例提出标签。这样可以节省更多的时间,因为许多预测都将是正确的,从而开发方只需要更正模型错误。进行中的模型提出标签的另一个好处是它向开发方给出了当前模型的性能指示。
现在参考图3,根据一个示例,使用交互式分类和提取(ICE)***来辅助意图检测模型221、实体提取模型226和实体解析模型231的自动开发。在图3中图示出了用户界面300,开发方可以利用该界面与ICE***进行交互。名称字段310允许输入模型。图3所示的示例涉及到针对如图1所示的意图“turn on(打开)”而开发用户意图检测模型221。描述字段320允许输入对将会感兴趣的各种话语中包含的短语的类型的描述,并且微调字段215允许开发方调整检查范围。在内容字段330中,提供了响应于描述而在各种话语中找到的短语和单词。
现在参考图4,作为在对话***中应用交互式学习来构建语言理解模型的测试,考虑以下测试示例。出于测试的目的,分析了从用户所接收的被输入到对话***的2500万个原始话语。对于键入的话语,日志包含所输入文本,而对于口头话语,日志则包含(并且可能是错误的)自动语音识别器215的输出。可能包含个人或识别信息的话语已被排除。
随后采用ICE***来如下构建电影域中的三个意图检测器221、405:
1)Moviesdirectedby(所导演的电影):用户请求找出所命名的人执导的所有电影,例如“What movies did Stanley Kubrick direct?(Stanley Kubrick导演了哪些电影?)”;
2)Whodirected(谁导演了):用户请求所命名电影的导演的姓名,例如“Whodirected The Matrix?(谁导演了Matrix)”;
3)Movieruntime(电影运行时间):用户请求所命名电影的持续时间,例如“Howlong is Gone with the Wind?(随风而散有多长时间)”。
在测试期间,开发人员加入了许多一般的n-gram功能,如“director(导演)”、“movie(电影)”和“who directed(谁导演了)”这样的具体n-gram,还有包含流行电影标题数据库中的所有电影名称的类。图4中图示了所耗费的工作量410(以分钟为单位)以及所产生的意图标签415的数量。例如,对于Movieruntime(电影运行时间)意图模型,标记600个话语需要90分钟。
参考图5,图形510示出了每个话语的临界时间急剧下降,其中前100个话语需要28分钟而最后100个话语则需要9分钟。这说明了交互式学习的好处。也就是说,在标记项目的过程的早期,开发方正在手动搜索要标记的话语,而模型则无法建议标签,这导致需要更多的特征工程。另一方面,对于标记项目的过程的后期,该模型能够被用于选择要标记的话语并且能够提出准确的标签。因此,特征是稳定的从而需要很少的特征工程。图形520示出了与跨连续更大数量的话语来标记大量数量话语相关联的累积时间。
继续该测试示例的讨论,所有三个意图检测器的性能接下来对留存数据执行。为了评估模型的精度,模型对随机排名的未知话语来运行。前150个得分高于阈值的话语被手工标记。针对三个意图模型得出了范围从81%到93%的精度。留存测试集合排除了出现在训练集合中的话语,而在实际部署中,训练集合中的话语可能会再次出现。因此,这些是可能低估性能的保守估计。
手动检查Movieruntime(电影运行时间)意图模型的假阳性。错误的主要原因是n-gram“how long is(多长时间)”指代许多类型的查询,并且英文中的许多单词都是电影的标题,这使得一些实例难以进行分类。例如,在话语“How long is Burger King open(Burger King开多长时间)”的话语中,“Burger”和“King”这两个单词都在电影标题中被发现,但是“Burger King”在这种情况下却与电影无关。如下所述处理这种假阳性结果是使用第二种方法/工具时所要考虑的,其中可以在端到端操作中被在线更正。
根据示例,在初步的个体模型已经被创建之后,如下所述开发方可以使用端到端流水线工具来教导和改进模型的性能。标签和更正的端到端交互允许开发方按照它们将被用户所体验的方式查看和调试交互。也就是说,开发方可以基于对用户的响应来决定流水线中多个阶段的中间标签。流水线206允许针对话语所完成的端到端处理的可视化。如果开发方看到流水线中的任何错误,开发方就能够纠正任何处理阶段的输出,并且流水线的剩余部分立即使用这些更正作为修正输入重新运行。一旦整个流水线都被检查并且在流水线末端输出了正确的答案,开发方就可以保存标签,这存储该流水线的每个组件的标签。
如同利用针对个体模型的工具,话语能够来自于两个来源。首先,开发人员可以手动输入话语。当感兴趣的话语(尚且)没有出现在日志210中时,这是有用的。其次,话语能够从日志中采样,例如来自给定的感兴趣对话***的所有话语。这示出了流水线将如何对真实话语作出响应。该采样可以是随机的或者可以基于上文参照图3所描述的交互式学习。例如,通过对流水线针对其产生高置信度响应的话语进行采样,开发方可以检查假阳性。或者,通过对流水线高度不确定的话语进行采样,开发方可以提供标签以减少模型的不确定性。
图6中图示了用于与端到端流水线***206进行交互的用户界面600。在左上方,开发方将话语键入查询字段605。该话语随后被所有可用意图检测器(根据当前的电影领域示例为三个)进行评分(参见字段610中的分数),并且意图模型在字段610中被选择。随后,***206使用相对应的实体模型226执行实体识别,并且结果被显示在字段625中。从字段625可以看出,实体从所输入查询中提取并且与之相关联。参考字段630,实体解析模型提供了“in five days(五天后)”到规范表示形式2014-08-25的规范转换。随后在字段615中生成并显示函数调用。如果该函数调用被运行,则生成响应并且在字段620中显示响应。如果所生成的标签产生正确响应,则开发方可以保存标签640,或者如果该标签并未产生正确响应,则开发方可以对意图或实体进行更正(例如,选择***所提供的不同意图和实体),并且使得***206利用更正后的输入重新运行以重新训练模型645。如果开发方对给定话语的给定标签和响应满意,则可以将标签提交到ICE***650。
端到端***206的关键好处在于其在标记速度方面产生了大幅加速。这就是说,开发方所检查/标记的每个话语都会针对所有组件模型产生标签,其中为所有所选择意图和实体自动选择“肯定”标签,并且为所有未被选择的意图和实体自动选择“否定”标签。因此,标记单个话语能够产生10个或甚至100个标签,并且标记单个话语经常非常快速地完成,这是因为开发方在流水线尾端被显示以答案,这允许在无需检查整个流水线的内容的情况下做出有关整个流水线是否处于正确配置的决策。例如,假设“Who directed Star Wars?(谁导演了Star Wars)”从日志210被采样。该模型将此解答为“George Lucas”,开发方立即知道确实如此,因此开发方点击“Correct(正确)”并继续下一个话语。在这种情况下,标记该话语所需的时间是3秒。现在,考虑到产生该答案的流水线206包含30个模型(10个意图检测模型221,10个实体提取模型226,以及10个实体解析模型231)。开发方的行动针对所有模型产生标签。因此,开发方在3秒内提供了30个标签,每0.1秒1个标签。如果模型在不使用端到端流水线处理***206的情况下被单独标记,则这种速度是不可能的。端到端流水线的另一个好处在于,开发方被展现以实际用户体验而不是中间处理。这有助于发现在单独利用模型工作时无法检测到的***缺陷。
考虑以下测试示例。在该测试中,执行分析以确定是否可能使用端对端***/工具206来改进单个意图模型。使用具有以下2个意图的工作日历对话***:Readfromcal和Writetocal。如上参考图3所述(并不在端到端工具中),在ICE工具中开发了新的二进制意图检测器Deletefromcal。如图7所示,开发方在60分钟内标记了470个实例。在使用决策阈值0.5的300万个留存话语的测试集上,该模型检索到114个话语,其中的88%是正确的,其精度为88%。接下来,开发方使用了具有三个意图检测模型Readfromcal、Writetocal和Deletefromcal以及两个实体提取模型的端到端***/工具206。开发方在30分钟内检查了33个话语,并且所收集到的标签被用来更新所有意图和实体模型(包括Deletefromcal意图模型)。Deletefromcal的更新模型在与上述基线模型所使用的相的数据上运行,并且阈值被调节而使得其达到与隔离开发的基线模型相同的精度(88%)。以该精度,新模型检索到134个句子,这与基线模型相比增加了18%,这在使用McNemar测试的p=0.004时具有统计学意义。该测试分析显示,模型的召回的固定精度有所增加,这进而意味着F量度有所增大。
图8图示了用于允许用户与图2所示的***和设备进行交互以训练和/或改善该***或设备的输出的支持计算机的用户界面。参考图8,图示了对开发方有用的附加输出。在用户界面800中,在字段810中提供了来自所使用数据源的原始结果(多行)的可排序列表。在字段815中,图示了可以被选择以在响应于函数调用所生成的响应中使用的自然语言模板的列表。开发方可以使用函数820在线添加新的模板。在字段830中,图示了被填充以由函数调用和应用执行所产生的适当术语的自然语言响应。因此,通过该用户界面,开发方可以通过针对所选择的意图和实体模型选择并保存某些响应模板来训练该***的输出。
如上参考图2所述,语言理解***205可以作为独立***操作,或者可以作为可以由开发方经由诸如互联网的分布式计算***进行访问的基于云的***来操作。现在参考图9,图示并描述了用于语言理解***205的基于云的平台900。根据示例,提供了用于表示与现有语音命令定义(VCD)文件相兼容的语言理解任务的简单模式940。VCD运行时环境可以被扩展以处理如上所述的ICE模型。经由互联网290、915或者诸如内联网之类的其它分布式计算环境,第三方访问940能够经由基于Web的接口而被ICE工具启用。在基于云的实施方式中,云服务930被建立并且所开发的意图、实体提取和/或解析模型在其中运行。话语日志/存储210、905被保存在基于云的***。如以上所描述的经由基于Web的界面而由远程开发方运行模型并且针对模型执行交互式学习。在ICE工具中,话语能够被理解更正。可以从通用话音输入日志210、905定期输入910话语。在ICE工具中,可以添加用户界面以用于接收针对来自不同计算***和开发方的包含多个模型的话语的标签。
上文已经关于图1至9作为示例描述了示例性操作环境。图10是图示根据示例的用于生成语言理解模型的方法的流程图。方法1000从开始操作1005开始并且进行到操作1010,其中未标记数据的语料库作为键入-手写数据或话音而被收集,并且如上文参考图2和9所述被存储在数据库210、905中。
在操作1015,意图模块220、实体提取模块225和实体解析模块230被用于构建一个或多个意图模型221、实体提取模型226和实体解析模型231,以针对该模型开始交互式学习的过程以最终用于生成函数调用从而传递到接收应用。在该操作中,每个模型可以利用有关从所接收输入提取的初始标记单词或短语的初始建模而被单独构建。备选地,该模型可以使用端到端流水线处理206而被一起构建。
在操作1020,模型221、226、231经过如上所述的端到端交互式学习过程206,以迭代且交互式地改进每个所生成模型的操作性能。在操作1025,如上文所述参考图2和6所述,第一个感兴趣话语按照要求相对于意图检测模型、实体提取模型和实体解析模型中的每一个进行测试,以开始该交互式学习过程。
根据一个方面,选择感兴趣的话语可以是模型的开发方选择以开始该过程的任何话语。例如,一种感兴趣的话语可能是在数据库(日志)210、905所接收的来自真实人物的话语,其之前并未被生成过标签或者在它们当前操作性能状态下并未针对其从模型预计标签。可以将话语视为感兴趣话语的另一个原因可能包括已知其在目前未被标记,但是已知会与期望在不久的将来添加到对话***的功能相关联的话语。应当理解,用作针对正在开发的模型221、226、231的交互式学习过程的一部分的感兴趣话语可以根据生成模型的开发方所期望的各种原因来选择。
在操作1030,如上所述,由处理流水线206对第一个输入的感兴趣话语进行处理,并且处理结果可以跟据用户界面600被提供给开发方。在操作1035,响应于针对所输入的感兴趣话语的处理输出,开发方可以做出更正。
在操作1040,在进行了用于处理错误的更正之后,针对从所输入的感兴趣话语中提取的实体的标签被生成,并且针对所确定的用户意图以及针对从经处理的感兴趣话语所确定的实体而被保存。例如,返回参考图1,针对话语“turn on the outside lights(打开外面的灯)”,针对意图检测模型221,可以为该话语保存标签“turn on(打开)”140,并且针对从短语所提取的实体则可以保持实体“outside lights(外面的灯)”145。如上所述,操作1025至1045之间的过程可以随后续感兴趣话语迭代地重复进行,直到所生成的意图检测模块221、实体提取模块226和实体解析模块231达到统计上可接受的操作性能。
在操作1050,所生成并交互式改进的模型221、226、231可以被放置到生产1055中,并且当生产数据被模型221、226、231所接收并处理时,所接收的数据可以返回通过操作1025至1040,以进一步教导模型221、226、231从而继续改善其性能。一旦模型221、226、231以在统计上可接受的性能水平执行,则来自每个模型的输出就可以被用于构建函数调用,以传递给应用从而执行如本文所述的所期望功能。方法1000在操作1095结束。
虽然已经在结合在计算机上的操作***上运行的应用一起执行的程序模块的总体环境中描述了示例,但是本领域技术人员将认识到,该示例还可以结合其它程序模块来实施。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。
本文所描述的实施例和功能可以经由多种计算***进行操作,包括但并不局限于台式计算机***、有线和无线计算***、移动计算***(如移动电话、上网本、图形输入板或平板型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器***、基于微处理器,或者可编程消费电子产品、小型计算机和大型计算机。
此外,本文所描述的方面和功能可以在分布式***(例如,基于云的计算***)上进行操作,其中应用功能、存储器、数据存储和检索,以及各种处理功能可以通过诸如互联网或内联网之类的分布式计算网络彼此远程操作。各种类型的用户界面和信息可以经由板载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元被显示。例如,各种类型的用户界面和信可以在各种类型的用户界面和信息被投射于其上的墙壁表面上进行显示和交互。与本发明实施例可以利用其进行实践的许多计算***的交互包括键击输入、触摸屏输入、语音或其它音频输入、手势输入(其中相关联的计算设备配备有用于捕获和解释用于控制计算设备的功能的用户手势的检测(如相机)功能),等等。
图11-13以及相关联的描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而,关于11-13所图示和讨论的设备和***是用于示例和说明的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。
图11是图示可以利用其来实践多个示例的计算设备205、1100的物理组件(即,硬件)的框图。下面描述的计算设备组件可适用于以上参考图1-9所描述的客户端设备或***205、275、280以及***900的计算组件。在基本配置中,计算设备或***205、275、280、900、1100可以包括至少一个处理单元1102、255和***存储器1104、260。取决于计算设备的配置和类型,***存储器1104、260可以包括但并不局限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪存,或者这些存储器的任何组合。***存储器1104可以包括操作***1105和适用于运行各种应用1150的一个或多个程序模块1106。操作***1105例如可适用于控制计算设备或***205、275、280、900、1100的操作。此外,本发明的实施例可结合图形库、其它操作***或任何其它应用来实践,而并不局限于任何特定应用或***。该基本配置在图11中由虚线1108内的那些组件示出。计算设备或***205、275、280、900、1100可以具有附加特征或功能。例如,计算设备或***205、275、280、900、1100还可以包括诸如例如磁盘、光盘或磁带之类的附加数据存储设备(可移动的和/或不可移动的)。这些附加存储在图11中由可移动存储设备1109和不可移动存储设备1110所示出。
如上所述,在***存储器1104中可以存储多个程序模块(包括语言理解***或设备205以及模块206、220、225、230)和数据文件。在处理单元1102上执行的同时,程序模块1106可以执行包括但并不限于图10中所图示的方法100的一个或多个阶段的过程。可以依据示例所使用的其它程序模块可以包括多个应用,诸如电子邮件和联系人应用、单词处理应用、电子表格应用、数据库应用、幻灯片演示应用或计算机辅助绘图应用等。
此外,示例可以在包括分立电子部件的电子电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路中进行实践,或者在包含电子部件或微处理器的单个芯片上被实践。例如,可以通过片上***(SOC)来实践示例,其中图11中所图示的每个或许多组件可以被集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、***虚拟化单元以及各种应用功能,所有这些都作为单个集成电路被集成到(或“烧录到”)芯片基板上。当通过SOC操作时,在此所述的关于跨多个工作负载提供活动流的功能可以通过在单个集成电路(芯片)上集成有计算设备1100的其它组件的专用逻辑来操作。示例还可使用能够执行例如AND(与)、OR(或)和NOT(非)的逻辑运算的其它技术(包括但不局限于机械、光学、流体和量子技术)来实践。另外,本发明的实施例可在通用计算机或任何其它电路或***中实践。
计算设备或***205、275、280、900、1100还可以具有一个或多个输入设备1112,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可以包括输出设备1114,诸如显示器、扬声器、打印机等。上述设备是作为示例并且可以使用其它设备。计算设备1100可以包括允许与其它计算设备1118进行通信的一个或多个通信连接1116。适当通信连接1116的示例包括但并不局限于RF传送器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。
本文所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构或程序模块等信息的易失性和非易失性、可移动和不可移动介质。***存储器1104、可移动存储设备1109和不可移动存储设备1110都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备,或者可用于存储信息且可以由计算机设备700访问的任何其它制造品。任何这样的计算机存储介质都可以是计算设备或***205、275、280、900、1100的一部分。计算机存储介质不包括载波或其他传播或调制数据信号。
通信媒体可以由计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制的调制数据信号中的其它数据所体现,并且包括任意的信息传递媒体。术语“调制数据信号”可以描述具有以在信号中编码信息的方式所设置或改变的一种或多种特性的信号。作为示例而非限制,通信媒体可以包括诸如有线网络或直接线路连接的有线媒体,以及诸如声音、射频(RF)、红外和其它无线媒体的无线媒体。
图12A和12B图示了可以利用其实施本发明各实施例的移动计算设备280、1200,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图12A,图示了用于实施该方面的移动计算设备280、1200的一个方面。在基本配置中,移动计算设备280、1200是具有输入元件和输出元件两者的手持式计算机。移动计算设备280、1200通常包括显示器1205以及允许用户将信息输入到移动计算设备280、1200中的一个或多个输入按钮1210。移动计算设备280、1200的显示器1205也可充当输入设备(例如,触摸屏显示器)。如果被包括,则可选的辅助输入元件1215允许另外的用户输入。辅助输入元件1215可以是旋转开关、按钮或任意其它类型的手动输入部件。在替代实施例中,移动计算设备280、1200可结合更多或更少的输入元件。例如,在一些实施例中,显示器1205可以不是触摸屏。在又一替代实施例中,移动计算设备280、1200是诸如蜂窝电话之类的便携式电话***。移动计算设备280、1200还可以包括可选的小键盘1235。可选的小键盘1235可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。在各个实施例中,输出部件包括用于显示图形用户界面(GUI)的显示器1205、可视指示器1220(如发光二极管)和/或音频换能器1225(如扬声器)。在一些实施例中,移动计算设备1200结合振动换能器来向用户提供触觉反馈。在又一实施例中,移动计算设备1200结合诸如音频输入(如传声器插孔)、音频输出(如耳机插孔)、以及视频输出(如HDMI端口)之类的输入和/或输出端口,用于将信号发送到外部设备或从外部设备接收信号。
图12B是示出移动计算设备的一个方面的架构的框图。即,移动计算设备280、1200可结合***(即架构)1202来实施一些方面。在一个方面,***1202被实施为能够运行一个或多个应用(如浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏、以及媒体客户端/播放器)的“智能手机”。在一些方面,***1202被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
包括语言理解***205和相关联模块的一个或多个应用1250可以被加载到存储器1262中并在操作***1264上或与操作***1264相关联地运行。应用的示例包括电话拨号应用、电子邮件应用、个人信息管理(PIM)应用、文字处理应用、电子表格应用、因特网浏览器应用、笔记应用、消息收发应用等等。***1202还包括存储器1262内的非易失性存储区1268。非易失性存储区1268可被用于存储在***1202断电的情况下不会丢失的持久信息。应用可使用信息并将信息存储在非易失性存储区1268中,如电子邮件应用使用的电子邮件或其它消息等。同步应用(未示出)也驻留于***1202上且被编程为与驻留在主机计算机上的对应的同步应用交互,以保持非易失性存储区1268中存储的信息与主机计算机处存储的相应信息同步。应当理解的是,其它应用也可被加载到存储器1262并在移动计算设备1200上运行。
***1202具有可被实施为一个或多个电池的电源供应1270。电源供应1270还可以包括外部功率源,诸如对电池进行补充或对电池充电的AC适配器或充电支架。
***1202还可以包括执行发射和接收无线电频率通信的功能的无线电1272。无线电1272经由通信运营商或服务供应商而促成了***1202与“外部世界”之间的无线连接。来往无线电1272的传输是在操作***1264的控制下进行的。换言之,无线电1272接收的通信可通过操作***1264传播到应用120,反之亦然。
可以使用视觉指示符1220来提供视觉通知和/或可以使用音频接口1274来通过音频换能器1225产生可听通知。在所示实施例中,可视指示符1220是发光二极管(LED),而音频换能器1225是扬声器。这些设备可直接耦合到电源1270,使得在被激活时,即使为了节省电池功率而可能关闭处理器1260和其它组件,它们也保留一段由通知机制指示的保持通电时间。LED可被编程为无限地保持通电,直到用户采取动作指示该设备的通电状态。音频接口1274用于向用户提供听觉信号并从用户接收听觉信号。例如,除了被耦合到音频换能器1225之外,音频接口1274还可被耦合到话筒来接收可听输入,例如便于电话通话。根据各本发明的各实施例,话筒也可充当音频传感器来便于对通知的控制,如下文将描述的。***1202可进一步包括允许板载相机1230的操作来记录静止图像、视频流等的视频接口1276。
实施***1202的移动计算设备280、1200可以具有附加特征或功能。例如,移动计算设备280、1200还可以包括附加数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘或磁带。这种附加存储设备在图12B中用非易失性存储区1268示出。
由移动计算设备280、1200所生成或捕获的且经***1202存储的数据/信息可以如上所述被本地存储在移动计算设备1200上,或者数据可被存储在可由设备经由无线电1272或经由移动计算设备1200和关联于移动计算设备1200的分离计算设备之间的有线连接进行访问的任何数量的存储介质上,该计算设备如例如互联网之类的分布式计算网络中的服务器计算机。如所应当理解的,此类数据/信息可经移动计算设备1200、经无线电1272或经分布式计算网络进行访问。类似地,这些数据/信息可以根据已知的数据/信息传送和存储手段来容易地在计算设备之间进行传送以存储和使用,这些手段包括电子邮件和协作数据/信息共享***。
图13图示了用于跨分布式计算环境的组件提供本文所描述的功能的***的架构的一个方面。关联于以上所描述的应用所开发、与之交互或编辑的内容可以存储在不同通信信道或其它存储类型中。例如,各个文档可以使用目录服务1322、web门户1324、邮箱服务1326、即时消息存储1328或社交网络站点1330进行存储。应用/***/设备205(例如,电子通信应用/语言理解***)可以用任意这些类型的***等以如本文所描述的跨多个工作负载提供所描述的功能。服务器1315可以通过网络1310将应用功能提供至客户端1305A-C。作为示例,客户端计算设备可以以个人计算机1305A、平板计算机1305B和/或移动计算设备1305C(例如,智能电话)或者其它计算设备而被实施并体现。客户端计算设备的任何这些方面都可以从存储1316获得。
一种另外的示例包括但并不局限于一种用于提供语言理解的方法,包括:由计算机收集一个或多个未标记话语;由计算机从该一个或多个未标记话语中提取用户意图以及一个或多个语言实体;由计算机基于该用户意图构建用户意图检测模型以在后续话语中响应于该用户意图检测模型找出用户意图;由计算机基于该一个或多个语言实体构建实体提取模型以在后续话语中响应于该实体提取模型找出语言实体;针对该用户意图检测模型和实体提取模型测试附加未标记话语的第一未标记话语;从该用户意图检测模型和实体提取模型接收在附加未标记话语的第一未标记话语中找到的用户意图和语言实体的标记;以及响应于接收到针对在附加未标记话语的第一未标记话语中找到的用户意图和语言实体的标记的更正,基于所接收到的针对用户意图和语言实体的标记的更正处理附加未标记话语的第二未标记话语以提高该用户意图检测模型和实体提取模型的性能。
另一个示例包括但并不局限于一种语言理解***,包括:包括处理器和存储器的一个或多个设备操作组件;该一个或多个操作组件包括语言处理流水线,其操作以收集一个或多个未标记话语;由用户意图模块和实体提取模块从该一个或多个未标记话语中提取用户意图以及一个或多个语言实体;基于该用户意图构建用户意图检测模型以在后续话语中响应于该用户意图检测模型找出用户意图;基于该一个或多个语言实体构建实体提取模型以在后续话语中响应于该实体提取模型找出语言实体;针对该用户意图检测模型和实体提取模型测试附加未标记话语的第一未标记话语;从该用户意图检测模型和实体提取模型接收在该附加未标记话语的第一未标记话语中找到的用户意图和语言实体的标记;并且基于所接收到的针对在附加未标记话语的第一未标记话语中找到的用户意图和语言实体的标记的更正处理附加未标记话语的第二未标记话语以提高该用户意图检测模型和实体提取模型的性能。
以上参考方法、***和计算机程序产品的框图和/或操作图对示例进行了描述。框中的功能/动作可以以与任意流程图中所示的顺序有所不同的顺序进行。例如,根据所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行或者框有时可以以逆序执行。
本申请中提供的一个或多个实施例的描述和说明并非旨在以任何方式限制或约束如权利要求所要求保护的发明范围。本申请中提供的实施例、示例和细节被认为是足以传达所有权并且使得他人能够制作并使用所要求保护的发明的最佳模式。所要求保护的发明不应被理解为限制于本申请中所提供的任何实施例、示例或细节。无论是以组合的方式还是分开的方式示出和描述,各种特征(结构上的和方法逻辑上的)都旨在被选择性地包括或忽略从而产生具有特定的特征集的实施例。在被提供以本申请的描述和说明的情况下,本领域的技术人员能够想象到落在所要求保护发明的更宽泛方面以及本申请中所具体化的一般发明概念的精神以内的替代实施例而并不背离该更为宽泛的范围。
Claims (20)
1.一种用于在计算机上提供语言理解的方法,包括:
接收话语;
由所述计算机彼此隔离地构建两个分离的模型,所述两个分离的模型的所述构建包括:
基于从所接收的所述话语确定的用户意图来构建用户意图检测模型,所述用户意图检测模型用于确定后续话语中的用户意图,其中所述用户意图检测模型经由交互式学习而可更新,以标识与相关联的应用内的功能相关联的未标记用户意图;
基于从所接收的所述话语确定的一个或多个语言实体来构建实体提取模型,所述实体提取模型用于确定所述后续话语中的一个或多个语言实体,其中所述实体提取模型经由交互式学习而可更新,以标识与所述相关联的应用内的功能相关联的未标记语言实体;
自动生成针对从所接收的所述话语确定的所述用户意图和所述一个或多个语言实体的标签;从自动生成的所述标签构建函数调用,以用于调用所述相关联的应用中的函数;其中响应于接收到所述后续话语:
所述用户意图检测模型和所述实体提取模型被应用于所述后续话语,以基于针对所述后续话语的所述自动生成的标签来标识所述函数调用;
所述函数调用被传递到所述相关联的应用,以在所述计算机上执行所述函数;以及
所述函数在所述计算机上由所述相关联的应用执行。
2.根据权利要求1所述的方法,进一步包括存储自动生成的所述标签,以后续用于标记从所述后续话语提取的所述用户意图和所述一个或多个语言实体。
3.根据权利要求1所述的方法,在由所述计算机彼此隔离地构建所述两个分离的模型之前,根据从所接收的所述话语提取的一个或多个单词来确定所述用户意图。
4.根据权利要求3所述的方法,在由所述计算机彼此隔离地构建所述两个分离的模型之前,根据从所接收的所述话语提取的一个或多个单词来确定所述一个或多个语言实体。
5.根据权利要求4所述的方法,进一步包括在从所接收的所述话语提取一个或多个单词之前,将所述话语从语音转换为文本。
6.根据权利要求1所述的方法,进一步包括:
接收针对从所述后续话语确定的所述用户意图和所述一个或多个语言实体中的一者或二者而自动生成的所述标签的更正;以及
基于所接收的对自动生成的所述标签的所述更正,由所述计算机更新所述用户意图检测模型和所述实体提取模型中的一者或二者。
7.根据权利要求6所述的方法,进一步包括:
在基于所接收的对自动生成的所述标签的所述更正而由所述计算机更新所述用户意图检测模型和所述实体提取模型中的一者或二者之后,对所述后续话语再次应用所述用户意图检测模型和所述实体提取模型;以及
自动生成针对从所述后续话语确定的所述用户意图和所述一个或多个语言实体的经更新的标签。
8.根据权利要求6所述的方法,进一步包括:
在基于所接收的对自动生成的所述标签的所述更正而由所述计算机更新所述用户意图检测模型和所述实体提取模型中的一者或二者之后,针对所述用户意图检测模型和所述实体提取模型处理所述后续话语。
9.根据权利要求1所述的方法,进一步包括:在自动生成针对从所述后续话语确定的所述一个或多个语言实体的所述标签之前,将所述一个或多个语言实体中的一个或多个解析为针对所述一个或多个语言实体中的一个或多个语言实体的规范标识。
10.根据权利要求1所述的方法,进一步包括:
其中响应于所述函数调用而从所述相关联的应用接收多个结果,基于所接收的所述结果与针对用于构建所述函数调用的所述用户意图和所述一个或多个语言实体的所述标签的相关性,对从所述相关联的应用接收的所述多个结果进行排名。
11.根据权利要求1所述的方法,其中所接收的所述话语基于停顿和常见词型而被拆分成一个或多个单词。
12.根据权利要求1所述的方法,其中所述一个或多个语言实体中的给定语言实体包括所接收的所述话语已经被拆分成的一个或多个单词的跨度。
13.根据权利要求1所述的方法,其中从所述一个或多个语言实体中的给定语言实体被解析成已知实体的规范形式。
14.一种用于在计算机上提供语言理解的方法,包括:
由所述计算机从一个或多个未标记话语提取用户意图以及一个或多个语言实体;
由所述计算机彼此隔离地构建两个分离的模型,所述两个分离的模型的所述构建包括:
基于从所述一个或多个未标记话语提取的所述用户意图来构建用户意图检测模型,以用于确定后续话语中的用户意图,其中所述用户意图检测模型经由交互式学习而可更新,以标识与相关联的应用内的功能相关联的未标记用户意图;
基于从所述一个或多个未标记话语提取的所述一个或多个语言实体来构建实体提取模型,以用于确定所述后续话语中的语言实体,其中所述实体提取模型经由交互式学习而可更新,以标识与所述相关联的应用内的功能相关联的未标记语言实体;
针对所述用户意图检测模型和所述实体提取模型测试附加未标记话语中的第一未标记话语;
针对根据所述用户意图检测模型和所述实体提取模型的应用而从所述附加未标记话语中的所述第一未标记话语确定的用户意图和一个或多个语言实体,自动生成标签;
生成与期望函数相关联的函数调用,所述期望函数从所述自动生成的标签被标识;以及
将所述函数调用传递到应用,以用于所述期望函数的执行和用于获取一个或多个结果,其中所述期望函数由所述应用执行。
15.根据权利要求14所述的方法,进一步包括存储所述自动生成的标签,以后续用于标记从其它未标记话语提取的用户意图和一个或多个语言实体。
16.根据权利要求14所述的方法,进一步包括:
接收更正,所述更正是对针对从所述附加未标记话语中的所述第一未标记话语中确定的所述用户意图和所述一个或多个语言实体中的一者或二者的所述自动生成的标签的更正;以及
基于所接收的对所述自动生成的标签的所述更正,由所述计算机更新所述用户意图检测模型和所述实体提取模型中的一者或二者。
17.根据权利要求16所述的方法,进一步包括:
在基于所接收到的针对所述自动生成的标签的所述更正而由所述计算机更新所述用户意图检测模型和所述实体提取模型中的一者或二者之后,针对所述用户意图检测模型和所述实体提取模型再次测试所述附加未标记话语中的所述第一未标记话语;以及
针对根据所述用户意图检测模型和所述实体提取模型的应用而从所述附加未标记话语中的所述第一未标记话语确定的所述用户意图以及所述一个或多个语言实体,自动生成经更新的标签,以用于提高所述用户意图检测模型和所述实体提取模型的性能。
18.根据权利要求16所述的方法,进一步包括:
在基于所接收到的对所述自动生成的标签的所述更正而由所述计算机更新所述用户意图检测模型和所述实体提取模型中的一者或二者之后,针对所述用户意图检测模型和所述实体提取模型处理所述附加未标记话语中的第二未标记话语。
19.根据权利要求14所述的方法,在由所述计算机从所述一个或多个未标记话语提取所述用户意图以及所述一个或多个语言实体之前,由所述计算机收集所述一个或多个未标记话语,并且将所述一个或多个未标记话语从语音转换为文本,一个或多个个体单词从所述文本中被提取以用于确定所述用户意图以及所述一个或多个语言实体。
20.一种语言理解***,包括:
一个或多个处理器;以及
存储器,所述存储器耦合到所述一个或多个处理器并且存储指令,所述指令在由所述一个或多个处理器执行时使所述语言理解***:
接收话语;
彼此隔离地构建两个分离的模型,所述两个分离的模型的所述构建包括:
基于从所接收的所述话语确定的用户意图来构建用户意图检测模型,所述用户意图检测模型用于确定后续话语中的用户意图,其中所述用户意图检测模型经由交互式学习而可更新,以标识与应用内的功能相关联的未标记用户意图;
基于从所接收的所述话语确定的一个或多个语言实体来构建实体提取模型,所述实体提取模型用于确定所述后续接收的话语中的一个或多个语言实体,其中所述实体提取模型经由交互式学习而可更新,以标识与所述应用内的功能相关联的未标记语言实体;
其中,响应于接收到所述后续话语,所述用户意图检测模型和所述实体提取模型被应用于所述后续话语,以用于自动生成针对从所述后续话语确定的所述用户意图以及所述一个或多个语言实体的标签,
其中由所述语言理解***生成与期望函数相关联的函数调用,所述期望函数根据从所述后续话语确定的所述用户意图和所述一个或多个语言实体的所述自动生成的标签而被标识,并且
其中所述函数调用被所述语言***传递到运行在计算机上的所述应用,以用于所述期望函数的执行和用于获取一个或多个结果;并且
其中运行在所述计算机上的所述应用执行所述期望函数。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562099480P | 2015-01-03 | 2015-01-03 | |
US62/099,480 | 2015-01-03 | ||
US14/678,315 US10460720B2 (en) | 2015-01-03 | 2015-04-03 | Generation of language understanding systems and methods |
US14/678,315 | 2015-04-03 | ||
PCT/US2015/067549 WO2016109366A1 (en) | 2015-01-03 | 2015-12-28 | Generation of language understanding systems and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107210035A CN107210035A (zh) | 2017-09-26 |
CN107210035B true CN107210035B (zh) | 2020-10-23 |
Family
ID=55299722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580072257.0A Active CN107210035B (zh) | 2015-01-03 | 2015-12-28 | 语言理解***和方法的生成 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10460720B2 (zh) |
EP (1) | EP3241214A1 (zh) |
CN (1) | CN107210035B (zh) |
WO (1) | WO2016109366A1 (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160260029A1 (en) * | 2015-03-06 | 2016-09-08 | Speaktoit, Inc. | Example-driven machine learning scheme for dialog system engines |
US9472196B1 (en) * | 2015-04-22 | 2016-10-18 | Google Inc. | Developer voice actions system |
CN107402912B (zh) * | 2016-05-19 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 解析语义的方法和装置 |
US11244236B2 (en) | 2017-03-31 | 2022-02-08 | International Business Machines Corporation | Entity resolution for the Internet of Things |
US11043206B2 (en) | 2017-05-18 | 2021-06-22 | Aiqudo, Inc. | Systems and methods for crowdsourced actions and commands |
US11520610B2 (en) | 2017-05-18 | 2022-12-06 | Peloton Interactive Inc. | Crowdsourced on-boarding of digital assistant operations |
US11056105B2 (en) * | 2017-05-18 | 2021-07-06 | Aiqudo, Inc | Talk back from actions in applications |
US11340925B2 (en) | 2017-05-18 | 2022-05-24 | Peloton Interactive Inc. | Action recipes for a crowdsourced digital assistant system |
US10917483B2 (en) * | 2017-06-22 | 2021-02-09 | Numberai, Inc. | Automated communication-based intelligence engine |
US9959272B1 (en) * | 2017-07-21 | 2018-05-01 | Memsource a.s. | Automatic classification and translation of written segments |
US10884598B2 (en) * | 2017-09-29 | 2021-01-05 | Oracle International Corporation | Analytics for a bot system |
KR102348124B1 (ko) * | 2017-11-07 | 2022-01-07 | 현대자동차주식회사 | 차량의 기능 추천 장치 및 방법 |
CN107908743B (zh) * | 2017-11-16 | 2021-12-03 | 百度在线网络技术(北京)有限公司 | 人工智能应用构建方法和装置 |
US11270074B2 (en) * | 2018-01-16 | 2022-03-08 | Sony Corporation | Information processing apparatus, information processing system, and information processing method, and program |
US11501111B2 (en) | 2018-04-06 | 2022-11-15 | International Business Machines Corporation | Learning models for entity resolution using active learning |
US10902211B2 (en) * | 2018-04-25 | 2021-01-26 | Samsung Electronics Co., Ltd. | Multi-models that understand natural language phrases |
WO2019216874A1 (en) * | 2018-05-07 | 2019-11-14 | Google Llc | Methods, systems, and apparatus for providing composite graphical assistant interfaces for controlling connected devices |
CN110555096A (zh) * | 2018-06-01 | 2019-12-10 | 深圳狗尾草智能科技有限公司 | 用户意图识别方法、***、终端及介质 |
US11763821B1 (en) * | 2018-06-27 | 2023-09-19 | Cerner Innovation, Inc. | Tool for assisting people with speech disorder |
US11068943B2 (en) | 2018-10-23 | 2021-07-20 | International Business Machines Corporation | Generating collaborative orderings of information pertaining to products to present to target users |
CN111199728A (zh) * | 2018-10-31 | 2020-05-26 | 阿里巴巴集团控股有限公司 | 训练数据获取方法及装置和智能音箱、智能电视 |
US11164562B2 (en) * | 2019-01-10 | 2021-11-02 | International Business Machines Corporation | Entity-level clarification in conversation services |
US11681923B2 (en) * | 2019-04-19 | 2023-06-20 | Samsung Electronics Co., Ltd. | Multi-model structures for classification and intent determination |
CN112017642B (zh) * | 2019-05-31 | 2024-04-26 | 华为技术有限公司 | 语音识别的方法、装置、设备及计算机可读存储介质 |
US11875253B2 (en) * | 2019-06-17 | 2024-01-16 | International Business Machines Corporation | Low-resource entity resolution with transfer learning |
US11301896B2 (en) * | 2019-08-09 | 2022-04-12 | Oracle International Corporation | Integrating third-party analytics with virtual-assistant enabled applications |
US11380306B2 (en) * | 2019-10-31 | 2022-07-05 | International Business Machines Corporation | Iterative intent building utilizing dynamic scheduling of batch utterance expansion methods |
US11043208B1 (en) * | 2020-02-20 | 2021-06-22 | Clinc, Inc. | Systems and methods for mixed setting training for slot filling machine learning tasks in a machine learning task-oriented dialogue system |
CN111400429B (zh) * | 2020-03-09 | 2023-06-30 | 北京奇艺世纪科技有限公司 | 文本条目搜索方法、装置、***及存储介质 |
CN112016297B (zh) * | 2020-08-27 | 2023-03-28 | 深圳壹账通智能科技有限公司 | 意图识别模型测试方法、装置、计算机设备和存储介质 |
US11762871B2 (en) * | 2021-01-29 | 2023-09-19 | Walmart Apollo, Llc | Methods and apparatus for refining a search |
CA3216122A1 (en) * | 2021-04-19 | 2022-10-27 | Skyler GRAMMER | Devices, systems, and methods for intelligent determination of conversational intent |
CN113471049B (zh) | 2021-06-30 | 2022-07-26 | 北京屹唐半导体科技股份有限公司 | 用于处理工件的方法及等离子体刻蚀机、半导体器件 |
CN117668184A (zh) * | 2023-11-30 | 2024-03-08 | 中南大学 | 基于知识跟踪的端到端任务型对话方法、***、终端及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516072B2 (en) * | 2003-10-21 | 2009-04-07 | Johnson Controls Technology Company | System and method for selecting a user speech profile for a device in a vehicle |
US7716056B2 (en) * | 2004-09-27 | 2010-05-11 | Robert Bosch Corporation | Method and system for interactive conversational dialogue for cognitively overloaded device users |
WO2013155319A1 (en) * | 2012-04-13 | 2013-10-17 | Red. Com, Inc. | Video projector system |
US8600013B2 (en) * | 2009-11-10 | 2013-12-03 | International Business Machines Corporation | Real time automatic caller speech profiling |
CN103760984A (zh) * | 2014-01-24 | 2014-04-30 | 成都万先自动化科技有限责任公司 | 人机对话*** |
CN103945044A (zh) * | 2013-01-22 | 2014-07-23 | 中兴通讯股份有限公司 | 一种信息处理方法和移动终端 |
CN104170397A (zh) * | 2012-08-16 | 2014-11-26 | 纽昂斯通讯公司 | 用于娱乐***的用户界面 |
CN104239343A (zh) * | 2013-06-20 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种用户输入信息的处理方法和装置 |
US9070366B1 (en) * | 2012-12-19 | 2015-06-30 | Amazon Technologies, Inc. | Architecture for multi-domain utterance processing |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7152029B2 (en) | 2001-07-18 | 2006-12-19 | At&T Corp. | Spoken language understanding that incorporates prior knowledge into boosting |
US7548847B2 (en) | 2002-05-10 | 2009-06-16 | Microsoft Corporation | System for automatically annotating training data for a natural language understanding system |
US7398209B2 (en) | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7606714B2 (en) | 2003-02-11 | 2009-10-20 | Microsoft Corporation | Natural language classification within an automated response system |
KR100486735B1 (ko) | 2003-02-28 | 2005-05-03 | 삼성전자주식회사 | 최적구획 분류신경망 구성방법과 최적구획 분류신경망을이용한 자동 레이블링방법 및 장치 |
US7280965B1 (en) | 2003-04-04 | 2007-10-09 | At&T Corp. | Systems and methods for monitoring speech data labelers |
US7412383B1 (en) | 2003-04-04 | 2008-08-12 | At&T Corp | Reducing time for annotating speech data to develop a dialog application |
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 |
US20060224579A1 (en) | 2005-03-31 | 2006-10-05 | Microsoft Corporation | Data mining techniques for improving search engine relevance |
US8024195B2 (en) * | 2005-06-27 | 2011-09-20 | Sensory, Inc. | Systems and methods of performing speech recognition using historical information |
US7596498B2 (en) | 2005-09-02 | 2009-09-29 | Microsoft Corporation | Monitoring, mining, and classifying electronically recordable conversations |
JP4755478B2 (ja) | 2005-10-07 | 2011-08-24 | 日本電信電話株式会社 | 応答文生成装置、応答文生成方法、そのプログラムおよび記憶媒体 |
US8321220B1 (en) | 2005-11-30 | 2012-11-27 | At&T Intellectual Property Ii, L.P. | System and method of semi-supervised learning for spoken language understanding using semantic role labeling |
GB2433150B (en) | 2005-12-08 | 2009-10-07 | Toshiba Res Europ Ltd | Method and apparatus for labelling speech |
US7844457B2 (en) | 2007-02-20 | 2010-11-30 | Microsoft Corporation | Unsupervised labeling of sentence level accent |
US20080249764A1 (en) | 2007-03-01 | 2008-10-09 | Microsoft Corporation | Smart Sentiment Classifier for Product Reviews |
US8010471B2 (en) | 2007-07-13 | 2011-08-30 | Microsoft Corporation | Multiple-instance pruning for learning efficient cascade detectors |
US7987188B2 (en) | 2007-08-23 | 2011-07-26 | Google Inc. | Domain-specific sentiment classification |
US8050929B2 (en) | 2007-08-24 | 2011-11-01 | Robert Bosch Gmbh | Method and system of optimal selection strategy for statistical classifications in dialog systems |
US7996214B2 (en) | 2007-11-01 | 2011-08-09 | At&T Intellectual Property I, L.P. | System and method of exploiting prosodic features for dialog act tagging in a discriminative modeling framework |
US8086549B2 (en) | 2007-11-09 | 2011-12-27 | Microsoft Corporation | Multi-label active learning |
US7958068B2 (en) | 2007-12-12 | 2011-06-07 | International Business Machines Corporation | Method and apparatus for model-shared subspace boosting for multi-label classification |
CN101178705A (zh) | 2007-12-13 | 2008-05-14 | 中国电信股份有限公司 | 一种自然语言理解方法和人机交互智能*** |
US8239189B2 (en) | 2008-02-26 | 2012-08-07 | Siemens Enterprise Communications Gmbh & Co. Kg | Method and system for estimating a sentiment for an entity |
US9129008B1 (en) | 2008-11-10 | 2015-09-08 | Google Inc. | Sentiment-based classification of media content |
CN101488342A (zh) | 2008-12-31 | 2009-07-22 | 广东协联科贸发展有限公司 | 人机语言交互演绎***及人机语言交互需求应答的智能化实现方法 |
CN101566998B (zh) | 2009-05-26 | 2011-12-28 | 华中师范大学 | 一种基于神经网络的中文问答*** |
US20110106807A1 (en) | 2009-10-30 | 2011-05-05 | Janya, Inc | Systems and methods for information integration through context-based entity disambiguation |
US8412530B2 (en) | 2010-02-21 | 2013-04-02 | Nice Systems Ltd. | Method and apparatus for detection of sentiment in automated transcriptions |
US8595153B2 (en) | 2010-06-09 | 2013-11-26 | Microsoft Corporation | Exploring data using multiple machine-learning models |
US8589317B2 (en) | 2010-12-16 | 2013-11-19 | Microsoft Corporation | Human-assisted training of automated classifiers |
CN102637433B (zh) | 2011-02-09 | 2015-11-25 | 富士通株式会社 | 识别语音信号中所承载的情感状态的方法和*** |
US8554701B1 (en) | 2011-03-18 | 2013-10-08 | Amazon Technologies, Inc. | Determining sentiment of sentences from customer reviews |
US20120253792A1 (en) | 2011-03-30 | 2012-10-04 | Nec Laboratories America, Inc. | Sentiment Classification Based on Supervised Latent N-Gram Analysis |
US9104655B2 (en) | 2011-10-03 | 2015-08-11 | Aol Inc. | Systems and methods for performing contextual classification using supervised and unsupervised training |
CN102411611B (zh) | 2011-10-15 | 2013-01-02 | 西安交通大学 | 一种面向即时交互文本的事件识别与跟踪方法 |
US9158761B2 (en) | 2012-03-28 | 2015-10-13 | Lockheed Martin Corporation | Identifying cultural background from text |
EP2839391A4 (en) | 2012-04-20 | 2016-01-27 | Maluuba Inc | CONVERSATION AGENT |
CN102968409B (zh) | 2012-11-23 | 2015-09-09 | 海信集团有限公司 | 智能人机交互语义分析方法及交互*** |
CN103943110A (zh) * | 2013-01-21 | 2014-07-23 | 联想(北京)有限公司 | 控制方法、装置和电子设备 |
US9269354B2 (en) | 2013-03-11 | 2016-02-23 | Nuance Communications, Inc. | Semantic re-ranking of NLU results in conversational dialogue applications |
US9489373B2 (en) | 2013-07-12 | 2016-11-08 | Microsoft Technology Licensing, Llc | Interactive segment extraction in computer-human interactive learning |
CN103474065A (zh) | 2013-09-24 | 2013-12-25 | 贵阳世纪恒通科技有限公司 | 基于自动分类技术的语音意图判定识别方法 |
US9886669B2 (en) | 2014-02-26 | 2018-02-06 | Microsoft Technology Licensing, Llc | Interactive visualization of machine-learning performance |
US9547471B2 (en) | 2014-07-03 | 2017-01-17 | Microsoft Technology Licensing, Llc | Generating computer responses to social conversational inputs |
-
2015
- 2015-04-03 US US14/678,315 patent/US10460720B2/en active Active
- 2015-12-28 CN CN201580072257.0A patent/CN107210035B/zh active Active
- 2015-12-28 WO PCT/US2015/067549 patent/WO2016109366A1/en active Application Filing
- 2015-12-28 EP EP15831188.6A patent/EP3241214A1/en not_active Withdrawn
-
2019
- 2019-09-25 US US16/582,234 patent/US10909969B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516072B2 (en) * | 2003-10-21 | 2009-04-07 | Johnson Controls Technology Company | System and method for selecting a user speech profile for a device in a vehicle |
US7716056B2 (en) * | 2004-09-27 | 2010-05-11 | Robert Bosch Corporation | Method and system for interactive conversational dialogue for cognitively overloaded device users |
US8600013B2 (en) * | 2009-11-10 | 2013-12-03 | International Business Machines Corporation | Real time automatic caller speech profiling |
WO2013155319A1 (en) * | 2012-04-13 | 2013-10-17 | Red. Com, Inc. | Video projector system |
CN104170397A (zh) * | 2012-08-16 | 2014-11-26 | 纽昂斯通讯公司 | 用于娱乐***的用户界面 |
US9070366B1 (en) * | 2012-12-19 | 2015-06-30 | Amazon Technologies, Inc. | Architecture for multi-domain utterance processing |
CN103945044A (zh) * | 2013-01-22 | 2014-07-23 | 中兴通讯股份有限公司 | 一种信息处理方法和移动终端 |
CN104239343A (zh) * | 2013-06-20 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种用户输入信息的处理方法和装置 |
CN103760984A (zh) * | 2014-01-24 | 2014-04-30 | 成都万先自动化科技有限责任公司 | 人机对话*** |
Non-Patent Citations (2)
Title |
---|
N. Gupta 等.The AT&T spoken language understanding system.《IEEE Transactions on Audio, Speech, and Language Processing》.2005,第14卷(第1期),第213-221页. * |
The AT&T spoken language understanding system;N. Gupta 等;《IEEE Transactions on Audio, Speech, and Language Processing》;20051219;第14卷(第1期);第213-221页 * |
Also Published As
Publication number | Publication date |
---|---|
US10909969B2 (en) | 2021-02-02 |
US20160196820A1 (en) | 2016-07-07 |
US10460720B2 (en) | 2019-10-29 |
CN107210035A (zh) | 2017-09-26 |
US20200020317A1 (en) | 2020-01-16 |
EP3241214A1 (en) | 2017-11-08 |
WO2016109366A1 (en) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107210035B (zh) | 语言理解***和方法的生成 | |
US20230206087A1 (en) | Techniques for building a knowledge graph in limited knowledge domains | |
CN107924483B (zh) | 通用假设排序模型的生成与应用 | |
US10629193B2 (en) | Advancing word-based speech recognition processing | |
US11977847B2 (en) | Dynamically updated text classifier | |
CN110462730B (zh) | 促进以多种语言与自动化助理的端到端沟通 | |
US10713571B2 (en) | Displaying quality of question being asked a question answering system | |
US20190163691A1 (en) | Intent Based Dynamic Generation of Personalized Content from Dynamic Sources | |
JP7214949B2 (ja) | Poi状態情報を取得する方法、装置、デバイス、プログラム及びコンピュータ記憶媒体 | |
US10929458B2 (en) | Automated presentation control | |
US10565303B2 (en) | Word order suggestion processing | |
US20150286943A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
CN108932218B (zh) | 一种实例扩展方法、装置、设备和介质 | |
US20130124194A1 (en) | Systems and methods for manipulating data using natural language commands | |
WO2016196320A1 (en) | Language modeling for speech recognition leveraging knowledge graph | |
US20220414463A1 (en) | Automated troubleshooter | |
JP2021190073A (ja) | リソースソート方法、ソートモデルをトレーニングする方法及び対応する装置 | |
CN112528681A (zh) | 跨语言检索及模型训练方法、装置、设备和存储介质 | |
CN114595686A (zh) | 知识抽取方法、知识抽取模型的训练方法及装置 | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
US11914600B2 (en) | Multiple semantic hypotheses for search query intent understanding | |
US11314811B1 (en) | Systems and methods for semantic search engine analysis | |
US12032906B2 (en) | Method, apparatus and device for quality control and storage medium | |
US20210326524A1 (en) | Method, apparatus and device for quality control and storage medium |
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 |