首页> 中国专利> 自然语言处理系统、自然语言处理方法、以及自然语言处理程序

自然语言处理系统、自然语言处理方法、以及自然语言处理程序

摘要

一实施方式所涉及的自然语言处理系统具备分析部以及修正部。分析部使用分割模型而执行对于一个句子的词素分析,从而对分割该一个句子而得到的各个被分割元素设定标签。分割模型包含表示被分割元素与标签的对应的输出特性的分数、和表示与连续的两个被分割元素对应的两个标签的组合的转移特性的分数。修正部对通过分析部而得到的分析结果所示的标签、和表示一个句子的正解的标签的正解数据进行比较,将与对应于非正解的标签的正解的标签关联的特性的分数提高,将与该非正解的标签关联的特性的分数降低,从而对分析部在下一个句子的词素分析中所使用的分割模型进行修正。

著录项

  • 公开/公告号CN106030568A

    专利类型发明专利

  • 公开/公告日2016-10-12

    原文格式PDF

  • 申请/专利权人 乐天株式会社;

    申请/专利号CN201480076197.5

  • 发明设计人 萩原正人;

    申请日2014-12-08

  • 分类号G06F17/27;

  • 代理机构北京市柳沈律师事务所;

  • 代理人胡金珑

  • 地址 日本东京都

  • 入库时间 2023-06-19 00:43:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-02-08

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/27 专利号:ZL2014800761975 变更事项:专利权人 变更前:乐天株式会社 变更后:乐天集团股份有限公司 变更事项:地址 变更前:日本东京都 变更后:日本东京都

    专利权人的姓名或者名称、地址的变更

  • 2018-11-06

    授权

    授权

  • 2016-11-09

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20141208

    实质审查的生效

  • 2016-10-12

    公开

    公开

说明书

技术领域

本发明的一个侧面涉及自然语言处理系统、自然语言处理方法、以及自然语言处理程序。

背景技术

作为自然语言处理的基础技术之一,已知将句子分割为词素的串并对各词素的词类进行判定的词素分析。与此关联地,在下述专利文献1中记载了如下的词素分析装置:所述词素分析装置将所输入的文本(text)数据分解为词素,参照词素字典而取得与该被分解的词素对应的位置的信息,通过使用了位置信息的成本函数,从该被分解而得到的词素串的候选中决定词素串。

现有技术文献

专利文献

专利文献1:特开2013-210856号公报

发明内容

发明要解决的课题

使用包含各特性的分数(score)的分割模型来执行词素分析。也称为用于词素分析的知识的该分割模型通常预先固定,因此,若想对在该分割模型中没有包罗的属于新的领域的句子或者具有新的性质的句子进行词素分析,则得到正确的结果当然是非常困难的。另一方面,若想通过机器学习等方法对分割模型进行修正,则该修正所需要的时间有可能会不可预料地增大。因此,期望在一定的时间内自动地对词素分析的分割模型进行修正。

用于解决课题的手段

本发明的一个侧面所涉及的自然语言处理系统具备:分析部,利用通过使用了1个以上的训练数据的机器学习而得到的分割模型,执行对于一个句子的词素分析,从而对分割该一个句子而得到的各个被分割元素,设定至少表示单词的词类的标签,并且,分割模型包含表示被分割元素与标签的对应的输出特性的分数、和表示与连续的两个被分割元素对应的两个标签的组合的转移特性的分数;以及修正部,对通过分析部而得到的分析结果所示的标签、和表示一个句子的正解的标签的正解数据进行比较,将与对应于非正解的标签的正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更高,将与该非正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更低,从而对分析部在下一个句子的词素分析中所使用的分割模型进行修正。

本发明的一侧面所涉及的自然语言处理方法是由具备处理器的自然语言处理系统来执行的自然语言处理方法,所述自然语言处理方法包含:分析步骤,利用通过使用了1个以上的训练数据的机器学习而得到的分割模型,执行对于一个句子的词素分析,从而对分割该一个句子而得到的各个被分割元素,设定至少表示单词的词类的标签,并且,分割模型包含表示被分割元素与标签的对应的输出特性的分数、和表示与连续的两个被分割元素对应的两个标签的组合的转移特性的分数;以及修正步骤,对在分析步骤中得到的分析结果所示的标签、与表示一个句子的正解的标签的正解数据进行比较,将与对应于非正解的标签的正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更高,将与该非正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更低,从而对在分析步骤中的下一个句子的词素分析中所使用的分割模型进行修正。

本发明的一侧面所涉及的自然语言处理程序使计算机作为以下部件发挥作用:分析部,利用通过使用了1个以上的训练数据的机器学习而得到的分割模型,执行对于一个句子的词素分析,从而对分割该一个句子而得到的各个被分割元素,设定至少表示单词的词类的标签,并且,分割模型包含表示被分割元素与标签的对应的输出特性的分数、和表示与连续的两个被分割元素对应的两个标签的组合的转移特性的分数;以及修正部,对通过分析部而得到的分析结果所示的标签、和表示一个句子的正解的标签的正解数据进行比较,将与对应于非正解的标签的正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更高,将与该非正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更低,从而对分析部在下一个句子的词素分析中所使用的分割模型进行修正。

在这样的侧面,每次对一个句子进行词素分析时,比较其分析结果与正解数据,基于它们的差异而修正分割模型。如此按每一个句子来修正分割模型,从而对多个句子进行处理的情况下的分割模型的修正所需的时间被抑制为根据句子的个数大致线性增加的程度,因此,能够在一定的时间内(换而言之,在能够预测的时间的范围内)自动地对词素分析的分割模型进行修正。

