(57)【特許請求の範囲】
【請求項１】
入力されたテキストについての、複数の粒度で１つ以上の単語を統合した単語の固まりである複数種類のチャンクの各々に対応する解析結果に基づいて、予め依存構造解析単位として定義された粒度で統合した解析単位チャンクに関する素性と、当該解析単位チャンク中の単語の全部又は一部を含むように当該解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性として、チャンクの品詞、活用情報、及び分類のうち少なくとも一つに関する情報を抽出する素性抽出部と、
前記素性抽出部により抽出された前記解析単位チャンクに関する素性と、当該解析単位チャンク中の単語の全部又は一部を含むように当該解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性と、依存関係を表すラベルを付与するための予め定められた依存構造解析モデルとに基づいて、前記テキストの前記解析単位チャンク間の各々に、依存関係を表すラベルを付与する動作決定部と、
を含む、自然言語解析装置。
【請求項２】
前記複数種類のチャンクは、短単位、長単位、単名詞句、又は文節を含む請求項１記載の自然言語解析装置。
【請求項３】
前記解析単位チャンクは、前記文節よりも短く、かつ、前記単語よりも長い粒度で統合されたチャンクである請求項２記載の自然言語解析装置。
【請求項４】
前記解析単位チャンクは、長単位である請求項３記載の自然言語解析装置。
【請求項５】
前記動作決定部は、前記解析単位チャンク毎に、前記依存関係を表すラベルを付与するための動作の決定、前記依存関係を表すラベルの付与、及び前記素性抽出部による素性の抽出を行う処理を繰り返すことにより、前記テキストの前記解析単位チャンク間の各々に、前記依存関係を表すラベルを付与し、
前記素性抽出部は、前記解析単位チャンクに関する素性として、当該解析単位チャンクの情報、前記動作決定部により当該解析単位チャンクとそれ以外の解析単位チャンクとの間に既に付与された前記依存関係を表すラベル、及び当該解析単位チャンクと既に依存関係にあるとされた解析単位チャンクの情報を抽出し、
当該解析単位チャンク中の単語の全部又は一部を含むように当該解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性として、当該チャンクの情報、及び前記動作決定部により当該解析単位チャンクと依存関係にあるとされた解析単位チャンク中の単語の全部又は一部を含むように当該解析単位チャンクとは異なる粒度で統合されたチャンクの情報を抽出する請求項１〜請求項４の何れか１項記載の自然言語解析装置。
【請求項６】
前記素性抽出部は、当該解析単位チャンク中の単語の全部又は一部を含むように当該解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性として、少なくとも、当該解析単位チャンクより大きい粒度で統合されたチャンクに関する素性を抽出する請求項１〜請求項５の何れか１項記載の自然言語解析装置。
【請求項７】
素性抽出部と、動作決定部とを含む自然言語解析装置における、自然言語解析方法であって、
前記素性抽出部は、入力されたテキストについての、複数の粒度で１つ以上の単語を統合した単語の固まりである複数種類のチャンクの各々に対応する解析結果に基づいて、予め依存構造解析単位として定義された解析単位チャンクに関する素性と、当該解析単位チャンク中の単語の全部又は一部を含むように当該解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性として、チャンクの品詞、活用情報、及び分類のうち少なくとも一つに関する情報を抽出し、
前記動作決定部は、前記素性抽出部により抽出された前記解析単位チャンクに関する素性と、当該解析単位チャンク中の単語の全部又は一部を含むように当該解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性と、依存関係を表すラベルを付与するための予め定められた依存構造解析モデルとに基づいて、前記テキストの前記解析単位チャンク間の各々に、依存関係を表すラベルを付与する、
自然言語解析方法。
【請求項８】
コンピュータを、請求項１〜６の何れか１項記載の自然言語解析装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語解析装置、方法、プログラムに係り、特に、入力されたテキストに対して依存構造解析を行う自然言語解析装置、方法、プログラムに関する。
【背景技術】
【０００２】
従来、自然言語処理においては、対象とする自然言語に対して、文の構造を同定する構文解析が行われている。日本語においては、構文構造を文節間の依存関係として定義する文節係り受け解析が、標準的に行われている（非特許文献１）。
【０００３】
また、英語等の言語では、空白で区切られた字句を単語として、単語間に統語情報を表示する依存関係ラベル付きの依存構造を定義して構文解析をすることが行われている（非特許文献２）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Taku Kudo and Yuji Matsumoto: Japanese dependency analysis using cascaded chunking, In Proc.of CoNLL 2002, Vol. 20, pp. 1−7 (2002).
【非特許文献２】Marie-Catherine de Marneffe and Christopher D. Manning: The Stanford typed dependencies representation, In Proc. of COLING 2008 Workshop on Cross-framework and Cross-domain Parser Evaluation (2008).
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記非特許文献１の技術においては、文節という単位は統語的な機能を持つ単位と必ずしも一致しないため、文節間に統語情報を表示するためのラベル（依存関係ラベル）を定義するのが難しく、依存関係ラベル付きの依存構造を解析することは行われていない。
【０００６】
また、自然言語処理のタスクでは、構文解析結果として、詳細な統語情報を必要とする場合がある。例えば、日本語と英語のように語順の全く異なる言語間で統計翻訳を行う際には、原言語の語順をあらかじめ目的言語の語順に近いように並べ替える「事前並べ替え」を行うことが翻訳精度の向上に効果があることが分かっているが、事前並べ替えを行うには、原言語の詳細な統語情報が必要になる。
【０００７】
日本語を原言語、英語を目的言語とする場合、原言語に対して、従来の文節係り受け解析による構文解析では、述語と項の格関係等のような並べ替えに必要となる情報が不足するという問題がある（非特許文献３：Sho Hoshino et al.: Two-stage pre-ordering for Japanese-to-English statistical machine translation, In Proc. of IJCNLP 2013, pp.1062−1066 (2013).）。
【０００８】
また、構文構造を単語間の依存関係とする単語間の依存構造解析であれば、統語機能を表示するラベルを定義しやすいが、構文解析に使用する単位が文節に比較して短くなるため、複数の単語の結合による単位によって、単語単独とは異なる統語機能を持つ場合や、単語単独とは異なる意味（意味クラス）を持つ場合に、これらの特徴を適切に捉えて、構文解析を行うことが困難であるという問題がある。
【０００９】
例えば、「に/対し/て」のように、複数の単語の結合単位が一つの機能語のように振る舞う場合や、「国際/連合/児童/基金」のように全体として「組織」を表す固有表現を表す場合などである。
【００１０】
また、英語等で行われている単語間に依存関係を定義する依存構造解析においても、空白で区切られた単位を、単語をして扱っているため、“in spite of”のような群前置詞や“New York Times”のような固有表現のように、複数の単語から構成される単位について同様な問題が生じるという問題がある。
【００１１】
本発明では、上記問題点を解決するために成されたものであり、複数の粒度のチャンクを考慮して依存構造解析を行う自然言語解析装置、方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、第１の発明の自然言語解析装置は、入力されたテキストについての、複数の粒度で１つ以上の単語を統合した単語の固まりである複数種類のチャンクの各々に対応する解析結果に基づいて、予め依存構造解析単位として定義された粒度で統合した解析単位チャンクに関する素性を抽出し、前記解析単位チャンクとの関係で表現される、前記解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性を抽出する素性抽出部と、前記素性抽出部により抽出された前記解析単位チャンクに関する素性と、前記解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性と、依存関係を表すラベルを付与するための予め定められた依存構造解析モデルとに基づいて、前記テキストの前記解析単位チャンク間の各々に、依存関係を表すラベルを付与する動作決定部と、を含んで構成されている。
【００１３】
第２の発明の自然言語解析方法は、素性抽出部と、動作決定部とを含む自然言語解析装置における、自然言語解析方法であって、前記素性抽出部は、入力されたテキストについての、複数の粒度で１つ以上の単語を統合した単語の固まりである複数種類のチャンクの各々に対応する解析結果に基づいて、予め依存構造解析単位として定義された解析単位チャンクに関する素性を抽出し、前記解析単位チャンクとの関係で表現される、前記解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性を抽出し、前記動作決定部は、前記素性抽出部により抽出された前記解析単位チャンクに関する素性と、前記解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性と、依存関係を表すラベルを付与するための予め定められた依存構造解析モデルとに基づいて、前記テキストの前記解析単位チャンク間の各々に、依存関係を表すラベルを付与する。
【００１４】
第１及び第２の発明によれば、素性抽出部により、入力されたテキストについての、複数の粒度で１つ以上の単語を統合した単語の固まりである複数種類のチャンクの各々に対応する解析結果に基づいて、予め依存構造解析単位として定義された解析単位チャンクに関する素性を抽出し、解析単位チャンクとの関係で表現される、解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性を抽出し、動作決定部により、抽出された解析単位チャンクに関する素性と、解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性と、依存関係を表すラベルを付与するための予め定められた依存構造解析モデルとに基づいて、テキストの解析単位チャンク間の各々に、依存関係を表すラベルを付与する。
【００１５】
このように、入力されたテキストについての、複数の粒度で１つ以上の単語を統合した単語の固まりである複数種類のチャンクの各々に対応する解析結果に基づいて、予め依存構造解析単位として定義された解析単位チャンクに関する素性を抽出し、解析単位チャンクで統合したチャンクとの関係で表現される、解析チャンクとは異なる粒度で統合されたチャンクに関する素性を抽出し、抽出された解析チャンクに関する素性と、解析チャンクとは異なる粒度で統合されたチャンクに関する素性と、依存関係を表すラベルを付与するための予め定められた依存構造解析モデルとに基づいて、テキストの解析チャンク間の各々に、依存関係を表すラベルを付与することにより、複数の粒度のチャンクを考慮して依存構造解析を行うことができる。
【００１６】
また、第１の発明において、前記複数種類のチャンクは、短単位、長単位、単名詞句、又は文節を含んでもよい。
【００１７】
また、第１の発明において、前記解析単位チャンクは、前記文節よりも短く、かつ、前記単語よりも長い粒度で統合されたチャンクとしてもよい。
【００１８】
また、第１の発明において、前記解析単位チャンクは、長単位であってもよい。
【００１９】
また、本発明のプログラムは、コンピュータを、上記の自然言語解析装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００２０】
以上説明したように、本発明の自然言語解析装置、方法、及びプログラムによれば、入力されたテキストについての、複数の粒度で１つ以上の単語を統合した単語の固まりである複数種類のチャンクの各々に対応する解析結果に基づいて、予め依存構造解析単位として定義された解析単位チャンクに関する素性を抽出し、解析単位チャンクで統合したチャンクとの関係で表現される、解析チャンクとは異なる粒度で統合されたチャンクに関する素性を抽出し、抽出された解析チャンクに関する素性と、解析チャンクとは異なる粒度で統合されたチャンクに関する素性と、依存関係を表すラベルを付与するための予め定められた依存構造解析モデルとに基づいて、テキストの解析チャンク間の各々に、依存関係を表すラベルを付与することにより、複数の粒度のチャンクを考慮して依存構造解析を行うことができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係る自然言語解析装置の機能的構成を示すブロック図である。
【図２】ＢＣＣＷＪ規定の短単位を単語単位として形態素解析を行った例を示す図である。
【図３】チャンク解析として長単位、単名詞句、文節の単位を同定する解析を行った例を示す図である。
【図４】単語属性関数の例を示す図である。
【図５】素性テンプレートの例を示す図である。
【図６】ノード参照関数の例を示す図である。
【図７】解析器動作の例を示す図である。
【図８】抽出した素性の例を示す図である。
【図９】依存構造解析結果の例を示す図である。
【図１０】抽出した素性の例を示す図である。
【図１１】本実施形態に係る自然言語解析装置における自然言語解析処理ルーチンのフローチャート図である。
【図１２】本実施形態に係る自然言語解析装置における依存構造解析処理のフローチャート図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００２３】
＜本実施形態に係る自然言語解析装置の原理＞
まず、本実施形態に係る自然言語解析装置の原理について説明する。本実施形態に係る自然言語解析装置は、ある特定の定義に従って、１語以上の単語を統合した単語の固まり（以後、チャンクとする）を定義し、該当するチャンクを単位として依存関係を求める構文解析を行う際に、構文解析器の素性として、「依存構造解析単位として定義されたチャンク」（依存構造解析単位）の情報のみではなく、複数の異なる定義からなるチャンクの情報を統合して利用し、解析単位チャンク間の依存関係を求める構文解析を行う。
【００２４】
これにより、解析器の素性として情報を利用したいチャンクを、依存構造解析単位として定義した解析単位チャンクに限定されず、柔軟に決定して素性設計を行うことができる。このように定めた依存構造解析単位間の依存構造に、依存関係のラベルを定義することにより、統計翻訳等で利用可能な、統語情報を表す依存関係ラベルを出力する依存構造解析を行うことができる。
【００２５】
なお、本実施形態においては、複数種類のチャンクを、単語の最小単位であるＢＣＣＷＪ規定の短単位（非特許文献４：小椋秀樹, 小磯花絵, 冨士池優美他：『現代日本語書き言葉均衡コーパス』形態論情報規程（上）, pp.3−8,人間文化研究機構国立国語研究所(2011).）、ＢＣＣＷＪ規定で規定している長単位（非特許文献４）、単名詞句、及び文節とする。また、本実施形態においては、依存構造解析単位として長単位のチャンクを用いる。依存構造解析結果は、長単位間の依存関係で表される一方で、後述する単語属性関数を用いることにより、長単位内部の短単位、単名詞句、及び文節などの他のチャンクの情報も解析のための素性として利用することができる。また、本実施形態においては、長単位を解析単位チャンクとする。また、上記の複数種類のチャンクは、異なる粒度で１つ以上の単語を統合した単語の固まりである。
【００２６】
＜本実施形態に係る自然言語解析装置の構成＞
次に、本実施形態に係る自然言語解析装置の構成について説明する。図１に示すように、本実施形態に係る自然言語解析装置１００は、ＣＰＵと、ＲＡＭと、後述する自然言語解析処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することができる。この自然言語解析装置は、機能的には図１に示すように入力部１０と、演算部２０と、出力部９０とを含んで構成されている。
【００２７】
入力部１０は、自然言語からなる入力テキストを受け付ける。なお、本実施形態においては、入力テキスト「国土交通省が、西急電鉄に対する鉄道軌道整備法による助成についても柔軟に対応する」を受け付ける。
【００２８】
演算部２０は、形態素解析部２２と、チャンク解析モデル記憶部２４と、チャンク解析部３０と、依存構造解析部４０と、依存構造解析モデル記憶部５０と、素性テンプレート記憶部５２と、を含んで構成されている。
【００２９】
形態素解析部２２は、入力部１０において受け付けた入力テキストについて形態素解析を行い、形態素解析結果をチャンク解析部３０に出力する。本実施形態においては、形態素解析を行うことにより、解析単位チャンクとは異なる粒度で統合されたチャンクとして、短単位を取得する。図２に、ＢＣＣＷＪ規定の短単位を単語単位として形態素解析を行った例を示す。図２の各行は、分割した単語単位（短単位）を表し、「短単位（♯ｓ）」の欄は、単語の先頭から順に付与した番号、「出現形（ｓ＿Ｆｏｒｍ）」の欄は、文中で現れた形（ＢＣＣＷＪ規定では、書字形にあたる）、「標準形（ｓ＿Ｌｅｍｍａ）」の欄は、活用語の場合の基本形（ＢＣＣＷＪ規定では、語彙素にあたる）、「品詞（ｓ＿ＰＯＳ）」の欄は、短単位の品詞情報を表している。
【００３０】
チャンク解析モデル記憶部２４には、長短位解析を行うための長短位解析モデル、単名詞句解析を行うための単名詞句解析モデル、及び文節解析を行うための文節解析モデルが記憶されている。なお、本実施形態においては、長単位解析モデル、単名詞句解析モデル、及び文節解析モデルを合わせてチャンク解析モデルとする。
【００３１】
チャンク解析部３０は、形態素解析部２２から入力される、形態素解析結果と、チャンク解析モデル記憶部２４に記憶されているチャンク解析モデルとに基づいて、形態素解析結果から、短単位列を統合して、解析単位チャンクである長単位と、解析単位チャンクとは異なる粒度で統合されたチャンクである単名詞句及び文節とを取得するチャンク解析を行う。本実施形態において、チャンク解析は、条件付き確率場（ＣＲＦ）などを用いて、系列ラベリングの問題を解く既存の方法により行う（非特許文献５：小澤俊介, 内元清貴, 伝康晴：BCCWJ に基づく長単位解析ツールComainu, 言語処理学会第20 回年次大会予稿集, pp.582−585 (2014).、非特許文献６：中野桂吾, 平井有三：日本語固有表現抽出における文節情報の利用，情報処理学会論文誌, Vol. 45, No.3, pp. 934−941 (2004)）。
【００３２】
チャンク解析部３０は、長単位解析部３２と、単名詞句解析部３４と、文節解析部３６と、を含んで構成される。
【００３３】
長単位解析部３２は、形態素解析部２２から入力された形態素解析結果と、チャンク解析モデル記憶部２４に記憶されている長単位解析モデルとに基づいて、長単位解析を行って、長単位を同定する。
【００３４】
単名詞句解析部３４は、形態素解析部２２から入力された形態素解析結果と、チャンク解析モデル記憶部２４に記憶されている単名詞句解析モデルとに基づいて、単名詞句解析を行って、単名詞句を同定する。
【００３５】
文節解析部３６は、形態素解析部２２から入力された形態素解析結果と、チャンク解析モデル記憶部２４に記憶されている文節解析モデルとに基づいて、文節解析を行って、文節を同定する。
【００３６】
図３に、長単位解析、単名詞句解析、及び文節解析を行った例を示す。図３の２列目「＃ｌ」から７列目「ｌ＿ＩｎｆＦｏｒｍ」までは長単位の情報、８列目「＃ｎ」及び９列目「ＮＰＣｌａｓｓ」は単名詞句の情報、１０列目「Ｂｎｓｔ」は文節の情報を表す。
【００３７】
図３の２列目「＃ｌ」の数字は、長単位列に先頭から順に付与した番号で、数字の入っている行が、各長単位の先頭を構成する短単位であることを表す。例えば、１番目の長単位「国土交通省」は、１番目から３番目の各々の短単位「国土」、「交通」、及び「省」から構成されていることを表す。３列目「ｌ＿Ｆｏｒｍ」は、長単位の出現形、３列目「ｌ＿Ｌｅｍｍａ」は、長単位の標準形、５列目「ｌ＿ＰＯＳ」から７列目「Ｌ＿ＩｎｆＦｏｒｍ」まではそれぞれ、長単位の品詞、活用型、活用形を表す。長単位の品詞は、元の短単位の品詞と異なる場合がある。
【００３８】
８列目「＃ｎ」、及び９列名「ＮＰＣｌａｓｓ」は、入力テキストに単名詞句が含まれる場合に、当該名詞句の分類と短単位の範囲を表す。単名詞句の分類「ＮＰＣｌａｓｓ」の欄がが「−」になっている短単位は、名詞句以外であることを表す。単名詞句の分類は、単名詞句が固有表現の場合は、単名詞句の分類は、単名詞句が固有表現の場合には固有表現の分類「ｐ：分類名」、一般名詞の場合には一般名詞の分類「ｇ：分類名」を用いる。
【００３９】
例えば、短単位番号（＃ｓ）の１、２、及び３の欄に対応する「ＮＰＣｌａｓｓ」の欄に「ｐ：組織名」、「＊」、及び「＊」が表示されているのは、短単位番号（＃ｓ）の１〜３番目までの短単位が固有表現「国土交通省」を構成し、当該固有表現の分類が「組織名」であることを表している。
【００４０】
また、短単位番号（＃ｓ）の１５の欄に対応する「ＮＰＣｌａｓｓ」の欄に「ｇ：人間活動」が表示されているのは、短単位番号（＃ｓ）の１５番目の短単位が一般名詞「助成」であり、当該一般名詞の分類が「人間活動」ということを表している。なお、本実施形態において、固有名詞の分類（非特許文献７：Satoshi Sekine: Extended named entity ontology with attribute information, In Proc. of LREC 2008.）、一般名詞の分類（非特許文献８：池原悟他：日本語語彙大系, 岩波書店(1997). p.23-p.28）には，単語意味属性体系や固有名詞意味属性体系等の分類を用いる。
【００４１】
また、１０列目「Ｂｎｓｔ」は、文節の単位を表している。文節の末尾に位置する長単位には記号「Ｅ」が、末尾以外の長単位には、「Ｉ」が入っている。例えば、長単位番号「＃ｌ」の欄が４の「に対する」は、文節の欄に「Ｅ」が入っているので、文節の末尾に位置し、一つ前の「Ｅ」が入っている長単位番号「＃ｌ」の欄が２の、直後の長単位番号「＃ｌ」の欄が３の「西急電鉄」が先頭の文節であり、「西急電鉄に対する」が同一の文節であることを表す。チャンク解析部３０は、チャンク解析を行った結果を、形態素解析結果とともに、依存構造解析部４０に出力する。
【００４２】
依存構造解析部４０は、チャンク解析部３０から入力されたチャンク解析結果と、形態素解析結果と、依存構造解析モデル記憶部５０に記憶されている依存構造解析モデルと、素性テンプレート記憶部５２に記憶されている素性テンプレート及びノード参照関数とに基づいて、依存構造解析を行うための素性を抽出し、依存構造解析を行う。
【００４３】
本実施形態においては、図４に例を示すような、長単位番号「＃ｌ」、短単位番号「＃ｓ」、及び名詞句番号「＃ｎ」から各単位の属性を素性とし、図５に示すような、素性の抽出に用いる単語属性関数の各々をテンプレートにまとめた素性テンプレートを用いて、素性の各々を抽出する。なお、図５に示す素性テンプレートにおいて用いる部分グラフのノードを参照するためのノード参照関数の例を図６に示す。
【００４４】
ここで、単語属性関数の一例について説明する。例えば、図２の形態素解析結果と、図３のチャンク解析結果を受け取った場合、ｌ＿Ｆｏｒｍ（３）は、長単位に関する素性として、３番目の長単位の書字系「西急電鉄」を出力する。ｌ＿ＰＯＳ（３）は、長単位に関する素性として、３番目の長単位の長単位品詞「名詞-固有名詞-一般」を出力する。ｎ＿ＮＰＣｌａｓｓ（３）は、長単位に関する素性として、３番目の長単位の単名詞句クラス「Ｐ：組織名」を出力する。ｌ＿ＩＲ＿ｂｎｓｔ（３）は、長単位に関する素性として、３番目の長単位の文節内での位置「Ｉ」を出力する。
【００４５】
また、ｌ＿ＲＭ＿ｓｕｗ（３）は、３番目の長単位を構成する最右の短単位番号６を返すので、ｓ＿Ｆｏｒｍ（ｌ＿ＲＭ＿ｓｕｗ（３））は、短単位に関する素性として、３番目の長単位を構成する最右の短単位の書字系「電鉄」を出力する。また、ｓ＿ＰＯＳ（ｌ＿ＲＭ＿ｓｕｗ（３））は、短単位に関する素性として、３番目の長単位を構成する最右の短単位の短単位品詞「名詞-普通名詞-一般」を出力する。
【００４６】
また、依存構造解析部４０は、素性テンプレートを用いて取得した長単位に関する素性、短単位に関する素性と、後述する依存構造解析モデル記憶部５０に記憶されている、素性を用いて解析器の動作を決定する分類モデルである依存構造解析モデルとに基づいて、依存構造解析を行う。なお、本実施形態においては、ＭａｌｔＰａｒｓｅｒ（非特許文献９：Joakim Nivre et al.: MaltParser: A language-independent system for data-driven dependency parsing, Natural Language Engineering, 13(2), pp. 95−135 (2007).）等の既存の解析器で用いられているｓｈｉｆｔ−ｒｅｄｕｃｅ法による依存構造解析器を用いる。ｓｈｉｆｔ−ｒｅｄｕｃｅ法では、最初に入力バッファに入力テキストを単語単位で格納し、ｓｈｉｆｔ（入力バッファの先頭をスタックにｐｕｓｈする）、又はｒｅｄｕｃｅ（スタックの先頭と２番目の単語で弧を作る）のどちらかの動作を行うことを、依存構造モデルに基づいて決定する。ｓｈｉｆｔ−ｒｅｄｕｃｅ法では、部分的に依存構造（グラフ）を作りながら解析を行うので、素性として部分グラフのノードの情報を参照することができる。そのため、ステップ毎に、素性テンプレートに従って各素性の値が決定され、各素性と、依存構造モデルとに基づいて、次の動作が決定される。
【００４７】
また、依存構造解析部４０は、初期処理部４２と、素性抽出部４４と、動作決定部４６と、終了判定部４８とを含んで構成される。
【００４８】
初期処理部４２は、ｓｈｉｆｔ−ｒｅｄｕｃｅ法の初期動作を行う。具体的に、図７の場合について説明する。ここで、処理中の単語列を格納する配列であるスタック（Ｓｔ［］）と、処理前の単語列を格納する配列である入力バッファ（Ｌａ［］）があり、初期状態（ステップ０）では、スタックに構造の最上位を表す「０／Ｒｏｏｔ」を、入力バッファには文全体の単語列を格納する。「［］」内の数値は各配列の添字で、Ｓｔ［０］はスタックの先頭、Ｌａ［０］は入力バッファの先頭を表している。
【００４９】
最初のステップ１では、無条件でｓｈｉｆｔ動作（ＳＨ）を行い、入力バッファの先頭（Ｌａ［０］）の単語「１／国土交通省」を取り出して、スタックの先頭（Ｓｔ［０］）にｐｕｓｈする。
【００５０】
素性抽出部４４は、素性テンプレート記憶部５２に記憶されている素性テンプレート、及びノード参照関数と、スタック及び入力バッファの状態に基づいて、現在のスタック及び入力バッファの状態に対して、各素性を抽出し、動作決定部４６に出力する。具体的には、図７のステップ２について説明する。図７のステップ２において、スタックの状態は、Ｓｔ［２］＝「０／Ｒｏｏｔ」、Ｓｔ［１］＝「１／国土交通省」、Ｓｔ［０］＝「２／が」、入力バッファの状態は、Ｌａ［０］＝「３／西急電鉄」,Ｌａ［１］＝「４／に対する」,...となっている。ここで、各長単位の「／」の前の数字は、長単位番号を表している。当該状態において、図５に示す素性テンプレートに基づいて抽出した各素性を図８に示す。
【００５１】
動作決定部４６は、素性抽出部４４から入力された各素性と、依存構造解析モデル記憶部５０に記憶されている依存構造解析モデルとに基づいて、動作を決定する。図７のステップ２について説明すると、素性抽出部４４から入力された各素性と、依存構造解析モデル記憶部５０に記憶されている依存構造解析モデルとに基づいて、次の動作が「ＲＬ（ｐоｂｊ）」に決定されたとすると、Ｓｔ［０］の「２／が」からＳｔ［１］の「１／国土交通省」にラベルｐоｂｊの付いた弧を張り、「１／国土交通省」をスタックから取り除く。この状態を表したのが、図７のステップ３である。図７中の矢印は、ＲＬ、又はＲＲの操作により張られた弧を表している。但し、図７中においては一部を省略して表記してある。
【００５２】
ここで、動作について説明すると、動作は、「ＳＨ」、「ＲＬ（ｌａｂｅｌ）」、及び「ＲＲ（ｌａｂｅｌ）」の３種類があり、「ＳＨ」は、入力バッファの先頭Ｌａ［０］を取り出し、スタックの先頭Ｓｔ［０］にｐｕｓｈする動作であり、「ＲＬ（ｌａｂｅｌ）」は、スタックの先頭Ｓｔ［０］からスタックの２番目Ｓｔ［１］へ、ラベルｌａｂｅｌ付きの左向きの弧を張り、Ｓｔ［１］をスタックから取り除く動作であり、「ＲＲ（ｌａｂｅｌ）」は、［スタックの２番目Ｓｔ［１］からスタックの先頭Ｓｔ［０］へ、ラベルｌａｂｅｌ付きの右向きの弧を張り、Ｓｔ［０］をスタックから取り除く動作である。また、ラベルの例として、助詞と名詞句との間の関係を表す「ｐоｂｊ」、動詞と主語との関係を表す「ｎｓｕｂｊ」等を用いる。
【００５３】
終了判定部４８は、現在のスタック、及び入力バッファの状態に基づいて、終了条件を満たしているか否かを判定する。終了判定部４８が、終了条件を満たしていると判定した場合には、依存構造解析結果を出力部９０から出力する。一方、終了判定部４８が、終了条件を満たしていないと判定した場合には、素性抽出部４４の処理、動作決定部４６の処理、及び終了判定部４８の処理を繰り返す。なお、本実施形態の終了条件は、「スタックの先頭Ｓｔ［０］がＲＯＯＴかつ、入力バッファの先頭Ｌａ［０］が空（ＮＵＬＬ）であること」である。図９に依存構造解析結果を示す。図９に示すように、各ノードの弧を辿ったグラフが依存構造解析結果となる。
【００５４】
なお、終了条件を満たさない場合は、次の動作を決定するため、再び、素性抽出部４４において各素性を抽出し、動作決定部４６において動作を決定する。図７のステップ３において、図５、及び図６に示す素性テンプレート及びノード参照関数に基づいて取得した素性を、例えば図１０に示す。図１０の素性において、「２／が」から「１／国土交通省」へ左向きの弧が張られているため、ｌｄｅｐ（「２／が」）は、「１／国土交通省」を返す。当該素性と、依存構造モデルとから、次の動作が「ＳＨ」に決定されたとすると、図７のステップ４に進む。素性抽出部４４及び動作決定部４６の処理を、終了条件を満たすまで繰り返す。
【００５５】
依存構造解析モデル記憶部５０には、依存構造解析モデルが記憶されている。ここで、依存構造解析モデルは、図９に示すような依存構造解析の正解データを学習データとして大量に用意し、当該学習データから学習することにより予め学習される。すなわち、正解データから、解析の各ステップにおける素性の集合と正解の動作（ＳＨ、ＲＬ（ｌａｂｅｌ）、又はＲＲ（ｌａｂｅｌ））の組を抽出し、Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ（ＳＶＭ）や対数線形モデルなどの一般的な依存構造モデル（分類モデル）を構築する既知の方法によって、依存構造解析モデルを学習する。
【００５６】
＜本実施形態に係る自然言語解析装置の作用＞
次に、本実施形態に係る自然言語解析装置１００の作用について説明する。入力部１０において自然言語の入力テキストを受け付けると、自然言語解析装置１００によって図１１に示す自然言語解析処理ルーチンを実行する。
【００５７】
まず、図１１のステップＳ１００で、チャンク解析モデル記憶部２４からチャンク解析モデルを取得する。
【００５８】
次に、ステップＳ１０２で、依存構造解析モデル記憶部５０から依存構造解析モデルを取得する。
【００５９】
次に、ステップＳ１０４で、素性テンプレート記憶部５２から、素性テンプレート及びノード参照関数を取得する。
【００６０】
次に、ステップＳ１０６で、入力部１０において受け付けた自然言語の入力テキストについて形態素解析を行い、解析単位チャンクとは異なる粒度で統合されたチャンクである短単位を取得する。
【００６１】
次に、ステップＳ１０８で、ステップＳ１０６において取得した形態素解析結果と、ステップＳ１００において取得したチャンク解析モデルとに基づいて、短単位列を統合して、解析単位チャンクである長単位と、解析単位チャンクとは異なる粒度で統合されたチャンクである単名詞句及び文節とを取得するチャンク解析を行う。
【００６２】
次に、ステップＳ１１０で、ステップＳ１０４において取得した素性テンプレート及びノード参照関数と、ステップＳ１０６において取得した形態素解析結果と、ステップＳ１０８において取得したチャンク解析結果と、ステップＳ１０２において取得した依存構造解析モデルとに基づいて、依存構造解析を行う。
【００６３】
次に、ステップＳ１１２で、ステップＳ１１０において取得した依存構造解析結果を出力部９０から出力して自然言語解析処理ルーチンを終了する。
【００６４】
上記ステップＳ１１０について、図１２について詳細に説明する。
【００６５】
図１２のステップＳ２００で、スタックの先頭に「ＲＯＯＴ」を、入力バッファに入力テキストを格納する。
【００６６】
次に、ステップＳ２０２で、ステップＳ２００において取得した、現在のスタック及び入力バッファの状態において、Ｓｈｉｆｔ動作を行う。
【００６７】
次に、ステップＳ２０４で、ステップＳ２０２、又は前回のステップＳ２０８、ステップＳ２１０、若しくはステップＳ２１２において取得した現在のスタック及び入力バッファの状態と、ステップＳ１０４において取得した素性テンプレート及びノード参照関数と、ステップＳ１０６において取得した形態素解析結果と、ステップＳ１０８において取得したチャンク解析結果と、ステップＳ１０２において取得した依存構造解析モデルとに基づいて、各素性を抽出し、次の動作を決定する。
【００６８】
次に、ステップＳ２０６で、ステップＳ２０４において取得した動作がＲＬ（ｌａｂｅｌ）、ＳＨ、又はＲＲ（ｌａｂｅｌ）のどれであるか判定する。ＲＬ（ｌａｂｅｌ）と判定した場合には、ステップＳ２１０へ移行する。ＳＨと判定した場合には、ステップＳ２０８へ移行する。ＲＲ（ｌａｂｅｌ）と判定した場合には、ステップＳ２１２へ移行する。
【００６９】
ステップＳ２０８で、ステップＳ２０４で、ステップＳ２０２、又は前回のステップＳ２０８、ステップＳ２１０、若しくはステップＳ２１２において取得した現在のスタック及び入力バッファの状態において、Ｓｈｉｆｔ動作を行う。
【００７０】
ステップＳ２１０で、ステップＳ２０４で、ステップＳ２０２、又は前回のステップＳ２０８、ステップＳ２１０、若しくはステップＳ２１２において取得した現在のスタック及び入力バッファの状態において、ＲＬ（ｌａｂｅｌ）動作を行う。
【００７１】
ステップＳ２１２で、ステップＳ２０４で、ステップＳ２０２、又は前回のステップＳ２０８、ステップＳ２１０、若しくはステップＳ２１２において取得した現在のスタック及び入力バッファの状態において、ＲＲ（ｌａｂｅｌ）動作を行う。
【００７２】
次に、ステップＳ２１４で、終了条件を満たしているか否かを判定する。終了条件を満たしている場合には、依存構造処理ルーチンを終了する。一方、終了条件を満たしていない場合には、ステップＳ２０４へ移行し、ステップＳ２０４〜ステップＳ２１４までの処理を繰り返す。
【００７３】
以上説明したように、本実施形態に係る自然言語解析装置によれば、入力されたテキストについての、複数の粒度で１つ以上の単語を統合した単語の固まりである複数種類のチャンクの各々に対応する解析結果に基づいて、解析単位チャンクに関する素性を抽出し、解析単位チャンクとの関係で表現される、解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性を抽出し、抽出された解析単位チャンクに関する素性と、解析単位チャンクとは異なる粒度で統合されたチャンクに関する素性と、依存関係を表すラベルを付与するための予め定められた依存構造解析モデルとに基づいて、テキストの解析単位チャンク間の各々に、依存関係を表すラベルを付与することにより、複数の粒度のチャンクを考慮して依存構造解析を行うことができる。
【００７４】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００７５】
例えば、本実施形態においては、入力テキストは１つで有る場合について説明したが、これに限定されるものではなく、入力されるテキストが個々に独立な複数のテキストであってもよい。その場合、自然言語解析装置１００は、１つのテキストずつ読み込み処理を行うものとする。また、複数のテキストを一括で読み込み自然言語解析装置内部に一時的に蓄積し１つのテキストずつ処理する等の、１つのテキストの処理を独立に複数回繰り返す機能を備えておれば、どのようなものであってもよい。
【００７６】
また、本実施形態に係る自然言語解析装置においては、複数種類のチャンクを短単位、長単位、単名詞句、及び文節とする場合について説明したが、これに限定されるものではない。例えば、チャンクは、１語以上の単語から構成されるという定義であれば、他の定義を使用してもよい。
【００７７】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００７８】
１０   入力部
２０   演算部
２２   形態素解析部
２４   チャンク解析モデル記憶部
３０   チャンク解析部
３２   長単位解析部
３４   単名詞句解析部
３６   文節解析部
４０   依存構造解析部
４２   初期処理部
４４   素性抽出部
４６   動作決定部
４８   終了判定部
５０   依存構造解析モデル記憶部
５２   素性テンプレート記憶部
９０   出力部
１００ 自然言語解析装置
【図１】
0006298785.tif 000002
【図２】
0006298785.tif 000003
【図３】
0006298785.tif 000004
【図４】
0006298785.tif 000005
【図５】
0006298785.tif 000006
【図６】
0006298785.tif 000007
【図７】
0006298785.tif 000008
【図８】
0006298785.tif 000009
【図９】
0006298785.tif 000010
【図１０】
0006298785.tif 000011
【図１１】
0006298785.tif 000012
【図１２】
0006298785.tif 000013