首页 / 模型学习装置和模型学习方法

模型学习装置和模型学习方法失效专利 发明

技术领域

[0001] 本发明涉及学习从文例提取出的特征量与意图之间的关系来生成模型的模型学习装置和模型学习方法。

相关背景技术

[0002] 以往,公知有如下的意图理解装置:通过语音识别将由使用者发出的语音转换成字符串,根据该字符串,估计想要执行什么操作这样的使用者的意图。由于在一句话语中有时包含多个意图,因此,要求意图理解装置能够对包含多个意图的话语估计意图。
[0003] 例如,在专利文献1中示出如下的话语意图识别装置:即使在一句话语中包含多个意图的情况下,也能够估计意图。在该话语意图识别装置中,计算将表示话语的字符串分割成2个的分割点概率和针对分割后的各字符串的标签候选(意图)概率,求出2个概率之积较大的话语意图标签的解。
[0004] 但是,由于在字符串具有并列结构的情况下不存在适当的分割点,因此,上述话语意图识别装置无法应对。例如,“将米种和煮的方式设为普通”这样的字符串包含“将米种设为普通”这样的意图和“将煮的方式设为普通”这样的意图。但是,上述字符串不存在适当的分割点,因此,上述话语意图识别装置无法得到两个意图。
[0005] 另一方面,在非专利文献1公开的采用有教师学习的方式中,以被称作词袋(Bag of words)的形式表现字符串,将该词袋作为特征量学习支持向量机或被称作对数线性模型(最大熵模型)的分类器(意图理解模型),从而估计意图。由于使用作为词袋包含于字符串的全部单词进行分类,因此,即使在字符串具有并列结构的情况下也能够估计意图。另外,在将非专利文献1公开的方式应用到1个字符串包含多个意图的情况时,可考虑如下的方法:按照每个意图学习各个分类器,在执行时统合基于各分类器的判定结果。另外,例如在非专利文献2中示出统合基于多个分类器的判定结果的方式。
[0006] 现有技术文献
[0007] 专利文献
[0008] 专利文献1:日本特开2000-200273号公报
[0009] 非专利文献
[0010] 非专利文献1:言語処理のための機械学習入門、コロナ社(用于语言处理的机器学习入门,corona社)
[0011] 非专利文献2:100クラスSVMによる薬物の活性クラス分類、第30回情報化学討論会予稿(基于100等级SVM的药物活性等级分类,第30届信息化学讨论会约稿)

具体实施方式