发明效果

根据本发明的一个侧面,能够在一定的时间内自动地对词素分析的分割模型进行修正。

附图说明

图1是实施方式所涉及的自然语言处理系统中的处理的概念图。

图2是表示实施方式中的词素分析的例子的图。

图3是表示用于构成实施方式所涉及的自然语言处理系统的计算机的硬件结构的图。

图4是表示实施方式所涉及的自然语言处理系统的功能结构的方框图。

图5是概念性地表示加标签的一例的图。

图6(a)、图6(b)是分别示意性地表示分数的更新的一例的图。

图7是表示实施方式所涉及的自然语言处理系统的动作的流程图。

图8是表示实施方式所涉及的自然语言处理程序的结构的图。

具体实施方式

以下,参照附图,详细地说明本发明的实施方式。另外,在附图的说明中对同一或者同等的元素附加同一标记,省略重复的说明。

首先,使用图1~5,说明实施方式所涉及的自然语言处理系统10的功能以及结构。自然语言处理系统10是执行词素分析的计算机系统。词素分析是指将句子分割为词素的串并对各词素的词类进行判定的处理。句子是指表示一个完结的陈述的语言表现的单位,通过字符串来表现。词素是指具有意思的最小的语言单位。词素的串是将句子分割为1个以上的词素而得到的该1个以上的词素的排列。词类是指基于文法上的功能或者形态的单词的划分。

自然语言处理系统10使用分割模型20对各个句子进行词素分析。作为自然语言处理系统10的特征之一,可举出如下的点:在对分割模型20进行学习时,在每次对各个句子进行词素分析时对该分割模型20进行修正。若分割模型20的修正结束,则将具备已确定的分割模型20的自然语言处理系统10提供给用户。用户能够使该自然语言处理系统10执行词素分析,此时,不进行分割模型20的修正就执行词素分析。本说明书中的“分割模型”是指将句子分割为1个以上的词素时的基准(线索),通过各特性的分数来表示。该分割模型是通过使用了1个以上的训练数据的机器学习而得到。训练数据是至少表示被分割为各单词的句子、和对该句子进行分割而得到的各单词的词类的数据。特性(feature)是指在词素分析中用于获得正确的结果的线索。通常,关于将什么作为特性(线索)来使用,并没有限定。特性的分数是指表示该特性的合理性的数值。

在图1中简洁地表示本实施方式所涉及的自然语言处理系统10中的处理的概念。另外,图1中的齿轮M表示词素分析的执行。在某个时刻,自然语言处理系统10通过执行使用了分割模型w1的词素分析,从而将句子s1分割为1个以上的词素。在本实施方式中,自然语言处理系统10将句子分割为各个字符而执行以字符为单位的处理,从而将句子分割为1个以上的词素。即,在本实施方式中,成为处理对象的被分割元素是字符。自然语言处理系统10通过对各个字符(被分割元素)设定标签,从而表示词素分析的结果。本说明书中的“标签(tag)”是指表示字符的属性或者功能的标记(label)。关于标签在后面详细进行说明。

若执行词素分析,则自然语言处理系统10接受表示该句子s1的词素分析的正解的数据(正解数据),将分析结果与该正解数据进行比较而对分割模型w1进行修正,从而得到新的分割模型w2。具体而言,自然语言处理系统10在句子s1的词素分析的至少一部分的加标签错误的情况下,评价为分析结果的整体是错误的。然后,自然语言处理系统10将对应于正解数据内的各标签的特性评价为“正确的(+1)”而将其特性的分数设为比当前值更高,将对应于分析结果内的各标签的特性评价为“错误的(-1)”而将其特性的分数设为比当前值更低,从而得到分割模型w2。在分析结果内一部分的标签为正解的情况下,与该一部分的标签(正解的标签)关联的特性的两个评价“正确的(+1)”、“错误的(+1)”在结果上被相互抵消。因此,如上述那样将特性的分数降低或者提高的处理可以说成是将与对应于非正解的标签的正解的标签(对应于非正解部分的正解的标签)关联的特性的分数提高,将与该非正解的标签(非正解部分的标签)关联的特性的分数降低的处理。

另外,自然语言处理系统10也可以将正解数据内的各标签评价为“正确的(+1)”,另一方面,将与分析结果内的各字符有关的标签评价为“错误的(-1)”,关于各标签将两个评价结果相互抵消之后,将对应于被评价为“正确的(+1)”的标签的特性的分数提高,将对应于被评价为“错误的(-1)”的标签的特性的分数降低。

例如,设为在句子s1内存在5个字符xa,xb,xc,xd,xe。然后,设为字符xa,xb,xc,xd,xe的正解的标签分别为ta,tb,tc,td,te,通过词素分析而各字符的标签为ta,tg,th,td,te。在该情况下,自然语言处理系统10将对应于正解数据内的标签ta,tb,tc,td,te的特性评价为“正确的(+1)”而将该特性的分数设为比当前值更高,将对应于执行结果内的标签ta,tg,th,td,te的特性评价为“错误的(-1)”而将该特性的分数设为比当前值更低。在该情况下,对应于标签ta,td,tc的特性的分数结果上与更新前没有变化,对应于正解的标签tb,tc的特性的分数变高,对应于非正解的标签tg、th的特性的分数变低。

