CN111737972A - 人机交互系统中实现自然语言理解的方法和装置 - Google Patents
人机交互系统中实现自然语言理解的方法和装置 Download PDFInfo
- Publication number
- CN111737972A CN111737972A CN202010429245.1A CN202010429245A CN111737972A CN 111737972 A CN111737972 A CN 111737972A CN 202010429245 A CN202010429245 A CN 202010429245A CN 111737972 A CN111737972 A CN 111737972A
- Authority
- CN
- China
- Prior art keywords
- target
- information
- entry
- training
- sentence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 140
- 230000003993 interaction Effects 0.000 title claims description 36
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000012549 training Methods 0.000 claims description 273
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 29
- 238000004891 communication Methods 0.000 description 17
- 238000013500 data storage Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000002372 labelling Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000013480 data collection Methods 0.000 description 6
- 238000013145 classification model Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了人工智能领域中实现自然语言理解的方法和相关装置。本申请提供的技术方案中,可以从词典中查询得到用户输入的语句中的词条的信息,并对该词条信息进行消歧处理,然后根据消歧处理得到的词条信息理解该语句的意图和相关关键信息。本申请提供的技术方案,无需额外的数据标注即可提升自然语言理解的性能,且实现自然语言理解的系统维护起来简单,从而可以提升用户的体验。
Description
技术领域
本申请涉及人工智能领域,特别涉及一种人机交互系统中实现自然语言理解的方法和装置。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
随着人工智能技术的不断发展,让人机之间能够通过自然语言进行交互的自然语言人机交互系统变的越来越重要。人机之间能够通过自然语言进行交互,就需要系统能够识别出人类自然语言的具体含义。识别出人类自然语言的具体含义称为自然语言理解(natural language understand,NLU)。NLU通常是指识别用户的意图,提取用户的自然语言中的关键信息。
NLU为智能设备,例如智能音箱、智能电视、智能汽车或智能手机,与用户交互不可交互的部分,或者可以说,NLU为人机交互系统的关键模块。
例如,手机用户向手机助手输入语音“买一张去北京的机票”之后,手机助手中的NLU模块需要识别出用户的意图为买机票,并提取出关键信息“目的地:北京”,这样,手机助手才可能进一步为用户打开订票应用程序,并进一步实现订机票的业务。
因此,如何实现自然语言理解成为亟待解决的技术问题。
发明内容
本申请提供了人机交互系统中实现自然语言理解的方法和相关装置,且该方法可以提升自然语言理解的性能,从而提升用户的体验。
第一方面,本申请提供一种人机交互系统中实现自然语言理解的方法。该方法包括:获取目标词条信息,所述目标词条信息用于表示目标语句包含的词条,所述目标语句为用户向所述人机交互系统输入的语句;使用词条消歧模型,基于所述目标语句和所述目标词条信息,获取目标指示信息,所述目标指示信息用于指示所述目标词条信息所指示的词条是否符合所述目标语句的语义;使用自然语言理解模型,基于所述目标语句、所述目标词条信息和所述目标指示信息,获取理解结果,所述理解结果包含所述用户输入所述目标语句的目标意图和所述目标意图的关键信息。
该方法中,在获取目标语句所包含的词条的信息之后,不是直接使用该词条的信息来辅助自然语言理解模型理解目标语句,而是使用词条消歧模型判断该词条是否为符合该目标语句语义的词条,或者说检查该词条是否可以作为该目标语句的真实词条,并使用判断结果辅助自然语言理解模型获取目标语句的意图和关键信息。这可以提高自然语言理解的性能,从而可以提高用户体验。
通常来说,每个模型进行训练时,都需要对其训练数据进行标注。但是,由于本申请中的词条消歧模型的输出的指示信息可以通过自然语言理解模型的训练数据中的意图和关键信息推测得到,因此,本申请中的词条消息模型和自然语言理解模型的训练数据可以仅通过对语句的意图和关键信息进行标注即可,也就是可以仅对自然语言理解模型的训练数据进行标注即可。这可以节省训练数据的人工标注成本,提供训练数据的获取效率,从而可以提高这两个模型的训练效率,尤其在需要更新人机交互系统的自然语言理解功能的场景下,可以提高这两个模型的更新效率,从而可以及时提高人机交互系统的性能,最终提高用户的体验。
在一些可能的实现方式中,所述获取目标词条信息,包括:从目标词典中查询所述目标语句包含的词条,得到所述目标词条信息,其中,所述目标词典中包括至少一个词条。
该实现方式中,由于目标词条信息是根据目标词典查询获取的,因此,在用户输入的语句所包含的词条发生变化的情况下,只需更新目标词典中的词条即可根据该目标词典识别出用户输入语句中的词条,这可以便捷快速提高用户输入语句中的词条的识别率,从而可以提高自然语言理解的性能,进而提高人机交互系统的性能,最终可以提高用户的体验。
在一些可能的实现方式中,所述方法由端侧设备执行,其中,所述目标词典包括所述端侧设备上的词典。
也就是说,可以在端侧设备上根据词典查询得到目标语句的目标词条信息。这与通过云侧设备获取目标语句的目标词条信息相比,可以节省传输时间,从而可以提高自然语言理解的效率,进而提高人机交互的效率,最终提高用户的体验。
此外,由于端侧设备可以基于自身的词典来获取目标语句的目标词条信息,因此在没有云侧设备或者连接不上云侧设备的情况,也能获取目标语句的目标词条信息,从而实现自然语言理解,从而可以扩大自然语言理解的应用场景,即扩大人机交互系统的应用场景,提高用户的体验。
另外,由于可以在端侧设备上根据词典查询目标语句的目标词条信息,因此,可以将涉及用户隐私的词典配置在端侧设备上,从而可以保护用户的隐私,进而可以提高用户的体验。
并且,由于可以在端侧设备上根据词典查询目标语句的目标词条信息,因此,可以将用户查询频率较高或者说常用的词典配置在端侧设备上,这样,与从云侧设备获取目标词条信息相比,端侧设备可以快速地查询到目标语句的目标词条信息,从而提高自然语言理解的效率,进而提高人机交互的效率,最终提高用户的体验。
在一些可能的实现方式中,所述目标词典包括云侧设备上的词典,其中,所述根据所述目标词典和所述目标语句获取所述目标词条信息,包括:向所述云侧设备发送所述目标语句;从所述云侧设备接收所述目标词条信息。
也就是说,端侧设备可以从云侧设备获取目标语句的目标词条信息。这样可以节省端侧设备的存储空间和计算资源,即降低端侧设备实现自然语言理解的能力需求,例如,性能较低的端侧设备也能较高效率实现自然语言理解,从而可以扩大人机交互系统的应用场景,最终提高用户体验。
在一些可能的实现方式中,所述方法还包括:使用意图识别模型,获取所述目标语句的候选意图。其中,所述向所述云侧设备发送所述目标语句,包括:在根据预设的对应关系判断所述候选意图对应的词典位于所述云侧设备的情况下,向所述云侧设备发送所述目标语句,所述对应关系用于指示意图是否位于所述云侧设备。
也就是说,在根据目标语句的意图确定查询目标语句的目标词条信息所要使用的词典位于云侧设备的情况下,才请求云侧设备查询目标词条信息。这可以灵活控制请求云侧设备查询词典的次数,避免无效查询,提高自然语言理解的效率,从而提高人机交互的效率。
在一些示例中,可以根据目标语句的意图确定查询目标语句的目标词条信息所要使用的词典是位于云侧设备还是端侧设备,并在确定目标词典位于云侧设备的情况下,才从云侧设备获取目标语句的候选词条。这样可以避免无效查询,从而提高用户体验。
在一些可能的实现方式中,所述词条消歧模型为二分类模型。
第二方面,本申请提供一种模型训练方法,该包括:获取第一训练数据,所述第一训练数据中包含训练语句、所述训练语句的意图和所述训练语句的关键信息;获取词条信息,所述词条信息用于表示所述训练语句包含的词条;根据所述第一训练数据和所述词条信息获取指示信息,所述指示信息用于指示所述词条信息所表示的词条是否符合所述意图和所述关键信息所表示的语义;根据所述训练语句、所述词条信息和所述指示信息获取第二训练数据,所述第二训练数据中包含所述训练语句、所述词条信息和所述指示信息,所述第二训练数据用于训练词条消歧模型,其中,所述词条消歧模型用于基于待处理语句和待处理词条信息判断所述待处理词条信息所表示的词条是否符合所述待处理语句的语义。
该方法中,在获取词条消歧模型和自然语言理解模型的训练数据过程中,由于词条消息模型的第二训练数据可以通过对第一训练数据进行自动标注得到,因此,在获取这两个模型的训练数据的过程中,可以仅对第一训练数据进行人工标注即可。这可以提高这两个模型的训练数据的获取效率,从而可以提高这两个模型的训练效率,进而可以及时提高人机交互系统的性能,最终可以提高用户的体验。
在一些可能的实现方式中,所述方法还可以包括:根据所述第一训练数据、所述词条信息和所述指示信息获取第三训练数据,所述第三训练数据中包含所述第一训练数据、所述词条信息和所述指示信息,所述第三训练数据用于训练如第一方面或其中任意一种实现方式中的自然语言理解模型。
在一些可能的实现方式中,所述获取词条信息,包括:从词典中查询所述语句包含的词条,得到所述词条信息,其中,所述词典中包括至少一个词条。
该实现方式中,由于词条信息是根据词典查询获取的,因此,可以通过更新词典来更新语句的词条信息的识别率。又由于词典的更新比较方便快捷,因此可以方便快捷地提高语句的词条信息的识别率,从而可以方便快捷地提高语句的自然语言理解的准确率,进而可以提高人机交互系统的准确率,最终提高用户的体验。
第三方面,本申请提供了一种模型训练方法。该方法包括:获取第二训练数据,所述第二训练数据中包含训练语句、词条信息和指示信息,所述词条信息用于表示所述训练语句包含的词条,所述指示信息用于指示所述词条信息所表示的词条是否符合所述训练语句的意图和所述意图的关键信息所表示的语义;根据所述第二训练数据训练对词条消歧模型,所述词条消歧模型用于基于待处理语句和待处理词条信息判断所述待处理词条信息所表示的词条是否符合所述待处理语句的语义。
在一些实现方式中,所述第二训练数据为使用第二方面或其中任意一种实现方式获取的第二训练数据。
在一些实现方式中,训练得到第一方面或其中任意一种实现方式中的词条消歧模型。
因为使用的是第二方面或其中任意一种方式获得的训练数据,因此可以提高词条消歧模型的训练效率,从而可以高效地提高人机交互系统的性能,进而提高用户的体验。
第四方面,本申请提供了一种模型训练方法。该方法包括:获取第三训练数据,所述第三训练数据中包含所述训练语句、所述意图、所述关键信息、所述词条信息和所述指示信息;根据所述第三训练数据训练自然语言理解模型,所述自然语言理解模型用于基于待理解语句、第一辅助信息和第二辅助信息获取用户输入所述待理解语句的意图和所述意图的关键信息,所述第一辅助信息用于表示所述待理解语句包含的词条、所述第二辅助信息用于指示所述第一辅助信息所表示的词条是否符合所述待理解语句的语义。
在一些实现方式中,所述第三训练数据为使用第二方面或其中任意一种实现方式获取的第三训练数据。
在一些实现方式中,训练得到第一方面或其中任意一种实现方式中的自然语言理解模型。
因为使用的是第二方面或其中任意一种方式获得的训练数据,因此可以提高自然语言理解模型的训练效率,从而可以高效地提高人机交互系统的性能,进而提高用户的体验。
第五方面,提供了一种人机交互系统中实现自然语言理解的装置,该装置包括用于执行上述第一方面或其中任意一种实现方式中的方法的模块。
第六方面,提供了一种模型训练装置,该装置包括用于执行上述第二方面或其中任意一种实现方式中的方法的模块。
第七方面,提供了一种模型训练装置,该装置包括用于执行上述第三方面或其中任意一种实现方式中的方法的模块。
第八方面,提供了一种模型训练装置,该装置包括用于执行上述第四方面或其中任意一种实现方式中的方法的模块。
第九方面,提供了一种人机交互系统中实现自然语言理解的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面或者其中任意一种实现方式中的方法。
第十方面,提供了一种获取训练数据的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
第十一方面,提供了一种训练模型的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第三方面或者其中任意一种实现方式中的方法。
第十二方面,提供了一种训练模型的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第四方面或者其中任意一种实现方式中的方法。
第十三方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码用于执行第一方面、第二方面、第三方面、第四方面或其中任意一种实现方式中的方法。
第十四方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面、第二方面、第三方面、第四方面或其中任意一种实现方式中的方法。
第十五方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面、第二方面、第三方面、第四方面或其中任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面、第二方面、第三方面或第四方面或其中任意一种实现方式中的方法。
第十六方面,提供了一种计算设备,该计算设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面、第二方面、第三方面、第四方面或者其中任意一种实现方式中的方法。
附图说明
图1是本申请一个实施例的获取训练数据的方法的示意性流程图;
图2是本申请一个实施例的训练模型的方法的示意性流程图;
图3是本申请一个实施例的词条消歧模型的结构示意图;
图4是本申请另一个实施例的训练模型的方法的示意性流程图;
图5是本申请一个实施例的实现自然语言理解的方法的示意性流程图;
图6是本申请另一个实施例的实现自然语言理解的方法的示意性流程图;
图7是本申请一个实施例的系统架构的示意图;
图8是本申请一个实施例提供的训练模型的装置的部署示意图;
图9是本申请一个实施例的计算设备的示例性结构图;
图10是本申请另一个实施例的系统架构的示意图;
图11是本申请一个实施例的词典部署示意图;
图12是本申请一个实施例的获取训练数据的装置的示意性结构图;
图13是本申请一个实施例的训练模型的装置的示意性结构图;
图14是本申请一个实施例的实现自然语言理解的装置的示意性结构图;
图15是本申请一个实施例的装置的示意性结构图;
图16是本申请一个实施例的计算机程序产品的示意性结构图。
具体实施方式
为了便于理解本申请实施例,下面先对本申请实施例中使用的一些术语或概念进行介绍。
(1)词条消歧模型
词条消歧模型的输入包括语句和词条信息,所述词条信息用于表示所述语句中包含的词条,所述词条消歧模型用于判断所述词条信息所表示的词条是否符合所述语句的语义。
其中,词条信息表示的可以是语句中包含的一个或多个词条,每个词条可以是所述语句中合理的词条,也可以是不合理的词条。此处所述的合理的词条是指符合所述语句的语义的词条,反之则为不合理的词条。
例如,语句为“我想听明天会下雨。”时,所述语句中的词条可以包含“明天”、“明天会下雨”,但其中仅有“明天会下雨”是符合语义的词条,即合理的词条,而“明天”则不符合语义,即不合理的词条。
词条信息可以是词条本身,也可以是词条在语句中的位置。例如,语句为“我想听明天会下雨。”且语句中的字的位置索引从0开始计数时,词条信息可以为“3-8”,即表示该语句中从索引3到索引8的内容为词条。
(2)自然语言理解模型
自然语言理解模型的输入包括语句、第一辅助信息和第二辅助信息,所述第一辅助信息用于表示所述语句包含的词条、所述第二辅助信息用于指示所述第一辅助信息所表示的词条是否符合所述语句的语义,所述自然语言理解模型用于基于所述语句、所述第一辅助信息和所述第二辅助信息获取用户输入所述语句的意图和所述意图的关键信息。
其中,第一辅助信息可以理解为前述的词条信息,第二辅助信息可以理解为前述词条消歧模型基于所述语句和所述词条信息输出的信息。
其中,意图是指用户通过输入的语句想要表达的目的。例如,用户输入语句“我想听明天会下雨。”的情况下,用户的意图为听歌。本申请实施例中,用户输入语句的意图也称为语句的意图。
其中,关键信息也可以理解为意图对应的槽位。例如,用户的意图为听歌时,歌名即为槽位。
本申请实施例中的词条与槽位有着本质的区别。槽位根据对应的意图来确定。例如,词条“北京”在一些订机票意图中可以作为槽位“目的地:北京”,在另一些订机票意图中可以作为槽位“起点:北京”。
(3)词典
本申请实施例中,词典也可以称为辞典或字典。本申请实施例的词典中包含一个或多个词条。
本申请中的词条也叫词目、条目、辞条,其可以是字、词,也可以由字和字、或由字和词、或由词和词等组成。
本申请中的词条可以包括具体事物、知名人物、抽象概念、文学著作、热点事件、汉语字词或特定主题的组合等。其中,具体事务也可以理解为实体。
(4)端侧设备
本申请实施例中的端侧设备可以是具有计算能力的移动电话、平板个人电脑(tablet personal computer,TPC)、媒体播放器、智能家居、笔记本电脑(laptopcomputer,LC)、个人数字助理(personal digital assistant,PDA)、个人计算机(personalcomputer,PC)、照相机、摄像机、智能手表、可穿戴式设备(wearable device,WD)或者车辆等。可以理解的是,本申请实施例对端侧设备的具体形式不作限定。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请一个实施例的获取训练数据的方法的示意性流程图。如图1所示,该方法可以包括S110至S150。
S110,获取第一训练数据,所述第一训练数据中包含训练语句,所述训练语句的意图和所述意图的关键信息。
其中,意图和关键信息可以是训练语句的标签数据,即在训练过程中起监督作用的数据。该意图和关键信息可以是人工根据训练语句的语义标注的。
例如,针对训练语句“买一张去北京的机票”,可以人工标注该训练语句的意图为“买机票”和人工标注该训练语句的意图的关键信息(或槽位)为“目的地:北京”。
S120,获取词条信息,所述词条信息用于表示所述训练语句包含的词条。
例如,训练语句为“我想听明天会下雨。”时,一种词条信息可以包含“1-2”、,另一种词条信息可以包含“6-8”,又一种词条信息可以包含“3-8”。
在一些示例中,可以通过词典查询来获取训练语句的词条信息。在该示例中,可以包括:获取词典,根据所述词典和所述训练语句获取所述训练语句的词条信息。一般来说,该词条信息中可以包括词典和训练语句中共同包含的词条。
例如,可以通过快速查询方法对用户通过语音或文字输入的训练语句进行词典匹配,获得匹配向量,该匹配向量可能包含多种匹配结果,可以对相互重叠的匹配结果进行最长匹配处理,最终得到没有相互包含的匹配结果。快速查询方法的一种示例为单词查找树方法(TRIE)。
可以理解的是,通过词典查询来获取训练语句的词条信息仅是一种示例,本实施例并不对获取训练语句的词条信息的实现方式进行限制。例如,可以使用通过机器学习得到的词条识别模型来获取训练语句中的词条信息。
通过词典查询的方式获取训练语句的词条信息,与通过预设规则或训练好的模型来获取训练语句的词条信息相比,在需要更新可以识别的词条的场景下,可以方便快捷地更新词典中的词条,而其他方式需要重写规则或重新进行模型的训练,因此,通过词典查询的方式获取训练语句的词条信息,可以更高效便捷地提高词条信息的准确率,从而可以提高训练数据的准确率,进而提高训练后的模型的性能,最终可以提高应用该模型的人机交互系统的性能,即提高用户的体验。
S130,根据所述第一训练数据和所述词条信息获取指示信息,所述指示信息用于指示所述词条信息所表示的词条是否符合所述意图和所述关键信息所表示的语义。
在一个示例中,若词条信息所指示的词条与所述第一训练数据中的关键信息所对应的词条相同,则可以认为所述词条信息所表示的词条符合所述意图和所述关键信息所表示的语义,否则,认为不符合。
例如,第一训练数据中包括的训练语句为“我想听明天会下雨。”,意图为“听歌”,关键信息为“歌名:明天会下雨”,则词条信息所表示的词条为歌名“明天会下雨”时,对应的指示信息指示所述词条信息所指示的词条符合所述意图和所述关键信息所表示的语义,或者说符合所述训练语句的语义。
又如,第一训练数据中包括的训练语句为“我想听明天会下雨。”,意图为“听歌”,关键信息为“歌名:明天会下雨”,则词条信息所表示的词条为电影名“明天会下雨”时,对应的指示信息指示所述词条信息所指示的词条不符合所述意图和所述关键信息所表示的语义,或者说不符合所述训练语句的语义。
S140,根据所述训练语句、所述词条信息和所述指示信息获取第二训练数据,所述第二训练数据中包含所述训练语句、所述词条信息和所述指示信息,所述第二训练数据用于训练词条消歧模型。
根据所述训练语句、所述词条信息和所述指示信息获取第二训练数据的一种实现方式包括:将所述训练语句、所述词条信息和所述指示信息组合成第二训练数据,其中,指示信息作为所述训练语句和所述词条信息的标注数据。
本实施例中,一个第二训练数据可以称为一个训练语料。
例如,训练语句为“我想听明天会下雨。”时,经过字典查询,可以得到如表1所示的查询结果。
表1字典查询结果
训练语句 | 查询结果 |
我想听明天会下雨。 | 歌:1-2 |
我想听明天会下雨。 | 歌:6-8 |
我想听明天会下雨。 | 歌:3-8 |
我想听明天会下雨。 | 电影:3-8 |
根据第一训练数据:我想听明天会下雨,听歌,明天会下雨,和上述表1中的内容可以得到第二训练数据。第二训练数据包含的内容一个示例如表2所示。表2中,“0”表示不符合训练语句的语义,“1”表示符合训练语句的语义。
表2训练语料
训练语句 | 查询结果 | 指示信息 |
我想听明天会下雨。 | 歌:1-2 | 0 |
我想听明天会下雨。 | 歌:6-8 | 0 |
我想听明天会下雨。 | 歌:3-8 | 1 |
我想听明天会下雨。 | 电影:3-8 | 0 |
S150,根据所述第一训练数据、所述词条信息和所述指示信息获取第三训练数据,所述第三训练数据中包含所述第一训练数据、所述词条信息和所述指示信息,所述第三训练数据用于训练自然语言理解模型。
根据所述第一训练数据、所述词条信息和所述指示信息获取第三训练数据的一种实现方式包括:将所述第一训练数据、所述词条信息和所述指示信息组合成第三训练数据,其中,意图和关键信息作为所述第一训练数据、所述词条信息和所述指示信息的标注数据。
在一些示例中,图1所示的方法可以由云侧设备来执行,当然也可以由端侧设备来执行。图1所示的方法可以由云侧设备来执行,与由端侧设备来执行相比较,由于云侧设备的存储资源和计算资源更富裕,因此执行效率更高,即可以更高效率地获取训练数据。
图2为本申请一个实施例的训练模型的方法的示意性流程图。该方法可以包括S210和S220。
S210,获取第二训练数据,所述第二训练数据为使用图1所示的方法获取的。
获取第二训练数据的一种实现方式为从其他设备接收该设备使用图1所示的方法获取的第二训练数据。
获取第二训练数据的另一种实现方式为训练设备使用图1所示的方法获取。
S220,根据所述第二训练数据对预设的第一模型进行训练,得到词条消歧模型。
第一模型可以包括EMLo模型、多层感知机(multilayer perceptron,MLP),条件随机场(conditional random field,CRF)模型或BERT(bidirectional encoderrepresentations from transformers)模型。第一模型可以是分类模型,例如可以是二分类模型,当然,第一模型也可以是多分类模型,本实施例对此不作限制。BERT模型的一种示例为TinyBERT。
词条消歧模型的一种示例性结构如图3所示。图3所示的词条消歧模型由ELMo、BERT模型或CRF模型中的任意一个与MLP构成,其中,语句和词条信息作为ELMo、BERT模型或CRF模型的输入,ELMo、BERT模型或CRF模型的输出作为MLP的输入,MLP输出0或1,1表示词条信息指示的词条符合语句的语义,0表示词条信息指示的词条不符合语句的语义。
在一些示例中,图2所示的方法可以由云侧设备来执行,当然也可以由端侧设备来执行。图2所示的方法可以由云侧设备来执行,与由端侧设备来执行相比较,由于云侧设备的存储资源和计算资源更富裕,因此执行效率更高,即可以更高效率地获取训练词条消歧模型。
根据第二训练数据训练词条消歧模型时,可以将第二训练数据中的指示信息作为标注数据,来监督训练,具体实现方式可以参考现有技术中神经网络模型的监督训练的实现方式。
图4为本申请另一个实施例的训练模型的方法的示意性流程图。该方法可以包括S410和S420。
S410,获取第三训练数据,所述第三训练数据为使用图1所示的方法获取的。
获取第三训练数据的一种实现方式为从其他设备接收该设备使用图1所示的方法获取的第三训练数据。
获取第三训练数据的另一种实现方式为训练设备使用图1所示的方法获取。
S420,根据所述第三训练数据对预设的第二模型进行训练,得到自然语言理解模型。
自然语理解模型的一些示例中,可以由BERT模型或长短期记忆网络(long short-term memory,LSTM)中的任意一个与MLP构成。
在一些示例中,图4所示的方法可以由云侧设备来执行,当然也可以由端侧设备来执行。图4所示的方法可以由云侧设备来执行,与由端侧设备来执行相比较,由于云侧设备的存储资源和计算资源更富裕,因此执行效率更高,即可以更高效率地获取训练自然语言理解模型。
根据第三训练数据训练自然语言理解模型时,可以将第三训练数据中的意图和关键信息作为标注数据,来监督训练,具体实现方式可以参考现有技术中神经网络模型的监督训练的实现方式。
图5是本申请一个实施例的实现自然语言理解的方法的示意性流程图。该方法可以包括S510至S550。
S510,获取目标词条信息,所述目标词条信息用于表示目标语句包含的词条,所述目标语句为用户向人机交互系统输入的语句。
用户可以通过语音或文字向人机交互系统输入目标语句。该人机交互系统可以是任意智能设备上的人机交互系统,例如可以是智能手机、智能车辆、智能音箱等等智能设备上的人机交互系统。
S530,使用词条消歧模型,基于所述目标语句和所述目标词条信息,获取目标指示信息,所述目标指示信息用于指示所述目标词条信息所指示的词条是否符合所述目标语句的语义。
本实施例中使用的词条消歧模型可以通过前述实施例中的方法,例如图2所示的方法,训练得到的。例如,一种实现方式为:云侧设备使用图2所示的方法训练得到词条消歧模型。
另一种实现方式为:从训练设备接收词条消歧模型并使用,所述训练设备使用图2所示的方法训练得到词条消歧模型。例如,云侧设备使用图2所示的方法训练得到词条消歧模型,端侧设备从云侧设备接收该词条消歧模型并使用。
词条消歧模型的输入包括待处理语句和待处理词条信息,所述待处理词条信息用于表示所述待处理语句包含的词条,所述词条消歧模型用于判断所述待处理信息所表示的词条是否符合所述待处理语句的语义。例如,将所述目标语句和所述目标词条信息输入所述词条消歧模型,并获取所述词条消歧模型基于所述目标语句和所述目标词条信息输出的目标指示信息。
在一些示例中,该目标指示信息可以包括词条;在另一些示例中,该目标指示信息可以包括词条的第一个字在目标语句中的位置索引和词条的最后一个字在目标语句中的位置索引。在又一些示例中,该目标指示信息不仅可以包括词条的位置索引,还可以包括词条的类型,例如该词条为歌名类型还是电影名类型,或者是地名类型。
S550,使用自然语言理解模型,基于所述目标语句、所述目标词条信息和所述目标指示信息,获取理解结果,所述理解结果包含所述用户输入所述目标语句的目标意图和所述目标意图的关键信息。
本实施例中使用的自然语言理解模型可以通过前述实施例中的方法,例如使用图4所示的方法,训练得到的。例如,一种实现方式为:云侧设备使用图4所示的方法训练得到自然语言理解模型并使用。
另一种实现方式为:从训练设备接收自然语言理解模型并使用。所述训练设备使用图4所示的方法训练得到自然语言理解模型。例如,云侧设备使用图4所示的方法训练得到自然语言理解模型,端侧设备从云侧设备接收该自然语言理解模型并使用。
其中,所述自然语言理解模型的输入包括待理解语句、第一辅助信息和第二辅助信息,所述第一辅助信息用于表示所述待理解语句包含的词条、所述第二辅助信息用于指示所述第一辅助信息所表示的词条是否符合所述待理解语句的语义,所述自然语言理解模型用于基于所述待理解语句、所述第一辅助信息和所述第二辅助信息获取用户输入所述待理解语句的意图和所述意图的关键信息。
例如,将所述目标语句、所述目标词条信息和所述目标指示信息输入所述自然语言理解模型,并获取所述自然语言理解模型基于所述目标语句、所述目标词条信息和所述目标指示信息输出的理解结果。
本实施中,词条消歧模型与自然语言理解模型的输入与输出之间的关系,使得词条消歧模型的训练数据无须额外的数据标注,可以节省成本,提高训练效率,从而可以加快自然语言理解的实现。
本实施例中,如图6所示,S510可以包括:S504,获取目标词典,所述目标词典中包括至少一个词条;S508,从所述目标词典中查询所述目标语句包含的词条,得到所述目标词条信息。
本实施例中的词典可以包括第三方服务商提供的音乐字典、电影词典、应用程序词典、地名词典、人名词典,或者用户自定义的词典等。用户自定义的词典的一个示例包括用户将智能音箱的名称自定义为“钢铁侠”。
本实施例中提出动态加载词典并根据动态加载的词典查询词条信息,与现有获取词条信息的方法相比,具有泛化性强和维护简单的优势。
在一些实现方式中,可以由端侧设备从端侧设备上加载预设的目标词典,也可以由端侧设备从端侧设备上动态加载目标词典。例如,智能手机上的手机助手可以动态加载电话应用程序中的联系方式、音乐播放应用程序中的歌手词典、歌名词典、专辑词典或视频播放应用程序中的演员词典、电影名词典等词典。
在另一些实现方式中,可以由端侧设备从云侧设备获取目标词典。例如,端侧设备向云侧设备发送请求信息,云侧设备基于该请求消息发送词典,端侧设备将接收到的词典作为目标词典。
在日常端侧设备的应用中,通常希望将词典都部署在端侧设备,以减少端云设备交互所消耗的时延与成本。但是,日常的词典,例如音乐词典和地名词典等通常非常庞大,可能需要上吉(G)个字节的存储空间,而端侧设备的存储和计算资源都是相对有限的,因此,可以将一些词典部署在端侧设备,将另一些词典部署在云侧设备,即根据词典查询目标词条信息时,需要端云协同合作。
例如,如图11所示,可以将全量词典部署在云侧,而将热词词典、常用词典和个性词典等部署在端侧设备。这样,在需要查询词典的情况下,端侧设备可以向云侧设备发送目标语句;云侧设备查询得到目标语句对应的词条匹配向量1;同时,端侧设备也可以基于其上的词典查询得到目标语句对应的词条匹配向量2;端侧设备从云侧设备接收词条匹配向量1之后,使用词条消歧模型对该词条匹配向量与端侧设备自己查询得到的词条匹配向量2进行消歧,并使用自然语言理解模型根据消歧结果进行自然语言理解。
因为云侧设备和端侧设备进行词典查询得到的词条匹配向量的结果可能有很多个,其中有些合理,有些却单纯仅是字符匹配,从语义层面来说是不合理的。通过词条消歧模型的消歧,可以把这些相当于噪声的不合理匹配结果挑选出来,以帮助自然语言理解模型得到更准确的理解结果。
其中,全量词典是指包含所有词条的词典;热词词典和常用词典是指使用频率较高的词典;个性词典指示各个端侧设备各自特有的词典,其中可以包含用户自定义的词条。
本实施例提出的端云协同合作的方法,使得词条消歧模型和自然语言理解模型部署在端侧设备的情况下,仍然可以充分利用云侧丰富的词典知识,提高自然语言理解的准确率,还可以节省端侧设备的运营开销和部署开销;并且,部分词典,例如个性词典、通讯录等可以存储在端侧设备上,可以保护用户的隐私;词条消歧模型和自然语言理解模型部署在端侧设备,可以避免网络传输带来的时延和无网络无法进行自然语言理解的问题。
在一个示例中,可以由端侧设备使用轻量的意图识别模型识别目标语句的意图,并根据意图与设备之间的预设的对应关系判断该意图对应的目标词典是部署在云侧设备还是端侧设备。若该目标词典部署在端侧设备,则查询端侧设备上的词典,否则查询云侧设备上的词典。该实现方式可以更加灵活地控制与云侧设备通信的次数,提升用户体验。
图7是本申请一个实施例的系统架构的示意图。如图7所示,系统架构700包括执行设备710、训练设备720、数据库730、客户设备740、数据存储系统750、以及数据采集系统760。
数据采集设备760用于采集训练数据。在采集到训练数据之后,数据采集设备760将这些训练数据存入数据库730。
例如,数据采集设备760可以读取预设的第一训练数据和预设的词典;并执行图1所示的方法,基于第一训练数据得到第二训练数据和第三训练数据;然后将第二训练数据和第三训练数据存入数据库730中。
在一些应用场景中,训练设备720可以使用数据库730中维护的第二训练数据对指定的神经网络模型进行训练,得到目标模型701。例如,训练设备720可以执行图2所示的方法,训练得到词条消歧模型。此时,目标模型701即为词条消歧模型。本申请的实施例中,目标模型也可以称为目标规则。
在另一些应用场景中,训练设备720可以使用数据库730中维护的第三训练数据对指定的神经网络模型进行训练,得到目标模型701。例如,训练设备720可以执行图4所示的方法,训练得到词条消歧模型。此时,目标模型701即为自然语言理解模型。
需要说明的是,在实际应用中,数据库730中维护的训练数据不一定都来自于数据采集设备760的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备720也不一定完全基于数据库730维护的训练数据进行目标模型701的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备720训练得到的目标模型701可以应用于不同的系统或设备中,如应用于图7中的执行设备710。
例如,训练设备720训练得到词条消歧模型和自然语言理解模型之后,可以将这两个模型部署在执行设备710的计算模块711中。也就是说,执行设备710的计算模块711中部署有训练设备720训练得到的词条消歧模型和自然语言理解模型。
所述执行设备710可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端等,或者是可以应用在上述这些设备上的芯片,还可以是服务器或者云端等。
在图7中,执行设备710配置输入/输出(input/output,I/O)接口712,用于与外部设备进行数据交互,用户可以通过客户设备740向I/O接口412输入数据。例如,用户可以通过客户设备740输入语音语句,或者文本语句等。
另外,执行设备710包括计算模块711,计算模块711中包括训练设备7207训练得到的目标模型701。
在执行设备710的计算模块711使用目标模型701对待处理数据执行相关处理过程中,执行设备710可以调用数据存储系统750中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统750中。最后,I/O接口412将处理结果,呈现给客户设备440,从而提供给用户。
例如,数据存储系统750中可以存储有目标字典,执行设备710可以执行图5所示的方法,基于数据存储系统750中的目标字典得到用户的意图和该意图的关键信息,并根据该意图和该关键信息执行相应任务,以及通过I/O接口向客户设备740发送执行相应任务得到的结果,以便于客户设备740向用户提供该任务的执行结果。
可以理解的是,本申请实施例中的执行设备710和客户设备740可以是同一个设备,例如为同一个终端设备。
例如,执行设备710和客户设备740为同一个智能手机的情况下,该智能手机可以通过话筒、麦克风、键盘或者手写屏等装置获取用户输入的目标语句,并且该智能手机的手机助手可以执行图5所示的方法,获取该目标语句的意图和该意图的关键信息,并根据该意图调用相应的第三方应用程序(例如订票应用程序、打电话应用程序或者音乐播放应用程序等),以及向该第三方应用程序输出该关键信息,以便于第三方应用程序可以根据该关键信息执行任务。在第三方应用程序得到任务结果之后,智能手机的手机助手可以通过显示屏或扩音器等装置向用户显示任务结果。
在图7所示的系统中,用户可以手动给定输入数据,该手动给定可以通过I/O接口712提供的界面进行操作。另一种情况下,客户设备740可以自动地向I/O接口712发送输入数据,如果要求客户设备740自动发送输入数据需要获得用户的授权,则用户可以在客户设备740中设置相应权限。用户可以在客户设备740查看执行设备710输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备740也可以作为数据采集端,采集如图7所示输入I/O接口712的输入数据及输出I/O接口712的输出结果作为新的样本数据,并存入数据库730。当然,也可以不经过客户设备740进行采集,而是由I/O接口712直接将如图7所示输入I/O接口712的输入数据及输出I/O接口712的输出结果,作为新的样本数据存入数据库730。
可以理解的是,图7仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图7中,数据存储系统750相对执行设备710是外部存储器,在其它情况下,也可以将数据存储系统750置于执行设备710中。
图8是本申请一个实施例提供的训练模型的装置的部署示意图,该装置可部署在云环境中,云环境是云计算模式下利用基础资源向用户提供云服务的词条。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。
在一些示例中,该装置可以是云数据中心中用于训练词条消歧模型的服务器;也可以是创建在云数据中心中用于训练词条消歧模型的虚拟机;还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于训练词条消歧模型,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。
在另一些示例中,该装置可以是云数据中心中用于训练自然语言理解模型的服务器;也可以是创建在云数据中心中用于训练自然语言理解模型的虚拟机;还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于训练自然语言理解模型,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。
如图8所示,该装置可以由云服务提供商在云服务平台抽象成一种用于训练词条消歧模型或者一种用于训练自然语言理解模型的云服务提供给用户,用户在云服务平台购买该云服务后,云环境利用该云服务向用户提供训练词条消歧模型或者提供训练自然语言理解模型的云服务。
例如,用户可以通过应用程序接口(application program interface,API)或者通过云服务平台提供的网页界面上传第一训练数据至云环境,由训练装置接收第一训练数据,并使用图1所示的方法获取第二训练数据和第三训练数据,以及使用图2所示的方法训练得到词条消歧模型和使用图4所示的方法训练得到自然语言理解模型,最终训练得到的词条消歧模型和自然语言理解模型由训练装置返回至用户所使用的执行设备。然后,用户可以向执行设备输入目标语句,执行设备可以执行图5所示的方法,获取目标语句的意图和该意图的关键信息,以及根据该意图和该关键信息执行相关任务。
当训练装置为软件装置时,训练装置也可以单独部署在任意环境的一个计算设备上,例如,单独部署在一个计算设备上或者单独部署在数据中心中的一个计算设备上。
图9为本申请一个实施例的计算设备的示例性结构图。如图9所示,计算设备900包括总线901、处理器902、通信接口903和存储器904。
处理器902、存储器904和通信接口903之间通过总线901通信。其中,处理器902可以为中央处理器。存储器904可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器904还可以包括非易失性存储器(2non-volatile memory,2NVM),例如只读存储器(2read-only memory,2ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态启动器(solid state disk,SSD)。存储器904中存储有训练装置所包括的可执行代码,处理器902读取存储器904中的该可执行代码以执行训练方法。存储器904中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等。
例如,计算设备900的处理器902可以读取存储器904中的可执行代码,以实现图1所示的方法,获得第二训练数据和第三训练数据。
又如,计算设备900的处理器902可以读取存储器904中的可执行代码,以实现图2所示的方法,获得词条消歧模型。
再如,计算设备900的处理器902可以读取存储器904中的可执行代码,以实现图4所示的方法,获得自然语言理解模型。
又如,计算设备900的处理器902可以读取存储器904中的可执行代码,以实现图5所示的方法,获得用户输入的语句的意图和该意图的关键信息。
图10为本申请另一个实施例的系统架构的示意图。执行设备1010由一个或多个服务器实现,可选的,可以与其它计算设备配合,例如:数据存储、路由器、负载均衡器等设备。执行设备1010可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备1010可以使用数据存储系统1050中的数据,或者调用数据存储系统1050中的程序代码实现图1、图2和图4中至少一个所示的方法。
例如,执行设备1010中可以部署有各种词典,以及部署有第一训练数据,该第一训练数据包括训练语句和标注的意图和关键信息;并且,执行设备1010基于该词典和该第一训练数据,执行图1所示的方法,得到第二训练数据和第三训练数据;此后,执行设备710基于第二训练数据,执行图2所示的方法,训练得到词条消歧模型,以及基于第三训练数据,执行图3所示的方法,训练得到自然语言理解模型。
用户可以操作各自的用户设备(例如本地设备1001和本地设备1002)与执行设备1010进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备710进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
执行设备1010训练得到词条消歧模型和自然语言理解模型之后,通过通信网络向用户设备(例如本地设备1001和本地设备1002)发送该词条消歧模型和自然语言理解模型。
本地设备1001或本地设备1002接收词条消歧模型和自然语言理解模型之后,可以部署这两个模型,并在接收到用户输入的目标语句的情况下,基于这两个模型,执行图5所示的方法,获取目标语句的意图和该意图的关键信息。
在另一种实现中,执行设备1010的一个方面或多个方面可以由每个本地设备实现,例如,本地设备1001可以为执行设备1010提供第一训练数据,或提供词典,或提供训练语句。
图12是本申请一个实施例的获取训练数据的装置1100的示意性结构图。装置1100可以包括行为获取模块1110、判断模块1120和生成模块1130。装置1100可以用于实现图1所示的方法。
例如,获取模块1110可以用于执行S110至S120,判断模块1120可以用于执行S130,生成模块1130可以用于执行S140和S150。
图13是本申请一个实施例的训练模型的装置1200的示意性结构图。装置1200可以包括行为获取模块1210和训练模块1220。装置1200可以用于实现图2或图4所示的方法。
例如,获取模块1210可以用于执行S210,训练模块1220可以用于执行S220。又如,获取模块1210可以用于执行S410,训练模块1220可以用于执行S420。
图14是本申请一个实施例的实现自然语言理解的装置1300的示意性结构图。装置1300可以包括行为获取模块1310、消歧模块1320和理解模块1330。装置1300可以用于实现图5所示的方法。
例如,获取模块1310可以用于执行S510,消歧模块1320可以用于执行S530,理解模块1330可以用于执行S550。
图15为本申请一个实施例的装置1400的示意性结构图。装置1400包括处理器1402、通信接口1403和存储器1404。装置1400的一种示例为芯片。
处理器1402、存储器1404和通信接口1403之间可以通过总线通信。存储器1404中存储有可执行代码,处理器1402读取存储器1404中的可执行代码以执行对应的方法。存储器1404中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等。
例如,存储器1404中的可执行代码用于实现图1、图2、图3和图5中任一图所示的方法,处理器1402读取存储器1404中的该可执行代码以执行图1、图2、图3和图5中任一图所示的方法。
其中,处理器1402可以为CPU。存储器1404可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM)。存储器1404还可以包括非易失性存储器(2non-volatile memory,2NVM),例如只读存储器(2read-only memory,2ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态启动器(solid state disk,SSD)。
在本申请的一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图16示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,所述示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品1500是使用信号承载介质1501来提供的。所述信号承载介质1501可以包括一个或多个程序指令1502,其当被一个或多个处理器运行时可以提供以上针对图1、图2、图3和图5任意一个图所示的方法中描述的功能或者部分功能。因此,例如,图5中所示的实施例,S510至S550的一个或多个特征可以由与信号承载介质1501相关联的一个或多个指令来承担。又如,参考图4中所示的实施例,S410至S420的一个或多个特征可以由与信号承载介质1501相关联的一个或多个指令来承担。
在一些示例中,信号承载介质1501可以包含计算机可读介质1503,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等等。在一些实施方式中,信号承载介质1501可以包含计算机可记录介质1104,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质1501可以包含通信介质1505,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质1,501可以由无线形式的通信介质1505(例如,遵守IEEE802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令1502可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,前述的计算设备可以被配置为,响应于通过计算机可读介质1503、计算机可记录介质1504、和/或通信介质1505中的一个或多个传达到计算设备的程序指令1502,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能词条。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (21)
1.一种人机交互系统中实现自然语言理解的方法,其特征在于,包括:
获取目标词条信息,所述目标词条信息用于表示目标语句包含的词条,所述目标语句为用户向所述人机交互系统输入的语句;
使用词条消歧模型,基于所述目标语句和所述目标词条信息,获取目标指示信息,所述目标指示信息用于指示所述目标词条信息所指示的词条是否符合所述目标语句的语义;
使用自然语言理解模型,基于所述目标语句、所述目标词条信息和所述目标指示信息,获取理解结果,所述理解结果包含所述用户输入所述目标语句的目标意图和所述目标意图的关键信息。
2.根据权利要求1所述的方法,其特征在于,所述获取目标词条信息,包括:
从目标词典中查询所述目标语句包含的词条,得到所述目标词条信息,其中,所述目标词典中包括至少一个词条。
3.根据权利要求2所述的方法,其特征在于,所述方法由端侧设备执行,其中,所述目标词典包括所述端侧设备上的词典。
4.根据权利要求1所述的方法,其特征在于,所述获取目标词条信息,包括:
向云侧设备发送所述目标语句;
从所述云侧设备接收所述目标词条信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
使用意图识别模型,获取所述目标语句的候选意图;其中,所述向所述云侧设备发送所述目标语句,包括:
在根据预设的对应关系判断所述候选意图对应的词典位于所述云侧设备的情况下,向所述云侧设备发送所述目标语句,所述对应关系用于指示意图是否位于所述云侧设备。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述词条消歧模型为二分类模型。
7.一种模型训练方法,其特征在于,包括:
获取第一训练数据,所述第一训练数据中包含训练语句、用户输入所述训练语句的意图和所述意图的关键信息;
获取词条信息,所述词条信息用于表示所述训练语句包含的词条;
根据所述第一训练数据和所述词条信息获取指示信息,所述指示信息用于指示所述词条信息所表示的词条是否符合所述意图和所述关键信息所表示的语义;
根据所述训练语句、所述词条信息和所述指示信息获取第二训练数据,所述第二训练数据中包含所述训练语句、所述词条信息和所述指示信息,所述第二训练数据用于训练词条消歧模型,其中,所述词条消歧模型用于基于待处理语句和待处理词条信息判断所述待处理词条信息所表示的词条是否符合所述待处理语句的语义。
8.根据权利要求7所述的方法,其特征在于,还包括:
根据所述第一训练数据、所述词条信息和所述指示信息获取第三训练数据,所述第三训练数据中包含所述第一训练数据、所述词条信息和所述指示信息,所述第三训练数据用于训练自然语言理解模型,其中,所述自然语言理解模型用于基于待理解语句、第一辅助信息和第二辅助信息获取用户输入所述待理解语句的意图和所述意图的关键信息,所述第一辅助信息用于表示所述待理解语句包含的词条、所述第二辅助信息用于指示所述第一辅助信息所表示的词条是否符合所述待理解语句的语义。
9.根据权利要求7或8所述的方法,其特征在于,所述获取词条信息,包括:
从词典中查询所述语句包含的词条,得到所述词条信息,其中,所述词典中包括至少一个词条。
10.一种人机交互系统中实现自然语言理解的装置,其特征在于,包括:
获取模块,用于获取目标词条信息,所述目标词条信息用于表示目标语句包含的词条,所述目标语句为用户向所述人机交互系统输入的语句;
消歧模块,用于使用词条消歧模型,基于所述目标语句和所述目标词条信息,获取目标指示信息,所述目标指示信息用于指示所述目标词条信息所指示的词条是否符合所述目标语句的语义;
理解模块,用于使用自然语言理解模型,基于所述目标语句、所述目标词条信息和所述目标指示信息,获取理解结果,所述理解结果包含所述用户输入所述目标语句的目标意图和所述目标意图的关键信息。
11.根据权利要求10所述的装置,其特征在于,所述获取模块具体用于:
从目标词典中查询所述目标语句包含的词条,得到所述目标词条信息,其中,所述目标词典中包括至少一个词条。
12.根据权利要求11所述的装置,其特征在于,所述装置包含于端侧设备,其中,所述目标词典包括所述端侧设备上的词典。
13.根据权利要求10所述的装置,其特征在于,所述获取模块具体用于:
向云侧设备发送所述目标语句;
从所述云侧设备接收所述目标词条信息。
14.根据权利要求13所述的装置,其特征在于,所述获取模块具体用于:
使用意图识别模型,获取所述目标语句的候选意图;
在根据预设的对应关系判断所述候选意图对应的词典位于所述云侧设备的情况下,向所述云侧设备发送所述目标语句,所述对应关系用于指示意图是否位于所述云侧设备。
15.根据权利要求10至14中任一项所述的装置,其特征在于,所述词条消歧模型为二分类模型。
16.一种模型训练装置,其特征在于,包括:
获取模块,用于获取第一训练数据,所述第一训练数据中包含训练语句、用户输入所述训练语句的意图和所述意图的关键信息;
所述获取模块还用于获取词条信息,所述词条信息用于表示所述训练语句包含的词条;
判断模块,用于根据所述第一训练数据和所述词条信息获取指示信息,所述指示信息用于指示所述词条信息所表示的词条是否符合所述意图和所述关键信息所表示的语义;
生成模块,用于根据所述训练语句、所述词条信息和所述指示信息获取第二训练数据,所述第二训练数据中包含所述训练语句、所述词条信息和所述指示信息,所述第二训练数据用于训练词条消歧模型,其中,所述词条消歧模型用于基于待处理语句和待处理词条信息判断所述待处理词条信息所表示的词条是否符合所述待处理语句的语义。
17.根据权利要求16所述的装置,其特征在于,所述生成模块还用于根据所述第一训练数据、所述词条信息和所述指示信息获取第三训练数据,所述第三训练数据中包含所述第一训练数据、所述词条信息和所述指示信息,所述第三训练数据用于训练自然语言理解模型,其中,所述自然语言理解模型用于基于待理解语句、第一辅助信息和第二辅助信息获取用户输入所述待理解语句的意图和所述意图的关键信息,所述第一辅助信息用于表示所述待理解语句包含的词条、所述第二辅助信息用于指示所述第一辅助信息所表示的词条是否符合所述待理解语句的语义。
18.根据权利要求16或17所述的装置,其特征在于,所述获取模块具体用于:
从词典中查询所述语句包含的词条,得到所述词条信息,其中,所述词典中包括至少一个词条。
19.一种人机交互系统中实现自然语言理解的装置,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于存储指令;
所述处理器用于执行所述存储器中存储的指令,以使得所述装置实现如权利要求1至6中任一项所述的方法。
20.一种模型训练装置,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于存储指令;
所述处理器用于执行所述存储器中存储的指令,以使得所述装置实现如权利要求7至9中任一项所述的方法。
21.一种计算机可读介质,其特征在于,包括指令,当所述指令在处理器上运行时,使得所述处理器实现如权利要求1至9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429245.1A CN111737972A (zh) | 2020-05-20 | 2020-05-20 | 人机交互系统中实现自然语言理解的方法和装置 |
CN202011565278.5A CN112632962B (zh) | 2020-05-20 | 2020-12-25 | 人机交互系统中实现自然语言理解方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429245.1A CN111737972A (zh) | 2020-05-20 | 2020-05-20 | 人机交互系统中实现自然语言理解的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111737972A true CN111737972A (zh) | 2020-10-02 |
Family
ID=72647474
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010429245.1A Pending CN111737972A (zh) | 2020-05-20 | 2020-05-20 | 人机交互系统中实现自然语言理解的方法和装置 |
CN202011565278.5A Active CN112632962B (zh) | 2020-05-20 | 2020-12-25 | 人机交互系统中实现自然语言理解方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011565278.5A Active CN112632962B (zh) | 2020-05-20 | 2020-12-25 | 人机交互系统中实现自然语言理解方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111737972A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115394293A (zh) * | 2022-08-08 | 2022-11-25 | 湖北星纪时代科技有限公司 | 对话系统和用于实现对话的方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383875B (zh) * | 2016-09-09 | 2019-10-15 | 北京百度网讯科技有限公司 | 基于人工智能的人机交互方法和装置 |
CN109726385A (zh) * | 2017-10-31 | 2019-05-07 | 株式会社Ntt都科摩 | 词义消歧方法和设备、词义扩展方法和装置 |
CN108932945B (zh) * | 2018-03-21 | 2021-08-31 | 北京猎户星空科技有限公司 | 一种语音指令的处理方法及装置 |
CN108664472B (zh) * | 2018-05-08 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 自然语言处理方法、装置及其设备 |
CN108920497B (zh) * | 2018-05-23 | 2021-10-15 | 北京奇艺世纪科技有限公司 | 一种人机交互方法及装置 |
CN109948149B (zh) * | 2019-02-28 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 一种文本分类方法及装置 |
CN110334344B (zh) * | 2019-06-13 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 一种语义意图识别方法、装置、设备及存储介质 |
CN110309514B (zh) * | 2019-07-09 | 2023-07-11 | 北京金山数字娱乐科技有限公司 | 一种语义识别方法及装置 |
CN110442697B (zh) * | 2019-08-06 | 2023-09-12 | 中电金信软件(上海)有限公司 | 一种人机交互方法、系统、计算机设备和存储介质 |
CN111046653B (zh) * | 2019-11-14 | 2023-12-29 | 深圳市优必选科技股份有限公司 | 一种语句识别方法、语句识别装置及智能设备 |
-
2020
- 2020-05-20 CN CN202010429245.1A patent/CN111737972A/zh active Pending
- 2020-12-25 CN CN202011565278.5A patent/CN112632962B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112632962B (zh) | 2023-11-17 |
CN112632962A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022078102A1 (zh) | 一种实体识别方法、装置、设备以及存储介质 | |
CN109165302B (zh) | 多媒体文件推荐方法及装置 | |
CN107210033A (zh) | 基于众包来更新用于数字个人助理的语言理解分类器模型 | |
US20220100972A1 (en) | Configurable generic language understanding models | |
CN110321544B (zh) | 用于生成信息的方法和装置 | |
CN103970791A (zh) | 一种从视频库推荐视频的方法、装置 | |
CN111312233A (zh) | 一种语音数据的识别方法、装置及系统 | |
CN113806588A (zh) | 搜索视频的方法和装置 | |
KR20150077580A (ko) | 음성 인식 기반 서비스 제공 방법 및 그 장치 | |
CN114817755A (zh) | 一种用户互动内容管理方法、装置和存储介质 | |
CN113411674A (zh) | 视频的播放控制方法、装置、电子设备及存储介质 | |
CN112242140A (zh) | 智能设备控制方法、装置、电子设备及存储介质 | |
US20230315990A1 (en) | Text detection method and apparatus, electronic device, and storage medium | |
US11437038B2 (en) | Recognition and restructuring of previously presented materials | |
CN112307198B (zh) | 一种单文本的摘要确定方法和相关装置 | |
CN111737972A (zh) | 人机交互系统中实现自然语言理解的方法和装置 | |
CN117609612A (zh) | 资源推荐方法、装置、存储介质及电子设备 | |
CN112712056A (zh) | 视频语义分析方法、装置、存储介质及电子设备 | |
CN113627161B (zh) | 数据处理方法及装置、存储介质、电子设备 | |
CN114265948A (zh) | 图像推送方法和装置 | |
CN114722234A (zh) | 基于人工智能的音乐推荐方法、装置、存储介质 | |
WO2022159201A1 (en) | Document sampling using prefetching and precomputing | |
CN111159421A (zh) | 基于知识图谱的基金查询方法及装置 | |
CN117093715B (zh) | 词库扩充方法、系统、计算机设备及存储介质 | |
CN114840786A (zh) | 数据处理方法和装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201002 |
|
WD01 | Invention patent application deemed withdrawn after publication |