[0032] 以下,参照附图对本发明的实施方式进行详细说明。
[0033] 实施方式1
[0034] 首先,参照图1说明模型学习装置1的功能结构例。
[0035] 如图1所示,模型学习装置1具有文例数据库101和模型制作部102。另外,模型制作部102具有学习数据生成部103、学习数据扩展部104、词素分析部105以及模型学习部106。
[0036] 文例数据库101存储表示每个意图的文例的文例数据。
[0037] 意图以“<主意图>[<时隙名称>=<时隙值>,…]”这样的形式表现。在以针对电饭煲的操为对象的情况下,意图例如可以表现成“米种设定[米种=白米]”、“煮的方式设定[煮的方式=加急]”。“米种设定[米种=白米]”表示想要将米种设定为白米的意图,“煮的方式设定[煮的方式=加急]”表示想要将煮的方式设为加急。上述意图的表现形式只是一个例子,并不限于此。
[0038] 学习数据生成部103根据文例数据库101中存储的文例数据,按照每个意图,生成表示作为正例的文例和作为负例的文例的学习数据。由该学习数据生成部103生成的每个意图的学习数据被输出到学习数据扩展部104。
[0039] 学习数据扩展部104按照每个意图,基于由学习数据生成部103生成的学习数据,生成扩展学习数据。此时,学习数据扩展部104按照每个意图,从由学习数据生成部103生成的学习数据复制负例而生成新的正例,将该新的正例追加到该学习数据中,由此生成扩展学习数据。由该学习数据扩展部104生成的每个意图的扩展学习数据被输出到词素分析部105。
[0040] 词素分析部105使用词素分析字典107,按照每个意图,对由学习数据扩展部104生成的扩展学习数据所示的文例进行词素分析,提取独立词作为特征量。表示由该词素分析部105提取出的每个意图的特征量的数据被附加到对应的扩展学习数据中而输出到模型学习部106,作为已完成词素分析的扩展学习数据。
[0041] 模型学习部106按照每个意图,学习(建模)与由词素分析部105提取出的特征量之间的关系而生成意图理解模型(模型)108。此时,模型学习部106能够使用最大熵法等方法实施上述学习。具体而言,例如针对“将米种设定为白米”这样的文例,准备由词素分析部105提取出的特征量“米种、白米、设定”和正解意图“米种设定[{米种=白米}]”的组。然后,根据大量收集到的组,通过有教师的机器学习,生成表示意图相对于特征量的列表有多大似然度的意图理解模型108。在下文中,设模型学习部106使用最大熵法生成意图理解模型
108。
[0042] 另外,图1示出了文例数据库101和学习数据生成部103设置在模型学习装置1内部的情况。但不限于此,文例数据库101和学习数据生成部103也可以设置在模型学习装置1外部。
[0043] 接着,参照图2说明意图理解装置2的功能结构例。另外,在下文中,以意图理解装置2输出操作命令的对象是电饭煲的情况为例进行说明。
[0044] 如图2所示,意图理解装置2具有输入部201、词素分析部202、意图理解部203、结果统合部204以及输出部205。
[0045] 输入部201取得表示字符串的字符串数据。这里,输入部201可以受理字符串的输入而取得字符串数据,也可以受理语音的输入通过语音识别变换成字符串而取得字符串数据。由该输入部201取得的字符串数据被输出到词素分析部105。
[0046] 词素分析部202使用词素分析字典206对由输入部201取得的字符串数据所示的字符串进行词素分析,提取独立词作为特征量。表示由该词素分析部202提取出的特征量的数据被输出到意图理解部203。
[0047] 意图理解部203使用多个意图理解模型108,根据由词素分析部202取得的特征量,按照每个意图理解模型108判定该特征量是否属于相应的意图。另外,意图理解模型108是由模型学习装置1取得的模型。表示该意图理解部203的每个意图理解模型108的判定结果的数据被输出给结果统合部204。
[0048] 结果统合部204统合意图理解部203的每个意图理解模型108的判定结果。表示该结果统合部204的统合结果的数据被输出到输出部205。
[0049] 输出部205根据结果统合部204的统合结果,向电饭煲输出操作命令。
[0050] 接着,参照图3、4说明模型学习装置1的硬件结构例。
[0051] 模型学习装置1中的学习数据生成部103、学习数据扩展部104、词素分析部105以及模型学习部106的各功能如图3所示,由执行存储器52中存储的程序的处理器(CPU(Central Processing Unit:中央处理单元)、中央处理装置、处理装置、运算装置、微处理器、微型计算机、DSP(也称作Digital Signal Processor:数字信号处理器))51实现,或者如图4所示,由作为专用硬件的处理电路56实现。
[0052] 在图3的结构的情况下,学习数据生成部103、学习数据扩展部104、词素分析部105以及模型学习部106的功能通过软件、固件或者软件与固件的组合实现。软件和固件被记述成程序,存储在存储器52中。处理器51通过读出并执行存储器52中存储的程序来实现各部的功能。即,在由处理器51执行时,模型学习装置1例如具有存储器52,该存储器52用于存储最终执行后述的图5所示的各步骤的程序。另外,也可以说,这些程序使计算机执行学习数据生成部103、学习数据扩展部104、词素分析部105以及模型学习部106的步骤和方法。这里,存储器52例如是RAM(Random Access Memory:随机存取存储器)、ROM(Read Only Memory:只读存储器)、闪存、EPROM(Erasable Programmable ROM:可擦除可编程只读存储器)、EEPROM(Electrically EPROM:电可擦除可编程只读存储器)等的非易失性或易失性半导体存储器,或者磁盘、软盘、光盘、紧凑盘、迷你盘、DVD(Digital Versatile Disc:数字多功能盘)等。
[0053] 另外,在图4所示的结构的情况下,处理电路56例如是单一电路、复合电路、程序化的处理器、并列程序化的处理器、ASIC(Application Specific Integrated Circuit:面向特定用途的集成电路)、FPGA(Field Programmable Gate Array:现场可编程门阵列)或者它们的组合。学习数据生成部103、学习数据扩展部104、词素分析部105以及模型学习部106的各部的功能可以分别由处理电路56实现,也可以将各部的功能统一由处理电路56实现。
[0054] 另外,对于学习数据生成部103、学习数据扩展部104、词素分析部105以及模型学习部106的各功能,也可以是,一部分由专用硬件实现,一部分由软件或固件实现。例如,可以由作为专用硬件的处理电路56实现学习数据生成部103的功能,通过处理器51读出并执行存储器52中存储的程序来实现学习数据生成部103、学习数据扩展部104、词素分析部105以及模型学习部106的功能。
[0055] 这样,上述各功能可以通过硬件、软件、固件或者它们的组合来实现。
[0056] 另外,文例数据库101存储在作为存储装置的硬盘53中。另外,表示作为来自模型学习装置1的输出的意图理解模型108的数据通过作为输出装置的输出接口54输出。另外,在图3、图4中,标号55是总线。
[0057] 另外,对于意图理解装置2的硬件结构例,除了相对于图3、图4追加有麦克风或键盘等输入装置即传感器接口这一点以外均相同,省略其说明。
[0058] 接着,参照图5说明如上所述构成的模型学习装置1的模型学习处理例。
[0059] 首先,在步骤ST501中,学习数据生成部103根据文例数据库101中存储的文例数据,针对意图In,生成表示作为正例的文例和作为负例的文例的学习数据。另外,n是与意图相关联的编号。
[0060] 图6示出文例数据的一例。如该图6所示,文例数据由意图与文例的组构成。在图6所示的文例数据中,存在3种意图,针对各意图示出多个文例。这里,将“米种设定[米种=白米]”设为意图I1,将“煮的方式设定[煮的方式=加急]”设为意图I2,将“米种设定[米种=糙米]”设为意图I3。
[0061] 并且,学习数据生成部103首先生成针对意图I1的学习数据。此时,学习数据生成部103通过从图6所示的文例数据中复制与对象意图即意图I1对应的文例,由此生成针对意图I1的正例。另外,学习数据生成部103通过从图6所示的文例数据中复制与对象外意图即意图I2、I3对应的文例,由此生成针对意图I1的负例。图7示出针对意图I1的学习数据的一例。另外,在图7中,将相对于负例的意图的名称设为“OTHER”。
[0062] 接着,在步骤ST502中,学习数据扩展部104根据针对由学习数据生成部103生成的意图In的学习数据,生成针对意图In的扩展学习数据。即,学习数据扩展部104从针对意图In的学习数据中复制负例而生成新的正例,将该新的正例追加到该学习数据中,由此生成针对意图In的扩展学习数据。
[0063] 这里,设学习数据生成部103生成了图7所示的针对意图I1的学习数据。在这种情况下,学习数据扩展部104从图7所示的学习数据中复制作为负例的文例,将针对该复制出的文例的意图从“OTHER”置换成“米种设定[米种=白米]”并作为新的正例追加到学习数据中,由此生成扩展学习数据。图8示出针对意图I1的扩展学习数据的一例。
[0064] 另外,在上文中示出了学习数据扩展部104通过单纯地复制负例来生成新的正例的情况。但不限于此,只要是将至少包含负例的文例设为新的正例的方式即可。例如,也可以是,学习数据扩展部104生成用“、”结合复制出的负例和任意的正例而成的文例,并将其作为新的正例。
[0065] 接着,在步骤ST503中,词素分析部105使用词素分析辞典107,对针对由学习数据扩展部104取得的意图In的扩展学习数据所示的文例进行词素分析,提取独立词作为特征量。
[0066] 例如,在使用图8所示的文例“请将米种设定为白米”的情况下,词素分析部105首先进行“请/动词、将/助词、米种/名词、设定/动词、为/助词、白米/名词”这样的词素分析。接着,词素分析部105从词素分析的结果中只选择独立词作为特征量进行提取。在上述的例子中,特征量为“米种、设定、白米”。
[0067] 接着,在步骤ST504中,模型学习部106使用最大熵法,学习由词素分析部105提取出的特征量与意图In之间的关系而生成意图理解模型108。
[0068] 在上述的例子中,模型学习部106根据特征量“米种、设定、白米”和图8所示的扩展学习数据,生成针对意图I1的意图理解模型(称作I1判定用意图理解模型)108。
[0069] 接着,在步骤ST505中,模型制作部102判定是否针对全部意图In生成了意图理解模型108。在该步骤ST505中模型制作部102判定为存在没有生成意图理解模型108的意图In的情况下,进程返回到步骤ST501,针对下一个意图In反复进行上述处理。另一方面,在步骤ST505中模型制作部102判定为针对全部意图In生成了意图理解模型108的情况下,进程结束。
[0070] 在上述例子中,由于模型学习装置1只生成I1判定用意图理解模型,因此,进程返回到步骤ST501。此后,模型学习装置1生成I2判定用意图理解模型和I3判定用意图理解模型。
[0071] 接着,参照图9说明意图理解装置2的意图估计处理例。首先,在步骤ST901中,输入部201取得表示字符串的字符串数据。例如,设使用者进行了意图针对电饭锅的操作命令的讲话“煮的方式是加急并且煮白米”。在这种情况下,输入部201通过语音识别将上述语音转换成字符串“煮的方式是加急并且用白米煮”,由此得到字符串数据。
[0072] 另外,输入部201的语音识别采用公知的技术。例如,通过采用《数字语音处理》(东海大学出版会,1985年9月25日发售)的第8章(第149~192页)中记载的技术,能够实现语音识别。
[0073] 接着,在步骤ST902中,词素分析部202使用词素分析字典206,对由输入部201取得的字符串数据所示的字符串进行词素分析,提取独立词作为特征量。
[0074] 例如,在上述字符串为“煮的方式是加急并且煮白米”的情况下,词素分析部202首先进行“煮的方式/名词、是/动词、加急/名词、并且/助词、煮/动词、白米/名词”这样的词素分析。接着,词素分析部202从词素分析的结果中只选择独立词作为特征量进行提取。在上述例子中,特征量为“煮的方式、加急、煮、白米”。
[0075] 接着,在步骤ST903中,意图理解部203使用In判定用意图理解模型,根据由词素分析部202取得的特征量,判定该特征量是否属于意图In。这里,意图理解部203的判定结果由意图In与表示上述特征量是否属于该意图In的得分的组构成。图10A示出针对特征量“煮的方式、加急、煮、白米”使用I1判定用意图理解模型的情况下的判定结果。
[0076] 这里,I1判定用意图理解模型是根据图8记载的学习数据生成的。因此,特征量“加急”和“煮的方式”包含在正例和负例这两者中,从而对判定没有造成较大的影响,特征量“白米”只包含在正例中,从而如图10A所示,能够得到米种设定[米种=白米]的得分比“OTHER”高的结果。
[0077] 另一方面,在作为以往的学习数据的图7记载的学习数据中,特征量“加急”和“煮的方式”仅包含在负例中,特征量“白米”仅包含在正例中。因此,“OTHER”的得分比米种设定[米种=白米]高,无法准确地进行意图理解。
[0078] 接着,在步骤ST904中,意图理解部203判定是否取得了针对全部In判定用意图理解模型的判定结果。当在该步骤ST904中意图理解部203判定为存在没有得到判定结果的In判定用意图理解模型的情况下,进程返回到步骤ST903,使用下一个In判定用意图理解模型反复进行上述处理。另一方面,当在步骤ST904中意图理解部203判定为针对全部In判定用意图理解模型取得了判定结果的情况下,进程进入到步骤ST905。
[0079] 在上述例子中,意图理解部203只得到针对I1判定用意图理解模型的判定结果,因此,进程返回到步骤ST903。此后,意图理解部203取得针对I2判定用意图理解模型和I3判定用意图理解模型的意图理解结果。图10B示出针对特征量“煮的方式、加急、煮、白米”使用I2判定用意图理解模型时的判定结果。另外,图10C示出针对特征量“煮的方式、加急、煮、白米”使用I3判定用意图理解模型时的判定结果。
[0080] 接着,在步骤ST905中,结果统合部204统合由意图理解部203取得的每个意图理解模型108的判定结果。图11示出统合图10所示的多个判定结果而得到的结果。在图11所示的统合结果中,列表显示意图。步骤ST905中的结果统合部204的结果统合处理的详细情况容后再述。
[0081] 接着,在步骤ST906中,输出部205将由结果统合部204取得的统合结果中包含的意图转换成一一对应的操作命令,将操作命令输出给电饭煲。
[0082] 例如,在结果统合部204取得图11所示的统合结果的情况下,输出部205将表示“将米种设定为白米的命令”和“将煮的方式设定为加急的命令”的数据作为操作命令输出给电饭煲。
[0083] 接着,参照图12说明步骤ST905中的结果统合部204的结果统合处理例。
[0084] 首先,在步骤ST1201中,结果统合部204从针对In判定用意图理解模型的判定结果中选择得分最高的意图。
[0085] 例如,在针对I1判定用意图理解模型的判定结果是图10A的情况下,由于针对“米种设定[米种=白米]”的得分比针对“OTHER”的评分高,因此选择“米种设定[米种=白米]”。
[0086] 接着,在步骤ST1202中,结果统合部204判定选择出的意图是否是“OTHER”。当在该步骤ST1201中结果统合部204判定为选择出的意图不是“OTHER”的情况下,进程转移到步骤ST1203。另一方面,当在步骤ST1201中结果统合部204判定为选择出的意图是“OTHER”的情况下,进程转移到步骤ST1204而跳过步骤ST1203中的处理。
[0087] 在上述例子中,由于选择出的意图“米种设定[米种=白米]”不是“OTHER”,因此,进程转移到步骤ST1203。
[0088] 接着,在步骤ST1203中,结果统合部204将选择出的意图加入到统合结果中。在上述例子中,将“米种设定[米种=白米]”加入到统合结果中。
[0089] 接着,在步骤ST1204中,结果统合部204判定是否对全部判定结果进行了处理。当在该步骤ST1204中结果统合部204判定为存在没有进行处理的判定结果的情况下,进程返回到步骤ST1201,对下一个判定结果反复进行上述处理。另一方面,当在步骤ST1204中结果统合部204判定为对全部判定结果进行了处理的情况下,进程结束。
[0090] 在上述例子中,结果统合部204只对针对I1判定用意图理解模型的判定结果进行了处理,因此,进程返回到步骤ST1201。此后,结果统合部204对针对I2判定用意图理解模型和I3判定用意图理解模型的判定结果进行上述处理。
[0091] 这里,当对针对图10B所示的I2判定用意图理解模型的判定结果进行上述处理时,在步骤ST1201中选择“煮的方式设定[煮的方式=加急]”,在步骤ST1203中将“煮的方式设定[煮的方式=加急]”加入到统合结果中。
[0092] 另一方面,当对针对图10C所示的I2判定用意图理解模型的判定结果进行上述处理时,在步骤ST1201中选择“OTHER”,因此,在统合结果中不加入“米种设定[米种=糙米]”。
[0093] 另外,在上文中示出了结果统合部204选择得分最高的意图,在该意图不是“OTHER”的情况下加入到统合结果中的情况,但不限于此。例如,也可以是,结果统合部204设定阈值,在最高的得分比该阈值高的情况下加入到统合结果中。
[0094] 如上所述,根据本实施方式1,具有:学习数据扩展部104,其按照每个意图,从表示作为正例的文例和作为负例的文例的学习数据中复制该负例而生成新的正例,将该新的正例追加到该学习数据中,由此生成扩展学习数据;词素分析部105,其按照每个意图,对由学习数据扩展部104生成的扩展学习数据所示的文例进行词素分析并提取特征量;以及模型学习部106,其按照每个意图,学习由词素分析部105提取出的特征量与意图之间的关系而生成模型。因此,能够使用表示作为正例的文例和作为负例的文例的学习数据,得到在1个字符串包含多个意图的情况下也能够估计意图的意图理解模型108。
[0095] 即,通过使用负例扩展正例而生成意图理解模型108,在使用意图理解模型108理解意图时,即使在1个字符串包含对象意图和对象外意图的情况下,也能够根据对象外意图的得分较高的特征量来提高对象意图的得分。其结果是,能够抑制对象外意图的得分比对象意图的得分高的情况,能够以较高的精度估计为对象意图。
[0096] 另外,在上文中说明了模型学习装置针对1个意图生成1个意图理解模型108的情况,但不限于此。也可以是,模型学习装置例如针对2个意图生成1个意图理解模型108,将针对上述2个意图的文例设为正例,将针对除此以外的意图的文例设为负例,从而可期待同样的效果。同样地,也可以是,模型学习装置针对3个以上的意图生成1个意图理解模型108。
[0097] 另外,在上文中主要示出了输入部201接收语音的输入并通过语音识别转换成字符串而取得字符串数据的情况。但不限于此,也可以是,输入部201接收字符串的输入而取得字符串数据,从而可期待同样的效果。
[0098] 另外,在上文中示出了设意图理解装置2输出操作命令的对象为电饭煲的情况。但不限于此,作为上述对象,只要是接收基于自然语言的操作命令的装置即可。
[0099] 另外,本申请能够在其发明的范围内,进行实施方式的任意构成要素的变形或者实施方式的任意构成要素的省略。
[0100] 产业上的可利用性
[0101] 本发明的模型学习装置适用于如下的模型学习装置等:能够使用表示作为正例的文例和作为负例的文例的学习数据,得到在1个字符串包含多个意图的情况下也能够估计意图的模型,学习意图与文例之间的关系而生成模型。
[0102] 标号说明
[0103] 1:模型学习装置;2:意图理解装置;51:处理器;52:存储器;53:硬盘;54:输出接口;55:总线;56:处理电路;101:文例数据库;102:模型制作部;103:学习数据生成部;104:学习数据扩展部;105:词素分析部;106:模型学习部;107:词素分析字典;108:意图理解模型;201:输入部;202:词素分析部;203:意图理解部;204:结果统合部;205:输出部;206:词素分析字典。

当前第1页 第1页 第2页 第3页