在执行对于下一个句子s2的词素分析的情况下,自然语言处理系统10使用该分割模型w2。然后,自然语言处理系统10接受该句子s2的词素分析的正解数据,将执行结果与该正解数据进行比较,与对分割模型w1进行修正的情况同样地对分割模型w2进行修正,从而得到新的分割模型w3

自然语言处理系统10像这样在每次对一个句子(s1,s2,…,st)进行处理时对分割模型进行修正(w1→w2,w2→w3,…,wt→wt+1),在下一个句子的词素分析中使用修正后的分割模型。像这样在每次对一个训练数据进行处理时更新模型的方法也被称为“在线学习”或者“在线的机器学习”。

在图2中表示基于自然语言处理系统10的词素分析的结果的例子。在该例中,自然语言处理系统10将相当于“I bought a book(我买了书)”的英文的、“本を買って(hon wo katte)(我买了书)”的日语的句子分割为5个字符x1:“本(hon)”,x2:“を(wo)”,x3:“買(ka)”,x4:“っ(t)”,x5:“て(te)”。然后,自然语言处理系统10通过执行词素分析,从而对各字符设定标签。在本实施方式中,标签是在单词内的字符的出现形态、该单词的词类、以及该单词的词类的子类的组合,使用如“S-N-nc”等的字母来表现。

出现形态是用于表示如下情况的信息:某个字符是单独地成为一个单词还是通过与其他的字符的组合而成为一个单词的情况、以及在字符为由2个字符以上组成的单词的一部分的情况下该字符位于单词内的什么位置的情况。在本实施方式中,出现形态通过S,B,I,E的其中一个来表示。出现形态“S”表示字符其单独地成为一个单词的情况。出现形态“B”表示字符位于由2个字符以上组成的单词的开头的情况。出现形态“I”表示字符位于由3个字符以上组成的单词的中途的情况。出现形态“E”表示字符位于由2个字符以上组成的单词的末尾的情况。图2的例子示出了字符x1,x2,x5单独是一个单词,且通过字符x3,x4形成1个单词的情况。

另外,关于出现形态的方案(scheme)并没有限定。在本实施方式中,使用了“SBIEO”这样的方案,但是,也可以使用例如本领域技术人员众所周知的“IOB2”这样的方案。

作为词类的例子可举出名词、动词、助词、形容词、形容动词、接续词等。在本实施方式中,名词由“N”来表示,助词由“P”来表示,动词由“V”来表示。图2的例子示出了字符x1为名词,字符x2为助词,由字符x3,x4组成的单词为动词,字符x5为助词的情况。

词类的子类表示对应的词类的下位概念。例如,名词能够进一步分类为一般名词和固有名词,助词能够进一步分类为格助词、接续助词、系助词等。在本实施方式中,一般名词由“nc”来表示,固有名词由“np”来表示,格助词由“k”来表示,接续助词由“sj”来表示,一般动词由“c”来表示。图2的例子示出了字符x1为一般名词,字符x2为格助词,由字符x3,x4组成的单词为一般动词,字符x5为接续助词的情况。

分割模型20存储的特性的分数是,输出特性(emission feature)的分数以及转移特性(transition feature)的分数。

输出特性是指,表示标签与字符或者字符种类的对应的线索。换而言之,输出特性是指,表示对于什么样的标签,什么样的字符或者字符种类容易对应的线索。输出特性对应于隐马尔科夫模型的输出矩阵的特性表现。在本实施方式中,使用一元文法(unigram)(由仅1个字符组成的字符串)的输出特性、和二元文法(bigram)(由连续的2个字符组成的字符串)的输出特性。

在此,字符种类是指,某种语言中的字符的种类。作为日语的字符种类,可举出例如汉字、平假名、片假名、字母(大写字符以及小写字符)、阿拉伯数字、中文数字、以及中点(·)。另外,在本实施方式中,通过字母来表现字符种类。例如,“C”表示汉字,“H”表示平假名,“K”表示片假名,“L”表示字母,“A”表示阿拉伯数字。图2的例子示出了字符x1,x3为汉字,字符x2,x4,x5为平假名。

与字符有关的一元文法的输出特性是表示标签t与字符x的对应的线索。此外,与字符种类有关的一元文法的输出特性是表示标签t与字符种类c的对应的线索。在本实施方式中,通过{t/x,s}来表示标签t与字符x的对应的合理性的分数s。此外,通过{t/c,s}来表示标签t和字符种类c的对应的合理性的分数s。分割模型20对于一个字符或者字符种类包含与多个标签有关的分数。对于一个字符或者字符种类,在与全部的种类的标签有关的数据被准备的情况下,分割模型20也包含关于在文法上实际上不会发生的标签与字符或者字符种类的组合的分数。其中,文法上不可能有的特性的分数变得相对低。

以下,表示与日语的“本(hon)”这样的字符有关的输出特性的分数的例子。该字符为助词的情况在日语的文法上是不可能的,但是,如上所述,关于文法上不存在的“S-P-k/本(hon)”这样的特性也可能准备数据。

{S-N-nc/本(hon),0.0420}

{B-N-nc/本(hon),0.0310}

{S-P-k/本(hon),0.0003}

{B-V-c/本(hon),0.0031}

此外,表示与字符种类“汉字”有关的输出特性的分数的例子。

{S-N-nc/C,0.0255}

{E-N-np/C,0.0488}

{S-P-k/C,0.0000}

{B-V-c/C,0.0299}

