CN110619050B - 意图识别方法及设备 - Google Patents
意图识别方法及设备 Download PDFInfo
- Publication number
- CN110619050B CN110619050B CN201810634810.0A CN201810634810A CN110619050B CN 110619050 B CN110619050 B CN 110619050B CN 201810634810 A CN201810634810 A CN 201810634810A CN 110619050 B CN110619050 B CN 110619050B
- Authority
- CN
- China
- Prior art keywords
- template
- word
- sentence
- words
- intention
- 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 101
- 238000012549 training Methods 0.000 claims abstract description 196
- 239000013598 vector Substances 0.000 claims description 355
- 230000015654 memory Effects 0.000 claims description 44
- 238000004891 communication Methods 0.000 claims description 21
- 238000013527 convolutional neural network Methods 0.000 claims description 12
- 238000010801 machine learning Methods 0.000 claims description 10
- 210000004027 cell Anatomy 0.000 description 46
- 230000008569 process Effects 0.000 description 27
- 230000001537 neural effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 4
- 238000010845 search algorithm Methods 0.000 description 4
- 229920002334 Spandex Polymers 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000004759 spandex Substances 0.000 description 3
- DWDGSKGGUZPXMQ-UHFFFAOYSA-N OPPO Chemical compound OPPO DWDGSKGGUZPXMQ-UHFFFAOYSA-N 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 206010040007 Sense of oppression Diseases 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供一种意图识别方法和设备,该方法包括:接收多个意图以及多个意图中每个意图的多个原始语句;意图是表示对象的目的的参数,原始语句是包含实例词语的参数;针对于多个意图中的每个意图,根据多个原始语句确定多个模板语句;模板语句是包含模板词语的参数,模板词语是多个实例词语对应的模板;模板词语表示实体类和属性类中的一个或多个;实例词语包含实体类的实例或者属性类的实例;根据多个意图和每个意图的多个模板语句训练得到意图识别模型,意图识别模型用于识别输入的原始语句的意图。实施本申请实施例,可以提高提高意图识别模型训练的准确性和效率。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种意图识别方法及设备。
背景技术
在人工智能(artificial intelligence,AI)技术领域,意图识别是指计算机通过识别人类语言来理解语言的真实目的。在实际应用中,可以基于机器学习的方法建立意图识别模型,来实现意图识别。
建立意图识别模型的基本原理是针对每种意图,预先提供一些样本数据作为训练集。使用训练集来训练得到一个分类器模型,该分类器模型可以作为意图识别模型。具体地,例如对于“手机询价”意图,提供的训练集中的语句可以是“我想知道华为Mate 10的售价是多少?”、“能告诉我华为Mate 10Plus卖多少钱么?”等等。在意图识别模型的使用过程中,将原始语句输入上述训练得到的分类器模型,即可得到意图识别的结果。
然而,上述通过训练集中的语句来训练得到意图识别模型的过程,往往需要提供大量的语句用于进行模型训练,每个意图对应的语句搜集难以覆盖全面,从而降低意图识别模型训练的准确性。另外,对于一种意图来说,实体和属性会不断的增加和变化,需要在训练集中增加新的对象和属性对应的语句,并重新进行意图识别模型训练。例如上述“手机询价”意图中,手机款型会随着时间不断的增加,例如后续新出现的华为Mate 20pro,则需要重新更新训练集,并重新进行意图识别模型的训练。上述更新意图识别模型的过程操作繁琐、且更新时间很长,降低了意图识别模型训练的效率。
发明内容
本申请实施例公开了一种意图识别方法和设备,可以提高提高意图识别模型训练的准确性和效率。
第一方面,本申请实施例提供一种意图识别方法,包括:接收多个意图以及所述多个意图中每个意图的多个原始语句;所述意图是表示对象的目的的参数,所述原始语句是包含实例词语的参数;针对于所述多个意图中的每个意图,根据所述多个原始语句确定多个模板语句;所述模板语句是包含模板词语的参数,所述模板词语是多个实例词语对应的模板;所述模板词语表示实体类和属性类中的一个或多个;所述实例词语包含所述实体类的实例或者所述属性类的实例;根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,所述意图识别模型用于识别输入的原始语句的意图。
上述的意图识别方法中,可以根据接收到的原始语句通过实例词语替换为对应的模板词语来得到模板语句,通过模板词语来概括具体的实例词语得到的模板语句来训练意图识别模型,可以大大的减少进行模型训练的语句的数量。从而可以减少未被搜集到的用于进行模型训练的语句,可以提高意图识别模型训练的准确性。另外,当出现新的实例词语的情况下,由于意图识别模型是通过模板语句进行训练的,无需频繁更新意图识别模型,仍然可以对包含新的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性和训练意图识别模型的效率。
若将上述语句转化的过程和意图识别模型训练的过程分开到两个不同的执行主体上,则方法最后一个步骤“根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,所述意图识别模型用于识别输入的原始语句的意图”可以替换为“将所述多个意图和所述多个模板语句输入模型训练模块以使得所述模型训练模块根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,所述意图识别模型用于识别输入的原始语句的意图”。
模型训练模块可以为一台独立的计算机设备,也可以为一个软件模块,用于实现意图识别模型的训练。
意图识别设备使用意图识别模型识别得到的意图可以是模板化意图,也可以是归一化意图。意图识别设备可以使用NER算法识别第一原始语句中的第一实例词语。第一实例词语例如可以是实体类词语、属性类词语。
在一个实施例中,所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,包括:针对所述每个意图,获取所述每个意图的所述多个模板语句中每个模板语句中词语的词向量,所述每个模板语句中词语包含所述模板词语,所述每个模板语句中词语的词向量包含所述模板词语对应的词向量;使用所述多个意图和所述每个意图的多个模板语句中每个模板语句中词语的词向量训练得到意图识别模型。
在一个实施例中,所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,包括:针对所述每个意图,获取所述多个模板语句中每个模板语句的句向量,针对所述每个模板语句,句向量由模板语句中词语的词向量确定,所述模板语句中词语包含所述模板词语,所述模板语句中词语的词向量包含所述模板词语对应的词向量;使用所述多个意图和所述每个意图的多个模板语句中每个模板语句的句向量训练得到意图识别模型。
在一个实施例中,所述模板词语对应的词向量是所述模板词语的词向量。由于模板词语是实例词语的概括,当新的实体或者新的属性出现的情况下,训练意图识别模型的模板语句中的模板词语也可以包含这些新的实体和新的属性,仍然可以使用该意图识别模型对包含新的实体或者新的属性的待识别语句进行意图识别,无需频繁更新意图识别模型,可以提高意图识别模型的通用性。
在一个实施例中,所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之前,所述方法还包括:从知识库中获取所述模板词语的多个实例词语;根据所述模板词语的多个实例词语对应的多个词向量确定所述模板词语对应的词向量。上述根据模板词语的多个实例词语的多个词向量确定模板词语对应的词向量,模板词语对应的词向量是模板词语在知识库中全部的实例词语的词向量确定,进行意图识别模型训练的模板语句的词向量中包含了知识库中更多的实例信息,可以提高意图识别模型训练的准确性。另外,当出现新的实例词语的情况下,由于意图识别模型是通过模板语句进行训练的,无需频繁更新意图识别模型,仍然可以对包含新的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性和训练意图识别模型的效率。
可选的,在进行意图识别模型训练时,多个模板语句中每个模板语句包含的模板词语的数量可以不限于一个,可以是多个。相应的,在使用意图识别模型进行意图识别时,第一原始语句中需要替换为第一模板词语的第一实例词语也可以是多个,第一实例词语的数量可以是和模板语句包含的模板词语的数量相同。进行意图识别模型训练的模板语句中包含多个模板词语的情况下,模板语句可以更大范围的概括对应的原始语句,可以进一步减少需要搜集的模板语句的数量,从而可以减少未被搜集到的用于进行模型训练的语句,提高意图识别模型训练的准确性。
在一个实施例中,所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之后,所述方法还包括:在检测到所述知识库中所述模板词语的实例词语增量大于第一阈值的情况下,重新根据所述模板词语的多个实例词语对应的多个词向量和所述实例词语增量对应的多个词向量确定所述模板词语对应的词向量,得到所述模板词语对应的更新的词向量;针对于所述每个意图,重新获取所述多个模板语句中每个模板语句中词语的词向量,得到重新获取的词语的词向量;重新根据所述多个意图和所述每个意图的多个模板语句中每个模板语句中所述重新获取的词语的词向量训练得到更新的意图识别模型,所述重新获取的词语的词向量包含所述模板词语对应的更新的词向量。
在一个实施例中,所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之后,所述方法还包括:在检测到所述知识库中所述模板词语的实例词语增量大于第一阈值的情况下,重新根据所述模板词语的多个实例词语对应的词向量和所述实例词语增量对应的多个词向量确定所述模板词语对应的词向量,得到所述模板词语对应的更新的词向量;针对于所述每个意图,重新确定所述多个模板语句中每个模板语句的句向量,以得到更新的句向量,针对所述每个模板语句,所述更新的句向量由模板语句中词语的词向量确定,所述模板语句中词语包含所述模板词语,所述模板语句中词语的词向量包含所述模板词语对应的更新的词向量;重新根据所述多个意图和所述每个意图的多个模板语句中每个模板语句的所述更新的句向量训练得到更新的意图识别模型。
其中,实例词语增量大于第一阈值可以是实例词语增量的数量大于或等于第二阈值,也可以是实例词语的增量所占实例词语的总量的比率大于或等于第三阈值。
上述的意图识别方法中,意图识别模型可以随着实例词语的更新而更新,从而可以减少由于实例语句中包含新出现的实例词语,意图识别模型无法进行意图识别的情况,同时,更新的意图识别模型是根据原先的实例词语和更新的实例词语训练得到的,因此意图识别模型识别得到的意图更加精确。
在一个实施例中,所述针对于所述多个意图中的每个意图,根据所述多个原始语句确定多个模板语句,包括:将所述多个原始语句中每个原始语句的实例词语替换成对应的模板词语,得到多个模板语句。模板语句是意图识别设备根据原始语句获得,可以减少人工搜集模板语句的情况下未被搜集到的用于进行模型训练的语句,提高意图识别模型训练的准确性。
可选的,意图识别设备获取多个原始语句之后,根据搜索算法搜索出与获取的这多个原始语句相关紧密的另一些原始语句。该搜索算法可以根据词向量句向量的相似性和紧密性来实现搜索出另一些原始语句。然后意图识别设备可以根据多个原始语句和另一些原始语句来通过确定多个模板语句,具体的,可以替换所有原始语句中实例词语为模板词语得到多个模板语句。
在一个实施例中,所述意图识别模型是基于机器学习的卷积神经网络。
第二方面,本申请实施例提供一种意图识别方法,包括:接收第一请求,所述第一请求携带第一原始语句,所述第一请求用于请求对所述第一原始语句进行意图识别;所述第一原始语句包含第一实例词语;将所述第一原始语句中的第一实例词语替换为第一模板词语,得到第一模板语句,所述第一模板词语是多个实例词语对应的模板;将所述第一模板语句输入意图识别模型,得到所述第一模板语句的意图;所述意图是表示对象的目的的参数。上述的意图识别方法中,由于在训练模型时所使用的模板语句并未包含具体的实例词语,意图识别模型仍然可以对包含新出现的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性。
在一个实施例中,所述将所述第一模板语句输入意图识别模型,得到所述第一模板语句的意图之后,所述方法还包括:根据所述第一模板语句的意图和所述第一原始语句中的第一实例词语,从知识库中获取所述第一原始语句的答案模板。
在一个实施例中,所述接收第一请求之前,所述方法还包括:接收多个意图以及所述多个意图中每个意图的多个原始语句;针对于所述多个意图中的每个意图,根据所述多个原始语句确定多个模板语句;所述模板语句是包含模板词语的参数,所述模板词语是多个实例词语对应的模板;所述模板词语表示实体类和属性类中的一个或多个;所述实例词语包含所述实体类的实例或者所述属性类的实例;根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,所述意图识别模型用于识别输入的原始语句的意图。
第三方面,本申请实施例提供一种意图识别设备,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行第一方面或第一方面任一个可能的实施例所提供的方法。
第四方面,本申请实施例提供一种意图识别设备,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行第二方面或第二方面任一个可能的实施例所提供的方法。
第五方面,本申请实施例提供一种意图识别设备,该设备包括用于执行第一方面或第一方面任一个可能的实施例所提供的意图识别方法的模块或单元。
第六方面,本申请实施例提供一种意图识别设备,该设备包括用于执行第二方面或第二方面任一个可能的实施例所提供的意图识别方法的模块或单元。
第七方面,本发明实施例提供一种芯片系统,该芯片系统包括至少一个处理器,存储器和接口电路,该存储器、该接口电路和该至少一个处理器通过线路互联,该至少一个存储器中存储有程序指令;该程序指令被该处理器执行时,实现第一方面或者第一方面任一个可能的实施例所描述的方法。
第八方面,本发明实施例提供一种芯片系统,该芯片系统包括至少一个处理器,存储器和接口电路,该存储器、该接口电路和该至少一个处理器通过线路互联,该至少一个存储器中存储有程序指令;该程序指令被该处理器执行时,实现第二方面或者第二方面任一个可能的实施例所描述的方法。
第九方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,当该程序指令由处理器运行时,实现第一方面或者第一方面任一个可能的实施例所描述的方法。
第十方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,当该程序指令由处理器运行时,实现第二方面或者第二方面任一个可能的实施例所描述的方法。
第十一方面,本发明实施例提供一种计算机程序产品,当该计算机程序产品在由处理器上运行时,实现第一方面或者第一方面任一个可能的实施例所描述的方法。
第十二方面,本发明实施例提供一种计算机程序产品,当该计算机程序产品在由处理器上运行时,实现第二方面或者第二方面任一个可能的实施例所描述的方法。
本申请实施例提供的意图识别方法中,可以根据接收到的原始语句来得到模板语句,通过模板词语来概括具体的实例词语得到的模板语句来训练意图识别模型,可以大大的减少进行模型训练的语句的数量。从而可以减少未被搜集到的用于进行模型训练的语句,可以提高意图识别模型训练的准确性。另外,当出现新的实例词语的情况下,由于意图识别模型是通过模板语句进行训练的,无需频繁更新意图识别模型,仍然可以对包含新的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性和训练意图识别模型的效率。
附图说明
下面对本申请实施例用到的附图进行介绍。
图1是本申请实施例提供的一种意图识别系统的架构示意图;
图2是本申请实施例提供的一种意图识别模型建立设备10的结构示意图;
图3是本申请实施例提供的一种意图识别设备20的结构示意图;
图4是本申请实施例提供的一种意图识别方法的流程示意图;
图5是本申请实施例提供的一种意图识别设备的结构示意图;
图6是本申请实施例提供的另一种意图识别设备的结构示意图。
具体实施方式
首先,为了便于理解本申请实施例,对本申请实施例涉及的一些概念或术语进行解释。
(1)意图识别
在AI技术领域,意图识别(intent classification)是指计算机对用户输入的自然语言进行理解,进而识别自然语言的意图。意图是指自然语言背后的真实目的。对于设备来说,意图是表征对象的目的的参数。由于人类语言的丰富性,一个意图可以有多种不同形式的语言表达。例如,对于咨询手机的价格的意图,对应的语言表达可以包括以下几种:
a、iPhone X的价格是多少?
b、我想知道Mate 10的售价是多少?
c、能告诉我Mate 10Plus卖多少钱么?
由于一个意图可以对应多种语言表达方式,在该意图下,用户询问的对象也可以是各种各样的。前例的手机询价意图来说,对象可以是各种型号的手机,具体地,如iPhoneX、Mate10和Mate 10Plus等等。在人机对话的应用中,计算机可以首先对用户输入的语言进行意图识别,然后根据识别的得到的意图分类和语言中包含的实体得到用户询问语言的答案,进而实现人机对话。上述的语言可以是语音的形式,也可以是文本的形式,还可以是其他形式,本申请实施例对此不作限定。
语句按照不同的概括层次可以包含原始语句和模板语句,相应的意图按照不同的概括层次可以包含原始意图、模板化意图和归一化意图,以下分别详细进行介绍。
①原始语句和原始意图
原始意图是指每一个具体的语句所表达的具体目的。例如,对于“iphone8卖多少钱?”这一具体语句的原始意图即为“询问手机iphone8的价格”。其中,这种具体的语句可以称为原始语句。
②模板语句和模板化意图
将原始语句中的属性类和/或实体类替换之后,可以得到模板语句。模板语句可以是多个原始语句的概括。例如,将原始语句“iphone8卖多少钱?”中的对象“iphone8”替换为“手机”这一概括描述,即得到模板语句“{手机}卖多少钱?”。模板语句“{手机}卖多少钱?”是包括以下多个原始语句的概括:“iphone8卖多少钱?”、“Mate 10卖多少钱?”、“iphoneX卖多少钱?”。一个模板化意图即为一个模板语句的意图。前例中模板语句“{手机}卖多少钱?”的模板化意图是“询问{手机}卖多少钱”。
③归一化意图
要表达一个具体目的可以有多种语句的表达方式。因此,对于同一个具体目的,可以有多种模板化意图。对于这多种模板化意图表达的同一个目的可以称为归一化意图。例如,模板语句“{手机}卖多少钱?”的模板化意图是“询问{手机}卖多少钱”。模板语句“我想知道{手机}的售价是多少?”的模板化意图是“询问{手机}的售价”。模板语句“{手机}的价格是多少?”的模板化意图是“询问{手机}的价格”。上述三种模板化意图统一的目的是“手机询价”,“手机询价”可以称为归一化意图。由于语言的多样性,归一化意图对应的模板化意图可以有很多。
本申请实施例所涉及的意图识别不限定概括层次,识别得到的意图可以是原始意图、模板化意图和归一化意图中的任一个或多个。
对语言进行意图识别可以通过建立的意图识别模型来实现的。意图识别模型可以看作是对输入模型的语句执行处理的程序。执行处理可以是使用卷积神经网络(convosutionas neuras network,CNN)算法对语句进行运算,之后输出根据语句识别得到的意图类别。意图识别模型可以是基于机器学习的方法训练获得的。在机器学习训练意图识别模型的过程中,可以向意图识别模型中输入一组训练数据,通过训练数据的正向传播和误差的反向传播来调整意图识别模型中的参数,使意图识别模型的误差是收敛的。
可以理解的,本申请实施例对意图识别模型采用的具体算法不作限定,也可以是其他算法实现,例如支持向量机(support vector machine,SVM)。
(2)卷积神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
卷积神经网络是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,我们都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
(3)知识库
人在进行语言交流的时候,实际上是隐含着先验知识的。例如前例中“我想知道Mate10pro的售价是多少?”,隐含了“Mate 10pro”是一款手机,而且是华为公司新发布的一款新手机这样的信息。类似的,在AI技术领域,知识库用于帮助计算机理解文本背后的含义。在知识库中可以对可描述的事物(实体)进行建模,并填充实体的属性,拓展该实体和其他事物的联系,即为构建计算机构建先验知识。
知识库是一种特殊的数据库,本质上是一种语义网络(semantic network)。语义网络是由相互连接的节点和边组成,知识库这一语义网络的节点代表实体(entity)或者概念(concept),边代表实体/概念之间的各种语义关系。很多上述的节点和边可以形成一个很大的知识网络,即知识库。可以根据知识库中实体与实体之间的关系划分实体类,实体类可以是多个实体的概括。实体类中可以包含多个实体。例如,知识库中,对于“手机”这一实体类,可以包含以下具体型号的手机:iPhone X手机、Mate 10手机和Mate 10Plus手机。
可以构建一个包含手机的知识库,手机的型号、品牌和类别等可以作为实体存储,手机的各种特性和参数可以作为属性关系存储。计算机在保存有上述的先验知识之后,关于某一个手机型号,计算机即可以根据知识库来得到该手机型号相关的信息。例如,在接收到“Mate10pro”时,计算机即可以根据知识库得到Mate 10pro这款手机的相关信息,具体的可以包括Mate 10pro是华为公司发布的一款手机,Mate 10pro的发布时间、配置参数,包括屏幕尺寸、内存、处理器等。除了获取Mate 10pro自身的相关信息之外,计算机还可以根据知识库获取与Mate 10pro关联的信息。具体地,例如Mate 10pro和Mate 10同属于华为手机的型号等。计算机根据知识库得到某一实体的相关信息的过程,类似于人在看到熟悉的事物时会做一些联想和推理。
由于现实中实体和实体的属性随着时间会不断增加,知识库中包含的实体和属性的也可以进行更新。例如,对于“手机”这一实体类来说,包含的具体型号的手机可以随着时间更新。在新出现一款手机“Mate 20pro手机”之后,可以在知识库中增加该实体“Mate20pro手机”、该实体“Mate 20pro手机”的属性和该属性关联的信息。
(4)词向量
在意图识别模型的训练和使用意图识别模型进行意图识别过程中,可以使用词向量(word embeddings)来表示语句中的词语。词向量是指把一个词语映射到一个向量空间,在该向量空间中,语义越相似的词语的距离可以越接近。该向量空间通常是几百维度数量级的。
词向量可以是指词语在高维向量空间的离散表征(one-hot representation),也可以是指词语在低维向量空间的稠密表征(distribution representation)。其中,离散表征是指把每个词语表示为一个长向量。这个向量的维度是词表大小,该向量中只有一个维度的值为1,其余维度为0,这个维度就代表了当前的词语。词向量的离散表征相当于为向量空间中的每个词语分配一个ID。但是离散表征这种表示方式不能展示词语与词语之间的关系,且特征空间非常大。
稠密表征时,词语与词语之间存在相似(analogy)关系,例如根据“北京-中国”,给出“巴黎”即可类比得到“法国”。另外,稠密表征时,词语与词语之间存在“距离”的概念,语义越相似的词语距离越接近。稠密表征得到的词向量还包含更多信息,词向量的每一维都有特定的含义。基于上述优势,词向量一般地采用稠密表征。
词向量的建模过程都是通过词语在语料中的上下文来表示该词语。可以对词语与其上下文的关系进行建模,从而可以得到词向量的表示。
(5)句向量
句向量(sentence vector)是语句的向量表达,用来表示语句。与词向量类似,句向量用于将语句内容形式化为多维空间中的点,句向量可以将文本内容的处理转换为向量空间中向量的运算,以降低问题的复杂度。句向量与词向量不同的是,粒度大小不同,可以类比自然语言中的语句和词语。语句的句向量可以是根据语句中词语的词向量得到的。根据语句中词语的词向量得到语句的句向量的方法可以是将语句中所有词语的词向量取均值,也可以是将语句中所有词语的词向量求加权和。针对于语句中每个词语的词向量来说,加权的权重可以是根据该词语对语句的提现效果来确定。该词语的词向量的加权权重可以是学习得到的,也可以是借助先验知识来衡量得到的。
可以理解的,本申请实施例对怎样根据词向量确定句向量的方式不作限定。
(6)命名实体识别
命名实体识别(named entity recognition,NER)是指识别语句中具有特定意义的实体。其中,命名实体是指语句中的固有名称、缩写和其他唯一标识。具体地,命名实体可以包括人名、地名、组织名、机构名、时间表达式和数值表达式等。在不同的应用领域,命名实体还可以根据具体需求进行扩展。例如,在电信领域,可以根据需求扩展命名实体还包括彩信业务、4G套餐、流量等。
命名实体识别包含两个作用:首先,找出命名实体,即从语句对应的文本中找出命名实体。其次,标注命名实体,即将找出的命名实体标注为某一种具体的类型。计算机可以根据标注识别找出的命名实体。命名实体是否被正确识别包括两个方面:命名实体的边界是否正确,命名实体的类型是否标注正确。命名实体识别技术是信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术必不可少的组成部分。
命名实体识别所使用的算法可以是CNN,也可以是SVM。本申请实施例对实现命名实体识别的算法不作限定。其中一种可能命名实体识别算法是字符串的最大长度匹配,例如在对文本中“Mate 10Pro”进行识别时,会被识别为“Mate 10Pro”而不是“Mate 10”。
(7)模板词语和实例词语
在知识库中,某一种实体类或者属性类可以包含多个实例。例如,“手机”这一类实体(实体类)可以包含iPhone X手机、Mate 10手机和Mate 10Plus手机等诸多型号的实例。本申请实施例中,iPhone X手机、Mate 10手机和Mate 10Plus手机等每一个词语可以称为一个实例词语,可以把“手机”称为上述实例词语的模板词语。
其中,实体类是指文本中一类具有相关性的实体的概括。例如,对于“手机”这一实体类,可以包含以下具体型号的手机:iPhone X手机、Mate 10手机和Mate 10Plus手机。属性类是一个事物的性质与关系,事物的性质包含形状、颜色、气味、善恶、优劣、用途等。事物的关系包含大于、小于、压迫、反抗、朋友、热爱、同盟、矛盾等。例如在电信技术领域,“Mate10”这一事物的属性有颜色、重量的属性,还有是否支持莱卡双摄这一属性。是否支持莱卡双摄这一属性可以看作是Mate 10”这一事物与“莱卡双摄”这一事物之间的关系。
每个实例词语和每个模板词语均可以用相应的词向量来表示。例如,“手机”这一模板词语可以使用一个词向量表示。“手机”这一模板词语所表示的实例词语中,iPhone X手机可以用一个词向量表示,Mate 10手机可以用一个词向量表示,Mate 10Plus手机可以用一个词向量表示。
请参见图1,图1是本申请实施例提供的一种意图识别系统的架构示意图。该意图识别系统可以用于训练意图识别模型、使用意图识别模型进行意图识别以及更新意图识别模型。该意图识别系统可以包括意图识别模型建立设备10和意图识别设备20,意图识别模型建立设备10和意图识别设备20建立通信连接,其中:
意图识别模型建立设备10,用于进行意图识别模型的训练,训练的过程可以是基于机器学习的方法来实现。
具体地,首先,意图识别模型建立设备10可以建立初始的意图识别模型,进行意图识别模型的训练的过程可以是优化初始的意图识别模型中的参数的过程。其次,意图识别模型建立设备10可以接收意图识别模型的训练数据。训练数据可以是多个意图和每个意图的多个模板语句。可选的,意图识别模型建立设备10可以包含集成开发环境(integrateddevelopment environment,IDE),通过IDE来接收用于对意图识别模型进行训练的训练数据。最后,意图识别模型建立设备10可以使用训练数据对初始的意图识别模型进行训练,来优化初始的意图识别模型中的参数直到意图识别模型的误差是收敛的,得到训练完成的意图识别模型。其中,意图识别模型的训练数据可以是模板语句的句向量或者模板语句中词语的词向量。意图识别模型建立设备10根据模板语句的句向量或者模板语句中词语的词向量进行模型训练。
意图识别模型建立设备10,还用于通过与意图识别设备20之间的通信连接将训练得到的意图识别模型(即训练完成的意图识别模型)发送给意图识别设备20。其中,意图识别模型建立设备10与意图识别设备20之间的通信连接可以是有线连接,也可以是无线连接,本申请实施例对此不作限定。
意图识别设备20,用于接收意图识别模型建立设备10发送的意图识别模型。意图识别设备20还用于使用接收到的意图识别模型进行意图识别。
具体地,首先,意图识别设备20可以接收用户输入的待识别语句,该待识别语句不限于语音、文本的形式。该待识别语句可以是第一原始语句。其次,意图识别设备20将第一原始语句中的第一实例词语替换为第一模板词语,得到第一模板语句。再次,意图识别设备20可以将该第一模板语句输入意图识别模型中,使用意图识别模型来对第一模板语句进行意图识别。
意图识别设备20还可以根据第一模板语句的意图和第一原始语句中的第一实例词语,从知识库中获取第一原始语句的答案模板。例如,意图识别设备20在识别出待识别语句“我想知道Mate 10的售价是多少?”对应的意图为“手机询价”意图之后,从知识库30中查询出“手机询价”意图下,“Mate 10”的查询结果,即从知识库30中查询出“Mate 10”这一词语对应的手机的价格。意图识别设备20还可以将答案模板呈现给用户,可以是语音形式,也可以是文本形式,还可以是其他形式,本申请实施例对此不作限定。
意图识别系统还可以包括知识库30,知识库30可以是以资源描述框架(resourcedescription framework,RDF)数据库的形式存放。知识库30可以与意图识别模型建立设备10建立通信连接,知识库30还可以与意图识别设备20建立通信连接。知识库30与其他设备建立的通信连接可以是通过知识库30提供的SparQL访问接口实现的。
意图识别模型建立设备10,还用于从知识库30中获取模板词语的多个实例词语。例如,意图识别模型建立设备10可以从知识库30中获取“商品”这一模板词语的所有实例词语。意图识别模型建立设备10可以根据获取的模板词语的所有实例词语的词向量,用于对意图识别模型进行训练。
需要说明的是,意图识别模型建立设备10和意图识别设备20可以是同一个设备实现的,也可以是两个独立的设备来实现的,本申请实施例对此不作限定。
基于图1的系统架构,请参阅图2,图2是本申请实施例提供的一种意图识别模型建立设备10的结构示意图。该意图识别模型建立设备10应用于意图识别系统,该意图识别系统可以是图1所描述的意图识别系统。如图2所示,本申请实施例提供的意图识别模型建立设备10包括一个或多个处理器201、通信接口202、存储器203和用户接口205,处理器201、通信接口202、存储器203和用户接口205可通过总线或者其它方式连接,本申请实施例以通过总线204连接为例。其中:
处理器201可以由一个或者多个通用处理器构成,例如CPU。处理器201可用于运行意图识别模型21相关的程序代码。也就是说,处理器201执行程序代码可以实现意图识别模型21的功能。其中,意图识别模型21可以是存储程序代码的文件,处理器201可以调用该意图识别模型21通过算法实现意图识别。另外,处理器还用于对执行程序代码实现对意图识别模型21进行训练。
通信接口202可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他节点进行通信。本申请实施例中,通信接口202具体可用于将训练完成的意图识别模型发送给意图识别设备20。
存储器203可以包括易失性存储器(volatile memory),例如RAM;存储器也可以包括非易失性存储器(non-vlatile memory),例如ROM、快闪存储器(flash memory)、HDD或固态硬盘SSD;存储器203还可以包括上述种类的存储器的组合。存储器203可用于存储一组程序代码,以便于处理器201调用存储器203中存储的程序代码以实现本申请实施例的意图识别模型建立方法在意图识别模型建立设备10侧的实现方法。
用户接口205具体可为触控面板,包括触摸屏和触控屏,用于检测触控面板上的操作指令,用户接口205也可以是物理按键或者鼠标。用户接口205还可以为显示屏,用于输出、显示图像或数据。具体的,用户接口205可包括IDE,用于接收用于对意图识别模型进行训练的训练数据。意图识别模型建立设备10根据语句的句向量或者对应的词向量进行模型训练。
需要说明的,图2所示的意图识别模型建立设备10仅仅是本申请实施例的一种实现方式,实际应用中,意图识别模型建立设备10还可以包括更多或更少的部件,这里不作限制。
基于图1的系统架构,请参阅图3,图3是本申请实施例提供的一种意图识别设备20的结构示意图。该意图识别设备20应用于意图识别系统,该意图识别系统可以是图1所描述的意图识别系统。如图3所示,本申请实施例提供的意图识别设备20包括一个或多个处理器301、通信接口302、存储器303和用户接口305,处理器301、通信接口302、存储器303和用户接口305可通过总线或者其它方式连接,本申请实施例以通过总线304连接为例。其中:
处理器301可以由一个或者多个通用处理器构成,例如CPU。处理器301可用于运行意图识别模型31相关的程序代码。也就是说,处理器301执行程序代码可以实现意图识别模型31的功能。其中,意图识别模型31可以是存储程序代码的文件,处理器301可以调用该意图识别模型21通过算法实现意图识别。
通信接口302可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他节点进行通信。本申请实施例中,通信接口302具体可用于接收意图识别模型建立设备10发送的意图识别模型。通信接口302还可以用于接收用户输入的第一原始语句,以对第一原始语句进行意图识别。
存储器303可以包括易失性存储器(volatile memory),例如RAM;存储器也可以包括非易失性存储器(non-volatile memory),例如ROM、快闪存储器(flash memory)、HDD或固态硬盘SSD;存储器303还可以包括上述种类的存储器的组合。存储器303可用于存储一组程序代码,以便于处理器301调用存储器303中存储的程序代码以实现本申请实施例的意图识别方法在意图识别设备20侧的实现方法。
用户接口305具体可为触控面板,包括触摸屏和触控屏,用于检测触控面板上的操作指令,用户接口305也可以是物理按键或者鼠标。用户接口305还可以为显示屏,用于输出、显示图像或数据。用户接口305还可以为麦克风和扬声器,其中,麦克风用于接收语音形式的第一语句,扬声器用于发送语音形式的第一语句的答案模板。
其中,意图识别模型31可以是意图识别模型建立设备10对意图识别模型21进行训练得到,并发送给意图识别设备20的。
需要说明的,图3所示的意图识别设备20仅仅是本申请实施例的一种实现方式,实际应用中,意图识别设备20还可以包括更多或更少的部件,这里不作限制。
需要说明的,图2所描述的意图识别模型建立设备10和图3所描述的意图识别设备20也可以是同一设备实现的,本申请实施例对此不作限定。
在进行意图识别模型训练过程中,使用包含具体实体和具体属性的语句进行模型训练,由于实体和属性种类繁多,使得需要搜集大量的语句用来进行模型训练,语句搜集难以覆盖全面,从而降低意图识别模型训练的准确性。另外,由于新的实体和新的属性不断出现,而训练意图识别模型的语句中并未包含这些新的实体和新的属性对应的语句,往往需要重新组织语句来重新进行意图识别模型的训练,意图识别模型的更新周期过长,降低了意图识别模型训练的效率。
为提高意图识别模型训练的准确性和效率,本申请实施例提供一种意图识别方法和设备。
本申请实施例涉及的主要发明原理为:在训练用于进行意图识别的意图识别模型时,可以根据接收到的原始语句通过实例词语替换为对应的模板词语来得到模板语句,针对多个意图中每个意图,进行模型训练的语句中不再包含具体的实例词语,使用模板词语来代替具体的实例词语得到模板语句。使用多个意图和每个意图的多个模板语句训练得到意图识别模型。上述的意图识别模型训练过程中,通过模板词语来概括具体的实例词语得到的模板语句来训练意图识别模型,可以大大的减少进行模型训练的语句的数量。从而可以减少未被搜集到的用于进行模型训练的语句,可以提高意图识别模型训练的准确性。另外,当出现新的实例词语的情况下,由于意图识别模型是通过模板语句进行训练的,无需频繁更新意图识别模型,仍然可以对包含新的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性和训练意图识别模型的效率。
在进行意图识别模型训练时,是根据模板语句得到的词向量或者句向量对意图识别模型进行训练的。模板语句中模板词语对应的词向量可以使用两种方式确定:一种情况模板词语对应的词向量是模板词语本身的词向量;另一种情况是模板词语对应的词向量可以是模板词语在知识库中全部的实例词语的词向量确定的。以下分别进行描述。
①模板词语对应的词向量是模板词语本身的词向量
由于模板词语是实例词语的概括,当新的实体或者新的属性出现的情况下,训练意图识别模型的模板语句中的模板词语也可以包含这些新的实体和新的属性,仍然可以使用该意图识别模型对包含新的实体或者新的属性的待识别语句进行意图识别,无需频繁更新意图识别模型,可以提高意图识别模型的通用性。
例如,对意图识别模型进行训练时,针对于“手机询价”这一意图,使用进行模型训练的模板语句例如可以包括“{手机}的价格是多少?”、“我想知道{手机}的售价是多少?”、“能告诉我{手机}卖多少钱么?”。这些模板语句中,模板词语“手机”的词向量即是手机这一词语本身的词向量。由于在模型训练时即是使用上述模板语句进行的,出现新的手机型号例如“Mate 20Pro”时,“手机”这一模板词语还是可以概括“Mate 20Pro”这一实例词语。因此,仍然可以使用意图识别模型对包含“Mate 20Pro”的待识别语句进行意图识别,如对待识别语句“我想知道Mate 20Pro的售价是多少?”,意图识别模型仍然可以识别并输出“手机询价意图”。无需更新意图识别模型,可以提高意图识别模型的通用性。
②模板词语对应的词向量由模板词语在知识库中全部的实例词语的词向量确定
模板词语对应的词向量是模板词语在知识库中全部的实例词语的词向量确定,进行意图识别模型训练的模板语句的词向量中包含了知识库中更多的实例信息,可以提高意图识别模型训练的准确性。另外,当出现新的实例词语的情况下,由于意图识别模型是通过模板语句进行训练的,无需频繁更新意图识别模型,仍然可以对包含新的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性和训练意图识别模型的效率。
例如,在训练意图识别模型时,针对于“手机询价”意图来说,进行模型训练的模板语句可以包括“{手机}的价格是多少?”、“我想知道{手机}的售价是多少?”、“能告诉我{手机}卖多少钱么?”。这些模板语句中,可以从知识库中获取模板词语“手机”这一实体类下全部的实例词语。之后获取这些实例词语的词向量。具体地,获取包括“iPhone X”、“Mate 10”和“Mate 10Plus”中每款手机实例词语对应的词向量。可以根据全部手机实例词语的词向量来确定“手机”的词向量。在进行训练时,由于训练数据中使用“手机”来替代具体的手机实例,无需针对每种手机实例均搜集语句进行模型训练,大大的减少进行模型训练的语句的数量,从而可以减少未被搜集到的语句,可以提高意图识别模型训练的准确性。另外,当出现“手机”这一模板词语的新的实例词语的情况下,由于意图识别模型是通过模板语句进行训练的,无需频繁更新意图识别模型,仍然可以对包含新的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性和训练意图识别模型的效率。
在使用意图识别模型进行意图识别时,接收到的第一原始语句(待识别语句)可以是“我想知道iPhone X的售价是多少?”,可以识别出“iPhone X”这一实例词语,之后将实例词语“iPhone X”替换为“手机”这一模板词语,得到第一模板语句:“我想知道{手机}的售价是多少?”。将该第一模板语句输入意图识别模型中,意图识别模型对第一模板语句进行意图识别可以得到第一模板语句对应的意图为“手机询价”意图。如果新出现的“Mate 20Pro”在训练上述的意图识别模型时,未包含在知识库中,在意图识别设备接收到的第一原始语句是“Mate 20Pro的价格是多少?”的情况下,意图识别设备可以使用NER算法识别出“Mate20Pro”这一实例词语,之后将“Mate 20Pro”替换为“手机”这一模板词语,得到第一模板语句:“手机的价格是多少?”。由于在训练模型时所使用的模板语句并未包含具体的实例词语“Mate 20Pro”,意图识别模型仍然可以对包含新出现的实例词语“Mate 20Pro”的第一原始语句进行意图识别,可以提高意图识别模型的通用性。
基于上述的发明原理,本申请实施例提供一种意图识别方法,可以提高意图识别模型训练的准确性和效率。请参阅图4,图4是本申请实施例提供的一种意图识别方法的流程示意图。如图4所示,该意图识别方法包含但不限于步骤S101-S106。
S101、意图识别设备接收多个意图以及多个意图中每个意图的多个原始语句。
S102、针对于所述多个意图中的每个意图,意图识别设备根据多个原始语句确定多个模板语句。
其中,多个模板语句中每个模板语句包含模板词语,模板词语是多个实例词语对应的模板。模板词语表示实体类和属性类中的一个或多个;实例词语包含实体类的实例或者属性类的实例。
S103、意图识别设备根据多个意图和每个意图的多个模板语句训练得到意图识别模型。
其中,意图识别模型用于识别输入的原始语句的意图。
S104、意图识别设备接收第一请求,第一请求携带第一原始语句,第一请求用于请求对第一原始语句进行意图识别。
S105、意图识别设备将第一原始语句中的第一实例词语替换为第一模板词语,得到第一模板语句。
其中,第一模板词语是多个实例词语对应的模板。意图识别设备可以使用NER算法识别第一原始语句中的第一实例词语。第一实例词语例如可以是实体类词语、属性类词语。
意图识别设备将第一实例词语替换为第一模板词语,可以是根据知识库中存储的模板词语与实例词语的关系执行的。例如,意图识别设备使用NER算法从第一原始语句“iphone8卖多少钱?”中识别出第一实例词语“iphone8”,之后意图识别设备连接知识库,从知识库中获取第一实例词语“iphone8”的模板词语,即第一模板词语“手机”。并将第一原始语句中第一实例词语“iphone8”替换为第一模板词语“手机”,得到第一模板语句“{手机}卖多少钱?”。
S106、意图识别设备将第一模板语句输入意图识别模型,得到第一模板语句的意图。
其中,意图识别设备使用意图识别模型识别得到的意图可以是模板化意图,也可以是归一化意图,本申请实施例对此不作限定。关于模板化意图和归一化意图的具体描述,可以参考前面“意图识别”概念中的具体描述,这里不再赘述。
例如,意图识别设备在接收到第一原始语句“iphone8卖多少钱?”时,使用NER算法识别第一原始语句中的实例词语“iphone8”,然后将该实例词语“iphone8”替换为对应的模板词语“手机”得到第一模板语句“{手机}卖多少钱?”。将该第一模板语句输入经过训练得到的意图识别模型,识别得到的意图可以是第一模板化意图“询问{手机}的卖多少钱”,识别得到的意图还可以是第一归一化意图“手机询价”,本申请实施例对此不作限定。
上述的意图识别方法中,通过模板词语来概括具体的实例词语得到的模板语句来训练意图识别模型,可以大大的减少进行模型训练的语句的数量。从而可以减少未被搜集到的用于进行模型训练的语句,可以提高意图识别模型训练的准确性。另外,当出现新的实例词语的情况下,由于意图识别模型是通过模板语句进行训练的,无需频繁更新意图识别模型,仍然可以对包含新的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性和训练意图识别模型的效率。
其中,步骤S101~S103是进行意图识别模型的训练过程。本申请实施例中,使用多个意图和每个意图的多个模板语句训练意图识别模型的具体训练方式可以包含两种:第一种方式,使用模板语句的句向量训练意图识别模型,模板语句的句向量由模板语句中多个词语的词向量确定。第二种方式,使用模板语句中各个词语的词向量训练意图识别模型。以下分别进行介绍。
①使用模板语句的句向量训练意图识别模型
针对于每个意图,可以获取多个模板语句中每个模板语句的句向量,针对每个模板语句,句向量是由模板语句中词语的词向量确定的,模板语句中词语包含模板词语,模板语句中词语的词向量包含模板词语对应的词向量;将多个意图和每个意图的多个模板语句中每个模板语句的句向量输入初始的意图识别模型进行训练,得到训练完成的意图识别模型。
举例说明,针对于多个意图中的“手机询价”意图来说,进行模型训练的多个模板语句可以包括“{手机}的价格是多少?”、“我想知道{手机}的售价是多少?”、“能告诉我{手机}卖多少钱么?”。以模板语句“{手机}的价格是多少?”为例,意图识别设备进行意图识别模型训练的过程可以包含以下步骤:
a.获取该模板语句中“手机”对应的词向量、“价格”的词向量和“是多少”的词向量。
b.根据“手机”对应的词向量、“价格”的词向量和“是多少”的词向量确定模板语句“{手机}的价格是多少?”的句向量。
c.将模板语句“{手机}的价格是多少?”的句向量作为一个训练数据输入到初始的意图识别模型中,初始的意图识别模型对该训练数据进行计算,输出模板语句“{手机}的价格是多少?”的意图分类为意图A。
d.根据输出的意图分类A和“手机询价”的意图之间的误差调整初始的意图识别模型中的参数。
②使用模板语句中多个词语的词向量训练意图识别模型
针对于每个意图,可以获取多个模板语句中每个模板语句中词语的词向量,每个模板语句中词语包含模板词语,每个模板语句中词语的词向量包含模板词语对应的词向量;将多个意图和每个意图的多个模板语句中每个模板语句中词语的词向量输入初始的意图识别模型进行训练,得到训练完成的意图识别模型。
举例说明,前例模板语句“{手机}的价格是多少?”来说,意图识别设备进行意图识别模型训练的过程可以包含以下步骤:
a.获取该模板语句中“手机”对应的词向量、“价格”的词向量和“是多少”的词向量。
b.将“手机”对应的词向量、“价格”的词向量和“是多少”的词向量这一组词向量作为一个训练数据输入到初始的意图识别模型中,初始的意图识别模型对该训练数据进行计算,输出模板语句“{手机}的价格是多少?”的意图分类为意图B。
c.意图识别设备再根据输出的该意图分类B和“手机询价”的意图之间的误差调整初始的意图识别模型中的参数。
其中,意图识别模型可以是基于机器学习的卷积神经网络实现,也可以是其它算法来实现的,如SVM,本申请实施例对意图识别模型采用的具体算法类型不作限定。机器学习训练意图识别模型的过程中,可以首先建立一个初始的意图识别模型,将多个意图和每个意图的多个模板语句输入初始的意图识别模型,通过训练数据在初始的意图识别模型中的正向传播和误差的反向传播来多次调整初始的意图识别模型中的参数,得到训练完成的意图识别模型。最终得到的训练完成的意图识别模型的误差是收敛的。
本申请实施例以“手机询价”意图中模板语句“{手机}的价格是多少?”为例介绍了使用模板语句训练意图识别模型的过程,可以理解的,对于其他“手机询价”的模板语句来说,意图识别模型的训练过程可以类比使用模板语句“{手机}的价格是多少?”和“手机询价”进行意图训练的过程。对于其他意图的模板语句训练意图识别模型的过程来说,也可以类比使用模板语句“{手机}的价格是多少?”和“手机询价”意图进行训练的过程,这里不再赘述。
可以理解的,上述意图模型训练的示例仅用于解释本申请实施例,不应构成限定。
可选的,模板语句中的模板词语对应的词向量可以是模板词语本身的词向量,也可以是由知识库中模板词语的多个实例词语的词向量确定。对于后一种情况来说,在步骤S103之前,意图识别设备可以从知识库中获取模板词语的多个实例词语;根据模板词语的多个实例词语对应的多个词向量确定模板词语对应的词向量。
例如,前例模板语句“{手机}的价格是多少?”来说,一种方式,模板词语“手机”的词向量可以是“手机”这一词语的词向量。另一种方式,也可以从知识库中获取“手机”这一词语所指示的实体类下所有的实例词语,具体地可以包含以下实例词语:“iPhone X”、“Mate10”和“Mate 10Plus”。之后根据“iPhone X”的词向量、“Mate 10”的词向量、“Mate10Plus”的词向量……确定“手机”的词向量。具体的,可以使用包括iPhone X”的词向量、“Mate 10”的词向量、“Mate 10Plus”的词向量所有具体型号手机词向量的均值向量作为“手机”的词向量。
需要进行说明的是,根据模板词语的多个实例词语的词向量来确定模板词语对应的词向量的方法可以不限于取均值向量,也可以是其他方法,如可以将模板词语的多个实例词语对应的多个词向量的加权和确定为模板词语对应的词向量,本申请实施例对此不作限定。
上述根据模板词语的多个实例词语的多个词向量确定模板词语对应的词向量,模板词语对应的词向量是模板词语在知识库中全部的实例词语的词向量确定,进行意图识别模型训练的模板语句的词向量中包含了知识库中更多的实例信息,可以提高意图识别模型训练的准确性。另外,当出现新的实例词语的情况下,由于意图识别模型是通过模板语句进行训练的,无需频繁更新意图识别模型,仍然可以对包含新的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性和训练意图识别模型的效率。
可以理解的,在进行意图识别模型训练时,多个模板语句中每个模板语句包含的模板词语的数量可以不限于一个,可以是多个。相应的,在使用意图识别模型进行意图识别时,第一原始语句中需要替换为第一模板词语的第一实例词语也可以是多个,第一实例词语的数量可以是和模板语句包含的模板词语的数量相同。
举例说明,对于“商品属性查询”这一意图,设置用于进行意图识别模型训练的模板语句可参阅表1,表1是本申请实施例提供的一种模板语句和模板语句对应的原始语句示例。
表1一种模板语句和模板语句对应的原始语句示例
如表1所示,模板语句中包含2个模板词语“商品”和“属性”。每个模板语句可以对应多个原始语句。具体的,如表1所示,模板语句“{商品}的{属性}是多少?”对应的原始语句可以包含:(1)4G飞享138套餐的4G流量是多少?(2)50M宽带接入的上行速率是多少?(3)Mate 10pro的售价是多少?意图识别设备也可以根据模板语句对应的原始语句得到模板语句。例如,意图识别设备使用NER算法识别出原始语句(1)4G飞享138套餐的4G流量是多少?中的实例词语“4G飞享138套餐”和实例词语“4G流量”,并根据知识库中存储的模板词语与实例词语的关系将实例词语“4G飞享138套餐”替换为模板词语“商品”,将实例词语“4G流量”替换为“属性”,得到模板语句“{商品}的{属性}是多少?”。
在模板语句中包含多个模板词语的情况下,每个模板词语对应的词向量均可以是该模板词语本身的词向量,也可以是由该模板词语的实例词语的词向量确定的。例如,对于模板语句“{商品}的{属性}是多少?”来说,模板词语“商品”对应的词向量可以是“商品”这一词语本身的词向量,也可以是意图识别设备首先获取“商品”这一模板词语在知识库中的全部的实例词语,然后根据全部的实例词语的词向量确定的。具体的可以是全部的实例词语的词向量的均值向量。同样的,模板词语“属性”对应的词向量可以是“属性”这一词语本身的词向量,也可以是意图识别设备首先获取“属性”这一模板词语在知识库中的全部的实例词语,然后根据全部的实例词语的词向量确定的。
进行意图识别模型训练的模板语句中包含多个模板词语的情况下,模板语句可以更大范围的概括对应的原始语句,可以进一步减少需要搜集的模板语句的数量,从而可以减少未被搜集到的用于进行模型训练的语句,提高意图识别模型训练的准确性。
在模板词语对应的词向量由模板词语的多个实例词语对应的多个词向量确定的情况下,可选的,意图识别设备可以根据知识库中模板词语的实例词语来进行意图识别模型的更新,得到模板词语对应的更新的词向量。具体地,在步骤S103之后,意图识别设备在检测到知识库中模板词语的实例词语增量大于第一阈值的情况下,重新根据模板词语的多个实例词语对应的原先的多个词向量和新增加的实例词语增量对应的多个词向量确定模板词语对应的词向量,得到模板词语对应的更新的词向量;然后重新根据更新的模板词语对应的词向量训练意图识别模型,得到更新的意图识别模型。
例如,对于“手机询价”意图来说,更新前的意图识别模型训练所使用的模板语句中模板词语“手机”对应的词向量由所有具体型号手机的词向量确定,具体型号手机的词向量可以包括“iPhone X”的词向量、“Mate 10”的词向量、“Mate 10Plus”的词向量。知识库中模板词语“手机”随着新手机的出现不断更新,新增的实例词语包括“Mate 20Pro”、“iPhone8Plus”、“OPPO R15”。在检测到知识库中模板词语“手机”的实例词语增量大于第一阈值的情况下,意图识别设备可以重新根据原先的多个词向量(包括“iPhone X”的词向量、“Mate10”的词向量、“Mate 10Plus”的词向量)和新增加的实例词语增量对应的多个词向量(包括“Mate 20Pro”的词向量、“iPhone 8Plus”的词向量、“OPPO R15”的词向量)确定模板词语“手机”对应的词向量,即得到模板词语“手机”对应的更新的词向量。然后重新根据更新的模板词语“手机”对应的词向量训练意图识别模型,以得到更新的意图识别模型。
重新训练意图识别模型的过程可以是使用模板语句中词语的词向量(包含更新的模板词语对应的词向量)来训练意图识别模型,也可以是重新使用模板语句的句向量来训练意图识别模型。模板语句的句向量是根据模板语句中词语的词向量确定,模板语句中词语的词向量包含模板词语对应的更新的词向量。
使用模板语句中词语的词向量更新意图识别模型的过程:针对于每个意图,重新获取多个模板语句中每个模板语句中词语的词向量,得到重新获取的词语的词向量;将多个意图和每个意图的多个模板语句中每个模板语句中重新获取的词语的词向量重新输入初始的意图识别模型进行训练,得到训练完成的意图识别模型。该训练完成的意图识别模型即为更新的意图识别模型。
例如,前例中,对于“手机询价”意图来说,重新确定模板词语“手机”对应的更新的词向量。在使用模板语句进行意图识别模型训练时,对于模板语句“{手机}的价格是多少?”来说,意图识别设备重新进行意图识别模型训练的过程可以包括:确定“价格”的词向量和“是多少”的词向量。将模板词语“手机”对应的更新的词向量、“价格”的词向量和“是多少”的词向量这一组词向量作为一个训练数据重新输入到初始的意图识别模型中,初始的意图识别模型对该训练数据进行计算,输出模板语句“{手机}的价格是多少?”的意图分类为意图C。意图识别设备再根据输出的该意图分类C和“手机询价”的意图之间的误差调整初始的意图识别模型中的参数。这里初始的意图识别模型可以是更新前训练完成的意图识别模型,也可以是重新设置的意图识别模型,这里不作限定。训练初始的意图识别模型直至误差是收敛的,则得到更新的意图识别模型。
使用模板语句的句向量重新训练意图识别模型的过程:针对于每个意图,重新获取多个模板语句中每个模板语句的句向量,以得到更新的句向量,针对每个模板语句,更新的句向量由模板语句中词语的词向量确定,模板语句中词语包含模板词语,模板语句中词语的词向量包含模板词语对应的更新的词向量;将多个意图和每个意图的多个模板语句中每个模板语句的更新的句向量重新输入初始的意图识别模型进行训练,得到更新的意图识别模型。
例如,前例中,对于“手机询价”意图来说,重新根据模板词语“手机”对应的更新的词向量。在使用模板语句进行意图识别模型训练时,对于模板语句“{手机}的价格是多少?”来说,意图识别设备重新进行意图识别模型训练的过程可以包括:确定“价格”的词向量和“是多少”的词向量。根据模板词语“手机”对应的更新的词向量、“价格”的词向量和“是多少”的词向量重新确定模板语句“{手机}的价格是多少?”的句向量。使用更新的模板语句“{手机}的价格是多少?”的句向量重新输入到初始的意图识别模型中,初始的意图识别模型对该训练数据进行计算,输出模板语句“{手机}的价格是多少?”的意图分类为意图D。重新根据输出的意图分类D和“手机询价”的意图调整初始的意图识别模型中的参数,直至误差收敛,得到更新的意图识别模型。
需要说明的是,实例词语增量大于第一阈值可以是实例词语增量的数量大于或等于第二阈值,例如“手机”这一模板词语的实例词语的数量增加500个。实例词语增量大于或等于第一阈值也可以是实例词语的增量所占实例词语的总量的比率大于或等于第三阈值,例如,“手机”这一模板词语的实例词语增加的数量占全部实例词语的比率大于10%。可选的,实例词语增量大于第一阈值可以是意图识别设备检测到的,也可以是其他设置检测到之后,指令意图识别设备执行更新意图识别模型的,本申请实施例对此不作限定。
上述的意图识别方法中,意图识别模型可以随着实例词语的更新而更新,从而可以减少由于实例语句中包含新出现的实例词语,意图识别模型无法进行意图识别的情况,同时,更新的意图识别模型是根据原先的实例词语和更新的实例词语训练得到的,因此意图识别模型识别得到的意图更加精确。
可选的,意图识别设备获取用于进行模型训练的模板语句的方法可以是根据获取到的原始语句得到的。具体的,首先,意图识别设备可以针对于多个意图中每个意图,获取多个原始语句;之后意图识别设备可以将多个原始语句中每个原始语句的实例词语替换成对应的模板词语,得到多个模板语句。
例如,针对于“手机询价”意图,可以获取多个原始语句:“iPhone X的价格是多少?”、“我想知道Mate 10的售价是多少?”、“能告诉我Mate 10Plus卖多少钱么?”。之后,意图识别设备可以识别得到这些原始语句中的实例词语:“iPhone X”、“Mate 10”、“Mate10Plus”,并将这些实例词语替换为对应的模板词语“手机”得到针对于“手机询价”意图的多个模板语句:“{手机}的价格是多少?”、“我想知道{手机}的售价是多少?”、“能告诉我{手机}卖多少钱么?”。
另一种方法是,意图识别设备获取多个原始语句之后,根据搜索算法搜索出与获取的这多个原始语句相关紧密的另一些原始语句。该搜索算法可以根据词向量句向量的相似性和紧密性来实现搜索出另一些原始语句。然后意图识别设备可以根据多个原始语句和另一些原始语句来通过确定多个模板语句,具体的,可以替换所有原始语句中实例词语为模板词语得到多个模板语句。
模板语句是意图识别设备根据原始语句获得,可以减少人工搜集模板语句的情况下未被搜集到的用于进行模型训练的语句,提高意图识别模型训练的准确性。
步骤S1034~S106是使用意图识别模型对接收到的第一原始语句进行意图识别的过程。举例说明,意图识别设备在接收到第一原始语句“iphone8卖多少钱?”时,可以使用NER算法识别出该第一原始语句中的第一实例词语“iphone8”,并替换为对应的第一模板词语“手机”,得到第一模板语句“{手机}卖多少钱?”。然后意图识别设备可以使用意图识别模型对第一模板语句“{手机}卖多少钱?”进行意图识别得到意图分类为“手机询价”意图。
上述的意图识别方法中,由于在训练模型时所使用的模板语句并未包含具体的实例词语,意图识别模型仍然可以对包含新出现的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性。
可选的,在步骤S106之后,意图识别设备还可以根据所述第一模板语句的意图和所述第一原始语句中的第一实例词语,从知识库中获取所述第一原始语句的答案模板。
例如,前例中,在意图识别模型识别出第一模板语句“{手机}卖多少钱?”的意图分类为“手机询价”意图之后,意图识别设备还可以根据第一实例词语“iphone8”和“手机询价”意图从知识库中获取第一原始语句“iphone8卖多少钱?”的答案模板“iphone8的价格是4999元”。意图识别设备可以将得到的答案模板“iphone8的价格是4999元”输出给用户。本申请实施例对答案模板输出的形式不作限定,可以是语音、文本等。
步骤S101~S103和步骤S104~S106可以是同一设备执行的,也可以是不同设备执行的,本申请实施例对此不作限定。在步骤S101~S103和步骤S104~S106是不同的设备执行的情况下,步骤S101~S103可以是图2所描述的意图识别模型建立设备执行的,步骤S104~S106可以是图3所描述的意图识别设备执行的。图3所描述的意图识别设备中的意图识别模型可以是从图2所描述的意图识别模型训练设备获取的,该意图识别模型可以由图2所描述的设备训练得到。
上述的意图识别方法中,由于在训练模型时所使用的模板语句并未包含具体的实例词语,意图识别模型仍然可以对包含新出现的实例词语的第一原始语句进行意图识别,可以提高意图识别模型的通用性。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参阅图5,图5是本申请实施例提供的一种意图识别设备的结构示意图。如图5所示,该意图识别设备可以包括:
接收单元501,接收多个意图以及所述多个意图中每个意图的多个原始语句;所述意图是表示对象的目的的参数,所述原始语句是包含实例词语的参数;
确定单元502,用于针对于所述多个意图中的每个意图,根据所述多个原始语句确定多个模板语句;所述模板语句是包含模板词语的参数,所述模板词语是多个实例词语对应的模板;所述模板词语表示实体类和属性类中的一个或多个;所述实例词语包含所述实体类的实例或者所述属性类的实例;
训练单元503,用于根据多个意图和每个意图的多个模板语句训练得到意图识别模型,意图识别模型用于识别输入的原始语句的意图。
作为一种可能的实施方式,训练单元503,具体用于针对每个意图,获取每个意图的多个模板语句中每个模板语句中词语的词向量,每个模板语句中词语包含模板词语,每个模板语句中词语的词向量包含模板词语对应的词向量;使用多个意图和每个意图的多个模板语句中每个模板语句中词语的词向量训练得到意图识别模型。
作为一种可能的实施方式,训练单元503,具体用于针对每个意图,获取多个模板语句中每个模板语句的句向量,针对每个模板语句,句向量由模板语句中词语的词向量确定,模板语句中词语包含模板词语,模板语句中词语的词向量包含模板词语对应的词向量;使用多个意图和每个意图的多个模板语句中每个模板语句的句向量训练得到意图识别模型。
作为一种可能的实施方式,模板词语对应的词向量是模板词语的词向量。
作为一种可能的实施方式,意图识别设备还包括获取单元504,用于从知识库中获取模板词语的多个实例词语;
确定单元502,还用于根据模板词语的多个实例词语对应的多个词向量确定模板词语对应的词向量。
作为一种可能的实施方式,确定单元502,还用于在检测到知识库中模板词语的实例词语增量大于第一阈值的情况下,重新根据模板词语的多个实例词语对应的多个词向量和实例词语增量对应的多个词向量确定模板词语对应的词向量,得到模板词语对应的更新的词向量;
获取单元504,还用于针对于每个意图,重新获取多个模板语句中每个模板语句中词语的词向量,得到重新获取的词语的词向量;
训练单元503,还用于重新根据多个意图和每个意图的多个模板语句中每个模板语句中重新获取的词语的词向量训练得到更新的意图识别模型,重新获取的词语的词向量包含模板词语对应的更新的词向量。
作为一种可能的实施方式,确定单元502,还用于在检测到知识库中模板词语的实例词语增量大于第一阈值的情况下,重新根据模板词语的多个实例词语对应的词向量和实例词语增量对应的多个词向量确定模板词语对应的词向量,得到模板词语对应的更新的词向量;
确定单元502,还用于针对于每个意图,重新确定多个模板语句中每个模板语句的句向量,以得到更新的句向量,针对每个模板语句,更新的句向量由模板语句中词语的词向量确定,模板语句中词语包含模板词语,模板语句中词语的词向量包含模板词语对应的更新的词向量;
训练单元503,还用于重新根据多个意图和每个意图的多个模板语句中每个模板语句的更新的句向量训练得到更新的意图识别模型。
作为一种可能的实施方式,获取单元504,具体用于将多个原始语句中每个原始语句的实例词语替换成对应的模板词语,得到多个模板语句。
作为一种可能的实施方式,意图识别模型是基于机器学习的卷积神经网络。
需要说明的是,图5所描述的意图识别设备可以是图2所描述的意图识别模型建立设备10实现的。图5所描述的意图识别设备中各个单元的实现还可以对应参照图4所示的方法实施例的相应描述,这里不再赘述。
请参阅图6,图6是本申请实施例提供的另一种意图识别设备的结构示意图。如图6所示,该意图识别设备可以包括:
接收单元601,用于接收第一请求,第一请求携带第一原始语句,第一请求用于请求对第一原始语句进行意图识别;所述第一原始语句包含第一实例词语;
运算单元602,用于将第一原始语句中的第一实例词语替换为第一模板词语,得到第一模板语句,第一模板词语是多个实例词语对应的模板;
运算单元602,还用于将第一模板语句输入意图识别模型,得到第一模板语句的意图;所述意图是表示对象的目的的参数。
作为一种可能的实施方式,意图识别设备还可以包含获取单元603,用于根据第一模板语句的意图和第一原始语句中的第一实例词语,从知识库中获取第一原始语句的答案模板。
作为一种可能的实施方式,意图识别设备还包括确定单元604、训练单元605,接收单元601,还用于接收多个意图以及所述多个意图中每个意图的多个原始语句;
确定单元604,用于针对于所述多个意图中的每个意图,根据所述多个原始语句确定多个模板语句;所述模板语句是包含模板词语的参数,所述模板词语是多个实例词语对应的模板;所述模板词语表示实体类和属性类中的一个或多个;所述实例词语包含所述实体类的实例或者所述属性类的实例;
训练单元605,用于根据多个意图和每个意图的多个模板语句训练得到意图识别模型。
需要说明的是,图6所描述的意图识别设备可以是图3所描述的意图识别设备10实现的。图6所描述的意图识别设备中各个单元的实现还可以对应参照图4所示的方法实施例的相应描述,这里不再赘述。
本申请实施例还提供一种芯片系统,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述收发器和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述处理器执行时,图4所示的方法流程得以实现。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,图4所示的方法流程得以实现。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,图4所示的方法流程得以实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (16)
1.一种意图识别方法,其特征在于,包括:
接收多个意图以及所述多个意图中每个意图的多个原始语句;所述意图是表示对象的目的的参数,所述原始语句是包含实例词语的参数,所述原始语句包括一个或多个实例词语;
将所述多个原始语句中每个原始语句的实例词语替换成对应的模板词语,得到多个模板语句;所述模板语句是包含模板词语的参数,所述模板词语是多个实例词语对应的模板;所述模板词语表示实体类和属性类中的一个或多个;所述实例词语包含所述实体类的实例或者所述属性类的实例;
将所述多个意图和所述多个模板语句输入模型训练模块以使得所述模型训练模块根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,所述意图识别模型用于识别输入的原始语句的意图;
所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之前,所述方法还包括:从知识库中获取所述模板词语的多个实例词语;根据所述模板词语的多个实例词语对应的多个词向量确定所述模板词语对应的词向量;
所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,包括:使用所述多个意图和所述每个意图的多个模板语句中每个模板语句对应的向量训练得到意图识别模型;所述每个模板语句对应的向量包括所述每个模板语句中的模板词语对应的词向量。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,还包括:
针对所述每个意图,获取所述每个意图的所述多个模板语句中每个模板语句中词语的词向量,所述每个模板语句中词语包含所述模板词语,所述每个模板语句中词语的词向量包含所述模板词语对应的词向量;
所述每个模板语句对应的向量包括所述每个模板语句中词语的词向量。
3.根据权利要求1所述的方法,其特征在于,所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,包括:
针对所述每个意图,获取所述每个意图的所述多个模板语句中每个模板语句的句向量,针对所述每个模板语句,句向量由模板语句中词语的词向量确定,所述模板语句中词语包含所述模板词语,所述模板语句中词语的词向量包含所述模板词语对应的词向量;
所述每个模板语句对应的向量包括所述每个模板语句的句向量。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之后,所述方法还包括:
在检测到所述知识库中所述模板词语的实例词语增量大于第一阈值的情况下,重新根据所述模板词语的多个实例词语对应的多个词向量和所述实例词语增量对应的多个词向量确定所述模板词语对应的词向量,得到所述模板词语对应的更新的词向量;
针对于所述每个意图,重新获取所述多个模板语句中每个模板语句中词语的词向量,得到重新获取的词语的词向量;
重新根据所述多个意图和所述每个意图的多个模板语句中每个模板语句中所述重新获取的词语的词向量训练得到更新的意图识别模型,所述重新获取的词语的词向量包含所述模板词语对应的更新的词向量。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之后,所述方法还包括:
在检测到所述知识库中所述模板词语的实例词语增量大于第一阈值的情况下,重新根据所述模板词语的多个实例词语对应的词向量和所述实例词语增量对应的多个词向量确定所述模板词语对应的词向量,得到所述模板词语对应的更新的词向量;
针对于所述每个意图,重新确定所述多个模板语句中每个模板语句的句向量,以得到更新的句向量,针对所述每个模板语句,所述更新的句向量由模板语句中词语的词向量确定,所述模板语句中词语包含所述模板词语,所述模板语句中词语的词向量包含所述模板词语对应的更新的词向量;
重新根据所述多个意图和所述每个意图的多个模板语句中每个模板语句的所述更新的句向量训练得到更新的意图识别模型。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述意图识别模型是基于机器学习的卷积神经网络。
7.一种意图识别方法,其特征在于,包括:
接收第一请求,所述第一请求携带第一原始语句,所述第一请求用于请求对所述第一原始语句进行意图识别;所述第一原始语句包含一个或多个第一实例词语;
将所述第一原始语句中的所述第一实例词语替换为第一模板词语,得到第一模板语句,所述第一模板词语是多个实例词语对应的模板;所述第一模板词语表示实体类和属性类中的一个或多个;所述第一实例词语包含所述实体类的实例或者所述属性类的实例;
将所述第一模板语句输入意图识别模型,得到所述第一模板语句的意图;所述意图是表示对象的目的的参数;
所述接收第一请求之前,所述方法还包括:
接收多个意图以及所述多个意图中每个意图的多个原始语句;所述原始语句是包含实例词语的参数,所述原始语句包括一个或多个实例词语;
将所述多个原始语句中每个原始语句的实例词语替换成对应的模板词语,得到多个模板语句;所述模板语句是包含模板词语的参数,所述模板词语是多个实例词语对应的模板;所述模板词语表示实体类和属性类中的一个或多个;所述实例词语包含所述实体类的实例或者所述属性类的实例;
根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,所述意图识别模型用于识别输入的原始语句的意图;
所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之前,所述方法还包括:从知识库中获取所述模板词语的多个实例词语;根据所述模板词语的多个实例词语对应的多个词向量确定所述模板词语对应的词向量;
所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,包括:使用所述多个意图和所述每个意图的多个模板语句中每个模板语句对应的向量训练得到意图识别模型;所述每个模板语句对应的向量包括所述每个模板语句中的模板词语对应的词向量。
8.根据权利要求7所述的方法,其特征在于,所述将所述第一模板语句输入所述意图识别模型,得到所述第一模板语句的意图之后,所述方法还包括:
根据所述第一模板语句的意图和所述第一原始语句中的第一实例词语,从知识库中获取所述第一原始语句的答案模板。
9.一种意图识别设备,包含处理器、通信接口、存储器和总线;所述处理器、所述通信接口、所述存储器通过所述总线相互通信;所述通信接口,用于接收和发送数据;所述存储器,用于存储程序指令;其特征在于,所述处理器用于调用所述程序指令执行以下操作:
接收多个意图以及所述多个意图中每个意图的多个原始语句;所述意图是表示对象的目的的参数,所述原始语句是包含实例词语的参数,所述原始语句包括一个或多个实例词语;
将所述多个原始语句中每个原始语句的实例词语替换成对应的模板词语,得到多个模板语句;所述模板语句是包含模板词语的参数,所述模板词语是多个实例词语对应的模板;所述模板词语表示实体类和属性类中的一个或多个;所述实例词语包含所述实体类的实例或者所述属性类的实例;
将所述多个意图和所述多个模板语句输入模型训练模块以使得所述模型训练模块根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,所述意图识别模型用于识别输入的原始语句的意图;
执行所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之前,还包括执行:从知识库中获取所述模板词语的多个实例词语;根据所述模板词语的多个实例词语对应的多个词向量确定所述模板词语对应的词向量;
执行所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,包括执行:使用所述多个意图和所述每个意图的多个模板语句中每个模板语句对应的向量训练得到意图识别模型;所述每个模板语句对应的向量包括所述每个模板语句中的模板词语对应的词向量。
10.根据权利要求9所述的设备,其特征在于,所述处理器具体用于调用所述程序指令执行以下操作:
针对于所述每个意图,获取所述每个意图的所述多个模板语句中每个模板语句中词语的词向量,所述每个模板语句中词语包含所述模板词语,所述每个模板语句中词语的词向量包含所述模板词语对应的词向量;
所述每个模板语句对应的向量包括所述每个模板语句中词语的词向量。
11.根据权利要求9所述的设备,其特征在于,所述处理器具体用于调用所述程序指令执行以下操作:
针对于所述每个意图,获取所述每个意图的所述多个模板语句中每个模板语句的句向量,针对所述每个模板语句,句向量是由模板语句中词语的词向量确定的,所述模板语句中词语包含所述模板词语,所述模板语句中词语的词向量包含所述模板词语对应的词向量;
所述每个模板语句对应的向量包括所述每个模板语句的句向量。
12.根据权利要求9-11任一项所述的设备,其特征在于,所述处理器还用于调用所述程序指令执行以下操作:
在检测到所述知识库中所述模板词语的实例词语增量大于第一阈值的情况下,重新根据所述模板词语的多个实例词语对应的多个词向量和所述实例词语增量对应的多个词向量确定所述模板词语对应的词向量,得到所述模板词语对应的更新的词向量;
针对于所述每个意图,重新获取所述多个模板语句中每个模板语句中词语的词向量,得到重新获取的词语的词向量;
重新根据所述多个意图和重所述每个意图的多个模板语句中每个模板语句中所述重新获取的词语的词向量训练得到更新的意图识别模型,所述重新获取词语的词向量包含所述模板词语对应的更新的词向量;
所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之前,所述设备还包括:从知识库中获取所述模板词语的多个实例词语;根据所述模板词语的多个实例词语对应的多个词向量确定所述模板词语对应的词向量;
所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,包括:使用所述多个意图和所述每个意图的多个模板语句中每个模板语句对应的向量训练得到意图识别模型;所述每个模板语句对应的向量包括所述每个模板语句中的模板词语对应的词向量。
13.根据权利要求9-11任一项所述的设备,其特征在于,所述处理器还用于调用所述程序指令执行以下操作:
在检测到所述知识库中所述模板词语的实例词语增量大于第一阈值的情况下,重新根据所述模板词语的多个实例词语对应的词向量和所述实例词语增量对应的多个词向量确定所述模板词语对应的词向量,得到所述模板词语对应的更新的词向量;
针对于所述每个意图,重新确定所述多个模板语句中每个模板语句的句向量,以得到更新的句向量,针对所述每个模板语句,所述更新的句向量由模板语句中词语的词向量确定,所述模板语句中词语包含所述模板词语,所述模板语句中词语的词向量包含所述模板词语对应的更新的词向量;
重新根据所述多个意图和所述每个意图的多个模板语句中每个模板语句的所述更新的句向量训练得到更新的意图识别模型。
14.根据权利要求9至11任一项所述的设备,其特征在于,所述意图识别模型是基于机器学习的卷积神经网络。
15.一种意图识别设备,包含处理器、通信接口、存储器和总线;所述处理器、所述通信接口、所述存储器通过所述总线相互通信;所述通信接口,用于接收和发送数据;所述存储器,用于存储程序指令;其特征在于,所述处理器用于调用所述程序指令执行以下操作:
接收第一请求,所述第一请求携带第一原始语句,所述第一请求用于请求对所述第一原始语句进行意图识别;所述第一原始语句包含一个或多个第一实例词语;
将所述第一原始语句中的所述第一实例词语替换为第一模板词语,得到第一模板语句,所述第一模板词语是多个实例词语对应的模板;所述第一模板词语表示实体类和属性类中的一个或多个;所述第一实例词语包含所述实体类的实例或者所述属性类的实例;
将所述第一模板语句输入意图识别模型,得到所述第一模板语句的意图;所述意图是表示对象的目的的参数;
所述处理器还用于调用所述程序指令执行以下操作:
接收多个意图以及所述多个意图中每个意图的多个原始语句;所述原始语句是包含实例词语的参数,所述原始语句包括一个或多个实例词语;
将所述多个原始语句中每个原始语句的实例词语替换成对应的模板词语,得到多个模板语句;所述模板语句是包含模板词语的参数,所述模板词语是多个实例词语对应的模板;所述模板词语表示实体类和属性类中的一个或多个;所述实例词语包含所述实体类的实例或者所述属性类的实例;
根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,所述意图识别模型用于识别输入的原始语句的意图;
执行所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型之前,还包括执行:从知识库中获取所述模板词语的多个实例词语;根据所述模板词语的多个实例词语对应的多个词向量确定所述模板词语对应的词向量;
执行所述根据所述多个意图和所述每个意图的多个模板语句训练得到意图识别模型,包括执行:使用所述多个意图和所述每个意图的多个模板语句中每个模板语句对应的向量训练得到意图识别模型;所述每个模板语句对应的向量包括所述每个模板语句中的模板词语对应的词向量。
16.根据权利要求15所述的设备,其特征在于,所述处理器还用于调用所述程序指令执行以下操作:
根据所述第一模板语句的意图和所述第一原始语句中的第一实例词语,从知识库中获取所述第一原始语句的答案模板。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810634810.0A CN110619050B (zh) | 2018-06-20 | 2018-06-20 | 意图识别方法及设备 |
PCT/CN2019/089494 WO2019242483A1 (zh) | 2018-06-20 | 2019-05-31 | 意图识别方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810634810.0A CN110619050B (zh) | 2018-06-20 | 2018-06-20 | 意图识别方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110619050A CN110619050A (zh) | 2019-12-27 |
CN110619050B true CN110619050B (zh) | 2023-05-09 |
Family
ID=68920660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810634810.0A Active CN110619050B (zh) | 2018-06-20 | 2018-06-20 | 意图识别方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110619050B (zh) |
WO (1) | WO2019242483A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177358B (zh) * | 2019-12-31 | 2023-05-12 | 华为技术有限公司 | 意图识别方法、服务器及存储介质 |
CN111611366B (zh) * | 2020-05-20 | 2023-08-11 | 北京百度网讯科技有限公司 | 意图识别优化处理方法、装置、设备及存储介质 |
CN111949793B (zh) * | 2020-08-13 | 2024-02-27 | 深圳市欢太科技有限公司 | 用户意图识别方法、装置及终端设备 |
CN112395390B (zh) * | 2020-11-17 | 2023-07-25 | 平安科技(深圳)有限公司 | 意图识别模型的训练语料生成方法及其相关设备 |
US11948566B2 (en) * | 2021-03-24 | 2024-04-02 | Adobe Inc. | Extensible search, content, and dialog management system with human-in-the-loop curation |
US20220377170A1 (en) * | 2021-05-21 | 2022-11-24 | Neustar, Inc. | System and method for personalizing the language associated with outbound calls |
CN113707303A (zh) * | 2021-08-30 | 2021-11-26 | 康键信息技术(深圳)有限公司 | 基于知识图谱的医疗问题解答方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389307A (zh) * | 2015-12-02 | 2016-03-09 | 上海智臻智能网络科技股份有限公司 | 语句意图类别识别方法及装置 |
CN106528531A (zh) * | 2016-10-31 | 2017-03-22 | 北京百度网讯科技有限公司 | 基于人工智能的意图分析方法及装置 |
CN107885874A (zh) * | 2017-11-28 | 2018-04-06 | 上海智臻智能网络科技股份有限公司 | 数据查询方法和装置、计算机设备及计算机可读存储介质 |
CN108073574A (zh) * | 2016-11-16 | 2018-05-25 | 三星电子株式会社 | 用于处理自然语言以及训练自然语言模型的方法和设备 |
CN108170859A (zh) * | 2018-01-22 | 2018-06-15 | 北京百度网讯科技有限公司 | 语音查询的方法、装置、存储介质及终端设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9330659B2 (en) * | 2013-02-25 | 2016-05-03 | Microsoft Technology Licensing, Llc | Facilitating development of a spoken natural language interface |
US10026092B2 (en) * | 2016-12-09 | 2018-07-17 | Nuance Communications, Inc. | Learning and automating agent actions |
CN107315737B (zh) * | 2017-07-04 | 2021-03-23 | 北京奇艺世纪科技有限公司 | 一种语义逻辑处理方法及系统 |
-
2018
- 2018-06-20 CN CN201810634810.0A patent/CN110619050B/zh active Active
-
2019
- 2019-05-31 WO PCT/CN2019/089494 patent/WO2019242483A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389307A (zh) * | 2015-12-02 | 2016-03-09 | 上海智臻智能网络科技股份有限公司 | 语句意图类别识别方法及装置 |
CN106528531A (zh) * | 2016-10-31 | 2017-03-22 | 北京百度网讯科技有限公司 | 基于人工智能的意图分析方法及装置 |
CN108073574A (zh) * | 2016-11-16 | 2018-05-25 | 三星电子株式会社 | 用于处理自然语言以及训练自然语言模型的方法和设备 |
CN107885874A (zh) * | 2017-11-28 | 2018-04-06 | 上海智臻智能网络科技股份有限公司 | 数据查询方法和装置、计算机设备及计算机可读存储介质 |
CN108170859A (zh) * | 2018-01-22 | 2018-06-15 | 北京百度网讯科技有限公司 | 语音查询的方法、装置、存储介质及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019242483A1 (zh) | 2019-12-26 |
CN110619050A (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110619050B (zh) | 意图识别方法及设备 | |
AU2016256764B2 (en) | Semantic natural language vector space for image captioning | |
WO2020147428A1 (zh) | 交互内容生成方法、装置、计算机设备及存储介质 | |
WO2020177282A1 (zh) | 一种机器对话方法、装置、计算机设备及存储介质 | |
GB2547068B (en) | Semantic natural language vector space | |
US9811765B2 (en) | Image captioning with weak supervision | |
US10262062B2 (en) | Natural language system question classifier, semantic representations, and logical form templates | |
US20180157636A1 (en) | Methods and systems for language-agnostic machine learning in natural language processing using feature extraction | |
CN111753060A (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
CN111708869B (zh) | 人机对话的处理方法及装置 | |
CN109086303A (zh) | 基于机器阅读理解的智能对话方法、装置、终端 | |
WO2023065211A1 (zh) | 一种信息获取方法以及装置 | |
CN106874441A (zh) | 智能问答方法和装置 | |
CN112287089B (zh) | 用于自动问答系统的分类模型训练、自动问答方法及装置 | |
CN110502610A (zh) | 基于文本语义相似度的智能语音签名方法、装置及介质 | |
WO2022252636A1 (zh) | 基于人工智能的回答生成方法、装置、设备及存储介质 | |
US10685012B2 (en) | Generating feature embeddings from a co-occurrence matrix | |
WO2020215683A1 (zh) | 基于卷积神经网络的语义识别方法及装置、非易失性可读存储介质、计算机设备 | |
CN110598869B (zh) | 基于序列模型的分类方法、装置、电子设备 | |
CN112434533B (zh) | 实体消歧方法、装置、电子设备及计算机可读存储介质 | |
WO2024098524A1 (zh) | 文本视频的互检索及模型训练方法、装置、设备及介质 | |
US20230094730A1 (en) | Model training method and method for human-machine interaction | |
CN117591547A (zh) | 数据库的查询方法、装置、终端设备以及存储介质 | |
CN110969005A (zh) | 一种确定实体语料之间的相似性的方法及装置 | |
CN117290478A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |