(57)【要約】【課題】言語ごとに考慮すべき特徴の違いをうまく吸収し、処理系としては共通の固有表現抽出を実現することができるようにする。【解決手段】言語特徴の抽出装置１１は、複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、前記対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルールとし、複数の対象言語の各々に対し、前記言語別特徴抽出ルールを定義し、入力文の形態素解析結果に対し、前記入力文の言語に対して定義され、かつ前記形態素解析結果に含まれる表記又は品詞に関する素性を抽出するための前記言語別特徴抽出ルールを参照して、前記言語に応じた素性を抽出し、言語特徴抽出結果として出力する言語特徴抽出部を備える。【選択図】図１
2019191900.tif 000002
【特許請求の範囲】
【請求項１】
複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、前記対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルールとし、
複数の対象言語の各々に対し、前記言語別特徴抽出ルールを定義し、
入力文の形態素解析結果に対し、前記入力文の言語に対して定義され、かつ前記形態素解析結果に含まれる表記又は品詞に関する素性を抽出するための前記言語別特徴抽出ルールを参照して、前記言語に応じた素性を抽出し、言語特徴抽出結果として出力する言語特徴抽出部
を備えた言語特徴の抽出装置。
【請求項２】
複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、前記対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルールとし、複数の対象言語の各々に対し、前記言語別特徴抽出ルールを定義し、入力文の形態素解析結果に対し、前記入力文の言語に対して定義され、かつ前記形態素解析結果に含まれる表記又は品詞に関する素性を抽出するための前記言語別特徴抽出ルールを参照して、前記言語に応じた素性を抽出し、言語特徴抽出結果として出力する言語特徴抽出部と、
前記複数の対象言語に共通の機械学習アルゴリズムを用い、前記複数の対象言語ごとに、言語特徴抽出結果を入力として、固有表現抽出結果を出力するように予め学習済みの言語別の固有表現抽出モデルと、
前記言語特徴抽出部から出力された言語特徴抽出結果を入力として、前記入力文の言語に対応する前記固有表現抽出モデルを用いて、固有表現抽出処理を実行し、抽出した固有表現を出力する固有表現抽出部と、
を備えた固有表現の抽出装置。
【請求項３】
前記抽象ルールの集合は、単語内の文字状況の特徴を捉えるためのルール、単語情報を別の観点で置き換えるためのルール、及び言語ごとに有用な特徴量の取捨選択を実現するためのルールからなる、
請求項１または請求項２に記載の抽出装置。
【請求項４】
前記抽象ルールの集合は、任意の箇所の部分文字列を抽出するためのルール、任意の箇所の部分文字列の置換、挿入、及び削除の少なくとも一つを行って文字列を抽出するためのルール、所定のパタンにマッチする表現に対し、特定のラベル情報を付与するためのルール、及び所定のパタンにマッチする表現か否かを判定するためのルールを含む、
請求項１または請求項２に記載の抽出装置。
【請求項５】
言語特徴抽出部が、複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、前記対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルールとし、
複数の対象言語の各々に対し、前記言語別特徴抽出ルールを定義し、
入力文の形態素解析結果に対し、前記入力文の言語に対して定義され、かつ前記形態素解析結果に含まれる表記又は品詞に関する素性を抽出するための前記言語別特徴抽出ルールを参照して、前記言語に応じた素性を抽出し、言語特徴抽出結果として出力するステップ
を含む言語特徴の抽出方法。
【請求項６】
言語特徴抽出部が、複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、前記対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルールとし、複数の対象言語の各々に対し、前記言語別特徴抽出ルールを定義し、入力文の形態素解析結果に対し、前記入力文の言語に対して定義され、かつ前記形態素解析結果に含まれる表記又は品詞に関する素性を抽出するための前記言語別特徴抽出ルールを参照して、前記言語に応じた素性を抽出し、言語特徴抽出結果として出力するステップと、
固有表現抽出部が、前記複数の対象言語に共通の機械学習アルゴリズムを用い、前記複数の対象言語ごとに、言語特徴抽出結果を入力として、固有表現抽出結果を出力するように予め学習済みの言語別の固有表現抽出モデルであって、かつ前記入力文の言語に対応する前記固有表現抽出モデルを用いて、前記言語特徴抽出部から出力された言語特徴抽出結果を入力として固有表現抽出処理を実行し、抽出した固有表現を出力するステップと、
を含む固有表現の抽出方法。
【請求項７】
コンピュータを、請求項１から請求項４のいずれか１項に記載の抽出装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、言語特徴の抽出装置、固有表現の抽出装置、抽出方法、及びプログラムに関する。
【背景技術】
【０００２】
人間が記述したテキストや、人間の発話を音声認識した後のテキスト等を対象として、さまざまな処理を行うことで、翻訳、情報抽出などの高度な言語処理が可能となる。特に、固有表現の抽出は、文章に書かれている、「だれが」、「どこで」、「なにを」などの内容そのものを表しており、テキストの内容把握のためには重要な要素となる。固有表現の抽出に関する技術は、例えば、特許文献１に記載されている。
【０００３】
通常、固有表現抽出処理では、前段の処理で単語認定（形態素解析）を行い、単語表記や品詞などの単語情報を取得し、その単語情報を言語特徴（素性）として前後の単語情報の並びを考慮した固有表現抽出処理を行う。固有表現抽出処理を行う際に考慮される素性となる言語特徴としては、該単語の出現表記、品詞、原型表記、及び読みなど、前段の形態素解析処理の過程で得られる情報、すなわち形態素解析で参照する単語辞書に収録されている情報がよく使われる。
【０００４】
どのような素性を用いるのが固有表現抽出において有効であるかについては、言語のもともとの特徴に応じて変わってくる。例えば、英語において、「Apple」と「apple」とでは、前者が固有名（組織名）、後者が一般名詞（リンゴ）と考えるのが自然であり、大文字・小文字の使われ方の違いが大きな特徴となるが、日本語ではこのような現象はあまり考慮する必要がない。また、英語では、「〜ing」、「〜es」、「〜ed」など、単語内の語尾数文字列の情報で、単語の種類をある程度一般化できる。さらに英語では、数字や記号から成る単語なのか、アルファベットだけからなる単語なのか等のような単語の文字種の情報についても考慮した素性を用いることが有効であると考えられる。しかし、このような単語内の大文字・小文字の状況や、単語内の一部の文字列情報、及び単語の文字種の情報は、前段の形態素解析処理の中では通常取得できない。また、英語では必要な素性情報が、日本語ではそれほど重要でなく、取得する必要がない、すなわち、言語によって考慮したい素性は大きく変わってくることが予想される。
【０００５】
このような状況においては、複数の言語を統一的に扱える固有表現抽出の実現において、もともとの言語の特徴に応じて、自由に考慮すべき素性の設計が行える仕組みが必要となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４００５４７７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
単一の言語だけでなく、複数の言語を対象として、同じ処理系で固有表現抽出を行う場合、言語ごとに考慮すべき特徴の種類が大きく違うケースがある、という課題がある。もっとも単純なケースでは、前段の形態素解析処理が出力する、単語情報、例えば、表記と品詞のみを考慮する、ということも考えられる。しかし、より複雑なケースの場合、表記の中の、大文字の有無、単語内の文字の並びなど、形態素解析結果としては直接得られない情報を取得することが必要になるケースもある。
【０００８】
本開示は、上記の点に鑑みてなされたものであり、複数の言語を対象として固有表現抽出するにあたり、言語によって着目する特徴が異なる場合でも統一的な処理系による固有表現抽出を言語ごとに考慮すべき特徴の違いをうまく吸収し、処理系としては共通の固有表現抽出を実現することができる、固有表現の抽出装置、抽出方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本開示の第１の態様の言語特徴の抽出装置は、複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、前記対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルールとし、複数の対象言語の各々に対し、前記言語別特徴抽出ルールを定義し、入力文の形態素解析結果に対し、前記入力文の言語に対して定義され、かつ前記形態素解析結果に含まれる表記又は品詞に関する素性を抽出するための前記言語別特徴抽出ルールを参照して、前記言語に応じた素性を抽出し、言語特徴抽出結果として出力する言語特徴抽出部を備える。
【００１０】
また、上記目的を達成するために、本開示の第２の態様の固有表現の抽出装置は、複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、前記対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルールとし、複数の対象言語の各々に対し、前記言語別特徴抽出ルールを定義し、入力文の形態素解析結果に対し、前記入力文の言語に対して定義され、かつ前記形態素解析結果に含まれる表記又は品詞に関する素性を抽出するための前記言語別特徴抽出ルールを参照して、前記言語に応じた素性を抽出し、言語特徴抽出結果として出力する言語特徴抽出部と、前記複数の対象言語に共通の機械学習アルゴリズムを用い、前記複数の対象言語ごとに、言語特徴抽出結果を入力として、固有表現抽出結果を出力するように予め学習済みの言語別の固有表現抽出モデルと、前記言語特徴抽出部から出力された言語特徴抽出結果を入力として、前記入力文の言語に対応する前記固有表現抽出モデルを用いて、固有表現抽出処理を実行し、抽出した固有表現を出力する固有表現抽出部と、を備える。
【００１１】
本開示の第３の態様の固有表現抽出装置は、第１の態様または第２の態様の抽出装置において、前記抽象ルールの集合は、単語内の文字状況の特徴を捉えるためのルール、単語情報を別の観点で置き換えるためのルール、及び言語ごとに有用な特徴量の取捨選択を実現するためのルールからなる。
【００１２】
本開示の第４の態様の抽出装置は、第１の態様または第２の態様の抽出装置において、前記抽象ルールの集合は、任意の箇所の部分文字列を抽出するためのルール、任意の箇所の部分文字列の置換、挿入、及び削除の少なくとも一つを行って文字列を抽出するためのルール、所定のパタンにマッチする表現に対し、特定のラベル情報を付与するためのルール、及び所定のパタンにマッチする表現か否かを判定するためのルールを含む。
【００１３】
上記目的を達成するために、本開示の第５の態様の抽出方法は、言語特徴抽出部が、複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、前記対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルールとし、複数の対象言語の各々に対し、前記言語別特徴抽出ルールを定義し、入力文の形態素解析結果に対し、前記入力文の言語に対して定義され、かつ前記形態素解析結果に含まれる表記又は品詞に関する素性を抽出するための前記言語別特徴抽出ルールを参照して、前記言語に応じた素性を抽出し、言語特徴抽出結果として出力するステップを含む言語特徴の抽出方法である。
【００１４】
上記目的を達成するために、本開示の第６の態様の抽出方法は、言語特徴抽出部が、複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、前記対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルールとし、複数の対象言語の各々に対し、前記言語別特徴抽出ルールを定義し、入力文の形態素解析結果に対し、前記入力文の言語に対して定義され、かつ前記形態素解析結果に含まれる表記又は品詞に関する素性を抽出するための前記言語別特徴抽出ルールを参照して、前記言語に応じた素性を抽出し、言語特徴抽出結果として出力するステップと、固有表現抽出部が、前記複数の対象言語に共通の機械学習アルゴリズムを用い前記複数の対象言語ごとに、言語特徴抽出結果を入力として、固有表現抽出結果を出力するように予め学習済みの言語別の固有表現抽出モデルであって、かつ前記入力文の言語に対応する前記固有表現抽出モデルを用いて、前記言語特徴抽出部から出力された言語特徴抽出結果を入力として固有表現抽出処理を実行し、抽出した固有表現を出力するステップと、を含む固有表現の抽出方法である。
【００１５】
上記目的を達成するために、本開示の第７の態様のプログラムは、コンピュータを、第１の態様から第４の態様のいずれか１態様に記載の抽出装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１６】
本開示によれば、言語ごとに考慮すべき特徴に対応し、尚且つその違いをうまく吸収し、処理系としては共通の固有表現抽出を実現することができる、という効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】実施形態の固有表現の抽出装置の一例の構成を示す構成図である。
【図２Ａ】言語が英語である場合の入力文の一例である。
【図２Ｂ】言語が日本語である場合の入力文の一例である。
【図３Ａ】入力文の言語が英語である場合に、実施形態の固有表現の抽出装置の形態素解析部から出力される形態素解析結果の一例を示した図である。
【図３Ｂ】入力文の言語が日本語である場合に、実施形態の固有表現の抽出装置の形態素解析部から出力される形態素解析結果の一例を示した図である。
【図４Ａ】言語が英語である場合の言語別特徴抽出ルールの一例を示した図である。
【図４Ｂ】言語が日本語である場合の言語別特徴抽出ルールの一例を示した図である。
【図５Ａ】入力文の言語が英語である場合に、実施形態の固有表現の抽出装置の言語特徴抽出部により出力される言語特徴抽出結果の一例を示した図である。
【図５Ｂ】入力文の言語が日本語である場合に、実施形態の固有表現の抽出装置の言語特徴抽出部により出力される言語特徴抽出結果の一例を示した図である。
【図６Ａ】入力文の言語が英語である場合に、実施形態の固有表現の抽出装置から出力される出力の一例を示した図である。
【図６Ｂ】入力文の言語が日本語である場合に、実施形態の固有表現の抽出装置から出力される出力の一例を示した図である。
【図７】実施形態の固有表現の抽出装置で実行される固有表現抽出処理ルーチンの一例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本開示の実施形態を詳細に説明する。なお、一般に、言語処理技術において、言語の特徴量は「素性」とも呼ばれる。本開示では、言語が有するもともとの特徴については「特徴」といい、固有表現抽出のために抽出される特徴量については「素性」という。
【００１９】
＜本実施形態の概要＞
本開示は、複数の言語を固有表現抽出するにあたり、言語によって着目する特徴が異なる場合でも統一的な処理系で固有表現抽出するために以下の（１）〜（３）の構成で固有表現の抽出装置を実現する。
【００２０】
（１）言語に応じた形態素解析処理を実行し、形態素解析結果を出力する。
（２）形態素解析結果に対し、言語別に当該言語の特徴に応じて設けられた抽出ルールを参照して、言語特徴抽出処理を実行して素性を抽出し、言語特徴抽出結果として出力する。
（３）言語特徴抽出結果に対し、固有表現抽出処理を行い、抽出結果である固有表現を出力する。
【００２１】
ここで、言語ごとの特徴を吸収するのは、上記（２）の言語特徴抽出処理であり、ここでの特徴の取り出し方は各言語によって設定を変える。その言語ごとの特徴の取り出し方は、抽出ルールで規定する。上記（３）の固有表現抽出処理自体は、言語依存はなく、（２）の言語特徴抽出処理の結果により得られる、言語特徴抽出結果に対して同一の処理系で動くものとする。なお、本実施形態では、上記（１）の形態素解析処理には既存の形態素解析技術を用いる。本実施形態によれば、各言語に対応する任意の形態素解析技術を導入することができ、その後段の処理に上記（２）及び（３）の処理を追加することで、多言語に対応する固有表現の抽出装置を実現できる。
【００２２】
＜本実施形態の固有表現の抽出装置の構成＞
次に、本実施形態の固有表現の抽出装置の構成について説明する。図１には、本実施形態の固有表現の抽出装置１０の一例の構成を表す構成図を示す。図１に示した本実施形態の固有表現の抽出装置１０は、テキストである入力文９を解析し、入力文９から人名、地名、組織名、及び商品名などの固有表現を抽出する。
【００２３】
図１に示すように、本実施形態の固有表現の抽出装置１０は、言語特徴の抽出装置１１、形態素解析部１２、固有表現抽出部１６、及び固有表現抽出モデル１７を備える。言語特徴の抽出装置１１は、言語特徴抽出部１４及び言語別特徴抽出ルール１８を含む。
【００２４】
図１に示した本実施形態の固有表現の抽出装置１０は、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、後述する固有表現抽出処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭ（Read Only Memory）と、を含むコンピュータで構成することができる。具体的には、上記プログラムを実行したＣＰＵが、図１に示した固有表現の抽出装置１０の言語特徴の抽出装置１１（言語特徴抽出部１４）、形態素解析部１２、及び固有表現抽出部１６として機能する。
【００２５】
固有表現の抽出装置１０の形態素解析部１２には、装置の外部から入力文９が入力される。以下、具体例として、固有表現の抽出装置１０に、図２Ａに例示した言語が英語の場合の入力文９Ａ（「NTT Media Intelligence Labs. was established in 2012.」）、または図２Ｂに例示した言語が日本語である入力文９Ｂ（「NTT メディアインテリジェンス研究所は横須賀市にあります。」）が入力された場合を説明する。
【００２６】
形態素解析部１２は、入力された入力文９に対し、形態素解析処理を実行し、形態素解析結果１３を出力する。形態素解析処理には、既存の任意の形態素解析技術を利用することができる。なお、形態素解析部１２は、入力文９の言語に応じて、英語であれば英語用、日本語であれば日本語用の形態素解析技術を用いる。形態素解析処理によれば、入力文９を単語に分割し、品詞、及び原型など、単語情報を付加された状態の形態素解析結果１３が出力として得られる。換言すると、各言語の形態素解析結果１３とは、入力文９を構成する形態素ごとの、表記、品詞、原型表記、及び読み等の対からなる。なお、形態素解析結果１３として、これらのうち、「表記」及び「品詞」は必須であるが、「原型表記」及び「読み」は必須としていない。
【００２７】
例えば、形態素解析部１２が、図２Ａに例示した入力文９Ａに対して形態素解析処理を実行した場合、図３Ａに例示した形態素解析結果１３Ａが得られる。具体的には、図３Ａに示されるように、形態素解析結果１３Ａとして、「ＮＴＴ／ＮＮＰ」、「Ｍｅｄｉａ／ＮＮ」、「Ｉｎｔｅｌｌｉｇｅｎｃｅ／ＮＮ」、「Ｌａｂｓ．／ＮＮＰ」、「ｗａｓ／ＶＢＤ」、「ｅｓｔａｂｌｉｓｈｄ／ＶＢＮ」、「ｉｎ／ＩＮ」、「２０１２／ＣＤ」、及び「．／．」が得られる。なお、「ＮＮＰ」は固有名詞を表し、「ＮＮ」は単数形の名詞を表し、「ＶＢＤ」は過去時制の動詞を表し、「ＩＮ」は前置詞または縦続接続詞を表し、「ＣＤ」は基数を表し、「．」は句点を表す。
【００２８】
また例えば、形態素解析部１２が、図２Ｂに例示した入力文９Ｂに対して形態素解析処理を実行した場合、図３Ｂに例示した形態素解析結果１３Ｂが得られる。具体的には、図３Ｂに示されるように、形態素解析結果１３Ｂとして、「ＮＴＴ／名詞：固有」、「メディア／名詞」、「インテリジェンス/名詞」、「研究所／名詞接尾辞：名詞」、「は／助詞」、「横須賀／名詞：固有」、「市／名詞接尾辞：名詞」、「に／助詞」、「あ／動詞語幹：Ｒ」、「り／動詞活用語尾」、「ます／動詞接尾辞」、及び「。／句点」が得られる。
【００２９】
言語特徴抽出部１４には、形態素解析部１２から出力された形態素解析結果１３が入力される。言語特徴抽出部１４は、言語別特徴抽出ルール１８を参照しながら、素性を抽出する言語特徴処理を実行し、言語特徴抽出結果１５を出力する。
【００３０】
本実施形態では、一例として言語別特徴抽出ルール１８には、抽象ルールの一例である以下のルールＡ〜Ｆを用いて記述された抽出ルール、及び後述する出力ルールが含まれる。本実施形態の言語別特徴抽出ルール１８では、これら抽象ルールにより、以下の（Ｉ）〜（III）が実現される。
（Ｉ）大文字小文字、単語内文字、特定文字または文字列の有無、及び文字種等の単語内の文字状況の特徴を捉える。
（II）表記や品詞等の単語情報を、単語タイプ、品詞などのカテゴリの上/下位概念化、及び辞書などの外部知識を参照して、別の観点で置き換える。
（III）言語ごとに有用な特徴量の取捨選択。
【００３１】
言語特徴抽出部１４は、形態素解析結果（表記：％ｆｏｒｍ、品詞：％ｐｏｓ等。詳細後述）の何れかを対象：ｔａｒｇｅｔとする、以下のルールＡ〜Ｆを用いて記述された言語別特徴抽出ルール１８であって入力文９の言語に対応する言語別特徴抽出ルール１８に基づいて、形態素解析結果１３から素性の抽出を行う。素性の抽出は、形態素ごと（すなわち、図３の１行ごと）に処理を行う。また、素性の抽出時には、表記は％ｆｏｒｍ、品詞は％ｐｏｓという変数の値を各形態素結果から取得して処理を行う。なお、本実施形態では、言語別特徴抽出ルール１８が、ルールＡ〜Ｆを用いて記述される場合を例に説明するが、これらのうち、ルールＥ、Ｆを用いることは必須ではない。
【００３２】
ルールＡ：任意の箇所の部分文字列を抽出するためのルール（「Substr」と表記される）。
ルールＢ：任意の箇所の部分文字列を、置換／挿入／削除を行って抽出するためのルール（「RegexReplace」と表記される）。
ルールＣ：所定のパタンにマッチする表現に対し、特定のラベル情報を付与するためのルール（「RegexMatch」と表記される）。
ルールＤ：所定のパタンにマッチする表現か否かを判定するためのルール（「IsContain」と表記される）。
ルールＥ：辞書情報（外部データ）を参照するためのルール（「Dic」と表記される）。
ルールＦ：抽出情報を初期化するためのルール（「SetValue」と表記される）。
【００３３】
ここで、上記ルールＡ〜Ｆを用いて記述された抽出ルールに従って、形態素解析結果１３から抽出した情報に対し、出力ルール（図４Ａ及び図４Ｂ参照）を用いて最終的に素性として用いる情報や、そのフォーマットを設定するようにしてもよい。
【００３４】
前述したように、言語ごとに着目したい特徴は異なるため、言語別特徴抽出ルール１８は言語別に前記ルールＡ〜Ｆの何れか（少なくとも１つ以上）を用いて記述されるものとする。図４Ａには、言語が英語である場合の言語別特徴抽出ルール１８である、英語用の言語別特徴抽出ルール１８Ａの一例を示す。また、図４Ｂには、言語が日本語である場合の言語別特徴抽出ルール１８である、日本語用の言語別特徴抽出ルール１８Ｂの一例を示す。
【００３５】
言語特徴抽出処理では、形態素解析結果１３に含まれる単語表記（％ｆｏｒｍ）や品詞（％ｐｏｓ）を活用し、これを元に文字列処理や辞書引きを行うことを想定している。図４Ａ及び図４Ｂに示す言語特徴抽出ルールは、言語特徴抽出部１４で実施する言語特徴抽出処理を概念的に表したものであり、この表現方法は任意の形式でよく、またプログラム上はこの表現から正規表現に基づく文字列検索や、％ｆｏｒｍの値による辞書検索などの処理に変換して実施するものとする。
【００３６】
以上のように、共通化したルールの集合を定義しておくことで、対象とする各言語の特徴に応じてルールの集合からルールを選択し、処理対象言語に合わせた具体的な言語特徴抽出ルールの定義を行うことができる。また、最終的に素性として出力する際の出力ルールにおいて、各素性を出力するか否かの定義や、出力フォーマットの指定（素性間の区切り文字を”／”とする、等）を記述可能にすることで、各言語の素性、及びその種類数のコントロールや、書式の統一を容易に設定できる。
【００３７】
このように、考慮すべき素性の設計や管理が自由・柔軟・容易に行えて、かつ統一性のある素性抽出結果が出力できる仕組みを導入することで、言語ごとに考慮すべき特徴の違いをうまく吸収し、後段の固有表現抽出部１６における処理の共通化を実現することが可能となる。
【００３８】
まず、図４Ａに例示した、英語用の言語別特徴抽出ルール１８Ａについて詳細に説明する。
【００３９】
言語別特徴抽出ルール１８Ａの抽出ルール１〜５は上記のルールＡを用いて記述される。抽出ルール１〜５において「Substr」は、「Substr=target,key,開始バイト位置,バイト数」で表現される。
【００４０】
抽出ルール１の場合、target（ここでは単語表記％ｆｏｒｍ）に対して開始バイト位置（０バイト目）からバイト数（１バイト分）を部分文字列として取り出し、ｋｅｙ（ここでは％ｐｒｅ１）に記憶することを意味する。例えば、「ＮＴＴ」という表記の場合、抽出ルール１によれば、「Ｎ」という部分文字列が取り出されて、％ｐｒｅ１に格納される。抽出ルール２の場合、先頭から２バイト分取り出され、％ｐｒｅ２＝ＮＴとなる。
【００４１】
一方、抽出ルール３〜５の場合では、開始バイト位置が−１（＝末尾）となり、そこから、１バイト分、２バイト分、及び３バイト分が各々取り出されて、それぞれ％ｓｕｆ１、％ｓｕｆ２、及び％ｓｕｆ３に格納される。例えば「playing」という表記であれば、％ｓｕｆ１＝ｇ、％ｓｕｆｓ２＝ｎｇ、％ｓｕｆｓ２＝ｉｎｇが各々格納される。このように、抽出ルール１〜５により、単語表記の任意の箇所の部分文字列を取り出すことができる。
【００４２】
なお、この例では単語の先頭または末尾からの数文字に着目する抽出ルールとしたが、言語の特徴によっては、単語の両端ではなく中央部分に着目する抽出ルールを設計しても良い。いずれにしても、単語全体の表記ではなく、一部の文字列に着目する抽出ルールが設定できることが重要である。
【００４３】
また、言語別特徴抽出ルール１８Ａの抽出ルール６は上記のルールＦを用いて記述される。抽出ルール６において「SetValue」は、「SetValue=key,value」で表現されｋｅｙに対してｖａｌｕｅを設定する。
【００４４】
抽出ルール６では、単語タイプを表すｋｅｙとして％ｔｙｐｅに＜ｅｌｓｅ＞を設定する。
【００４５】
また、言語別特徴抽出ルール１８Ａの抽出ルール７〜１０は、上記のルールＣを用いて記述される。抽出ルール７〜１０において「RegexMatch」は、「RegexMatch=target,条件,key,value」で表現され、ｔａｒｇｅｔが条件にマッチした場合にｋｅｙに対してｖａｌｕｅを設定する。抽出ルール７の場合、単語表記（％ｆｏｒｍ）に小文字の英字だけが含まれる場合は、％ｔｙｐｅに＜ａｌｐｈａ＞を設定する。抽出ルール８〜１０の場合では、各々、大文字の英字だけが含まれれば％ｔｙｐｅに＜ＡＬＰＨＡ＞、先頭だけ大文字でそれ以降小文字であれば％ｔｙｐｅに＜Ａｌｐｈａ＞、数字が含まれれば％ｔｙｐｅに＜ＮＵＭ＞を設定する。
【００４６】
抽出ルール６〜１０により、単語に含まれる文字に応じて、＜ａｌｐｈａ＞、＜ＡＬＰＨＡ＞、＜Ａｌｐｈａ＞、＜ＮＵＭ＞、及び＜ｅｌｓｅ＞の５種類の分類ができる。
【００４７】
また、言語別特徴抽出ルール１８Ａの抽出ルール１１は上記のルールＤを用いて記述される。抽出ルール１１において「IsContain」は、「IsContain=target,条件,key,value1,value2」で表現され、ｔａｒｇｅｔが条件に指定する文字を含む場合にｋｅｙにｖａｌｕｅ１を設定し、含まなければｖａｌｕｅ２を設定する。
【００４８】
抽出ルール１１の場合では、単語表記（％ｆｏｒｍ）にハイフン「−」が含まれる場合は、％ｈｙｐｈｅｎに「１」を設定し、そうでない場合は「０」を設定する。この抽出ルールにより、形態素解析結果に特定の文字が含まれるか否かを特徴として検知することができる。例えば、「mid-December」、「al-Jazeera」、及び「late-Qing」などのようにハイフン「−」を含んで複合語のようになる英語表現は数多くある。このような複合語は、組み合わせの種類が膨大にあるため、全ての出現パタンが学習データに存在することは期待できない。そのため、ハイフンの有無という特徴をとらえておくことで、多様なバリエーションの複合語の出現を抽象化してとらえておくことができると期待される。
【００４９】
また、言語別特徴抽出ルール１８Ａの抽出ルール１２は上記のルールＥを用いて記述される。抽出ルール１２において「Dic」は、「Dic=辞書パス,target,value,照合タイプ」で表現され、辞書パスで提示される辞書に対して、ｔａｒｇｅｔをｋｅｙとして指定する照合タイプで辞書検索し、辞書登録情報をｖａｌｕｅに格納する。
【００５０】
抽出ルール１２の場合では、／ｐａｔｈ／ｄｉｃの辞書に対して、単語表記％ｆｏｒｍをｋｅｙとして最長一致の照合（ＬＯＮＧＥＳＴ）で辞書検索し、辞書中に照合するものがあれば、その辞書登録情報を％ｄｉｃ＿ｖａｌに格納する。この抽出ルールにより、形態素解析結果から何かしらの外部情報源を参照し、そこに含まれる情報を特徴として取り出すことができる。
【００５１】
次に、図４Ｂに例示した、日本語用の言語別特徴抽出ルール１８Ｂについて詳細に説明する。
【００５２】
言語別特徴抽出ルール１８Ｂの抽出ルール１３は上記のルールＢを用いて記述される。抽出ルール１３において「RegexReplace」は、「Regreplace=置き換え先、置き換え元、条件」で表現され、置き換え元に対して条件を適用し置き換え先に格納する。
【００５３】
抽出ルール１３の場合では、品詞（％ｐｏｓ）に対して、「：」の直前までの範囲だけを取り出して改めて品詞（％ｐｏｓ）に置き換えることになり、例えば「動詞：サ変」という名詞であった場合は「動詞」だけが品詞として置き換わる。
【００５４】
以上のようにして、言語別特徴抽出ルール１８を持つことにより、例えば英語に対しては単語表記から注目したい範囲の文字列を取り出したり、大文字や小文字の使われ方の違いを単語タイプとして取り出したり、特定の文字が含まれるか否か、更には外部の辞書を参照してその辞書に含まれる情報を特徴として活用したり、といった特徴抽出処理が可能となる。
【００５５】
上述したように言語別特徴抽出ルール１８は、上述したように、上記（Ｉ）〜（III）を実現するものである。英語や多くのヨーロッパ言語は、活用語尾や格変化や、大文字小文字等、単語内の一部の変化で語の役割を変える特徴があるため、上記（Ｉ）及び（III）が用いられ、特に（Ｉ）が重要である。一方、日本語、中国語、及び韓国語などは、減速、単語の内部での語形変化がないため、上記（III）のみが用いられる。なお、言語全般について、もし上記（II）が得られる状況ならば、（II）についても追加すると良い。言語別特徴抽出ルール１８は、このような、大枠のとらえ方で多くの言語を共通的に扱う仕組みをとるものである。
【００５６】
一方、例えば日本語では、原則、形態素解析部１２における形態素解析処理で得られた情報（表記、品詞、及び原型）だけを使うという想定で、品詞だけは先頭の品詞（一番メインとなる主品詞）だけを使う、といった変換だけを行った後、出力ルールを用いて必要最低限の素性のみ抽出する、ということが可能となる。
【００５７】
言語特徴抽出部１４では、抽出された素性を言語特徴抽出結果１５として出力する。図５Ａには、入力文９Ａの形態素解析結果１３Ａに対して、図４Ａに例示した言語別特徴抽出ルール１８Ａ（抽出ルール１〜１２、出力ルール）に基づいて、抽出された素性を形態素単位で出力した結果を示す。また、図５Ｂには、入力文９Ｂの形態素解析結果１３Ｂに対して、図４Ｂに例示した言語別特徴抽出ルール１８Ｂ（抽出ルール１３、出力ルール）に基づいて、抽出された素性を形態素単位で出力した結果を示す。
【００５８】
ここで、前述したように、入力された形態素解析結果１３、及び抽出した素性の全てを固有表現抽出に利用しなくてもよい。図５Ａ及び図５Ｂの例では、各々図４Ａ及び図４Ｂに例示した言語別特徴抽出ルール１８Ａ、１８Ｂに出力ルールとして定義された素性のみを最終的な素性として出力しており、例えば形態素解析結果１３で得られる情報（表記、品詞、及び原型）のうち、原型の情報は出力していない。
【００５９】
なおここで示した抽出ルール１〜１３は、単語内の部分的な文字、大文字小文字の状況など文字種による単語タイプ、及び特定の文字を含むなど、表記の文字の特徴を捉えることを想定したものである。また、品詞情報の一部や、表記から外部辞書に照合して情報を取得するものである。これらは、形態素解析部１２による形態素解析処理で得られる一般的な形態素情報、すなわち、表記、品詞、及び原型といった形態素辞書情報を元にして、部分文字列のように一部を取り出したり、単語タイプのように別の観点で置き換えたりして、言語の特徴を抽出する抽出ルールとなる。このように形態素情報を元にして別の観点での特徴を捉える抽出ルールであれば、ここに例示した具体的な抽出ルール１〜１３だけにとどまらず、色々な抽出ルールを設定してよい。いずれにしても、言語別に注目したい特徴は異なるため、それぞれの言語に見合った特徴を抽出できる抽出ルールを言語別特徴抽出ルール１８として設定し、言語特徴抽出部１４が利用する。これにより、言語別の違いを言語別特徴抽出ルール１８の中で吸収することができる。
【００６０】
固有表現抽出部１６には、言語特徴抽出部１４から出力された言語特徴抽出結果１５が入力される。固有表現抽出部１６は、固有表現抽出処理を実行し、抽出した固有表現１９を、固有表現の抽出装置１０の外部に出力する。
【００６１】
固有表現抽出部１６が用いる固有表現抽出技術としては、既存の技術を使うことができる。
【００６２】
固有表現抽出処理で抽出対象とする固有表現の代表的な例としては、日本語の固有表現抽出技術のワークショップ（略称ＩＲＥＸ）で定義されている人名、地名、組織名、金額、日付、時間、割合、及び固有物名の８種類がある。これらの固有表現の種類をそれぞれ、＜ＰＳＮ＞、＜ＬＯＣ＞、＜ＯＲＧ＞、＜ＭＮＹ＞、＜ＤＡＴ＞、＜ＴＩＭ＞、＜ＰＣＴ＞、及び＜ＡＲＴ＞で表される。本実施形態の固有表現抽出部１６では、固有表現の種類として上記８種類の他、さらに、実際には固有表現でない形態素を固有表現の一種類として表すために＜ＮＩＬ＞を追加した、９種類を抽出する固有表現の種類としている。
【００６３】
各固有表現は少なくとも１つの形態素から構成されることを考慮し、固有表現の冒頭の形態素とそれ以外の形態素とを識別するために、固有表現の種類に、さらに固有表現の冒頭の形態素であることを表す「Ｂ−」、及び固有表現の途中の形態素であることを表す「Ｉ−」で表す。なお、「ＮＩＬ」については当該識別を行わない。
【００６４】
統計モデルである固有表現抽出モデル１７に基づく固有表現抽出処理では、形態素解析結果１３である形態素列に対して固有表現のラベル列が最も確率最大となるように統計モデルを用いて導出する。通常の固有表現抽出処理では、形態素列としては、形態素解析結果１３そのもの、すなわち表記、品詞、及び原型などのみを対象とするが、本実施形態では、言語特徴抽出部１４にて得られた素性を併せ持つ形態素列（言語特徴抽出結果１５）を活用できる。従って、本実施形態の固有表現の抽出装置１０によれば、従来技術と比較して、より豊富な言語特徴を使った固有表現抽出処理を実現できる。
【００６５】
なお、固有表現抽出モデル１７の学習アルゴリズムとしては、既存の機械学習アルゴリズムであるサポートベクタマシン（ＳＶＭ：Support Vector Machine）や条件付き確率場（ＣＲＦ：Conditional Random Field）などを用いればよい。入力文９の言語として想定される複数の言語に共通の機械学習アルゴリズムを用い、言語特徴抽出結果１５を入力として、固有表現抽出結果を出力するように予め学習済みの言語別の固有表現抽出モデル１７を構築しておく。例えば、言語毎に、当該言語の文について得られる言語特徴抽出結果１５と、予め与えられた固有表現抽出結果との組み合わせである複数の学習データを用いて、言語に共通の機械学習アルゴリズムにより、当該言語の固有表現抽出モデル１７を学習する。その際、英語のように多様な言語特徴を考慮する場合、通常の表記や品詞のみを対象としたときの素性より大幅に素性の個数が増えることが予想される。素性の個数はモデルサイズに直結し、モデルサイズが大きくなりすぎると、実行するコンピュータのディスク容量を逼迫することも懸念される。その場合は、学習時に、素性の出現頻度が低いもの（たとえば出現回数が５回以下）を削除したり、素性の組合せで考慮するときの前後の形態素数（一般にウインドウサイズと呼ばれるもの）を狭めたり、複数の素性の組み合わせは考慮しない、など、素性の個数を抑える策をとり、解析精度とモデルサイズの関係を調査しながら最適の素性パタンを設定することも重要である。上記の出力ルールを用いることで、各言語の素性の数、及びその種類の数等のコントロールを容易に行うことができる。
【００６６】
図６Ａには、入力文９Ａに対応する言語特徴抽出結果１５Ａに基づき、固有表現抽出部１６が固有表現抽出処理を行った結果出力される、固有表現１９Ａの一例を示す。また、図６Ｂには、入力文９Ｂに対応する言語特徴抽出結果１５Ｂに基づき、固有表現抽出部１６が固有表現抽出処理を行った結果出力される、固有表現１９Ｂの一例を示す。
【００６７】
＜本実施形態の固有表現の抽出装置の作用＞
次に、本実施形態の固有表現の抽出装置１０の作用について説明する。固有表現の抽出装置１０は、入力文９が入力されると、図７に一例を示す固有表現抽出処理ルーチンを実行する。
【００６８】
まず、図７に示すようにステップＳ１００で形態素解析部１２は、上述したように、入力された入力文９に対して形態素解析処理を行い、形態素解析結果１３を出力する。形態素解析部１２から出力された形態素解析結果１３は、言語特徴抽出部１４に入力される。
【００６９】
次のステップＳ１０２で言語特徴抽出部１４は、上述したように、入力された形態素解析結果１３に対し、言語別特徴抽出ルール１８を参照しながら、素性を抽出する言語特徴処理を実行し、抽出した素性を付与した言語特徴抽出結果１５を出力する。本実施形態の言語特徴抽出部１４は、言語特徴処理を実行する際、上述したように、入力文９の言語に応じたルールを用いて記述される言語別特徴抽出ルール１８を参照する。言語特徴抽出部１４から出力された言語特徴抽出結果１５は、固有表現抽出部１６に入力される。
【００７０】
次のステップＳ１０４で固有表現抽出部１６が、上述したように、固有表現抽出処理を実行し、抽出した固有表現１９を、固有表現の抽出装置１０の外部に出力した後、本固有表現抽出処理を終了する。本実施形態の固有表現抽出部１６は、上述したように、入力文９の言語として想定される複数の言語に共通の機械学習アルゴリズムを用い、言語特徴抽出結果１５を入力として、固有表現を出力するように予め学習済みの言語別の固有表現抽出モデル１７を適用した、上記言語に応じた固有表現抽出処理を実行する。
【００７１】
以上説明したように、本実施形態の言語特徴の抽出装置１１は、複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルール１８とし、複数の対象言語の各々に対し、言語別特徴抽出ルール１８を定義し、入力文９の形態素解析結果１２に対し、入力文９の言語に対して定義され、かつ形態素解析結果１２に含まれる表記又は品詞に関する素性を抽出するための言語別特徴抽出ルール１８を参照して、言語に応じた素性を抽出し、言語特徴抽出結果１５として出力する言語特徴抽出部１４を備える。
【００７２】
また、本実施形態の固有表現の抽出装置１０は、複数の言語に共通した抽象ルールの集合から、対象言語の特徴に応じた抽象ルールを選択し、対象言語に合わせた具体的な素性の抽出方法、及び出力条件として定義したものを言語別特徴抽出ルール１８とし、複数の対象言語の各々に対し、言語別特徴抽出ルール１８を定義し、入力文９の形態素解析結果１２に対し、入力文９の言語に対して定義され、かつ形態素解析結果１２に含まれる表記又は品詞に関する素性を抽出するための言語別特徴抽出ルール１８を参照して、言語に応じた素性を抽出し、言語特徴抽出結果１５として出力する言語特徴抽出部１４と、複数の対象言語に共通の機械学習アルゴリズムを用い、複数の対象言語ごとに、言語特徴抽出結果１５を入力として、固有表現抽出結果を出力するように予め学習済みの言語別の固有表現抽出モデル１７と、言語特徴抽出部１４から出力された言語特徴抽出結果１５を入力として、入力文９の言語に対応する固有表現抽出モデル１７を用いて、固有表現抽出処理を実行し、抽出した固有表現を出力する固有表現抽出部１６と、を備える。
【００７３】
このように、本実施形態の固有表現の抽出装置１０では、着目する言語特徴が言語ごとに異なる場合でも、その特徴の差異を言語別特徴抽出ルール１８で表現することで、処理系としては言語共通のシステムで複数の言語を扱う多言語固有表現抽出が実現できる。
【００７４】
従って、本実施形態の固有表現の抽出装置１０によれば、言語ごとに考慮すべき特徴の違いをうまく吸収し、処理系としては共通の固有表現抽出を実現することができる。
【００７５】
なお、本実施形態では、予め処理対象の言語が何であるかは分かっている前提とする。処理対象となる言語にあわせて、抽出ルールと固有表現抽出モデル１７を対象言語のものに切り替えるものとする。本開示と組み合わせて言語識別技術を用いることで、言語識別結果に応じた言語の抽出ルールと固有表現抽出モデル１７に自動で切り替えるシステムを実現することも可能となる。
【００７６】
なお、本実施形態は一例であり、具体的な構成は本実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれ、状況に応じて変更可能であることは言うまでもない。
【００７７】
例えば、本実施形態では、言語別特徴抽出ルール１８を固有表現の抽出装置１０が備える形態について説明したが、言語別特徴抽出ルール１８の一部または全部が、固有表現の抽出装置１０の外部に備えられていてもよい。
【００７８】
また、本実施形態では、固有表現の抽出を例として説明を行ったが、本開示の技術は、固有表現の抽出以外のタスクにも適用可能である。例えば、形態素解析結果から単語の表記や品詞に着目した素性を抽出し、機械学習モデルにより推定や判別を行うようなタスク（例えば専門用語抽出、用語の同義性判定／多義解消など）であれば限定されず、どのような形態にも適用可能である。
【００７９】
本実施形態の固有表現の抽出装置１０は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷ（World Wide Web）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００８０】
また、本実施形態では、上記プログラムが予めインストールされている形態について説明したが、当該プログラムを、コンピュータが読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００８１】
９、９Ａ、９Ｂ  入力文
１０  固有表現の抽出装置
１１  言語特徴の抽出装置
１２  形態素解析部
１３、１３Ａ、１３Ｂ  形態素解析結果
１４  言語特徴抽出部
１５、１５Ａ、１５Ｂ  言語特徴抽出結果
１６  固有表現抽出部
１７  固有表現抽出モデル
１８、１８Ａ、１８Ｂ  言語別特徴抽出ルール
１９、１９Ａ、１９Ｂ  固有表現
【図１】
2019191900.tif 000003
【図２Ａ】
2019191900.tif 000004
【図２Ｂ】
2019191900.tif 000005
【図３Ａ】
2019191900.tif 000006
【図３Ｂ】
2019191900.tif 000007
【図４Ａ】
2019191900.tif 000008
【図４Ｂ】
2019191900.tif 000009
【図５Ａ】
2019191900.tif 000010
【図５Ｂ】
2019191900.tif 000011
【図６Ａ】
2019191900.tif 000012
【図６Ｂ】
2019191900.tif 000013
【図７】
2019191900.tif 000014