关于字符种类,也可能准备表示文法上不存在的特性的数据。例如,由阿拉伯数字来表现的单词成为助词的情况在日语的文法上是不可能的,但是,关于“S-P-k/A”这样的特性也可能准备数据。

与字符有关的二元文法的输出特性是表示标签t与字符串xixi+1的对应的线索。此外,与字符种类有关的二元文法的输出特性是表示标签t与字符种类的串cici+1的对应的线索。在本实施方式中,通过{t/xi/xi+1,s}来表示标签t以及字符xi,xi+1的合理性的分数s。此外,通过{t/ci/ci+1,s}来表示标签t以及字符种类ci,ci+1的合理性的分数s。在对一个二元文法,准备与可能存在的所有的标签有关的数据的情况下,分割模型20还存储关于文法上实际不会发生的标签与二元文法的组合的数据。

以下,表示与“本を(hon wo)”这样的二元文法有关的输出特性的分数的例子。

{S-N-nc/本(hon)/を(wo),0.0420}

{B-N-nc/本(hon)/を(wo),0.0000}

{S-P-k/本(hon)/を(wo),0.0001}

{B-V-c/本(hon)/を(wo),0.0009}

此外,表示与在汉字之后出现平假名的二元文法有关的输出特性的分数的例子。

{S-N-nc/C/H,0.0455}

{E-N-np/C/H,0.0412}

{S-P-k/C/H,0.0000}

{B-V-c/C/H,0.0054}

转移特性是指,表示字符xi的标签ti与其下一个字符xi+1的标签ti+1的组合(由与连续的2个字符对应的两个标签组成的组合)的线索。该转移特性是与二元文法有关的特性。转移特性对应于隐马尔科夫模型的转移矩阵的特性表现。在本实施方式中,通过{ti/ti+1,s}来表示标签ti与标签ti+1的组合的合理性的分数s。在要准备与可能存在的所有的组合有关的转移特性的数据的情况下,分割模型20还存储关于在文法上实际不会发生的两个标签的组合的数据。

以下,表示转移特性的分数的几个例子。

{S-N-nc/S-P-k,0.0512}

{E-N-nc/E-N-nc,0.0000}

{S-P-k/B-V-c,0.0425}

{B-V-c/I-V-c,0.0387}

自然语言处理系统10具备1台以上的计算机,在具备多台计算机的情况下,后述的自然语言处理系统10的各功能要素通过分散处理而实现。各个计算机的种类并没有限定。例如,可以使用固定型或者便携型的个人计算机(PC),也可以使用工作站,也可以使用高功能便携电话机(智能手机)或便携电话机、便携信息终端(PDA)等的便携终端。或者,也可以将各种各样的种类的计算机进行组合来构建自然语言处理系统10。在使用多台计算机的情况下,这些计算机经由互联网或内联网等的通信网络而连接。

在图3中表示自然语言处理系统10内的各个计算机100的一般的硬件结构。计算机100具备:用于执行操作系统或应用/程序等的CPU(处理器)101、由ROM以及RAM构成的主存储部102、由硬盘或闪存存储器等构成的辅助存储器部103、由网卡或者无线通信模块构成的通信控制部104、键盘或鼠标等的输入装置105、以及显示器或打印机等的输出装置106。当然,所搭载的硬件模块根据计算机100的种类而不同。例如,固定型的PC以及工作站中作为输入装置以及输出装置而具备键盘、鼠标、以及监视器的情况较多,而在智能手机中触摸面板作为输入装置以及输出装置而发挥作用的情况较多。

后述的自然语言处理系统10的各功能要素如下实现:使预定的软件读入到CPU101或者主存储部102之上,在CPU101的控制之下使通信控制部104或输入装置105、输出装置106等进行动作,进行主存储部102或者辅助存储部103中的数据的读取以及写入。处理所需的数据或数据库被保存在主存储部102或者辅助存储部103内。

另一方面,分割模型20预先存储在存储装置中。分割模型20的具体的的安装方法并没有限定,例如分割模型20也可以作为关系数据库或者文本文件而准备。此外,分割模型20的设置场所没有限定,例如,分割模型20也可以存在于自然语言处理系统10的内部,也可以存在于与自然语言处理系统10不同的其他的计算机系统内。在分割模型20位于其他的自然语言处理系统内的情况下,自然语言处理系统10经由通信网络对分割模型20进行访问。

如上所述,分割模型20也可以称为是各种各样的特性的分数的集合。在计算式上,能够通过向量w={w1,w2,…,wn}来表示包含n个特性的分数w1,w2,…,wn的分割模型20。在新生成分割模型20的时刻的各特性的分数全部为0。即,w={0,0,…,0}。通过后述的自然语言处理系统10的处理,该分数一点一点被更新。在处理了多到一定程度的句子之后,如上述那样在各个特性的分数之间产生差异。

如图4所示,自然语言处理系统10作为功能性结构要素而具备取得部11、分析部12、以及修正部13。自然语言处理系统10根据需要而对分割模型20进行访问。以下针对各功能要素进行说明,但是,在本实施方式中以自然语言处理系统10处理日语的句子的情况为前提来进行说明。理所当然地,自然语言处理系统10所处理的句子的语言不限定于日语,也能够对中文等的其他语言的句子进行分析。

