特許第6062816号(P6062816)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーアイティーラボラトリの特許一覧

特許6062816形態素解析器生成装置、形態素解析器生成方法、及び、プログラム
<>
  • 特許6062816-形態素解析器生成装置、形態素解析器生成方法、及び、プログラム 図000011
  • 特許6062816-形態素解析器生成装置、形態素解析器生成方法、及び、プログラム 図000012
  • 特許6062816-形態素解析器生成装置、形態素解析器生成方法、及び、プログラム 図000013
  • 特許6062816-形態素解析器生成装置、形態素解析器生成方法、及び、プログラム 図000014
  • 特許6062816-形態素解析器生成装置、形態素解析器生成方法、及び、プログラム 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6062816
(24)【登録日】2016年12月22日
(45)【発行日】2017年1月18日
(54)【発明の名称】形態素解析器生成装置、形態素解析器生成方法、及び、プログラム
(51)【国際特許分類】
   G06F 17/27 20060101AFI20170106BHJP
【FI】
   G06F17/27 655
【請求項の数】9
【全頁数】12
(21)【出願番号】特願2013-148399(P2013-148399)
(22)【出願日】2013年7月17日
(65)【公開番号】特開2015-22398(P2015-22398A)
(43)【公開日】2015年2月2日
【審査請求日】2016年2月25日
(73)【特許権者】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(74)【代理人】
【識別番号】100113549
【弁理士】
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】100115808
【弁理士】
【氏名又は名称】加藤 真司
(72)【発明者】
【氏名】内海 慶
【審査官】 長 由紀子
(56)【参考文献】
【文献】 持橋 大地 外2名,条件付確率場とベイズ階層言語モデルの統合による半教師あり形態素解析,言語処理学会第17回年次大会発表論文集 チュートリアル 本会議 ワークショップ [CD−ROM],日本,言語処理学会,2011年 3月31日,p.1071-1074
【文献】 風間 淳一 外2名,教師なし隠れマルコフモデルを利用した最大エントロピータグ付けモデル,自然言語処理,日本,言語処理学会,2004年10月10日,第11巻第4号,p.3-23
【文献】 内海 慶 外1名,ベイズ階層言語モデルとSemi−Markov SHDCRFの協調学習による教師なし形態素解析,情報処理学会 研究報告 自然言語処理(NL) 2013−NL−213,日本,情報処理学会,2013年 9月 5日,p.1-9
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/20−28
(57)【特許請求の範囲】
【請求項1】
学習用のデータとして複数の文の入力を受け付けて、前記複数の文を学習データ記憶部に記憶するステップと、
前記学習データ記憶部に記憶された複数の文を用いて、ある部分文字列を条件として後続の部分文字列が出現する確率を示すNPYLM(Nested Pitman-Yor Language Model)を生成し、NPYLM記憶部に記憶するステップと、
前記学習データ記憶部から文を読み出し、各部分文字列の品詞を表す潜在変数と前記NPYLMで計算した部分文字列の出現確率を引数とする素性関数を導入したCRFを用いて、前記文が与えられた時に最も確率の高い分かち書きを推定し、当該文の文末から文頭に向かって単語列をサンプリングするBlocked Gibbsサンプリングを行って当該文の分かち書きを求め、求めた分かち書きを教師データとして前記CRFのパラメータを更新し、前記更新された分かち書きに基づいて前記NPYLMを更新する処理を、所定の収束条件を満たすまで繰り返し行うステップと、
を備え、
前記CRFの分かち書きとパラメータの更新が行われた文を再び読み出したときには、前回求めた分かち書きを構成する部分文字列とその連接情報を、前記NPYLMから削除した後に、再度の学習を行う形態素解析器生成方法。
【請求項2】
前記CRFは、Xを入力文字列、Sを分かち書きを構成する部分文字列、Hを潜在変数の系列として、
【数7】
で表される請求項1に記載の形態素解析器生成方法。
【請求項3】
前記CRFは、さらに、素性関数の引数として、部分文字列または部分文字列の外に含まれる文字情報を用いる請求項1または2に記載の形態素解析器生成方法。
【請求項4】
学習用のデータとして複数の文を記憶した学習データ記憶部と、
前記学習データ記憶部に記憶された複数の文を用いて、ある部分文字列を条件として後続の部分文字列が出現する確率を示すNPYLM(Nested Pitman-Yor Language Model)を生成し、NPYLM記憶部に記憶するNPYLM生成部と、
前記学習データ記憶部から文を読み出し、各部分文字列の品詞を表す潜在変数と前記NPYLMで計算した部分文字列の出現確率を引数とする素性関数を導入したCRFを用いて、前記文が与えられた時に最も確率の高い分かち書きを推定し、当該文の文末から文頭に向かって単語列をサンプリングするBlocked Gibbsサンプリングを行って当該文の分かち書きを求め、求めた分かち書きを教師データとして前記CRFのパラメータを更新し、前記更新された分かち書きに基づいて前記NPYLMを更新する処理を、所定の収束条件を満たすまで繰り返し行う学習部と、
を備え、
前記学習部は、前記CRFの分かち書きとパラメータの更新が行われた文を再び読み出したときには、前回求めた分かち書きを構成する部分文字列とその連接情報を、前記NPYLMから削除した後に、再度の学習を行う形態素解析器生成装置。
【請求項5】
前記CRFは、Xを入力文字列、Sを分かち書きを構成する部分文字列、Hを潜在変数の系列として、
【数8】
で表される請求項4に記載の形態素解析器生成装置。
【請求項6】
前記CRFは、さらに、素性関数の引数として、部分文字列または部分文字列の外に含まれる文字情報を用いる請求項4または5に記載の形態素解析器生成装置。
【請求項7】
学習用のデータに基づいて形態素解析器を生成するためのプログラムであって、コンピュータに、
学習用のデータとして複数の文の入力を受け付けて、前記複数の文を学習データ記憶部に記憶するステップと、
前記学習データ記憶部に記憶された複数の文を用いて、ある部分文字列を条件として後続の部分文字列が出現する確率を示すNPYLM(Nested Pitman-Yor Language Model)を生成し、NPYLM記憶部に記憶するステップと、
前記学習データ記憶部から文を読み出し、各部分文字列の品詞を表す潜在変数と前記NPYLMで計算した部分文字列の出現確率を引数とする素性関数を導入したCRFを用いて、前記文が与えられた時に最も確率の高い分かち書きを推定し、当該文の文末から文頭に向かって単語列をサンプリングするBlocked Gibbsサンプリングを行って当該文の分かち書きを求め、求めた分かち書きを教師データとして前記CRFのパラメータを更新し、前記更新された分かち書きに基づいて前記NPYLMを更新する処理を、所定の収束条件を満たすまで繰り返し行うステップと、
を実行させ、
前記CRFの分かち書きとパラメータの更新が行われた文を再び読み出したときには、前回求めた分かち書きを構成する部分文字列とその連接情報を、前記NPYLMから削除した後に、再度の学習を行うプログラム。
【請求項8】
前記CRFは、Xを入力文字列、Sを分かち書きを構成する部分文字列、Hを潜在変数の系列として、
【数9】
で表される請求項7に記載のプログラム。
【請求項9】
前記CRFは、さらに、素性関数の引数として、部分文字列または部分文字列の外に含まれる文字情報を用いる請求項7または8に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語処理において用いられる形態素解析器を生成する技術に関し、特に教師なしで形態素解析器を生成する手法に関する。
【背景技術】
【0002】
形態素解析は、計算機を用いた自然言語処理の基礎技術であり、自然言語処理技術を用いた様々な応用タスクの前処理として利用される。形態素解析手法には規則によるものと確率モデルとに基づくものがある。確率モデルに基づく手法はさらに、パラメータの学習にアノテーション済みのコーパスを用いる教師あり学習手法と、テキストのみから分かち書きを行う教師なし学習に基づくものとに分けられる。
【0003】
規則に基づく手法の代表には、京都大学黒橋研究室が公開するJumanがある。教師あり学習に基づく手法では、HMM(Hidden Markov Model)を用いた形態素解析を行うChaSenや、CRF(Conditional Random Fields)を用いた形態素解析を行うMeCabがある。教師なし学習に基づく手法には、最小記述原理に基づいた日本語話し言葉の単語分割手法(松原ら)や、ノンパラメトリックベイズモデルに基づく手法(特許文献1)が提案されている。また、ノンパラメトリックベイズモデルとCRFによる学習とを組み合わせた半教師あり学習手法も提案されている(特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−170252
【特許文献2】特開2012−146263
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年増加し続けているウェブテキストでは、これまで自然言語処理が対象としてきた書き言葉以外にも、話し言葉等の表現が頻繁に出現する。教師あり学習の手法では、分かち書きの学習に教師データとしてアノテーション済みのコーパスが必要となる。しかし、人手でのアノテーションはコストが大きく、急速に増加し変化し続ける話し言葉の表現には対応が難しい。一方、教師なし学習ではある評価尺度が最良となるようにパラメータを更新することで教師データなしで分かち書きが行える。しかし、これまでの教師なし学習に基づく形態素解析手法では分かち書きのみに注力しており、品詞推定まで含めて行える手法は提案されていない。
【0006】
また、これまで提案されてきた手法では、教師なし学習は計算機が決めた分かち書きが人間の直観から外れたとしても修正が効かず、半教師あり学習は最初の学習を全くの教師データなしで行うことはできなかった。そのため、教師データを効率的に作成するためには、教師なし学習により形態素解析器を実装した上で、その処理結果を修正して半教師あり学習手法を行うという作業をすることになり、実装コストが大きくなる。
【0007】
上記背景に鑑み、本発明は、教師なし学習によって品詞推定まで行うことが可能な形態素解析器生成方法を提供することを目的とする。本発明は、言語モデル(NPYLM)のみを生成するものではなく、CRFのパラメータも同時に学習を行うことで、未知の文に対しても適切な形態素解析を行えるようにする形態素解析器を生成するものである。
【課題を解決するための手段】
【0008】
本発明の形態素解析器生成方法は、学習用のデータとして複数の文の入力を受け付けて、前記複数の文を学習データ記憶部に記憶するステップと、前記学習データ記憶部に記憶された複数の文を用いて、ある部分文字列を条件として後続の部分文字列が出現する確率を示すNPYLM(Nested Pitman-Yor Language Model)を生成し、NPYLM記憶部に記憶するステップと、前記学習データ記憶部から文を読み出し、各部分文字列の品詞を表す潜在変数と前記NPYLMで計算した部分文字列の出現確率を引数とする素性関数を導入したCRFを用いて、前記文が与えられた時に最も確率の高い分かち書きを推定し、当該文の文末から文頭に向かって単語列をサンプリングするBlocked Gibbsサンプリングを行って当該文の分かち書きを求め、求めた分かち書きを教師データとして前記CRFのパラメータを更新し、前記更新された分かち書きに基づいて前記NPYLMを更新する処理を、所定の収束条件を満たすまで繰り返し行うステップとを備え、CRFの分かち書きとパラメータの更新が行われた文を再び読み出したときには、前回求めた分かち書きを構成する部分文字列とその連接情報を、前記NPYLMから削除した後に、再度の学習を行う。
【0009】
このように文が与えられたときにある分かち書きが得られる確率を表すCRFに対して、各部分文字列の品詞を表す潜在変数を導入することにより、品詞の出現確率をも考慮してCRFの分かち書き及びパラメータを更新することができる。本発明の方法によれば、Blocked Gibbsサンプリングで求めた分かち書きを教師データとしてCRFの分かち書き及びパラメータを更新し、更新された分かち書き及びパラメータによってNPYLMを更新する。すなわち、NPYLMとCRFとが互いに学習結果を教え合うことにより、分かち書き及び品詞特定の精度を高めることができる。従来の方法では、CRFの学習には教師データを用いることが前提であり、教師データがない場合には十分な精度が得られなかったが、品詞を表す潜在変数を導入した本発明の方法によると、教師データがない場合であっても分かち書き及び品詞の特定に関して、十分な精度が得られた。これは、品詞を潜在変数として用いて分かち書きと品詞の推定を同時に行うことにより、品詞の推定が分かち書きに好ましい影響を与えるためではないかと考えられる。なお、1文ずつ分かち書きを行いパラメータを更新するCRFの学習は、「オンライン学習」という手法であり、これにより、NPYLMの協調学習を行いやすくしている。
【0010】
また、本発明では、前回求めた分かち書きを構成する部分文字列とその連接情報とをNPYLMから削除することにより、学習対象の文自体の分かち書きがNPYLMに与えた影響を除くことができる。学習対象の文自体の分かち書きの影響がNPYLMに残っているといつも同じ分かち書きが得られるという結果になるおそれがあるが、本発明の構成により、適切な分かち書きを求めることができる。
【0011】
本発明の形態素解析器生成方法において、前記CRFは、Xを入力文字列、Sを分かち書きを構成する部分文字列、Hを潜在変数の系列として、
【数1】
で表されてもよい。
【0012】
本発明の形態素解析器生成方法において、前記CRFは、さらに、素性関数の引数として、部分文字列または部分文字列の外に含まれる文字情報を用いてもよい。これにより、潜在クラスをうまく分類することが可能となる。
【0013】
なお、特許請求の範囲に記載したとおり、上述した形態素解析器生成方法を実現する装置及びプログラムも本発明の範囲に含まれる。
【発明の効果】
【0014】
本発明によれば、教師データを用いることなく、分かち書き及び品詞の特定を精度よく行うことができる。
【図面の簡単な説明】
【0015】
図1】実施の形態の形態素解析器生成装置の構成を示す図である。
図2】実施の形態の形態素解析器生成装置の動作を示す図である。
図3】学習データの例を示す図である。
図4】NPYLMの例を示す図である。
図5】品詞を表す潜在変数を引数とする素性関数を概念的に示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態に係る形態素解析器生成装置について、図面を参照しながら説明する。
【0017】
図1は、実施の形態の形態素解析器生成装置1の構成を示す図である。形態素解析器生成装置1は、入力部10と、演算処理部11と、出力部15と、記憶部16とを有する。入力部10は、学習データである複数の文の入力を受け付ける機能を有している。演算処理部11は、学習データに基づいてNPYLMおよびCRFを生成する機能を有している。演算処理部11は、NPYLM生成部12と、CRF生成部13と、学習部14とを有している。これらの各機能の詳細は、形態素解析器生成装置1の動作説明において詳しく述べる。出力部15は、生成したNPYLMおよびCRFを外部に出力する機能を有している。記憶部16は、学習データを記憶する学習データ記憶部17と、生成されたNPYLMを記憶するNPYLM記憶部18と、生成されたCRFを記憶するCRF記憶部19とを有している。これらのNPYLMおよびCRFを用いることにより、未知の文の形態素解析を行うことができる。
【0018】
図1に示す形態素解析器生成装置1は、CPU、RAM、ROM、HDD等を備えたコンピュータにより実現される。CPUがROMに記憶されたプログラムを読み出して実行することにより、演算処理部11の機能が実現される。このような形態素解析器生成装置1を実現するためのプログラムも本発明の範囲に含まれる。
【0019】
図2は、形態素解析器生成装置1の動作を示すフローチャートである。形態素解析器生成装置1は、まず、言語モデルの生成に用いられる学習データの入力を受け付け、入力された学習データを学習データ記憶部17に記憶する(S10)。ここで入力されるデータは、例えば、新聞記事でもよいし、ウェブ上の個人のブログなどでもよい。
【0020】
図3は、学習データの例を示す図である。図3では、わずかな例しか示していないが、実際には、何千〜何十万という文を学習データとして用いる。図3に示すとおり、学習データには、正解となる分かち書きや品詞などの情報は与えられていない。このように、本実施の形態では、教師データなしの文を学習データとして用いる。
【0021】
形態素解析器生成装置1は、NPYLM生成部12にて、入力された学習データからNPYLMを生成し、NYPLM記憶部16に記憶する(S11)。NPYLMの生成方法については、例えば、特許文献1、特許文献2や、持橋ら「条件付確率場とベイズ階層言語モデルの統合による半教師あり形態素解析」等に詳しく説明されているので、本書では、概要を説明するにとどめる。
【0022】
図4は、「今日は晴れ」という文のNPYLMを生成する例を示している。図4において「BOS」はBeginning Of Sentenceを表し、「EOS」はEnd Of Sentenceを表す。「今日は晴れ」という文は、図4に示すように、1〜4文字からなる部分文字列に分割することができ、部分文字列が分かち書きの候補となる。「今日は晴れ」という文だけからは、どこが部分文字列の切れ目になるかを求めることはできないが、他の多数の学習データについても同様の解析を行うことにより、例えば、「今」の後に「日」が出現する頻度が高いことや、「晴」の後に「れ」が出現する頻度が高いことが分かる。「今日は晴れ」という文を部分文字列に分割した図4のようなモデルにおいて、ある部分文字列を条件として後続の部分文字列が出現する確率を求めることができる。これがNPYLMである。
【0023】
形態素解析器生成装置1は、NPYLMを生成すると、次に、学習データから1文を読み出し(S12)、読み出した1文についてCRFの学習を行う。形態素解析器生成装置1は、読み出した1文が初めて読み出されたものか、あるいは、過去に読み出されてすでにCRFの学習を行ったものかを判定する(S13)。読み出した1文が初めて読み出されたものである場合には、CRF生成部13は、読み出した文について、各部分文字列の品詞を表す潜在変数とNPYLMで計算した部分文字列の出現確率を引数とする素性関数を導入し、その文が与えられたときにある分かち書きが得られる確率を表すCRFを生成し、CRF記憶部19に記憶する(S15)。
【0024】
図5は、品詞を表す潜在変数を引数とする素性関数を概念的に示す図である。品詞を表す潜在変数を導入しない場合には、ある部分文字列が出現したときの条件付き確率によってCRFが表されるが、品詞を表す潜在変数を導入することにより、ある品詞の部分文字列が出現したときの条件付き確率によってCRFが表される。つまり、名詞の「今」が出現したときに名詞の「日」が出現する確率、名詞の「今」が出現したときに動詞の「日」が出現する確率というように、品詞を表す潜在変数を導入することにより、品詞の違いを踏まえてきめ細かく学習を行うことができる。日本語では、同じ文字列でも品詞によって後に続く部分文字列が異なる場合があるが、本実施の形態の構成により、品詞の違いを考慮して精度の高い分かち書きを行えると同時に品詞の推定まで行える。
【0025】
また、本実施の形態では、さらに、素性関数の引数として、部分文字列または部分文字列の外に含まれる文字情報も用いている。この文字情報としては、例えば、セグメントの1つ前がBOS(Beginning Of Sentence)か、セグメントの1つ後ろの文字が「は」であるか、セグメントに含まれる文字種はカタカナであるか等である。これにより、潜在クラスをうまく分類することが可能となる。
【0026】
続いて、形態素解析器生成装置1は、生成されたCRFの分かち書き及びパラメータの更新を行う。まず、学習部14は、生成されたCRFを用いて、文末から文頭に向かってGibbsサンプリングを行って当該文の分かち書きを求める(S16)。この方法は、特許文献1において説明されている確率的Backwardパス実行ステップの手順と基本的に同じである。ただし、特許文献1では、NPYLMのみを用いているのに対し、本実施の形態では、潜在変数とNPYLMで計算した部分文字列の出現確率を引数とする素性関数を用いている点が異なる。
【0027】
学習部14は、上記の方法によって求めた分かち書きを正解データであるとし、当該正解データを教師データとしてCRFの分かち書きとパラメータを更新する(S17)。つまり、Blocked Gibbsサンプリングで求めた分かち書きが最大確率となるようにCRFのパラメータを調整する。学習部14は、パラメータが調整されたCRFをCRF記憶部19に記憶する。続いて、学習部14は、分かち書きをNPYLMへ追加して、NPYLMの更新を行い、更新したNPYLMをNPYLM記憶部18に記憶する(S18)。
【0028】
次に、学習データ記憶部17から読み出した文が過去にCRFの更新を行った文であった場合(S13でNO)の動作について説明する。この場合には、形態素解析器生成装置1は、その文の分かち書きにかかる部分文字列とその連接情報をNPYLMから減算する(S14)。これは自分自身の分かち書きの影響で、同じ分かち書きがされることを防止するためである。
【0029】
例えば、「今日は晴れ」という文が、前回のCRFの分かち書きの更新により、「今日」「は」「晴れ」というように分かち書きされたとすると、このように分かち書きされたという情報に基づいてNPYLMが更新される。すなわち、NPYLMは、「今日」という部分文字列の後に「は」の部分文字列が出現した回数をカウントアップし、「は」という部分文字列の後に「晴れ」の部分文字列が出現した回数をカウントアップする。そして、部分文字列が連接して現れた回数に基づいて、部分文字列が連接する確率を求め、NPYLMを更新する。したがって、NPYLMには、「今日は晴れ」という文の分かち書きの情報が含まれている。
【0030】
「今日は晴れ」という文を分かち書きするにあたって、「今日は晴れ」についての前回の分かち書きの影響があると、毎回同じ分かち書きがなされてしまう可能性があるので、これを防止するために、前回のCRFの分かち書きに係る部分文字列とその連接情報の頻度を減算する。
【0031】
形態素解析器生成装置1は、以上のステップS12〜ステップS18までの処理を、収束条件を満たすまで繰り返し行う(S19)。収束条件としては、例えば、パラメータの更新幅が所定値を下回ったことや、所定値を下回ることが所定回数連続したことなどを条件とすることができる。
【0032】
以上、本実施の形態の形態素解析器生成装置1によりNPYLM及びCRFの学習を行う動作の概要について説明した。
【0033】
次に、品詞を表す潜在変数を導入したCRFのパラメータ推定について説明する。CRFでは、入力文字列Xが与えられたときに分かち書きSが得られる確率を、潜在変数の系列Hとして、以下の式で定義する。
【数2】
【0034】
なお、Z1、Z2はそれぞれ、ΣSP(S|H)=1、ΣHP(H|X)=1を保証するための分配関数を表す。パラメータの推定は、以下の損失関数を最大化することで行う。
【数3】
【0035】
H(S|H)は条件付きエントロピーを表す。上記損失関数を最大化することで、エントロピーの最小化が行われ、各セグメントとは特徴的な潜在クラスのみが共起するようにパラメータが学習される。パラメータの更新式を以下に示す。
【数4】
【0036】
ここで、各符号の意味は以下のとおりである。
【数5】
【0037】
各条件付き確率は、Forward-Backwardアルゴリズムで効率的に計算ができる。分かち書きのサンプリングは、条件付き確率に従って、後ろ向きに文の先頭まで、順番にセグメントをサンプリングすることで行う。
【0038】
学習したモデルを用いた形態素解析を行うには、以下の条件付き確率が最大となるセグメンテーションを行えばよい。
【数6】
【0039】
これは、Semi-Markovモデルのラティス上でのViterbiアルゴリズムを用いることで効率的に計算を行うことができる。
【実施例】
【0040】
話し言葉の表現が頻出するウェブ上の個人のブログから1819487文字の文章を取得し、そのうちの1682468文字の文章を学習データとして用い、残りの文章を評価用データとして用いた。本発明の手法と従来手法(MeCab)のそれぞれの学習により単語を生成した。(正解した単語)/(生成した単語)によって、単語生成の精度を比較すると、従来手法が42%だったのに対し、本発明では53%となり、本発明の効果が確認された。
【産業上の利用可能性】
【0041】
本発明は、教師データを用いることなく、分かち書き及び品詞の特定を精度よく行うことができ、形態素解析に用いる形態素解析器を生成するのに有用である。
【符号の説明】
【0042】
1 形態素解析器生成装置
10 入力部
11 演算処理部
12 NPYLM生成部
13 CRF生成部
14 学習部
15 出力部
16 記憶部
17 学習データ記憶部
18 NPYLM記憶部
19 CRF記憶部
図1
図2
図3
図4
図5