CN104679826B - 基于分类模型的上下文识别的方法和系统 - Google Patents
基于分类模型的上下文识别的方法和系统 Download PDFInfo
- Publication number
- CN104679826B CN104679826B CN201510012777.4A CN201510012777A CN104679826B CN 104679826 B CN104679826 B CN 104679826B CN 201510012777 A CN201510012777 A CN 201510012777A CN 104679826 B CN104679826 B CN 104679826B
- Authority
- CN
- China
- Prior art keywords
- sentence
- characteristic
- disaggregated model
- division
- feature vector
- 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
Landscapes
- Machine Translation (AREA)
Abstract
提供了一种基于分类模型的上下文识别的方法和系统。所述方法包括:对语句进行标注;对已标注数据进行特征向量提取;将所提取的特征向量增加上一语句的分类特征以构成新的特征向量;以及使用新的特征向量对分类模型进行训练以得到分类模型。
Description
技术领域
本发明涉及一种基于分类模型的上下文识别的方法和系统。
背景技术
问答系统是能够识别用户输入的自然语言文本语句,并做出相应回答的计算机程序。它通过对用户输入语句进行处理分析,最终执行用户请求,返回用户关心的信息,其中包含语句分词、实体识别、语义识别、任务处理及应答等自然语言处理相关技术。
在问答系统中,回答的精准性、实时性、惊喜性等都是比较重要的指标,其中精准性又是重中之重,要达到精准的要求,可能需要使用语句上下文识别技术,例如在确定如何回答用户的第二问题时需要考虑用户问的第一问题。例如,在下面的两种情况中,需要上下文识别技术处理才能很好地识别第二问。
作为第一示例:
第一问:这个商品怎么没货呀
第二问:什么时候到货呀
在使用第一问的上下文的基础上,可以确定第二问的回答要点:回答用户商品什么时候有货
作为另一个示例:
第一问:我下了一个订单
第二问:什么时候到货呀
在使用第一问的上下文的基础上,可以确定第二问的回答要点:回答用户订单配送的时间。
目前,问答系统中主要采用预先定义规则的方式来处理下句特殊识别问题,例如AIML(Artificial Intelligence Markup Language人工智能标记语言),通过使用XML语言脚本规则,编写上下文相关句式规则,达到下句回答的匹配。
AIML识别实例如下:
<category A>
<pattern>是的</pattern>
<that>你是程序员吗?</that>
<template>你最擅长的编程语言是什么?</template>
</category>
<category B>
<pattern>是的</pattern>
<that>你是学生吗?</that>
<template>你是哪个学校的</template>
</category>
机器人首先通过pattern匹配,匹配到“是的”。但是机器人的数据库中对应“是的”的回答非常多,比方有A和B两个categories。于是机器人便去匹配that标签,也就是机器人自己上句说过的话,即“你是程序员吗?”。这样它就可以确定应该匹配category A了,最后给出正确的回应“你最擅长的编程语言是什么?”
一般基于分类模型(支持向量机,随机森林、贝叶斯等)的语句识别方法通过对单句分类或语义进行标注,然后获取语句特征(如分词特征、N-gram(N元文法))向量,并输入分类模型进行训练,得到训练模型。当用户输入语句后,用相同的方式计算特征向量,返回一个分类结果。有了分类结果后,就可以调用相应的任务处理逻辑组装回答用户的问题了。对于有上下文识别需求的情况,不能直接处理, 而需要添加规则才能识别。
预先定义规则的方式处理上下文具有规则处理方面的所有缺点,如规则添加比较麻烦;规则过多,不易维护;规则识别先后顺序容易导致规则间的相互影响;规则设置容易过识别(错误识别很多不该是这个分类的语句),或则过于专一(只覆盖很少语句)。
一般基于分类模型的语句识别方法都是识别单句的语义,对于相同的语句,只能给出一个结果,或则给出多个结果不同的概率,不能准确的知道它的含义,如果要识别上下文,则需要在识别前加入规则判断的方式进行处理。
因此,期望提供一种改进的基于分类模型的上下文识别的方法和系统。
发明内容
为了解决现有技术中的上述缺点和问题中的至少一个而提出本发明。基于现有技术存在的缺点,本发明提供了一种改进的基于分类模型的上下文识别的方法和系统。根据本发明的方法和系统,在一般分类模型基础上,只通过添加额外的特征,而不使用规则的情况下,解决了语句上下文问题。通过使用根据本发明的方法和系统,使得下句的语义也可以通过分类模型进行识别,同时避免了大量规则的使用,对于新遇到的上下文语句,也可以很容易的通过添加语料的方式进行扩展。
根据一个方面,本发明提出了一种基于分类模型的上下文识别的方法,包括:
对语句进行标注;
对已标注数据进行特征向量提取;
将所提取的特征向量增加上一语句的分类特征以构成新的特征向 量;以及
使用新的特征向量对分类模型进行训练以得到分类模型。
可选地,所述方法进一步包括对语句进行识别。
可选地,当需要对语句进行识别时,对所要识别的语句进行特征向量提取,然后将对要识别的语句提取的特征向量增加所要识别的语句的上一句的分类特征,送入分类模型,从而获得所要识别的语句的分类结果。
可选地,当对语句进行标注时,额外地标注当前语句的上一句的分类结果。
可选地,当没有上一句的分类结果时,将上一句的分类结果置为空。
根据本发明的另一方面,提供了一种基于分类模型的上下文识别的系统,包括:
语句标注模块,用于对语句进行标注;
特征向量提取模块,用于对已标注数据进行特征向量提取;
新特征向量构成模块,用于将所提取的特征向量增加上一语句的分类特征以构成新的特征向量;以及
分类模型训练模块,用于使用新的特征向量对分类模型进行训练以得到分类模型。
可选地,所述系统进一步包括语句识别模块,用于对语句进行识别。
可选地,语句识别模块在需要对语句进行识别时,对所要识别的语句进行特征向量提取,然后将对要识别的语句提取的特征向量增加 所要识别的语句的上一句的分类特征,送入分类模型,从而获得所要识别的语句的分类结果。
可选地,通过语句标注模块对语句进行标注时,额外地标注当前语句的上一句的分类结果。
可选地,在没有上一句的分类结果时,语句标注模块将上一句的分类结果置为空。
附图说明
通过下面结合附图进行的描述,本发明一些示范性实施例的上述和其他方面、特征和优点对于本领域技术人员来说将变得显而易见,其中:
图1是根据本发明的一个实施例的基于分类模型的上下文识别的方法的流程图;以及
图2是根据本发明的一个实施例的基于分类模型的上下文识别的系统的框图。
具体实施方式
提供参考附图的下面描述以帮助全面理解本发明的示范性实施例。其包括各种细节以助于理解,而应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,省略了对公知功能和结构的描述。
图1是根据本发明的一个实施例的基于分类模型的上下文识别的方法的流程图。
在步骤110中,对语句进行标注。例如,为了训练分类模型,可以将用户在使用应用时输入的大量问题作为语料,然后人工地对这些 语料进行标注,从而形成已标注数据。
在根据本发明的方法中,当对语句进行标注时,需要额外地标注当前语句的上一句的分类结果。当没有上一句分类结果时,可以将上一句的分类结果置为空。
下面的表1示出了两句的上下文。
表1语料标注样例
语句 | 上一句分类 | 本句分类 |
这个商品怎么没货呀 | 商品库存查询 | |
什么时候到货呀 | 商品库存查询 | 什么时候有货 |
我下了一个订单 | 订单查询 | |
什么时候到货呀 | 订单查询 | 配送时间 |
在步骤120中,对已标注数据进行特征向量提取。
作为一个示例,假设一条已标注语句为“什么时候到货呀”,可以对该条已标注语句提取特征向量“什么,时候,到货,呀”。
可以通过任何适当的算法来提取特征向量。例如,可以通过使用分词特征算法、N-gram算法等来进行特征向量提取。
在步骤130中,将所提取的特征向量增加上一语句的分类特征以构成新的特征向量。
例如,假设一条已标注语句为“什么时候到货呀”,其上一语句是“这个商品怎么没货啊”,由于已将上一语句是“这个商品怎么没货啊”的分类特征确定为商品库存查询,所以新的特征向量为“什么, 时候,到货,呀,商品库存查询”。
在步骤140中,使用新的特征向量对分类模型进行训练以得到分类模型。
本发明可以采用任何分类模型,例如可以包括Liblinear分类模型、支持向量机分类模型、随机森林分类模型、贝叶斯分类模型等。
例如,以台湾大学的Chih-Jen Lin博士开发的Liblinear作为分类模型,其中solverType(算法类型)选用L2R_LR(L2正规化的逻辑回归算法),C(惩罚因子)设置为4.0,eps(迭代停止阈值)设为0.01。
将训练Liblinear模型所需要的数据作为二维矩阵输入,其中每一行是一个样本向量,每一列代表一个特征,表示样本在此特征的值,对于每一个样本,都对应有一个目标值。
对于每一个样本,把它的词作为特征,出现某个词,特征值取1,对于没有出现的词,可以为空,Liblinear按稀疏矩阵方式进行计算。
如表2所示,为训练样本转化的二维矩阵样例:第一列表示语料样本;最后一列是样本对应的目标值,其前面的数字为转化后的目标值编号,括号内的为对应的含义;第二到五列为词对应的特征,数字为编号,括号内为其原始词,后续的词省略;接着的列为上一句目标值对应的特征,M表示所有词特征的总数,括号内为上一句目标值含义。
表2语料转换后数据
可选地,在步骤150中,对语句进行识别。例如,当需要对语句进行识别时,对所要识别的语句进行特征向量提取,然后将对要识别的语句提取的特征向量增加所要识别的语句的上一句的分类特征,送入分类模型,从而获得所要识别的语句的分类结果。
图2是根据本发明的一个实施例的基于分类模型的上下文识别的系统的框图。
如图2中所示,根据本发明的系统包括语句标注模块210、特征向量提取模块220、新特征向量构成模块230、分类模型训练模块240。可选地,根据本发明的系统还可以包括语句识别模块250。
语句标注模块210用于对语句进行标注。例如,语句标注模块210可以将用户在使用应用时输入的大量问题作为语料,然后通过人工对这些语料进行标注,从而形成已标注数据。例如,语句标注模块210可以向用户提供界面显示作为语料的每一语句,在用户对每一语句进行标注之后,将已标注数据进行存储。
通过语句标注模块210对语句进行标注时,额外地标注当前语句的上一句的分类结果;当没有上一句分类结果时,可以将上一句的分类结果置为空。
特征向量提取模块220用于对已标注数据进行特征向量提取。
特征向量提取模块220可以通过任何适当的算法来提取特征向量。例如,特征向量提取模块220可以通过使用分词特征算法、N-gram算法等来进行特征向量提取。
新特征向量构成模块230用于将所提取的特征向量增加上一语句的分类特征以构成新的特征向量。
分类模型训练模块240用于使用新的特征向量对分类模型进行训练以得到分类模型。
分类模型训练模块240可以采用任何分类模型,例如可以包括Liblinear分类模型、支持向量机分类模型、随机森林分类模型、贝叶斯分类模型等。
由于本发明在对分类模型进行训练时,仅将特征向量增加了上一语句的分类特征,因而可以采用本领域技术人员已知的任何分类模型训练方法来对分类模型进行训练。
语句识别模块250用于对语句进行识别。例如,当需要对语句进行识别时,语句识别模块250对所要识别的语句进行特征向量提取,然后将对要识别的语句提取的特征向量增加所要识别的语句的上一句的分类特征,送入分类模型,从而获得所要识别的语句的分类结果。
需要指出的是,虽然上面在描述根据本发明的方法和系统时,仅关于所要识别的语句的上一句进行了描述,然而根据本发明的方法和系统也可以考虑要识别的语句的前几句。例如,如果需要考虑要识别的语句的前三句,则在对语句进行标注时,需要额外地标注当前语句的前三句的分类结果,并且在构成新的特征向量时,可以将所提取的特征向量增加前三个语句的三个分类特征以构成新的特征向量。
应指出的是,上面分别对本发明的方法和系统实施例分别进行了描述,但是对一个实施例描述的细节也可应用于另一个实施例。
虽然本说明书包含许多特定实施方式细节,但是不应当将这些细节解释为对任何发明或可以主张的内容的范围的限制,而应当解释为对可以特定于特定发明的特定实施例的特征的描述。还可以将在本说明书中在分离的实施例的情境中描述的某些特征组合在单个实施例中实现。相反地,也可以将在单个实施方式的情境中描述的各个特征分离地在多个实施方式中实现或在任何适当的子组合中实现。此外,尽管可能在上面将特征描述为在某些组合中起作用,甚至最初主张如此,但是可以在一些情况下将来自所主张的组合的一个或多个特征从组合中删去,并且可以将所主张的组合指向子组合或者子组合的变体。
类似地,虽然在附图中以特定次序描绘了操作,但是不应当将这理解为需要以所示的特定次序或者以连续次序执行这样的操作、或者需要执行所有图示的操作才能达到期望的结果。在某些情况下,多任务以及并行处理可以是有利的。此外,不应当将在上述实施例中的各种系统组件的分离理解为在所有实施例中均需要这样的分离,而应当理解的是,通常可以将所描述的程序组件和系统集成到一起成为单个软件产品或封装为多个软件产品。
计算机程序(也称作程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,所述编程语言包括编译或解释语言、或者说明性或过程语言,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适于在计算环境中使用的其它单元。计算机程序没有必要对应于文件系统中的文件。可以将程序存储在保持其它程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分、专用于讨论中的程序的单个文件或者多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (8)
1.一种基于分类模型的上下文识别的方法,包括:
对语句进行标注;
对已标注数据进行特征向量提取;
将所提取的特征向量增加上一语句的分类特征以构成新的特征向量;以及
使用新的特征向量对分类模型进行训练以得到分类模型;
其中,当没有上一句的分类特征时,将上一句的分类特征置为空。
2.根据权利要求1所述的方法,进一步包括对语句进行识别。
3.根据权利要求2所述的方法,当需要对语句进行识别时,对所要识别的语句进行特征向量提取,然后将对要识别的语句提取的特征向量增加所要识别的语句的上一句的分类特征,送入分类模型,从而获得所要识别的语句的分类特征。
4.根据权利要求1所述的方法,当对语句进行标注时,额外地标注当前语句的上一句的分类特征。
5.一种基于分类模型的上下文识别的系统,包括:
语句标注模块,用于对语句进行标注;
特征向量提取模块,用于对已标注数据进行特征向量提取;
新特征向量构成模块,用于将所提取的特征向量增加上一语句的分类特征以构成新的特征向量;以及
分类模型训练模块,用于使用新的特征向量对分类模型进行训练以得到分类模型;
其中,在没有上一句的分类特征时,语句标注模块将上一句的分类特征置为空。
6.根据权利要求5所述的系统,进一步包括语句识别模块,用于对语句进行识别。
7.根据权利要求6所述的系统,语句识别模块在需要对语句进行识别时,对所要识别的语句进行特征向量提取,然后将对要识别的语句提取的特征向量增加所要识别的语句的上一句的分类特征,送入分类模型,从而获得所要识别的语句的分类特征。
8.根据权利要求5所述的系统,通过语句标注模块对语句进行标注时,额外地标注当前语句的上一句的分类特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510012777.4A CN104679826B (zh) | 2015-01-09 | 2015-01-09 | 基于分类模型的上下文识别的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510012777.4A CN104679826B (zh) | 2015-01-09 | 2015-01-09 | 基于分类模型的上下文识别的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104679826A CN104679826A (zh) | 2015-06-03 |
CN104679826B true CN104679826B (zh) | 2019-04-30 |
Family
ID=53314868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510012777.4A Active CN104679826B (zh) | 2015-01-09 | 2015-01-09 | 基于分类模型的上下文识别的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104679826B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105590225A (zh) * | 2015-12-22 | 2016-05-18 | 成都小多科技有限公司 | 基于客户问题识别销售阶段的方法及装置 |
CN106919563A (zh) * | 2015-12-24 | 2017-07-04 | 神州数码信息系统有限公司 | 一种政务机器问答系统的跨领域问题自动分类、分发、应答的方法 |
US20170300533A1 (en) * | 2016-04-14 | 2017-10-19 | Baidu Usa Llc | Method and system for classification of user query intent for medical information retrieval system |
CN106095942B (zh) * | 2016-06-12 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 强变量提取方法及装置 |
CN106372062A (zh) * | 2016-09-18 | 2017-02-01 | 长沙军鸽软件有限公司 | 一种通讯消息中非文明用语的识别方法及装置 |
CN106951468B (zh) * | 2017-03-02 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 对话生成方法及装置 |
CN108959327B (zh) * | 2017-05-27 | 2021-03-05 | 中国移动通信有限公司研究院 | 一种业务处理方法、装置及计算机可读存储介质 |
CN109165327B (zh) * | 2018-08-21 | 2021-06-29 | 北京汇钧科技有限公司 | 人机对话方法、装置及计算机可读存储介质 |
CN109618067A (zh) * | 2018-11-30 | 2019-04-12 | 携程旅游信息技术(上海)有限公司 | 外呼对话处理方法和系统 |
CN110009062B (zh) * | 2019-04-18 | 2020-07-24 | 成都四方伟业软件股份有限公司 | 分类模型训练方法及装置 |
CN115965018B (zh) * | 2023-01-04 | 2024-04-26 | 北京百度网讯科技有限公司 | 信息生成模型的训练方法、信息生成方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266793A (zh) * | 2007-03-14 | 2008-09-17 | 财团法人工业技术研究院 | 通过对话回合间上下文关系来减少辨识错误的装置与方法 |
JP2009211277A (ja) * | 2008-03-03 | 2009-09-17 | Nippon Telegr & Teleph Corp <Ntt> | 文書データ分類装置、文書データ分類方法、そのプログラム及び記録媒体 |
CN102866990A (zh) * | 2012-08-20 | 2013-01-09 | 北京搜狗信息服务有限公司 | 一种主题对话方法和装置 |
CN103268346A (zh) * | 2013-05-27 | 2013-08-28 | 翁时锋 | 半监督分类方法及系统 |
CN103514151A (zh) * | 2012-06-29 | 2014-01-15 | 富士通株式会社 | 依存句法分析方法、装置及辅助分类器训练方法 |
CN104090907A (zh) * | 2014-05-28 | 2014-10-08 | 北京百度网讯科技有限公司 | 一种用于特定应用领域的向用户提供信息的方法与装置 |
-
2015
- 2015-01-09 CN CN201510012777.4A patent/CN104679826B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266793A (zh) * | 2007-03-14 | 2008-09-17 | 财团法人工业技术研究院 | 通过对话回合间上下文关系来减少辨识错误的装置与方法 |
JP2009211277A (ja) * | 2008-03-03 | 2009-09-17 | Nippon Telegr & Teleph Corp <Ntt> | 文書データ分類装置、文書データ分類方法、そのプログラム及び記録媒体 |
CN103514151A (zh) * | 2012-06-29 | 2014-01-15 | 富士通株式会社 | 依存句法分析方法、装置及辅助分类器训练方法 |
CN102866990A (zh) * | 2012-08-20 | 2013-01-09 | 北京搜狗信息服务有限公司 | 一种主题对话方法和装置 |
CN103268346A (zh) * | 2013-05-27 | 2013-08-28 | 翁时锋 | 半监督分类方法及系统 |
CN104090907A (zh) * | 2014-05-28 | 2014-10-08 | 北京百度网讯科技有限公司 | 一种用于特定应用领域的向用户提供信息的方法与装置 |
Non-Patent Citations (1)
Title |
---|
文本情感分类相关问题研究;薛璐影;《中国优秀硕士学位论文全文数据库信息科技辑》;20110615(第6期);第I138-638页 |
Also Published As
Publication number | Publication date |
---|---|
CN104679826A (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104679826B (zh) | 基于分类模型的上下文识别的方法和系统 | |
US11657231B2 (en) | Capturing rich response relationships with small-data neural networks | |
Yu et al. | Learning composition models for phrase embeddings | |
US10223344B2 (en) | Recognition and population of form fields in an electronic document | |
CN109902307B (zh) | 命名实体识别方法、命名实体识别模型的训练方法及装置 | |
US20190197119A1 (en) | Language-agnostic understanding | |
CN108874774B (zh) | 一种基于意图理解的服务调用方法和系统 | |
US9645988B1 (en) | System and method for identifying passages in electronic documents | |
US10956790B1 (en) | Graphical user interface tool for dataset analysis | |
CN112287095A (zh) | 确定问题答案的方法、装置、计算机设备及存储介质 | |
US11016740B2 (en) | Systems and methods for virtual programming by artificial intelligence | |
US20190087463A1 (en) | Semantic mapping of form fields | |
US11783179B2 (en) | System and method for domain- and language-independent definition extraction using deep neural networks | |
CN107807968A (zh) | 基于贝叶斯网络的问答装置、方法及存储介质 | |
WO2022174496A1 (zh) | 基于生成模型的数据标注方法、装置、设备及存储介质 | |
WO2014073206A1 (ja) | 情報処理装置、及び、情報処理方法 | |
CN111274822A (zh) | 语义匹配方法、装置、设备及存储介质 | |
CN110059137A (zh) | 事务分类系统 | |
CN110717333A (zh) | 文章摘要自动生成方法、装置及计算机可读存储介质 | |
KR20210147368A (ko) | 개체명 인식을 위한 학습 데이터 생성 방법 및 장치 | |
CN116541528A (zh) | 招聘领域知识图谱构建的打标签方法和系统 | |
CN112989003B (zh) | 意图识别方法、装置、处理设备及介质 | |
CN110399984B (zh) | 一种信息的预测方法、系统以及电子设备 | |
Marchenko et al. | Authorship attribution system | |
CN114691716A (zh) | Sql语句转换方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |