(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6434315
(24)【登録日】2018年11月16日
(45)【発行日】2018年12月5日
(54)【発明の名称】語義判定装置及びプログラム
(51)【国際特許分類】
G06F 17/30 20060101AFI20181126BHJP
【FI】
G06F17/30 220Z
G06F17/30 170A
【請求項の数】6
【全頁数】8
(21)【出願番号】特願2015-6090(P2015-6090)
(22)【出願日】2015年1月15日
(65)【公開番号】特開2016-133833(P2016-133833A)
(43)【公開日】2016年7月25日
【審査請求日】2017年8月17日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100131886
【弁理士】
【氏名又は名称】坂本 隆志
(74)【代理人】
【識別番号】100170667
【弁理士】
【氏名又は名称】前田 浩次
(72)【発明者】
【氏名】エルドマン マイケ
(72)【発明者】
【氏名】服部 元
(72)【発明者】
【氏名】滝嶋 康弘
【審査官】
吉田 誠
(56)【参考文献】
【文献】
国際公開第2013/115154(WO,A1)
【文献】
特開2012−221431(JP,A)
【文献】
横山 弘子,コーパスからの共起情報を用いた日本語動詞の意味分類,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1998年 3月12日,Vol.97 No.593,1−8ページ
【文献】
鏑木 雄太,共起語グラフのクラスタリングによる単語の多義性抽出,言語処理学会第17回年次大会発表論文集 チュートリアル 本会議 ワークショップ [CD−ROM],日本,言語処理学会,2011年 3月 7日,508−511ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
文書から、指定された語彙に関連するキーワードを抽出し、前記語彙との関連の高さに応じてキーワードを順位付けし、上位から予め決められた数、又は、上位から予め決められた順位のキーワードを出力する抽出手段と、
前記抽出手段が出力したキーワードのうちの、2つのキーワードの組み合わせそれぞれについて、組み合わせに含まれる2つのキーワードの共起スコアを前記文書から求め、各組み合わせの共起スコアに基づき前記抽出手段が出力したキーワードをグループ化するグループ化処理を行うグループ化手段と、
所定の判定基準によりグループ化処理を終了するか反復するかを判定する判定手段と、
を備え、
前記判定手段が、前記グループ化処理を反復すると判定すると、前記抽出手段は、上位所定順位又は上位所定数のキーワードを含む文書を削除し、次回のグループ化処理のために、残りの文書に基づき、前記指定された語彙に関連するキーワードを出力し、
前記グループ化手段は、前記次回のグループ化処理の際、前記抽出手段が前記残りの文書に基づき出力したキーワード及び前記抽出手段がそれまでのグループ化処理のために出力したキーワードをグループ化することを特徴とする語彙の語義判定装置。
【請求項2】
前記判定手段は、前記グループ化処理の結果であるグループの数に変化がないことが所定回数だけ連続すると、前記グループ化処理を終了すると判定することを特徴とする請求項1に記載の語義判定装置。
【請求項3】
前記判定手段は、前記グループ化処理の結果であるグループの数に変化がない場合であっても、最低処理回数だけ前記グループ化処理を反復することを特徴とする請求項2に記載の語義判定装置。
【請求項4】
前記グループ化手段によるグループ化処理の結果であるグループと、当該グループに含まれるキーワードに基づき、前記文書における前記語彙がどのグループに対応するかを判定する判定手段を更に備えていることを特徴とする請求項1から3のいずれか1項に記載の語義判定装置。
【請求項5】
前記文書は、SNSサービス上で公開されているメッセージを含むことを特徴とする請求項1から4のいずれか1項に記載の語義判定装置。
【請求項6】
請求項1から5のいずれか1項に記載の語義判定装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、文書に含まれる語彙の語義を判定する技術に関する。
【背景技術】
【0002】
近年、商品を購入したユーザが、その商品に関するコメントをインターネット上で公開したりしている。これらコメントは、例えば、商品に関する専用の評価サイトや、ソーシャル・ネットワーキング・サービス(SNS)上で公開されている。これらインターネット上で公開される、商品に対するユーザの感情を表すコメントを分析するため、感情分析技術が用いられている。評価サイトやSNSで公開される文書から感情分析を行うに当たり、文書内の語彙の語義を特定する必要がある。なお、本明細書において、語彙とは、文書内の単語(品詞)あるいはその組み合わせであり、語義とは、語彙により示される対象を意味する。例えば、語彙"AAA"は、ある果物の普通名詞であり、かつ、ある特定の会社名である場合がある。さらに、語彙"BBB"は、ある会社名であると共に、市町村等の地域を示す名前である場合もある。
【0003】
特許文献1及び2は、あらかじめ辞書データベースを構築しておき、文書内の語彙の語義を判定する構成を開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−225135号公報
【特許文献2】特開2007−004831号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
あらかじめ辞書データベースを構築することは大変な手間である。さらに、語彙の語義は、時代と共に変化するため、特許文献1及び2の構成では、辞書データベースを維持するための負荷が発生する。
【0006】
本発明は、文書から語彙の語義の種別及びその数を判定する語義判定装置を提供するものである。
【課題を解決するための手段】
【0007】
本発明の一側面によると、語義判定装置は、文書から、指定された語彙に関連するキーワードを抽出
し、前記語彙との関連の高さに応じてキーワードを順位付けし、上位から予め決められた数、又は、上位から予め決められた順位のキーワードを出力する抽出手段と、前記抽出手段が
出力したキーワードのうちの、2つのキーワードの組み合わせそれぞれについて、組み合わせに含まれる2つのキーワードの共起スコアを前記文書から求め、各組み合わせの共起スコアに基づき前記抽出手段が
出力したキーワードをグループ化するグループ化処理を行うグループ化手段と、
所定の判定基準によりグループ化処理を終了するか反復するかを判定する判定手段と、を備え
、前記判定手段が、前記グループ化処理を反復すると判定すると、前記抽出手段は、上位所定順位又は上位所定数のキーワードを含む文書を削除し、次回のグループ化処理のために、残りの文書に基づき、前記指定された語彙に関連するキーワードを出力し、前記グループ化手段は、前記次回のグループ化処理の際、前記抽出手段が前記残りの文書に基づき出力したキーワード及び前記抽出手段がそれまでのグループ化処理のために出力したキーワードをグループ化することを特徴とする。
【発明の効果】
【0008】
文書から語彙の語義の種別及びその数を判定することができる。
【図面の簡単な説明】
【0009】
【
図4】一実施形態による語彙に対するキーワードを示す図。
【
図5】一実施形態によるキーワード抽出部における処理を示すフローチャート。
【発明を実施するための形態】
【0010】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の実施形態は例示であり、本発明を実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【0011】
図1は、本実施形態による語義判定装置の構成図である。文書データベース1は、文書(ドキュメント)のデータベースである。なお、文書データベース1は、例えば、SNS上のメッセージ等を取り込むことで生成される。さらには、インターネットそのものを文書データベース1とすることができる。なお、文書データベース1における文書の単位は任意である。例えば、SNS上の1つのメッセージを1つの文書とすることができる。また、1つのHTMLファイルを1つの文書とすることができる。ユーザが語彙を入力すると、文書データベース1は、入力により指定された語彙を含む文書をキーワード抽出部2と、グループ化処理部3と、判定部4に出力する。
【0012】
キーワード抽出部2は、まず、文書データベース1から入力された文書を保存する。そして、キーワード抽出部2は、tf−idf、df−idf、LDA(Latent Dirichlet Allocation)といったアルゴリズムを使用して、保存している文書から、指定された語彙に対するキーワードを求める。キーワードは、指定された語彙と共に良く用いられている単語であり、これらアルゴリズムにより、キーワードは、語彙と共に用いられる頻度に応じた順位付けが行われる。キーワード抽出部2は、求めたキーワードのうちの、上位所定数(ここでは、X)のキーワードを、抽出したキーワードとしてグループ化処理部3に出力する。
図5は、キーワード抽出部2における処理のフローチャートである。S10で、キーワード抽出部2は、保存している全文書から上位X個のキーワードを抽出し、S11で、抽出したキーワードをグループ化処理部3に出力する。その後、S12で、キーワード抽出部2は、上位Y個(ここで、Y≦X)のキーワードを含む文書を削除し、S13で、グループ化処理部3から処理の継続が通知されているか否かを判定する。グループ化処理部3から処理の継続が通知されていないと、キーワード抽出部2は処理を終了する。一方、グループ化処理部3から処理の継続が通知されると、キーワード抽出部2は、S10からの処理を繰り返す。
【0013】
したがって、1回目のS10での処理において、キーワード抽出部2は、文書データベース1から入力された総ての文章を使用してキーワードを抽出することになる。一方、2回目以降のS10での処理において、キーワード抽出部2は、文書データベース1から入力された総ての文書のうち、前回までのS12の処理で削除された文書を除いた文書を使用してキーワードを抽出することになる。つまり、キーワード抽出部2がキーワードの抽出に使用する文書の数は、繰り返し回数を重ねる度に減っていくことになる。なお、キーワード抽出部2がキーワードの抽出に使用する文書の数を、繰り返し回数を重ねる度に減らす理由については後述する。
【0014】
グループ化処理部3は、入力されたキーワード間の共起スコアを計算する。共起スコアは、キーワード抽出部2から受け取ったキーワードのうちの、2つのキーワードの組み合わせそれぞれについて計算され、2つのキーワードの組み合わせが文書内にて共に存在する数が高い程、当該組み合わせの共起スコアは高くなる。グル―プ化処理部3は、共起スコアに基づきクラスタリング・アルゴリズムを使用して、キーワードのグループ化(クラスタリング)を行う。クラスタリング・アルゴリズムとしては、例えば、CNM(Caluset Newman Moore)アルゴリズムを使用できる。
図2は、CNMにより2つのグループにクラスタリングされた状態を示している。
図2において、各黒丸は、キーワードであり、2つの黒丸を結ぶリンクは、当該2つの黒丸に対応する2つのキーワードの共起スコアに対応する。なお、共起スコアが高い程、リンクの距離は短くなる。例えば、CNMにより、キーワードは1つ以上のグループにグループ化される。
【0015】
また、グループ化処理部3は、共起スコアを要素とする対称行列を生成する。対称行列の各行及び列はキーワードに対応する。グループ化処理部3は、ボトムアップ・ハイアラキカル・クラスタリング・アルゴリズム(Bottom−up Hierarchical Clustering Algorithm)を使用し、キーワードの樹形図(デンドログラム:Dendrogram)を生成する。
図3は、樹形図であり、各黒丸はキーワードに対応し、任意の2つの黒丸間に至る経路の高さは、当該2つの黒丸に対応する2つのキーワードの共起スコアに対応する。なお、共起スコアが高い程、高さは小さくなる。グループ化処理部3は、事前に定義した閾値で樹形図を分割することでグループの数と、各グループに含まれるキーワードを判定する。
図3の例では、2つのグループが生成されている。
【0016】
グループ化処理部3は、グループ化の結果を所定の基準で評価し処理を終了するか否かを判定する。処理を終了しない場合、グループ化処理部3は、処理の継続をキーワード抽出部2に通知する。キーワード抽出部2は、
図5を用いて説明した様に、前回抽出したキーワードの上位Y個のキーワードを含まない文書から上位X個のキーワードを抽出してグループ化処理部3に出力する。したがって、グループ化処理部3がキーワード抽出部2より受け取るキーワードには、前回受け取ったキーワードの内の上位Y個のキーワードは含まれない。キーワード抽出部2は、毎回、上位X個のキーワードを出力するため、例えば、Yを1とすると、グループ化処理部3が受け取るX個キーワードのうちの、少なくとも1つは前回受け取ったX個のキーワードとは重複しないことになる。なお、前回と重複するキーワードの数は、前回の処理においてキーワード抽出部2が削除した文書に依存し、その数は、0〜(X−Y)個の範囲で変化する。グループ化処理部3は、2回目以降のグループ化処理において、それまでにキーワード処理部2から受け取ったキーワードを総て使用してグループ化を行う。したがって、グループ化処理部3がグループ化に使用するキーワードの数は、前回のグループ化処理から少なくともY個は増加することになる。つまり、グループ化処理部3は、繰り返し回数が多くなる程、多い数のキーワードを使用してグループ化処理を行う。
【0017】
なお、グループ化処理部3は、処理を継続するか否かの基準を、グループの数の変化により判定することができる。具体的には、生成されるグループの数が所定回数だけ連続して変化しなかった場合、グループ化処理部3は、処理を終了すると判定することができる。なお、最低処理回数を設けることもできる。この場合、グループ化処理部3は、少なくとも最低処理回数だけ処理を反復する。そして、その後、グループの数が変化しない状態が所定回数だけ連続すると処理を終了する。なお、所定回数は、1回とすることもできる。
【0018】
グループ化処理部3は、処理を終了すると判定すると、グループ化の結果を判定部4に出力する。例えば、
図2がグループ化の最終結果であるとすると、グループ化処理部3は、2つのグループが存在することと、各グループに含まれるキーワードを判定情報として判定部4に出力する。判定部4は、判定情報に従い、入力される各文書において、語彙がどのグループに対応する語義で用いられているかを判定する。例えば、判定部4は、
図2のグループ1のキーワードのみを含む文書については、当該文書において、ユーザが入力した語彙は、グループ1に対応する語義で用いられていると判定する。一方、
図2のグループ2のキーワードのみを含む文書については、当該文書において、ユーザが入力した語彙は、グループ1とは異なる、グループ2に対応する語義で用いられていると判定する。なお、グループ1のキーワードと、グループ2のキーワードの両方を含む文書については、SVM(Support Vector Machie)等の機械学習アルゴリズムによりどちらのグループであるかを判定する。より簡易には、文書中に含まれるグループ1のキーワードと、グループ2のキーワードの数を比較し、多い方のグループであると判定する。
【0019】
以上、本実施形態によると、任意の方法で収集した文書に基づき、ある語彙について、どれだけの数の語義が存在するのかと、語義に対応するキーワードのグループを判定することができる。そして、各文書について、語彙が、どのキーワードのグループに対応する語義として用いられているかを判定することができる。なお、例えば、語彙"AAA"が、通信機器の製造会社名であると共に、果物の名前であるものとする。この場合、グループ1には、例えば、"スマホ"や、"ディスプレイ"といったキーワードが含まれ、グループ2には、例えば、"ジュース"や、"パイ"といったキーワードが含まれるが、グループ1が会社名であり、グループ2が果物の名前であることまでは判定できない。しかしながら、ある語彙の語義の数と、各語義に対するキーワードが判定できるため、例えば、ユーザがキーワードから、語彙"AAA"の語義として、会社名や果物の名前が存在することを判定することができる。
【0020】
続いて、キーワード抽出部2が、繰り返し回数を重ねる度に、上位Y個のキーワードを含む文書を削除する理由について説明する。まず、グループ化処理に使用するキーワードの数を大きくし過ぎると、語彙とはあまり関連しないキーワードが抽出され、判定部4における判定精度が劣化する。したがって、グループ化処理に使用するキーワードの数はできるだけ少なくする。しかしながら、文書に含まれる語彙の語義には片寄がある場合がある。例えば、
図4は、語彙"AAA"に対するキーワードをキーワード抽出部2が抽出した結果の例である。なお、語彙"AAA"には、通信機器の製造会社名と、果物の普通名詞の2つの語義が存在するものとしている。
図4の例では、1位から48位までのキーワードは、語彙"AAA"が製造会社名を示している場合のキーワードであり、果物を示している場合のキーワードは、例えば、49位と62位にのみ含まれている。したがって、例えば、キーワード抽出部2が抽出してグループ化処理部3に送るキーワードの数Xを上位10個とすると、グループが1つのみとなり、マイナーな語義である果物が判定できなくなる。よって、本実施形態では、グループ化処理を反復処理とし、徐々に使用するキーワードを増加させる。
【0021】
しかしながら、文書中における語義の片寄りが大きい場合、2つ目のグループを見つけるまでの繰り返し回数が大きくなり処理負荷が増加する。また、2つ目のグループが生成されるまでの反復回数が大きくなり、2つ目のグループを見つけるまでに反復処理が終了する可能性もある。したがって、本実施形態では、上位Y個のキーワードを含む文書を削除し、次回のキーワードの抽出においては、この上位Y個のキーワードを含まない文書からキーワードを抽出する。この構成により、キーワード抽出部2が出力するキーワードに対応する語義のバランスを調整、つまり、マイナーな語義に対するキーワードを、少ない繰り返し回数で抽出される様にする。
【0022】
以上、本実施形態によると、予め辞書データベースを作成することなく、収集した文書から語彙の語義の種別(
図2のグループに対応)と、各語義に関するキーワードを判定することができる。また、キーワードのグループ化処理を反復処理とすることで、関連の薄いキーワードが抽出されることを防ぎ、適切なキーワードを選択することができる。さらに、繰り返しの度に、上位所定数のキーワードを含む文書を削除していくことで、反復処理の回数を抑えることができる。判定部4は、語義に対応する適切なキーワードにより、各文書における語彙が、どの種別に属するものであるかを判定することができる。
【0023】
なお、上記実施形態において、キーワード抽出部2は、上位所定数(例では、X)のキーワードをグループ化処理部3に出力し、その後、上位所定数(例では、Y)のキーワードを含む文書を削除していた。しかしながら、上位所定数ではなく、上位所定順位とすることができる。
【0024】
なお、本発明による語義判定装置は、コンピュータを上記語義判定装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。