取得部11是用于取得想要分割为词素的串的句子的功能要素。取得部11对句子的取得方法没有限定。例如,取得部11也可以从互联网上的任意的网站收集句子(所谓的抓取(crawling))。或者,取得部11也可以读取在自然语言处理系统10内的数据库中预先积蓄的句子,也可以经由通信网络,对在位于自然语言处理系统10以外的计算机系统上的数据库中预先积蓄的句子进行访问并读取。或者,取得部11也可以接受由自然语言处理系统10的用户所输入的句子。若最初的句子的分析的指示被输入,则取得部11取得一个句子,输出至分析部12。其后,若从后述的修正部13被输入完成通知,则取得部11取得下一个句子,输出至分析部12。

分析部12是对各个句子执行词素分析的功能要素。分析部12在每输入一个句子时执行以下的处理。

首先,分析部12将一个句子分割为各个字符,对各字符的字符种类进行判定。分析部12预先存储有字符与字符种类的对照表、或者用于判定字符种类的正则表达式,使用该对照表或者正则表达式,对字符种类进行判定。

接着,分析部12使用维特比算法(Viterbi algorithm)来决定各字符的标签。对第i个字符,分析部12针对有可能最终会选择的标签(候选标签)的每一个,判定在与第(i-1)个字符的多个候选标签之中哪个候选标签连接了的情况下分数(也将其称为“连接分数”)成为最高。在此,连接分数是,与计算对象的标签有关的各种分数(一元文法的输出特性的分数、二元文法的输出特性的分数、以及转移特性的分数)的合计值。例如,分析部12在第i个标签为“S-N-nc”的情况下,判定为第(i-1)个标签为“S-P-k”的情况下连接分数成为最高,在第i个标签为“S-V-c”的情况下,判定为第(i-1)个标签为“E-N-nc”的情况下连接分数成为最高等。然后,分析部12将连续分数成为最高的组合(例如,(S-P-k,S-N-nc)、(E-N-nc,S-V-c)等)全部进行存储。分析部12从最初的字符直到句末标点为止每次前进1个字符而执行这样的处理。

对于句末标点而言,由于只存在一种标签(EOS),因此,连接分数为最高的、最后的字符与句末标点的标签的组合决定为一个(例如,该组合决定为(E-V-c,EOS))。于是,最后的字符的标签决定(例如,该标签决定为“E-V-c”),其结果,从最后起第2个字符的标签也被决定。作为结果,从句子的最后朝向开头依次地、顺藤摸瓜式地确定标签。

在图5中示意性地表示这样的分析部12的处理。图5表示对由4个字符组成的句子加标签的一例。为了简化说明,在该例中,将标签简化表示为“A1”、“B2”等,将各字符的候选标签的个数设为3。在图5中的粗线表示对句子从前方起进行处理而得到的、被判定为连接分数最高的标签与标签的组合。例如,在第3个字符的处理中,对于标签C1而言与标签B1的连接分数为最高,对于标签C2而言与标签B1的连接分数最高,对于标签C3而言与标签B2的连接分数最高。在图5的例子中,若处理直到句子的最后(EOS)为止,则确定组合(D1,EOS),接着,确定组合(C2,D1),其后,依次确定组合(B1,C2)、(A2,B1)。因此,分析部12判定为第1~4个字符的标签分别为A2,B1,C2,D1。

分析部12将各字符被加上标签后的句子作为分析结果进行输出。分析部12将分析结果至少输出至修正部13,其理由是因为对于分割模型20的修正而言需要该分析结果。分析部12也可以执行进一步的输出。例如,分析部12也可以将分析结果在监视器上显示或者在打印机中进行印刷,也可以将分析结果在文本文件中写出,也可以将分析结果保存在存储器或数据库等的存储装置中。或者,分析部12也可以将分析结果经由通信网络而发送给自然语言处理系统10以外的其他任意的计算机系统。

修正部13是基于从分析部12得到的分析结果与该句子的词素分析的正解的差异,对分割模型20进行修正的功能要素。在本说明书中的“分割模型的修正”是指,对分割模型内的至少一个特性的分数进行变更的处理。另外,根据情况,有可能存在即使想要对某个分数进行变更,在结果上值也没有变化的情况。修正部13在每次输入一个分析结果时执行以下的处理。

首先,修正部13取得与所输入的分析结果对应的正解数据、即表示由分析部12处理后的句子的词素分析的正解的数据。在本实施方式中的正解数据是指,表示形成句子的各字符的标签(出现形态、词类、以及、词类的子类的组合)的数据。该正解数据通过人工而制成。修正部13对正解数据的取得方法没有限定。例如,修正部13也可以读取在自然语言处理系统10内的数据库中预先积蓄的正解数据,也可以经由通信网络对在位于自然语言处理系统10以外的计算机系统上的数据库中预先积蓄的句子进行访问并读取。或者,修正部13也可以接受由自然语言处理系统10的用户输入了的正解数据。

若取得正解数据,则修正部13对所输入的分析结果与该正解数据进行比较,从而确定它们之间的差异。

在分析结果与正解数据完全一致而没有差异的情况下,修正部13不对分割模型20进行修正就结束处理,生成完成通知并输出至取得部11。该完成通知是表示修正部13中的处理结束而变得能够执行对于下一个句子的词素分析的信号。分析结果与正解数据完全一致的情况是指,至少在该时刻不需要对分割模型20进行修正,因此,自然语言处理系统10(更具体而言分析部12)直接使用当前的分割模型20,对下一个句子进行分析。

例如,关于上述的日语的句子“本を買って(hon wo katte)”的正解数据如下所示。另外,为了方便,也将各字符表示为x1~x5

x1:{S-N-nc}

x2:{S-P-k}

x3:{B-V-c}

x4:{E-V-c}

