(57)【要約】【課題】トークンの共起語が類似するが、用法によっては意味が類似しないトークンの意味を表す意味情報を分類する意味情報分類プログラム及び情報処理装置を提供する。【解決手段】情報処理装置１は、大規模データ１１１の文のそれぞれに含まれるトークンを解析する形態素解析手段１００と、解析結果に基づいて文のそれぞれに付与されるラベルを多値分類により推定するラベル推定手段１０１と、ラベルに共起する頻度の高いトークンを関連語とし、ラベルとの組み合わせて意味情報データ１１２を生成する意味情報生成手段１０２と、意味情報データ１１２に基づいてラベルをクラスタリングし意味クラスタ１１３を生成する意味クラスタ生成手段１０３と、用法によって互いに置換できないラベルを削除するとともに、用法によって置換できるラベルを他のクラスタから追加して意味クラスタ１１３を更新する意味クラスタ更新手段１０４とを有する。【選択図】図１
2015111350.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
複数の文のそれぞれに含まれるトークンに基づいて、前記複数の文のそれぞれに付与されるラベルを多値分類により推定するラベル推定手段と、
前記ラベルが付与された前記複数の文に含まれるトークンに基づいて、前記ラベルに共起する頻度の高いトークンを関連語とし、前記ラベルと当該関連語との組み合わせである意味情報を生成する意味情報生成手段と、
前記意味情報の関連語に基づいて前記ラベルをクラスタリングし、複数のラベルが所属する意味クラスタを生成するクラスタ生成手段と、
前記複数の文に含まれる一の文において、前記意味クラスタに所属する一のラベルの元となるトークンと、他のラベルの元となるトークンとを置換し、当該置換したトークンのラベルを推定し、推定したラベルに基づき当該他のラベルを前記意味クラスタから削除又は前記意味クラスタに追加して更新するクラスタ更新手段として機能させるための意味情報分類プログラム。
【請求項２】
前記クラスタ更新手段は、前記複数の文に含まれる一の文において、前記他のラベルの元となるトークンで前記一のラベルの元となるトークンを置換し、置換したトークンのラベルを推定し、確信度の高いラベルを推定ラベルとして当該推定ラベルが、置換前のトークンのラベルが所属する意味クラスタに所属しない場合に、前記他のラベルを削除して更新する請求項１に記載の意味情報分類プログラム。
【請求項３】
前記クラスタ更新手段は、前記他のラベルの所属する意味クラスタのそれぞれから当該他のラベルを除くラベルを無作為に取得し、前記複数の文に含まれる一の文において、取得したラベルの元となるトークンで前記一のラベルの元となるトークンを置換し、置換したトークンのラベルを推定し、確信度の高いラベルを推定ラベルとして当該推定ラベルが、前記置換前のトークンの推定ラベルと一致する割合が予め定めた値以上である場合、異なる意味クラスタに属する前記他のラベルを前記意味クラスタに追加して更新する請求項１に記載の意味情報分類プログラム。
【請求項４】
複数の文のそれぞれに含まれるトークンに基づいて、前記複数の文のそれぞれに付与されるラベルを多値分類により推定するラベル推定手段と、
前記ラベルが付与された前記複数の文に含まれるトークンに基づいて、前記ラベルに共起する頻度の高いトークンを関連語とし、前記ラベルと当該関連語との組み合わせである意味情報を生成する意味情報生成手段と、
前記意味情報の関連語に基づいて前記ラベルをクラスタリングし、複数のラベルが所属する意味クラスタを生成するクラスタ生成手段と、
前記複数の文に含まれる一の文において、前記意味クラスタに所属する一のラベルの元となるトークンと、他のラベルの元となるトークンとを置換し、当該置換したトークンのラベルを推定し、推定したラベルに基づき当該他のラベルを前記意味クラスタから削除又は前記意味クラスタに追加して更新するクラスタ更新手段とを有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、意味情報分類プログラム及び情報処理装置に関する。
【背景技術】
【０００２】
従来の技術として、単語と単語の特定の文脈における共起頻度に基づいて単語の意味を分類する情報処理装置が提案されている（例えば、特許文献１参照）。
【０００３】
特許文献１に開示された情報処理装置は、単語と単語の特定の文脈における共起頻度に基づいてベクトルを作成して、クラスタリングを実施し、２つのクラスタを統合する前後でＭＤＬ（Ｍｉｎｉｍｕｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌｅｎｇｔｈ）基準における全体の記述長が減少する場合に当該２つのクラスタを統合する。つまり、同じクラスタに分類された単語は同一の意味を有する単語であるとして分類される。これは単語の共起語が類似する場合は単語の意味が類似するという前提に基づくものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１４３８７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、トークン（形態素又は文字列）の共起語が類似するが、用法によっては意味が類似しないトークンの意味を表す意味情報を分類する意味情報分類プログラム及び情報処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様は、上記目的を達成するため、以下の意味情報分類プログラム及び情報処理装置を提供する。
【０００７】
［１］コンピュータを、
複数の文のそれぞれに含まれるトークンに基づいて、前記複数の文のそれぞれに付与されるラベルを多値分類により推定するラベル推定手段と、
前記ラベルが付与された前記複数の文に含まれるトークンに基づいて、前記ラベルに共起する頻度の高いトークンを関連語とし、前記ラベルと当該関連語との組み合わせである意味情報を生成する意味情報生成手段と、
前記意味情報の関連語に基づいて前記ラベルをクラスタリングし、複数のラベルが所属する意味クラスタを生成するクラスタ生成手段と、
前記複数の文に含まれる一の文において、前記意味クラスタに所属する一のラベルの元となるトークンと、他のラベルの元となるトークンとを置換し、当該置換したトークンのラベルを推定し、推定したラベルに基づき当該他のラベルを前記意味クラスタから削除又は前記意味クラスタに追加して更新するクラスタ更新手段として機能させるための意味情報分類プログラム。
【０００８】
［２］前記クラスタ更新手段は、前記複数の文に含まれる一の文において、前記他のラベルの元となるトークンで前記一のラベルの元となるトークンを置換し、置換したトークンのラベルを推定し、確信度の高いラベルを推定ラベルとして当該推定ラベルが、置換前のトークンのラベルが所属する意味クラスタに所属しない場合に、前記他のラベルを削除して更新する前記［１］に記載の意味情報分類プログラム。
【０００９】
［３］前記クラスタ更新手段は、前記他のラベルの所属する意味クラスタのそれぞれから当該他のラベルを除くラベルを無作為に取得し、前記複数の文に含まれる一の文において、取得したラベルの元となるトークンで前記一のラベルの元となるトークンを置換し、置換したトークンのラベルを推定し、確信度の高いラベルを推定ラベルとして当該推定ラベルが、前記置換前のトークンの推定ラベルと一致する割合が予め定めた値以上である場合、異なる意味クラスタに属する前記他のラベルを前記意味クラスタに追加して更新する前記［１］に記載の意味情報分類プログラム。
【００１０】
［４］複数の文のそれぞれに含まれるトークンに基づいて、前記複数の文のそれぞれに付与されるラベルを多値分類により推定するラベル推定手段と、
前記ラベルが付与された前記複数の文に含まれるトークンに基づいて、前記ラベルに共起する頻度の高いトークンを関連語とし、前記ラベルと当該関連語との組み合わせである意味情報を生成する意味情報生成手段と、
前記意味情報の関連語に基づいて前記ラベルをクラスタリングし、複数のラベルが所属する意味クラスタを生成するクラスタ生成手段と、
前記複数の文に含まれる一の文において、前記意味クラスタに所属する一のラベルの元となるトークンと、他のラベルの元となるトークンとを置換し、当該置換したトークンのラベルを推定し、推定したラベルに基づき当該他のラベルを前記意味クラスタから削除又は前記意味クラスタに追加して更新するクラスタ更新手段とを有する情報処理装置。
【発明の効果】
【００１１】
請求項１又は４に係る発明によれば、トークン（形態素又は文字列）の共起語が類似するが、用法によっては意味が類似しないトークンの意味を表す意味情報を分類することができる。
【００１２】
請求項２に係る発明によれば、他のラベルの元となるトークンで一のラベルの元となるトークンを置換した場合に意味が類似しない場合、他のラベルを削除することができる。
【００１３】
請求項３に係る発明によれば、他のラベルの元となるトークンで一のラベルの元となるトークンを置換した場合に意味が類似する場合、他のラベルを追加することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、情報処理装置の構成の一例を示すブロック図である。
【図２】図２（ａ）及び（ｂ）は、形態素解析手段の動作例を説明するための図である。
【図３】図３は、ラベル推定手段の動作例を説明するための図である。
【図４Ａ】図４Ａは、ラベル推定手段の他の動作例を説明するための図である。
【図４Ｂ】図４Ｂは、ラベル推定手段の動作の変形例を説明するための図である。
【図５Ａ】図５Ａは、意味情報生成手段の動作例を説明するための図である。
【図５Ｂ】図５Ｂは、意味情報生成手段の動作の変形例を説明するための図である。
【図６】図６（ａ）及び（ｂ）は、意味クラスタ生成手段の動作例を説明するための図である。
【図７】図７は、意味クラスタの具体例を示す図である。
【図８】図８は、意味クラスタ更新手段の動作例を説明するための図である。
【図９】図９（ａ）及び（ｂ）は、意味クラスタ更新動作を説明するための図である。
【図１０】図１０（ａ）及び（ｂ）は、意味クラスタ更新動作を説明するための図である。
【図１１】図１１（ａ）及び（ｂ）は意味クラスタ更新動作を説明するための図である。
【図１２】図１２（ａ）及び（ｂ）は、ラベル削除動作の一例を説明するための図である。
【図１３】図１３（ａ）−（ｃ）は、ラベル削除動作の一例を説明するための図である。
【図１４】図１４（ａ）−（ｃ）は、ラベル削除動作の他の例を説明するための図である。
【図１５】図１５（ａ）−（ｃ）は、ラベル削除動作の他の例を説明するための図である。
【図１６】図１６は、ラベル削除動作の試行結果を示す概略図である。
【図１７】図１７（ａ）及び（ｂ）は、ラベル追加動作の一例を説明するための図である。
【図１８】図１８（ａ）−（ｃ）は、ラベル追加動作の一例を説明するための図である。
【図１９】図１９（ａ）及び（ｂ）は、ラベル追加動作の一例を説明するための図である。
【図２０】図２０は、ラベル追加動作の他の例を説明するための図である。
【図２１】図２１は、情報処理装置の動作の概要を説明するためのフローチャートである。
【図２２】図２２は、意味クラスタ更新手段の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
［実施の形態］
（情報処理装置の構成）
図１は、情報処理装置１の構成の一例を示すブロック図である。
【００１６】
この情報処理装置１は、複数の文を有する大規模データから抽出される形態素又は文字列（以下、「トークン」という。）について、当該トークンの共起語（関連語）に基づいてトークンの意味を表す意味情報を生成し、当該意味情報の共起語に基づいて意味が類似する意味情報を同一クラスタに分類し、さらに用法によっては意味が異なり互いに置換できないトークンの意味情報をクラスタから削除し、他のクラスタに所属していても互いに置換できるトークンの意味情報をクラスタに追加して分類するものである。
【００１７】
情報処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等から構成され各部を制御するとともに各種のプログラムを実行する制御部１０と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やフラッシュメモリ等の記録媒体から構成され情報を記憶する記憶装置の一例としての記憶部１１と、外部のデータベース等と図示しないネットワークを介して接続される通信部１２とを備える。
【００１８】
制御部１０は、後述する意味情報分類プログラム１１０を実行することで、形態素解析手段１００、ラベル推定手段１０１、意味情報生成手段１０２、意味クラスタ生成手段１０３及び意味クラスタ更新手段１０４等として機能する。
【００１９】
形態素解析手段１００は、大規模データ１１１に含まれるデータを、例えば、文を単位としてそれぞれ形態素解析して、文をトークンの組み合わせに置き換える。
【００２０】
ラベル推定手段１０１は、それぞれの文に含まれるトークンに基づいてそれぞれの文にラベルを付与し、各ラベルを多値分類する。
【００２１】
意味情報生成手段１０２は、ラベル推定手段１０１の多値分類の結果に基づいて各ラベルに対して共起するスコアの高いトークンを関連語とし、ラベルと関連語の組み合わせである意味情報データ１１２を生成する。
【００２２】
意味クラスタ生成手段１０３は、意味情報データ１１２に基づいて関連語が類似するラベル同士を、意味の類似するラベルの集合としてクラスタリングして意味クラスタ１１３を生成する。
【００２３】
意味クラスタ更新手段１０４は、同じクラスタに属するラベルであっても、用法によって置換できないラベルを削除するとともに、異なるクラスタに属するが用法によって置換できるラベルを追加して意味クラスタ１１３を更新する。
【００２４】
記憶部１１は、意味情報分類プログラム１１０、大規模データ１１１、意味情報データ１１２及び意味クラスタ１１３等を格納する。
【００２５】
意味情報分類プログラム１１０は、制御部１０で実行することにより制御部１０を上記した各手段１００〜１０４として機能させるプログラムである。
【００２６】
大規模データ１１１は、一例として、日本語であって文又は文書の集合である。文は、電子メールでやりとりされるテキスト情報や、複数の利用者によって文字情報が投稿されるマイクロブログ（Ｍｉｃｒｏｂｌｏｇ）、音声をテキスト化した情報や、印刷された紙面を光学走査して得られる情報等である。なお、大規模データ１１１は、日本語に限らず他の言語を用いてもよい。なお、大規模データ１１１は、外部から取得する構成であってもよい。
【００２７】
なお、情報処理装置１は、例えば、サーバ装置やパーソナルコンピュータであり、携帯電話等や携帯情報処理端末を用いることができる。
【００２８】
（情報処理装置の動作）
次に、本実施の形態の作用を、（１）動作の概要、（２）意味クラスタ更新動作に分けて説明する。
【００２９】
（１）動作の概要
図２１は、情報処理装置１の動作の概要を説明するためのフローチャートである。図２（ａ）及び（ｂ）は、形態素解析手段１００の動作例を説明するための図である。
【００３０】
まず、形態素解析手段１００は、大規模データ１１１から文を順次取得する（Ｓ１）。図２（ａ）に示すように、「プログラムを走らせる」という文１１１ａを取得した場合について説明する。
【００３１】
次に、取得した文１１１ａをそれぞれ形態素解析して文をトークンの組み合わせに置き換える（Ｓ２）。図２（ｂ）に示すように、「プログラム」というトークン１００ａ１、「を」というトークン１００ａ２、「走る」というトークン１００ａ３、「せる」というトークン１００ａ４の組み合わせ１００ａに置き換える。
【００３２】
図３は、ラベル推定手段１０１の動作例を説明するための図である。
【００３３】
次に、ラベル推定手段１０１は、それぞれの文に含まれるトークンに基づいてそれぞれのトークンの組み合わせにラベルを付与する（Ｓ３）。図３に示す例では、組み合わせ１００ａに含まれるトークン１００ａ１に基づいてラベル１０１ａ１１、１０１ａ１２…が付与され、トークン１００ａ２に基づいてラベル１０１ａ２１が付与され、トークン１００ａ３に基づいてラベル１０１ａ３１、１０１ａ３２…が付与され、トークン１００ａ４に基づいてラベル１０１ａ４１が付与される。ここで、特定の品詞（動詞、名詞、形容詞、副詞等）にはラベルを５つ付け、それ以外（助詞、助動詞等）にはラベルを１つ付けている。なお、以下においてラベル１０１ａ１１、１０１ａ１２…、ラベル１０１ａ２１、ラベル１０１ａ３１、１０１ａ３２…等を「ラベル１０１ａ」と総称する場合もある。
【００３４】
なお、ラベル推定手段１０１は、特定の品詞（動詞、名詞、形容詞、副詞等）にのみラベル１０１ａを付与して、その他には付与しないようにしてもよい。
【００３５】
図４Ａは、ラベル推定手段１０１の多値分類の動作例を説明するための図である。
【００３６】
次に、ラベル推定手段１０１は、各ラベル１０１ａを多値分類する（Ｓ４）。その結果として、図４Ａに示すように各ラベル１０１ａのそれぞれが文１００ａ、１００ｂ…に関連付けられる。つまり、例えば「走る−１」というラベル１０１ａ３１であれば、同様の意味で用いられていると考えられる文１００ａ及び１００ｂに関連付けられる。言い換えれば、ラベルはトークンが複数の意味を持つ場合に、その意味の１つの側面を示すものである。
【００３７】
なお、多値分類のモデルとして、ＰＬＳＩ（Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｌａｔｅｎｔ  Ｓｅｍａｎｔｉｃ  Ｉｎｄｅｘｉｎｇ）、ＬＤＡ（Ｌａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎ）、ＬＬＤＡ（Ｌａｂｅｌｅｄ  Ｌａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎ）、ＰＬＤＡ（Ｐａｒｔｉａｌｌｙ  Ｌａｂｅｌｅｄ  Ｌａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎ）等を用いることができ、以降ではＬＬＤＡを採用した場合について説明する。また、クラスタリング手法や機械学習手法を用いてもよい。
【００３８】
図４Ｂは、ラベル推定手段１０１の多値分類の動作の変形例を説明するための図である。
【００３９】
ラベル推定手段１０１は、ラベル１０１ａの多値分類の変形例として、すべての文に関連付けられる「ＢＧ−１」というラベル１０１ａＢＧを設定してもよい。これにより、後述する意味情報生成手段１０２の動作の変形例において、すべての文において用いられる助詞、助動詞、代名詞等のノイズとなりうるトークンをラベル１０１ａの関連語から排除できる（図５Ｂ参照）。
【００４０】
図５Ａは、意味情報生成手段１０２の動作例を説明するための図である。
【００４１】
次に、意味情報生成手段１０２は、ラベル推定手段１０１の多値分類の結果に基づいて各ラベル１０１ａに共起するスコアの高いトークンを関連語とし、ラベル１０１ａと関連語の組み合わせである意味情報データ１１２を生成する（Ｓ５）。図５Ａに示す意味情報データ１０２ａ３は、意味情報データ１１２のうちラベル１０１ａ３１〜１０１ａ３５についての意味情報データである。例えば、「走る」というトークンが、「走る−１」というラベル１０１ａ３１の意味で用いられる場合、当該ラベル１０１ａ３１が関連づけられている文において出現するトークンを関連語の集合１０１ｂ３１とし、各関連語の出現頻度に基づいて「［］」で示されるスコアが算出される。
【００４２】
なお、「走る」というトークンのラベル１０１ａ３１〜１０１ａ３５において「走る」というトークンがスコア最上位で含まれるのは当然の結果であるため、関連語の集合１０１ｂ３１〜１０１ｂ３５から削除してもよい。
【００４３】
図５Ｂは、意味情報生成手段１０２の動作の変形例を説明するための図である。
【００４４】
なお、意味情報生成手段１０２は、意味情報データ１１２の生成の変形例として、図４Ｂで説明したラベル１０１ａＢＧを用いることで、助詞、助動詞、代名詞等のすべての文で頻繁に用いられるトークン（例えば、「に」、「が」、「を」等）がスコア上位に現れるが、これらはノイズであるため、他のラベル１０１ａ３１〜１０１ａ３５の関連語から削除してもよい。
【００４５】
図６（ａ）及び（ｂ）は、意味クラスタ生成手段１０３の動作例を説明するための図である。
【００４６】
次に、意味クラスタ生成手段１０３は、同義語や上位・下位語、反意語等の意味的に似ているトークンは同じような文脈で用いられることが多いため、意味情報データ１１２に基づいて関連語が類似するラベル１０１ａ同士を、意味の類似するラベルの集合としてクラスタリングして意味クラスタ１１３を生成する（Ｓ６）。クラスタリング手法は、関連語をベクトルに見立てることで行うことができるが、ユークリッド距離等と閾値とを用いて行ってもよいし、ｋ−ｍｅａｎｓやウォード法を用いてもよい。
【００４７】
例えば、図６（ａ）に示すように、「プログラム−１」というラベル１０１ａ１１、「カリキュラム−２」というラベル１０１ａ６２、…は、関連語１０１ｂ１１、１０１ｂ６２、…が類似するため、「プログラム−ｉ」という意味クラスタ１０３ａ１が生成される。なお、意味クラスタ１０３ａ１の関連語１０３ｂ１は、関連語１０１ｂ１１と１０１ｂ６２のスコアを単純に加算したもの又は加算平均をとったものの上位を選択してもよいし、ウォード法を用いてクラスタの距離に基づいて選択してもよい。
【００４８】
また、図６（ｂ）に示すように、「プログラム−３」というラベル１０１ａ１３、「スクリプト−４」というラベル１０１ａ７４、「アップデート−１」というラベル１０１ａ８１、…は、関連語１０１ｂ１３、１０１ｂ７４、１０１ｂ８１…が類似するため、「プログラム−ｉｉｉ」という意味クラスタ１０３ａ３が生成される。なお、以下において意味クラスタ１０３ａ１、１０３ａ２…等を「意味クラスタ１０３ａ」と総称する場合もある。
【００４９】
なお、上記したようにラベルの集合全体でクラスタリングする前に、同じトークンのラベルでクラスタリングしてもよい。例えば、「プログラム」というトークン１００ａ１のラベル１０１ａ１１〜１０１ａ１５である「プログラム−１」〜「プログラム−５」でクラスタリングしてもよい。これは過剰に分割された同じトークンのラベル１０１ａを統合することを目的とするものである。
【００５０】
図７は、意味クラスタ１１３の具体例を示す図である。
【００５１】
上記した意味クラスタ生成手段１０３の動作により、意味クラスタ１０３ａと、ラベル１０１ａとを関連付けた意味クラスタ１１３ａが生成される。
【００５２】
図８は、意味クラスタ更新手段１０４の動作例を説明するための図である。
【００５３】
次に、意味クラスタ更新手段１０４は、同じクラスタに属するラベルであっても、用法によって意味が異なり置換できないラベルを削除し、異なるクラスタに属するが意味が同じで用法によって置換できるラベルを正しいクラスタに追加して意味クラスタ１１３を更新する（Ｓ７）。
【００５４】
例えば、図８に示す例では、関連語１０１ｂ１３、１０１ｂ７４、１０１ｂ８１、１０１ｂ１０４は類似するものの、ラベル１０１ａ１３の「プログラム−３」やラベル１０１ａ７４の「スクリプト−４」はコンピュータに様々な命令を与えるという意味を持つものであるのに対し、ラベル１０１ａ８１の「アップデート−１」はコンピュータに特定の命令のみを与えるという意味を持つものであって意味が異なる。
【００５５】
また、ラベル１０１ａ１０４の「コンピュータ−４」は「コンピュータプログラム」という複合語で用いられる場合はラベル１０１ａ１３の「プログラム−３」やラベル１０１ａ７４の「スクリプト−４」と意味的に類似するが、「コンピュータを実行する」という用いられ方はしないため、用法として置換できないものである。意味クラスタ更新手段１０４は、ラベル１０１ａ８１の「アップデート−１」やラベル１０１ａ１０４の「コンピュータ−４」のようなラベル１０１ａを意味クラスタ１０３ａ３から削除して更新する。なお、削除したラベル１０１ａ８１及びラベル１０１ａ１０４は他の意味クラスタ１０３ａに追加してもよい。
【００５６】
以下に、意味クラスタ１１３を更新する動作について詳細に説明する。
【００５７】
（２）意味クラスタ更新動作
（２−１）更新判定動作
意味クラスタ更新動作では、後述する「（２−２）ラベル削除動作」又は「（２−３）ラベル追加動作」を実行するが、意味クラスタ更新手段１０４はいずれを実行するべきか、まず判定する。
【００５８】
図２２は、意味クラスタ更新手段１０４の動作例を示すフローチャートである。
【００５９】
まず、意味クラスタ更新手段１０４は、大規模データ１１１から文を取得し（Ｓ１０）、それぞれの文を形態素解析手段１００によって形態素解析して、当該文に含まれるトークンのラベルをラベル推定手段１０１によって推定する（Ｓ１１）。なお、大規模データ１１１から複数の文を取得するものとし、大規模データ１１１のすべての文を取得してもよいし、一部を取得するものであってもよい。
【００６０】
以降、意味クラスタ更新動作において推定されるラベルを特に「推定ラベル」と呼ぶ。また、「（１）動作の概要」において作成された意味情報データ１１２のラベルはトークンの意味の１つの側面を表すものであり、以降においても単純に「ラベル」と呼ぶ。
【００６１】
図９（ａ）及び（ｂ）は、意味クラスタ更新動作を説明するための図である。
【００６２】
図９（ａ）に示すように、取得した複数の文に含まれる一の文として、例えば、文１００ｃを取得した場合、当該文には「プログラム」、「を」、「走る」、「せる」が含まれ、「プログラム」というトークン１００ｃ１に着目すると、文１００ｃに含まれる他のトークンとの関係から当該トークン１００ｃ１には「プログラム−３」という推定ラベル１０１ａ１１、「コンピュータ−４」という推定ラベル１０１ａ１０４、…が推定される。
【００６３】
意味クラスタ更新手段１０４は、図９（ａ）に示す推定ラベルのうち確信度が高い推定ラベル１０１ａ１１の所属する意味クラスタ１０３ａ３である「プログラム−ｉｉｉ」と、トークン１００ｃ１のラベル１０１ａ１１〜１０１ａ１５つまり「プログラム−１」〜「プログラム−５」のいずれかが所属する意味クラスタとが一致するか判定する（Ｓ１２）。
【００６４】
なお、確信度が高い推定ラベルとは、確信度が最も高いものであってもよいし、予め定めた閾値（例えば、０．３０）を超えるものであってもよい。また、例えば、確信度が閾値を超えないものであっても、上位複数の推定ラベルの確信度を加算して閾値を超える場合は、上位複数の推定ラベルが同じ意味クラスタに所属するラベルであればこれらをマージして意味クラスタに置き換えて用いてもよい。
【００６５】
図９（ｂ）に示すように、ラベル１０１ａ１３の所属する意味クラスタは「プログラム−ｉｉｉ」の意味クラスタ１０３ａ３であり、一致する（Ｓ１２；Ｙｅｓ）。この場合、「（２−２）ラベル削除動作」（ステップＳ１３−Ｓ１５）へと進む。
【００６６】
これは、トークンの共起語が共通であるために同じクラスタに所属するものの集合であることを示しており、共起語が共通であっても他の用法では互いに置換可能ではない場合があり、そのよう場合に後述する（２−２）ラベル削除動作」において当該ラベルを削除するためである。
【００６７】
なお、「プログラムを走らせる」という文１００ｃにおいて「プログラム」というトークン１００ｃ１について考えたとき、共起するトークンの意味の変化を考慮してもよい。例えば、「プログラム」というトークン１００ｃ１を「スクリプト」、「アップデート」、「コンピュータ」に置換した場合に「走る」というトークンの推定ラベルに変化がある場合は意味が異なるとして置換したトークンのラベルを意味クラスタから削除してもよい。これは、「プログラム」、「スクリプト」、「アップデート」について「走る」は「実行する」という意味であるが、「コンピュータ」について「走る」は「実行する」という意味以外の意味となることを利用している。
【００６８】
図１０（ａ）及び（ｂ）は、意味クラスタ更新動作を説明するための図である。
【００６９】
また同様に、図１０（ａ）に示すように、取得した複数の文に含まれる一の文として、例えば、文１００ｄを取得した場合、当該文には「スクリプト」、「を」、「走る」、「せる」が含まれ、「スクリプト」というトークン１００ｄ１に着目すると、当該トークン１００ｄ１には「プログラム−３」という推定ラベル１０１ａ１１、「スクリプト−４」という推定ラベル１０１ａ７４、…が推定される。
【００７０】
意味クラスタ更新手段１０４は、図１０（ａ）に示す推定ラベルのうち確信度が高い推定ラベル１０１ａ１１の所属する意味クラスタ１０３ａ３である「プログラム−ｉｉｉ」と、トークン１００ｄ１のラベル１０１ａ７１〜１０１ａ７５つまり「スクリプト−１」〜「スクリプト−５」のいずれかが所属する意味クラスタとが一致するか判定する（Ｓ１２）。
【００７１】
図１０（ｂ）に示すように、ラベル１０１ａ７４の所属する意味クラスタは「プログラム−ｉｉｉ」の意味クラスタ１０３ａ３であり、一致する（Ｓ１２；Ｙｅｓ）。この場合、「（２−２）ラベル削除動作」（ステップＳ１３−Ｓ１５）へと進む。
【００７２】
図１１（ａ）及び（ｂ）は意味クラスタ更新動作を説明するための図である。
【００７３】
一方、図１１（ａ）に示すように、取得した複数の文に含まれる一の文として、例えば、文１００ｅを取得した場合、当該文には「Ｊａｖａ」（登録商標）、「を」、「書く」が含まれ、「Ｊａｖａ」というトークン１００ｅ１に着目すると、当該トークン１００ｅ１には「プログラム−３」という推定ラベル１０１ａ１１、「Ｊａｖａ−１」という推定ラベル１０１ａ１１１、…が推定される。
【００７４】
意味クラスタ更新手段１０４は、図１１（ａ）に示す推定ラベルのうち確信度が高い推定ラベル１０１ａ１１の所属する意味クラスタ１０３ａ３である「プログラム−ｉｉｉ」と、トークン１００ｅ１のラベル１０１ａ１１１〜１０１ａ１１５つまり「Ｊａｖａ−１」〜「Ｊａｖａ−５」のいずれかが所属する意味クラスタとが一致するか判定する（Ｓ１２）。
【００７５】
図１１（ｂ）に示すように、「プログラム−ｉｉｉ」の意味クラスタ１０３ａ３にはラベル１０１ａ１１１は含まれておらず、一致しない（Ｓ１２；Ｎｏ）。この場合、「（２−３）ラベル追加動作」（ステップＳ１６−Ｓ１９）へと進む。
【００７６】
これは、「Ｊａｖａ」というトークンが自己の「Ｊａｖａ−１」〜「Ｊａｖａ−５」というラベルの意味ではなく「プログラム−３」というラベルの意味において使用されることが多い可能性があることを示しており、仮にそうであれば「プログラム−３」というラベルを「Ｊａｖａ」というトークンから派生するクラスタに追加するべきであるからである。
【００７７】
なお、「プログラムを走らせる」という文１００ｃにおいて「プログラム」というトークン１００ｃ１について考えたとき、共起するトークンの意味の変化を考慮してもよい。例えば、「プログラム」というトークン１００ｃ１を「Ｊａｖａ」に置換した場合に「走る」というトークンの推定ラベルに変化がない場合は意味が同一又は類似するとして置換したトークンのラベルを意味クラスタに追加してもよい。
【００７８】
（２−２）ラベル削除動作
以下、図９（ａ）に示した文１００ｃを取得した例について説明する。
【００７９】
図１２（ａ）及び（ｂ）は、ラベル削除動作の一例を説明するための図である。
【００８０】
意味クラスタ更新手段１０４は、図１２（ａ）に示すように、取得した複数の文に含まれる一の文としての文１００ｃにおいて、「プログラム」のトークン１０１ｃ１が所属する意味クラスタ１０３ａ３のラベル１０１ａ１３、１０１ａ７４、１０１ａ８１、１０１ａ１０４（図１２（ｂ））の元のトークン１００ｃ１、１００ｄ１、１００ｆ１、１００ｇ１で文１００ｃのトークン１０１ｃ１を置き換える（Ｓ１３）。
【００８１】
図１３（ａ）−（ｃ）は、ラベル削除動作の一例を説明するための図である。
【００８２】
図１３（ａ）は、意味クラスタ１０３ａ３のラベル１０１ａ１３「プログラム−３」のトークン１０１ｃ１を用いて置換した場合であり、当該置換した文１００ｃ’についてトークン１０１ｃ１のラベル推定を行った結果、図１３（ｂ）に示すように、確信度の高い推定ラベルは「プログラム−３」のラベル１０１ａ１３であって、意味クラスタ１０３ａ３に所属するものである（Ｓ１４；Ｙｅｓ）。この場合、図１３（ｃ）に示すように、１回目の試行であるため試行回数を「１」に、所属したため所属回数を「１」とする。所属率は試行回数に対する所属回数の割合である。
【００８３】
図１４（ａ）−（ｃ）は、ラベル削除動作の他の例を説明するための図である。
【００８４】
図１４（ａ）は、意味クラスタ１０３ａ３のラベル１０１ａ７４「スクリプト−４」のトークン１０１ｄ１を用いて置換した場合であり、当該置換した文１００ｃ”についてトークン１０１ｄ１のラベル推定を行った結果、図１４（ｂ）に示すように、確信度の高い推定ラベルは「スクリプト−４」のラベル１０１ａ７４であって、意味クラスタ１０３ａ３に所属するものである（Ｓ１４；Ｙｅｓ）。この場合、図１４（ｃ）に示すように、所属したため所属回数を「１」とする。
【００８５】
図１５（ａ）−（ｃ）は、ラベル削除動作の他の例を説明するための図である。
【００８６】
図１５（ａ）は、意味クラスタ１０３ａ３のラベル１０１ａ１０４「コンピュータ−４」のトークン１０１ｇ１を用いて置換した場合であり、当該置換した文１００ｃ’”についてトークン１０１ｇ１のラベル推定を行った結果、図１５（ｂ）に示すように、確信度の高い推定ラベルは「コンピュータ−２」のラベル１０１ａ１０２であって、意味クラスタ１０３ａ２に所属するものであって、意味クラスタ１０３ａ３に所属するものではない（Ｓ１４；Ｎｏ）。この場合、図１５（ｃ）に示すように、所属しないため所属回数を「０」とする。
【００８７】
以上に説明した動作を取得した複数の文に含まれる他の文においても試行し、以下に示す情報が得られる。
【００８８】
図１６は、ラベル削除動作の試行結果を示す概略図である。
【００８９】
図１６に示すように、上記動作を複数回試行することで各ラベル１０１ａ１３、１０１ａ７４、１０１ａ８１、１０１ａ１０４の意味クラスタ１０３ａ３に対する所属度が算出され、所属度が予め定めた閾値（例えば、０．８）以上である場合に意味クラスタ１０３ａ３に所属するものとし（Ｓ１４；Ｙｅｓ）、閾値より小さい場合に所属しないものとする（Ｓ１４；Ｎｏ）。
【００９０】
次に、意味クラスタ更新手段１０４は、所属しないと判断されたラベル１０１ａ８１、１０１ａ１０４を意味クラスタ１０３ａ３から削除する（Ｓ１５）。
【００９１】
（２−３）ラベル追加動作
以下、図１１（ａ）に示した文１００ｅを取得した例について説明する。
【００９２】
図１７（ａ）及び（ｂ）は、ラベル追加動作の一例を説明するための図である。
【００９３】
まず、意味クラスタ更新手段１０４は、図１７（ａ）に示すように、トークン１００ｅ１のラベル１０１ａ１１１−１０１ａ１１５について、図１７（ｂ）に示すラベル１０１ａ１１１−１０１ａ１１５が所属する意味クラスタ１０３ｅ１、１０３ｈ２、１０３ｅ３、１０３ｅ４のそれぞれからラベル１０１ａ１１１−１０１ａ１１５を除く１以上のラベルを無造作に取得する（Ｓ１６）。ただし、取得するラベルは互いに異なるトークンのラベルとする。つまり、例えば意味クラスタ１０３ｈ２（「ＨＴＭＬ−ｉｉ」）のラベル１０１ａ１５１と１０１ａ１５３（「Ｊａｖａｓｃｒｉｐｔ−１」と「Ｊａｖａｓｃｒｉｐｔ−３」）を同時に取得しないようにする。
【００９４】
図１８（ａ）−（ｃ）は、ラベル追加動作の一例を説明するための図である。
【００９５】
次に、意味クラスタ更新手段１０４は、上記ステップＳ１６において意味クラスタ１０３ｅ１からラベル１０１ａ１２１と１０１ａ１４２を取得した場合と、意味クラスタ１０３ｈ２からラベル１０１ａ１６２と１０１ａ１５３を取得した場合のそれぞれについて、図１８（ａ）に示す取得した複数の文に含まれる一の文として、文１００ｅのトークン１００ｅ１を、取得したラベル１０１ａ１２１と１０１ａ１４２及びラベル１０１ａ１６２と１０１ａ１５３の元のトークン１００ｉ１と１００ｊ１及びトークン１００ｋ１と１００ｌ１で置換して（Ｓ１７）、図１８（ｂ）及び（ｃ）のようにする。つまり、「Ｊａｖａを書く」という文１００ｅを「Ｐｙｔｈｏｎを書く」、「Ｒｕｂｙを書く」、「ＨＴＭＬを書く」、「Ｊａｖａｓｃｒｉｐｔを書く」という文にする。
【００９６】
次に、意味クラスタ更新手段１０４は、置換後の文のそれぞれのトークン１００ｉ１と１００ｊ１及びトークン１００ｋ１と１００ｌ１についてラベル推定を行い、推定されたラベルと図１８（ａ）に示す元のラベル１０１ａ１３である「プログラム−３」とが一致するか確認する（Ｓ１８）。
【００９７】
図１９（ａ）及び（ｂ）は、ラベル追加動作の一例を説明するための図である。
【００９８】
図１９（ａ）は図１８（ｂ）に対応するものであり、トークン１００ｉ１と１００ｊ１についてラベル推定を行った結果であり、推定ラベルはそれぞれ１０１ａ１３の「プログラム−３」であって、元のトークン１００ｅ１「Ｊａｖａ」の推定ラベル１０１ａ１３「プログラム−３」と一致している。なお、一致した際の確信度が予め定めた閾値（例えば０．２）以上である場合に一致すると判定するものとし、図１９（ａ）に示す例では採用したトークン１００ｉ１と１００ｊ１の２つであるため「サンプル数」を「２」とし、推定ラベルが一致しているため「一致数」を「２」とする。「一致割合」はサンプル数に対する一致数の割合であり「１．００」となる。
【００９９】
一致数が予め定めた閾値（例えば０．８０）以上である場合（Ｓ１８；Ｙｅｓ）、意味クラスタ１０３ｅ１にトークン１００ｅ１「Ｊａｖａ」の推定ラベル１０１ａ１３「プログラム−３」を追加する（Ｓ１９）。
【０１００】
図２０は、ラベル追加動作の他の例を説明するための図である。
【０１０１】
図２０は図１８（ｃ）に対応するものであり、トークン１００ｋ１と１００ｌ１についてラベル推定を行った結果であり、推定ラベルはそれぞれ１０１ａ１３の「プログラム−３」であって、元のトークン１００ｅ１「Ｊａｖａ」の推定ラベル１０１ａ１３「プログラム−３」と一致している。しかし、一致した際の確信度がトークン１００ｋ１「ＨＴＭＬ」については「０．０５１」であって予め定めた閾値（例えば０．２）より小さいため、推定ラベルの一致が１であって「一致数」を「１」とする。「一致割合」はサンプル数に対する一致数であり「０．５０」となる。
【０１０２】
従って、一致数が予め定めた閾値（例えば０．８０）より小さい場合（Ｓ１８；Ｎｏ）、意味クラスタ１０３ｅ１にトークン１００ｅ１「Ｊａｖａ」の推定ラベル１０１ａ１３「プログラム−３」を追加しない。
【０１０３】
（実施の形態の効果）
上記した実施の形態によると、意味クラスタ１１３に所属するラベルの元となるトークンが用法によって置換できない場合は意味クラスタ１１３からラベルを削除し、他の意味クラスタに所属するラベルであっても当該ラベルの元となるトークンが用法によって置換できる場合は意味クラスタ１１３にラベルを追加したため、トークンの共起語が類似するが、用法によっては意味が類似しないトークンの意味情報を分類することができる。つまり、意味的に類似した単語を適切にまとめることができる。
【０１０４】
また、意味情報データ１１２及び意味クラスタ１１３を用いて、機械学習を用いた自然言語処理モジュールの精度を改善してもよい。
【０１０５】
［他の実施の形態］
なお、本発明は、上記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で種々な変形が可能である。
【０１０６】
上記実施の形態では制御部１０内の各手段１００−１０４の機能をプログラムで実現したが、各手段の全て又は一部をＡＳＩＣ等のハードウエアによって実現してもよい。また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等の記録媒体に記憶して提供することもできる。また、上記実施の形態で説明した上記ステップの入れ替え、削除、追加等は本発明の要旨を変更しない範囲内で可能である。
【符号の説明】
【０１０７】
１     情報処理装置
１０   制御部
１１   記憶部
１２   通信部
１００ 形態素解析手段
１０１ ラベル推定手段
１０２ 意味情報生成手段
１０３ 意味クラスタ生成手段
１０４ 意味クラスタ更新手段
１１０ 意味情報分類プログラム
１１１ 大規模データ
１１２ 意味情報データ
１１３ 意味クラスタ
【図１】
2015111350.tif 000003
【図２】
2015111350.tif 000004
【図２１】
2015111350.tif 000005
【図２２】
2015111350.tif 000006
【図３】
2015111350.tif 000007
【図４Ａ】
2015111350.tif 000008
【図４Ｂ】
2015111350.tif 000009
【図５Ａ】
2015111350.tif 000010
【図５Ｂ】
2015111350.tif 000011
【図６】
2015111350.tif 000012
【図７】
2015111350.tif 000013
【図８】
2015111350.tif 000014
【図９】
2015111350.tif 000015
【図１０】
2015111350.tif 000016
【図１１】
2015111350.tif 000017
【図１２】
2015111350.tif 000018
【図１３】
2015111350.tif 000019
【図１４】
2015111350.tif 000020
【図１５】
2015111350.tif 000021
【図１６】
2015111350.tif 000022
【図１７】
2015111350.tif 000023
【図１８】
2015111350.tif 000024
【図１９】
2015111350.tif 000025
【図２０】
2015111350.tif 000026