(57)【特許請求の範囲】
【請求項１】
文書から、指定された語彙に関連するキーワードを抽出し、前記語彙との関連の高さに応じてキーワードを順位付けし、上位から予め決められた数、又は、上位から予め決められた順位のキーワードを出力する抽出手段と、
前記抽出手段が出力したキーワードのうちの、２つのキーワードの組み合わせそれぞれについて、組み合わせに含まれる２つのキーワードの共起スコアを前記文書から求め、各組み合わせの共起スコアに基づき前記抽出手段が出力したキーワードをグループ化するグループ化処理を行うグループ化手段と、
所定の判定基準によりグループ化処理を終了するか反復するかを判定する判定手段と、
を備え、
前記判定手段が、前記グループ化処理を反復すると判定すると、前記抽出手段は、上位所定順位又は上位所定数のキーワードを含む文書を削除し、次回のグループ化処理のために、残りの文書に基づき、前記指定された語彙に関連するキーワードを出力し、
前記グループ化手段は、前記次回のグループ化処理の際、前記抽出手段が前記残りの文書に基づき出力したキーワード及び前記抽出手段がそれまでのグループ化処理のために出力したキーワードをグループ化することを特徴とする語彙の語義判定装置。
【請求項２】
前記判定手段は、前記グループ化処理の結果であるグループの数に変化がないことが所定回数だけ連続すると、前記グループ化処理を終了すると判定することを特徴とする請求項１に記載の語義判定装置。
【請求項３】
前記判定手段は、前記グループ化処理の結果であるグループの数に変化がない場合であっても、最低処理回数だけ前記グループ化処理を反復することを特徴とする請求項２に記載の語義判定装置。
【請求項４】
前記グループ化手段によるグループ化処理の結果であるグループと、当該グループに含まれるキーワードに基づき、前記文書における前記語彙がどのグループに対応するかを判定する判定手段を更に備えていることを特徴とする請求項１から３のいずれか１項に記載の語義判定装置。
【請求項５】
前記文書は、ＳＮＳサービス上で公開されているメッセージを含むことを特徴とする請求項１から４のいずれか１項に記載の語義判定装置。
【請求項６】
請求項１から５のいずれか１項に記載の語義判定装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、文書に含まれる語彙の語義を判定する技術に関する。
【背景技術】
【０００２】
近年、商品を購入したユーザが、その商品に関するコメントをインターネット上で公開したりしている。これらコメントは、例えば、商品に関する専用の評価サイトや、ソーシャル・ネットワーキング・サービス（ＳＮＳ）上で公開されている。これらインターネット上で公開される、商品に対するユーザの感情を表すコメントを分析するため、感情分析技術が用いられている。評価サイトやＳＮＳで公開される文書から感情分析を行うに当たり、文書内の語彙の語義を特定する必要がある。なお、本明細書において、語彙とは、文書内の単語（品詞）あるいはその組み合わせであり、語義とは、語彙により示される対象を意味する。例えば、語彙"ＡＡＡ"は、ある果物の普通名詞であり、かつ、ある特定の会社名である場合がある。さらに、語彙"ＢＢＢ"は、ある会社名であると共に、市町村等の地域を示す名前である場合もある。
【０００３】
特許文献１及び２は、あらかじめ辞書データベースを構築しておき、文書内の語彙の語義を判定する構成を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２２５１３５号公報
【特許文献２】特開２００７−００４８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
あらかじめ辞書データベースを構築することは大変な手間である。さらに、語彙の語義は、時代と共に変化するため、特許文献１及び２の構成では、辞書データベースを維持するための負荷が発生する。
【０００６】
本発明は、文書から語彙の語義の種別及びその数を判定する語義判定装置を提供するものである。
【課題を解決するための手段】
【０００７】
本発明の一側面によると、語義判定装置は、文書から、指定された語彙に関連するキーワードを抽出し、前記語彙との関連の高さに応じてキーワードを順位付けし、上位から予め決められた数、又は、上位から予め決められた順位のキーワードを出力する抽出手段と、前記抽出手段が出力したキーワードのうちの、２つのキーワードの組み合わせそれぞれについて、組み合わせに含まれる２つのキーワードの共起スコアを前記文書から求め、各組み合わせの共起スコアに基づき前記抽出手段が出力したキーワードをグループ化するグループ化処理を行うグループ化手段と、所定の判定基準によりグループ化処理を終了するか反復するかを判定する判定手段と、を備え、前記判定手段が、前記グループ化処理を反復すると判定すると、前記抽出手段は、上位所定順位又は上位所定数のキーワードを含む文書を削除し、次回のグループ化処理のために、残りの文書に基づき、前記指定された語彙に関連するキーワードを出力し、前記グループ化手段は、前記次回のグループ化処理の際、前記抽出手段が前記残りの文書に基づき出力したキーワード及び前記抽出手段がそれまでのグループ化処理のために出力したキーワードをグループ化することを特徴とする。
【発明の効果】
【０００８】
文書から語彙の語義の種別及びその数を判定することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態による語義判定装置の構成図。
【図２】一実施形態によるグループ化を示す図。
【図３】一実施形態によるグループ化を示す図。
【図４】一実施形態による語彙に対するキーワードを示す図。
【図５】一実施形態によるキーワード抽出部における処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の実施形態は例示であり、本発明を実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【００１１】
図１は、本実施形態による語義判定装置の構成図である。文書データベース１は、文書（ドキュメント）のデータベースである。なお、文書データベース１は、例えば、ＳＮＳ上のメッセージ等を取り込むことで生成される。さらには、インターネットそのものを文書データベース１とすることができる。なお、文書データベース１における文書の単位は任意である。例えば、ＳＮＳ上の１つのメッセージを１つの文書とすることができる。また、１つのＨＴＭＬファイルを１つの文書とすることができる。ユーザが語彙を入力すると、文書データベース１は、入力により指定された語彙を含む文書をキーワード抽出部２と、グループ化処理部３と、判定部４に出力する。
【００１２】
キーワード抽出部２は、まず、文書データベース１から入力された文書を保存する。そして、キーワード抽出部２は、ｔｆ−ｉｄｆ、ｄｆ−ｉｄｆ、ＬＤＡ（Ｌａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎ）といったアルゴリズムを使用して、保存している文書から、指定された語彙に対するキーワードを求める。キーワードは、指定された語彙と共に良く用いられている単語であり、これらアルゴリズムにより、キーワードは、語彙と共に用いられる頻度に応じた順位付けが行われる。キーワード抽出部２は、求めたキーワードのうちの、上位所定数（ここでは、Ｘ）のキーワードを、抽出したキーワードとしてグループ化処理部３に出力する。図５は、キーワード抽出部２における処理のフローチャートである。Ｓ１０で、キーワード抽出部２は、保存している全文書から上位Ｘ個のキーワードを抽出し、Ｓ１１で、抽出したキーワードをグループ化処理部３に出力する。その後、Ｓ１２で、キーワード抽出部２は、上位Ｙ個（ここで、Ｙ≦Ｘ）のキーワードを含む文書を削除し、Ｓ１３で、グループ化処理部３から処理の継続が通知されているか否かを判定する。グループ化処理部３から処理の継続が通知されていないと、キーワード抽出部２は処理を終了する。一方、グループ化処理部３から処理の継続が通知されると、キーワード抽出部２は、Ｓ１０からの処理を繰り返す。
【００１３】
したがって、１回目のＳ１０での処理において、キーワード抽出部２は、文書データベース１から入力された総ての文章を使用してキーワードを抽出することになる。一方、２回目以降のＳ１０での処理において、キーワード抽出部２は、文書データベース１から入力された総ての文書のうち、前回までのＳ１２の処理で削除された文書を除いた文書を使用してキーワードを抽出することになる。つまり、キーワード抽出部２がキーワードの抽出に使用する文書の数は、繰り返し回数を重ねる度に減っていくことになる。なお、キーワード抽出部２がキーワードの抽出に使用する文書の数を、繰り返し回数を重ねる度に減らす理由については後述する。
【００１４】
グループ化処理部３は、入力されたキーワード間の共起スコアを計算する。共起スコアは、キーワード抽出部２から受け取ったキーワードのうちの、２つのキーワードの組み合わせそれぞれについて計算され、２つのキーワードの組み合わせが文書内にて共に存在する数が高い程、当該組み合わせの共起スコアは高くなる。グル―プ化処理部３は、共起スコアに基づきクラスタリング・アルゴリズムを使用して、キーワードのグループ化（クラスタリング）を行う。クラスタリング・アルゴリズムとしては、例えば、ＣＮＭ（Ｃａｌｕｓｅｔ  Ｎｅｗｍａｎ  Ｍｏｏｒｅ）アルゴリズムを使用できる。図２は、ＣＮＭにより２つのグループにクラスタリングされた状態を示している。図２において、各黒丸は、キーワードであり、２つの黒丸を結ぶリンクは、当該２つの黒丸に対応する２つのキーワードの共起スコアに対応する。なお、共起スコアが高い程、リンクの距離は短くなる。例えば、ＣＮＭにより、キーワードは１つ以上のグループにグループ化される。
【００１５】
また、グループ化処理部３は、共起スコアを要素とする対称行列を生成する。対称行列の各行及び列はキーワードに対応する。グループ化処理部３は、ボトムアップ・ハイアラキカル・クラスタリング・アルゴリズム（Ｂｏｔｔｏｍ−ｕｐ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｃｌｕｓｔｅｒｉｎｇ  Ａｌｇｏｒｉｔｈｍ）を使用し、キーワードの樹形図（デンドログラム：Ｄｅｎｄｒｏｇｒａｍ）を生成する。図３は、樹形図であり、各黒丸はキーワードに対応し、任意の２つの黒丸間に至る経路の高さは、当該２つの黒丸に対応する２つのキーワードの共起スコアに対応する。なお、共起スコアが高い程、高さは小さくなる。グループ化処理部３は、事前に定義した閾値で樹形図を分割することでグループの数と、各グループに含まれるキーワードを判定する。図３の例では、２つのグループが生成されている。
【００１６】
グループ化処理部３は、グループ化の結果を所定の基準で評価し処理を終了するか否かを判定する。処理を終了しない場合、グループ化処理部３は、処理の継続をキーワード抽出部２に通知する。キーワード抽出部２は、図５を用いて説明した様に、前回抽出したキーワードの上位Ｙ個のキーワードを含まない文書から上位Ｘ個のキーワードを抽出してグループ化処理部３に出力する。したがって、グループ化処理部３がキーワード抽出部２より受け取るキーワードには、前回受け取ったキーワードの内の上位Ｙ個のキーワードは含まれない。キーワード抽出部２は、毎回、上位Ｘ個のキーワードを出力するため、例えば、Ｙを１とすると、グループ化処理部３が受け取るＸ個キーワードのうちの、少なくとも１つは前回受け取ったＸ個のキーワードとは重複しないことになる。なお、前回と重複するキーワードの数は、前回の処理においてキーワード抽出部２が削除した文書に依存し、その数は、０〜（Ｘ−Ｙ）個の範囲で変化する。グループ化処理部３は、２回目以降のグループ化処理において、それまでにキーワード処理部２から受け取ったキーワードを総て使用してグループ化を行う。したがって、グループ化処理部３がグループ化に使用するキーワードの数は、前回のグループ化処理から少なくともＹ個は増加することになる。つまり、グループ化処理部３は、繰り返し回数が多くなる程、多い数のキーワードを使用してグループ化処理を行う。
【００１７】
なお、グループ化処理部３は、処理を継続するか否かの基準を、グループの数の変化により判定することができる。具体的には、生成されるグループの数が所定回数だけ連続して変化しなかった場合、グループ化処理部３は、処理を終了すると判定することができる。なお、最低処理回数を設けることもできる。この場合、グループ化処理部３は、少なくとも最低処理回数だけ処理を反復する。そして、その後、グループの数が変化しない状態が所定回数だけ連続すると処理を終了する。なお、所定回数は、１回とすることもできる。
【００１８】
グループ化処理部３は、処理を終了すると判定すると、グループ化の結果を判定部４に出力する。例えば、図２がグループ化の最終結果であるとすると、グループ化処理部３は、２つのグループが存在することと、各グループに含まれるキーワードを判定情報として判定部４に出力する。判定部４は、判定情報に従い、入力される各文書において、語彙がどのグループに対応する語義で用いられているかを判定する。例えば、判定部４は、図２のグループ１のキーワードのみを含む文書については、当該文書において、ユーザが入力した語彙は、グループ１に対応する語義で用いられていると判定する。一方、図２のグループ２のキーワードのみを含む文書については、当該文書において、ユーザが入力した語彙は、グループ１とは異なる、グループ２に対応する語義で用いられていると判定する。なお、グループ１のキーワードと、グループ２のキーワードの両方を含む文書については、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｅ）等の機械学習アルゴリズムによりどちらのグループであるかを判定する。より簡易には、文書中に含まれるグループ１のキーワードと、グループ２のキーワードの数を比較し、多い方のグループであると判定する。
【００１９】
以上、本実施形態によると、任意の方法で収集した文書に基づき、ある語彙について、どれだけの数の語義が存在するのかと、語義に対応するキーワードのグループを判定することができる。そして、各文書について、語彙が、どのキーワードのグループに対応する語義として用いられているかを判定することができる。なお、例えば、語彙"ＡＡＡ"が、通信機器の製造会社名であると共に、果物の名前であるものとする。この場合、グループ１には、例えば、"スマホ"や、"ディスプレイ"といったキーワードが含まれ、グループ２には、例えば、"ジュース"や、"パイ"といったキーワードが含まれるが、グループ１が会社名であり、グループ２が果物の名前であることまでは判定できない。しかしながら、ある語彙の語義の数と、各語義に対するキーワードが判定できるため、例えば、ユーザがキーワードから、語彙"ＡＡＡ"の語義として、会社名や果物の名前が存在することを判定することができる。
【００２０】
続いて、キーワード抽出部２が、繰り返し回数を重ねる度に、上位Ｙ個のキーワードを含む文書を削除する理由について説明する。まず、グループ化処理に使用するキーワードの数を大きくし過ぎると、語彙とはあまり関連しないキーワードが抽出され、判定部４における判定精度が劣化する。したがって、グループ化処理に使用するキーワードの数はできるだけ少なくする。しかしながら、文書に含まれる語彙の語義には片寄がある場合がある。例えば、図４は、語彙"ＡＡＡ"に対するキーワードをキーワード抽出部２が抽出した結果の例である。なお、語彙"ＡＡＡ"には、通信機器の製造会社名と、果物の普通名詞の２つの語義が存在するものとしている。図４の例では、１位から４８位までのキーワードは、語彙"ＡＡＡ"が製造会社名を示している場合のキーワードであり、果物を示している場合のキーワードは、例えば、４９位と６２位にのみ含まれている。したがって、例えば、キーワード抽出部２が抽出してグループ化処理部３に送るキーワードの数Ｘを上位１０個とすると、グループが１つのみとなり、マイナーな語義である果物が判定できなくなる。よって、本実施形態では、グループ化処理を反復処理とし、徐々に使用するキーワードを増加させる。
【００２１】
しかしながら、文書中における語義の片寄りが大きい場合、２つ目のグループを見つけるまでの繰り返し回数が大きくなり処理負荷が増加する。また、２つ目のグループが生成されるまでの反復回数が大きくなり、２つ目のグループを見つけるまでに反復処理が終了する可能性もある。したがって、本実施形態では、上位Ｙ個のキーワードを含む文書を削除し、次回のキーワードの抽出においては、この上位Ｙ個のキーワードを含まない文書からキーワードを抽出する。この構成により、キーワード抽出部２が出力するキーワードに対応する語義のバランスを調整、つまり、マイナーな語義に対するキーワードを、少ない繰り返し回数で抽出される様にする。
【００２２】
以上、本実施形態によると、予め辞書データベースを作成することなく、収集した文書から語彙の語義の種別（図２のグループに対応）と、各語義に関するキーワードを判定することができる。また、キーワードのグループ化処理を反復処理とすることで、関連の薄いキーワードが抽出されることを防ぎ、適切なキーワードを選択することができる。さらに、繰り返しの度に、上位所定数のキーワードを含む文書を削除していくことで、反復処理の回数を抑えることができる。判定部４は、語義に対応する適切なキーワードにより、各文書における語彙が、どの種別に属するものであるかを判定することができる。
【００２３】
なお、上記実施形態において、キーワード抽出部２は、上位所定数（例では、Ｘ）のキーワードをグループ化処理部３に出力し、その後、上位所定数（例では、Ｙ）のキーワードを含む文書を削除していた。しかしながら、上位所定数ではなく、上位所定順位とすることができる。
【００２４】
なお、本発明による語義判定装置は、コンピュータを上記語義判定装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。 
【図１】
0006434315.tif 000002
【図２】
0006434315.tif 000003
【図３】
0006434315.tif 000004
【図４】
0006434315.tif 000005
【図５】
0006434315.tif 000006