x5:{S-P-sj}

因此,在输入了图2所示的分析结果的情况下,修正部13判定为该分析结果与正解数据完全一致,不对分析部12进行修正,将完成通知输出至取得部11。

另一方面,在分析结果与正解数据不完全一致的情况(即,分析结果和正解数据存在差异的情况)下,修正部13对分割模型20的至少一部分的分数进行更新。更具体而言,修正部13将与对应于非正解的标签的正解的标签关联的特性的分数设为比当前值更高,将与该非正解的标签有关的特性的分数设为比当前值更低。

例如,设为分析部12从日语的句子“本を買って(hon wo katte)”得到了下述的分析结果。

x1:{S-N-nc}

x2:{S-P-k}

x3:{B-V-c}

x4:{I-V-c}

x5:{E-V-c}

在该情况下,由于分析结果作为整体出现错误,因而修正部13将对应于正解数据内的各标签的特性评价为“正确的(+1)”而将其特性的分数设为比当前值更高,将对应于分析结果内的各标签的特性评价为“错误的(-1)”而将其特性的分数设为比当前值更低。若考虑在结果上被相互抵消的部分,则可以说修正部13最终进行以下的处理。

修正部13将关于与字符x4,x5的正解的标签对应的输出特性“E-V-c/っ(t)”、“S-P-sj/て(te)”的分数设为比当前值更大,将关于与非正解的标签关联的输出特性“I-V-c/っ(t)”、“E-V-c/て(te)”的分数设为比当前值更小。由此,与被分析的句子关联的一元文法的输出特性的分数(与字符有关的分数)被更新。

此外,修正部13将关于与是非正解的字符x4,x5的正解的标签关联的输出特性“E-V-c/H”、“S-P-sj/H”的分数设为比当前值更大,将关于与非正解的标签关联的输出特性“I-V-c/H”、“E-V-c/H”的分数设为比当前值更小。由此,与被分析的句子关联的一元文法的输出特性的分数(与字符种类有关的分数)被更新。

此外,修正部13将关于与是非正解的字符x4,x5的正解的标签关联的输出特性“E-V-c/っ(t)/て(te)”的分数设为比当前值更大,将关于与非正解的标签关联的输出特性“I-V-c/っ(t)/て(te)”的分数设为比当前值更小。由此,与被分析的句子关联的二元文法的输出特性的分数(与字符有关的分数)被更新。

此外,修正部13将关于与是非正解的字符x4,x5的正解的标签关联的输出特性“E-V-c/H/H”的分数设为比当前值更大,将关于与非正解的标签关联的输出特性“I-V-c/H/H”的分数设为比当前值更小。由此,与被分析的句子关联的二元文法的输出特性的分数(与字符种类有关的分数)被更新。

此外,修正部13将关于与是非正解的字符x4,x5的正解的标签关联的转移特性“B-V-c/E-V-c”、“E-V-c/S-P-sj”的分数设为比当前值更大,将关于与非正解的标签关联的转移特性“B-V-c/I-V-c”、“I-V-c/E-V-c”的分数设为比当前值更小。由此,与被分析的句子关联的转移特性的分数被更新。

另外,如上述那样,修正部13也可以将正解数据内的各标签评价为“正确的(+1)”,另一方面,将与分析结果内的各字符有关的标签评价为“错误的(-1)”,将关于各标签的两个评价结果相互抵消之后,将与被评价为“正确的(+1)”的标签对应的特性的分数提高,将与被评价为“错误的(-1)”的标签对应的特性的分数降低。

在更新特性的分数时,修正部13也可以使用SCW(软置信度加权学习,Soft Confidence-Weighted learning)。该SCW是如下的方法:关于方差大的参数,看作为还没有自信(不正确)而将该参数大幅地进行更新,关于方差小的参数,看作为某种程度正确而将该参数小幅地进行更新。修正部13基于具有值的范围的分数的方差,决定该分数的变化量。为了执行该SCW,在分割模型20(向量w)中导入高斯分布,修正部13在各分数的更新之外,还同时更新该分数的期望值以及协方差矩阵。各分数的期望值的初期值为0。关于各分数的协方差矩阵的初期值,对角元素为1,除此以外的元素(非对角元素)为0。图6(a)表示对方差大的分数大幅地进行变更(即,分数的变化量大)的方式,图6(b)表示对方差小的分数仅稍微进行变更(即,分数的变化量小)的方式。图6(a)以及图6(b)分别表示在将分数从Sa更新为Sb时协方差矩阵Σ也进行更新的情况。另外,若提到协方差矩阵的更新,即使不考虑某种特性和其他特性的相关关系也能够保证分数的计算的精度,因此,在本实施方式中,不计算协方差矩阵的非对角元素,而是仅计算对角元素。由此,能够提高分数的更新速度。

另外,修正部13也可以使用SCW以外的方法来更新特性的分数。作为SCW以外的方法的例子可举出Perceptron、Passive Aggressive(PA)、Confidence Weighted(CW)、Adaptive Regularization of Weight Vectors(AROW)。

若通过对与被分析的句子关联的特性的分数进行更新而修正分割模型20,则修正部13生成完成通知而输出至取得部11。在该情况下,自然语言处理系统10(更具体地,分析部12)使用被修正后的分割模型20,对下一个句子进行分析。

接着,使用图7,说明自然语言处理系统10的动作,并且说明本实施方式所涉及的自然语言处理方法。

首先,取得部11取得一个句子(步骤S11)。接着,分析部12使用分割模型20来对该句子进行词素分析(步骤S12,分析步骤)。通过该词素分析,对句子的各字符赋予如“S-N-nc”等那样的标签。

接着,修正部13求出基于分析部12的词素分析的结果、与该词素分析的正解数据的差异(步骤S13)。在该差异不存在的情况(步骤S14;“否”)、即基于分析部12的词素分析完全正确的情况下,修正部13不对分割模型20进行修正就结束处理。另一方面,在分析结果与正解数据存在差异的情况(步骤S14;“是”)、即基于分析部12的词素分析的至少一部不正确的情况下,修正部13通过对与被分析的句子关联的特性的分数进行更新,从而对分割模型20进行修正(步骤S15,修正步骤)。具体而言,修正部13将与对应于非正解的标签的正解的标签关联的特性的分数设为比当前值更高,且将与该非正解的标签关联的特性的分数设为比当前值更低。

若修正部13中的处理完成,则返回至步骤S11的处理(参照步骤S16)。取得部11取得下一个句子(步骤S11),分析部12对该句子进行词素分析(步骤S12)。此时,在前一个句子的处理中,执行了分割模型20的修正(步骤S15)的情况下,分析部12使用被修正后的分割模型20来执行词素分析。其后,修正部13执行步骤S13以后的处理。这样的反复只要存在处理对象的句子就会继续(参照步骤S16)。

以下,示出用于表示自然语言处理系统10的动作的算法的一例。

上述算法中的第一行意味着分割模型20(变量w1)的初始化,通过该处理,例如各特性的分数被设定为0。第2行的For循环是表示将第3行以后的处理按一个个句子地执行的情况。第3行意味着取得句子xt的情况,相当于上述的步骤S11。第4行表示通过进行基于该时刻的分割模型20(wt)的词素分析从而对各字符赋予标签的处理,相当于上述的步骤S12。y^t表示分析结果。第5行意味着取得句子xt的词素分析的正解数据yt的情况。第6行意味着在分析结果y^t与正解数据yt存在差异的情况下对分割模型20进行更新(修正)的情况。第7行表示将正解数据yt作为正面例子而进行学习的情况,第8行是表示将包含错误的分析结果y^t作为负面例子进行学习的情况。第7、8行的处理相当于上述的步骤S15。

接着,使用图8,说明用于实现自然语言处理系统10的自然语言处理程序P1。

自然语言处理程序P1具备主模块P10、取得模块P11、分析模块P12、以及修正模块P13。

主模块P10是总括地控制词素分析以及其关联处理的部分。通过执行取得模块P11、分析模块P12、以及修正模块P13而实现的功能分别与上述的取得部11、分析部12、以及修正部13的功能相同。

自然语言处理程序P1也可以固定地记录在例如CD-ROM或DVD-ROM、半导体存储器等的有形的记录介质之后被提供。此外,自然语言处理程序P1也可以作为在载波上重叠的数据信号而经由通信网络被提供。

如以上说明那样,本发明的一侧面所涉及的自然语言处理系统具备:分析部,利用通过使用了1个以上的训练数据的机器学习而得到的分割模型,执行对于一个句子的词素分析,从而对分割该一个句子而得到的各个被分割元素,设定至少表示单词的词类的标签,并且,分割模型包含表示被分割元素与标签的对应的输出特性的分数、和表示与连续的两个被分割元素对应的两个标签的组合的转移特性的分数;以及修正部,对通过分析部而得到的分析结果所示的标签、和表示一个句子的正解的标签的正解数据进行比较,将与对应于非正解的标签的正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更高,将与该非正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更低,从而对分析部在下一个句子的词素分析中所使用的分割模型进行修正。

本发明的一侧面所涉及的自然语言处理方法是由具备处理器的自然语言处理系统执行的自然语言处理方法,自然语言处理方法包含:分析步骤,利用通过使用了1个以上的训练数据的机器学习而得到的分割模型,执行对于一个句子的词素分析,从而对分割该一个句子而得到的各个被分割元素,设定至少表示单词的词类的标签,并且,分割模型包含表示被分割元素与标签的对应的输出特性的分数、和表示与连续的两个被分割元素对应的两个标签的组合的转移特性的分数;以及修正步骤,对在分析步骤中得到的分析结果所示的标签、与表示一个句子的正解的标签的正解数据进行比较,将与对应于非正解的标签的正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更高,将与该非正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更低,从而对在分析步骤中的下一个句子的词素分析所使用的分割模型进行修正。

本发明的一侧面所涉及的自然语言处理程序使计算机作为以下的部件发挥作用:分析部,利用通过使用了1个以上的训练数据的机器学习而得到的分割模型,执行对于一个句子的词素分析,从而对分割该一个句子而得到的各个被分割元素,设定至少表示单词的词类的标签,并且,分割模型包含表示被分割元素与标签的对应的输出特性的分数、和表示与连续的两个被分割元素对应的两个标签的组合的转移特性的分数;以及修正部,对通过分析部而得到的分析结果所示的标签、与表示一个句子的正解的标签的正解数据进行比较,将与对应于非正解的标签的正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更高,将与该非正解的标签关联的输出特性的分数以及转移特性的分数设为比当前值更低,从而对分析部在下一个句子的词素分析中所使用的分割模型进行修正。

在这样的侧面中,每次对一个句子进行词素分析时,比较其分析结果与正解数据,基于它们的差异而修正分割模型。如此按每一个句子来修正分割模型,从而对多个句子进行处理的情况下的分割模型的修正所需的时间被抑制为根据句子的个数大致线性增加的程度,因此,能够在一定的时间内(换而言之,在能够预测的时间的范围内)自动地对词素分析的分割模型进行修正。

此外,通过将与正解的标签有关的特性分数提高,将与是非正解的标签有关的特性的分数降低,从而能够进一步提高下一个句子的词素分析的精度。

在其他侧面所涉及的自然语言处理系统中,被分割元素也可以是字符。使用以字符为单位的知识(输出特性以及转移特性)来对每个字符进行处理,从而不使用通常成为大规模的单词字典,就能够执行词素分析。此外,由于不使用单词的知识,而是使用以字符为单位的知识按每一个句子对分割模型进行修正,因此,即使设为下一个句子是领域或者性质与目前为止已分析的任一个句子均不同的句子,也能够高精度地对该下一个句子进行词素分析。即,本发明的一侧面所涉及的自然语言处理系统对于未知的领域的句子或者含有未知的性质的句子,具有自适应性。

在其他侧面所涉及的自然语言处理系统中,输出特性的分数以及转移特性的分数分别具有值的范围,关于各分数设定方差,修正部基于各分数的方差,决定将该分数提高或者降低时的该分数的变化量。通过使用该方法,能够使各特性的分数尽快收敛。

以上,对本发明基于其实施方式而详细进行了说明。可是,本发明不限于上述实施方式。本发明能够在不脱离其宗旨的范围内进行各种各样的变形。

通常,分割模型20中包含的特性的个数根据处理的字符的个数而增加,因此,在如日语或中文等字符多的语言中分割模型20变得非常大规模,导致用于分割模型20的存储容量也变得非常大。因此,也可以导入特征哈希(Feature Hashing)的方法,通过哈希函数对各个特性进行数值化。特别是,对表示特性的一部分的字符以及字符串进行数值化的效果较高。另一方面,存在如下的可能:即使对转移特性进行哈希化,对分割模型20的容量的压缩也没有太大贡献,处理速度反而变慢。因此,也可以不对转移特性进行哈希化,而是仅对输出特性进行哈希化。另外,关于哈希函数,可以仅使用一个种类,也可以在输出特性和转移特性中使用不同的哈希函数。

在该情况下,分割模型20对关于以数值来表现各个字符的特性的数据进行存储。例如,“本(hon)”这样的字符被变换为34这样的数值,“を(wo)”这样的字符被变换为4788这样的数值。通过该数值化,能够形成有界的(bounded)特性的集合。另外,可能存在通过该特征哈希,对多个字符或者字符串分配相同的数值的情况,但是,由于对出现频度高的字符或者字符串之间分配相同数值的盖然性非常低,因此,能够忽略这样的冲突。

即,在其他侧面所涉及的自然语言处理系统中,分割模型也可以包含通过哈希函数而数值化后的输出特性。通过将字符当作数值来处理,能够节约分割模型的存储所需的存储器容量。

分析部12也可以不使用分数相对低的特性(忽略这样的特性),而使用分数相对高的特性来执行词素分析。作为忽略分数相对低的特性的方法,可举出例如向前向后分裂(Forward-Backward Splitting(FOBOS))、和特性的量化(Feature Quantization)。

FOBOS是通过正则化(例如L1正则化)而将分数向0的方向进行压缩的方法。通过使用FOBOS,能够忽略分数为预定值以下的特性(例如,分数为0的特性、或者分数接近于0的特性)。

特性的量化是通过将小数点以下的值乘以10n(n是1以上的自然数)从而将特性的分数整数化的方法。例如,若对“0.123456789”这样的分数乘以1000而进行整数化,则分数成为“123”。通过对分数进行量化,能够节约将该分数在文本中存储所需的存储器容量。此外,通过该方法,能够忽略分数为预定值以下的特性(例如,整数化后的分数为0的特性、或者该分数接近于0的特性)。例如,设为某个特性Fa、Fb的分数分别为0.0512、0.0003,在对这些分数乘以1000而进行了整数化的情况下,特性Fa、Fb分别成为51、0。在该情况下,分析部12不使用特性Fb而执行词素分析。

正则化或者量化的处理通过例如修正部13、自然语言处理系统10内的其他功能要素、或者与自然语言处理系统10不同的计算机系统而执行。在修正部13执行正则化或者量化的处理的情况下,在自然语言处理系统10中1组句子(例如,多到一定程度的句子)被词素分析且分割模型20被修正多次之后,修正部13执行一次正则化或者量化的处理。

即,在其他侧面所涉及的自然语言处理系统中,分析部也可以不使用通过正则化或者量化而分数成为预定值以下的特性,而执行词素分析。通过不使用分数相对低的特性(例如,通过正则化或者量化而分数成为0的特性、或者该分数接近于0的特性),从而能够抑制分割模型的数据量或缩短词素分析的时间。

在上述实施方式中,分析部12将句子分割为各个字符而对各字符设定了标签,但是,被分割元素也可以不是字符,而是单词。伴随于此,分析部也可以使用表示与单词有关的特性的分数的分割模型和单词字典来执行词素分析,而不是与字符有关的。

如上所述,本发明所涉及的自然语言处理系统能够应用于任意的语言的词素分析。

标号说明

10…自然语言处理系统、11…取得部、12…分析部、13…修正部、20…分割模型、P1…自然语言处理程序、P10…主模块、P11…取得模块、P12…分析模块、P13…修正模块。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号