(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-06
(45)【発行日】2023-02-14
(54)【発明の名称】分析方法、分析装置及び分析プログラム
(51)【国際特許分類】
G06F 16/30 20190101AFI20230207BHJP
G06F 16/383 20190101ALI20230207BHJP
G06F 40/20 20200101ALI20230207BHJP
G06F 40/216 20200101ALI20230207BHJP
G06F 40/279 20200101ALI20230207BHJP
【FI】
G06F16/30
G06F16/383
G06F40/20
G06F40/216
G06F40/279
(21)【出願番号】P 2019084332
(22)【出願日】2019-04-25
【審査請求日】2022-01-20
(73)【特許権者】
【識別番号】517219410
【氏名又は名称】株式会社アナリティクスデザインラボ
(74)【代理人】
【識別番号】100101236
【氏名又は名称】栗原 浩之
(74)【代理人】
【識別番号】100166914
【氏名又は名称】山▲崎▼ 雄一郎
(72)【発明者】
【氏名】野守 耕爾
【審査官】和田 財太
(56)【参考文献】
【文献】特開2009-093647(JP,A)
【文献】特開2002-041543(JP,A)
【文献】特開2004-288168(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00
G06F 40/00
(57)【特許請求の範囲】
【請求項1】
分析装置が実行するテキストデータの分析方法であって、
前記テキストデータに含まれている第1語群に属する語及び第2語群に属する語の組み合わせの頻度に基づく要素からなる共起行列を作成する共起行列作成ステップと、
前記共起行列を入力とし、第1語群に属する語及び第2語群に属する語で構成される複数のトピックを抽出する潜在意味解析法を実行することにより、各トピックを条件とした第1語群に属する語の第1条件付確率、及び各トピックを条件とした第2語群に属する語の第2条件付確率を求めるトピック抽出ステップと、
前記第1条件付確率及び第1語群の出現頻度、並びに前記第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各前記テキストデータの条件付確率を計算し、前記条件付確率に基づいて各前記テキストデータに対する各トピックのスコアを求めるスコア計算ステップと、を備え、
前記共起行列作成ステップは、
前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの頻度を要素とする実測共起行列を作成し、
前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの期待頻度を要素とする期待共起行列を作成し、
前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成する
ことを特徴とする分析方法。
【請求項2】
請求項1に記載の分析方法であって、
前記共起行列作成ステップは、
前記テキストデータから文章を抽出し、各文章に含まれている前記第1語群に属する語及び前記第2語群に属する語の組み合わせの頻度を要素とする前記実測共起行列を作成し、
前記テキストデータから文章を抽出し、各文章に含まれている前記第1語群に属する語及び前記第2語群に属する語の組み合わせの期待頻度を要素とする前記期待共起行列を作成し、
前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成し、
前記スコア計算ステップは、前記第1条件付確率及び第1語群の出現頻度、並びに前記第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各文章の条件付確率を計算し、前記条件付確率に基づいて各前記テキストデータに対する各トピックのスコアを求める
ことを特徴とする分析方法。
【請求項3】
請求項1に記載する分析方法であって、
前記テキストデータは、カテゴリに分類されたテキスト部を含み、
前記共起行列作成ステップは、
第1のカテゴリに分類された前記テキスト部から抽出した前記第1語群に属する語、及び第2のカテゴリに分類された前記テキスト部から抽出した前記第2語群に属する語の組み合わせの頻度を要素とする前記実測共起行列を作成し、
第1のカテゴリに分類された前記テキスト部から抽出した前記第1語群に属する語、及び第2のカテゴリに分類された前記テキスト部から抽出した前記第2語群に属する語の組み合わせの期待頻度を要素とする前記期待共起行列を作成し、
前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成する
ことを特徴とする分析方法。
【請求項4】
テキストデータの分析装置であって、
前記テキストデータに含まれている第1語群に属する語及び第2語群に属する語の組み合わせの頻度に基づく要素からなる共起行列を作成する共起行列作成手段と、
前記共起行列を入力とし、第1語群に属する語及び第2語群に属する語で構成される複数のトピックを抽出する潜在意味解析法を実行することにより、各トピックを条件とした第1語群に属する語の第1条件付確率、及び各トピックを条件とした第2語群に属する語の第2条件付確率を求めるトピック抽出手段と、
前記第1条件付確率及び第1語群の出現頻度、並びに前記第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各前記テキストデータの条件付確率を計算し、前記条件付確率に基づいて各前記テキストデータに対する各トピックのスコアを求めるスコア計算手段と、を備え、
前記共起行列作成手段は、
前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの頻度を要素とする実測共起行列を作成し、
前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの期待頻度を要素とする期待共起行列を作成し、
前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成する
ことを特徴とする分析装置。
【請求項5】
テキストデータをコンピュータに分析させる分析プログラムであって、
前記コンピュータを、
前記テキストデータに含まれている第1語群に属する語及び第2語群に属する語の組み合わせの頻度に基づく要素からなる共起行列を作成する共起行列作成手段と、
前記共起行列を入力とし、第1語群に属する語及び第2語群に属する語で構成される複数のトピックを抽出する潜在意味解析法を実行することにより、各トピックを条件とした第1語群に属する語の第1条件付確率、及び各トピックを条件とした第2語群に属する語の第2条件付確率を求めるトピック抽出手段と、
前記第1条件付確率及び第1語群の出現頻度、並びに前記第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各前記テキストデータの条件付確率を計算し、前記条件付確率に基づいて各前記テキストデータに対する各トピックのスコアを求めるスコア計算手段として機能させ、
前記共起行列作成手段は、
前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの頻度を要素とする実測共起行列を作成し、
前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの期待頻度を要素とする期待共起行列を作成し、
前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成する
ことを特徴とする分析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキストデータから個性的なトピックを抽出することができる分析方法、分析装置及び分析プログラムに関する。
【背景技術】
【0002】
昨今では、テキストの電子化の急増とテキストマイニングツールの普及に伴い、テキストデータからいかに有用な知識を抽出するかということが課題となっている。
【0003】
本発明者は、テキストデータから、単語そのものではなく文章のトピックを抽出する手法として知られるPLSAを応用した分析方法を発明した(特許文献1参照)。PLSAは、元々文章分類のために開発された手法で、文章とそこに出現する単語の間には観測できない潜在的な意味クラスがあることを想定し、文章と単語の共通のトピックとなるような特徴を見つける手法である。
【0004】
このような分析方法においても、テキストデータからマイニングを行い、潜在的なトピックを抽出することはできる。しかしながら、PLSAは、元々のテキストデータに高い頻度で発生する単語を元にトピックを抽出する傾向にあり、得られたトピックは典型的で目新しいものではない場合がある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、上記事情に鑑みてなされたものであり、テキストデータに低い頻度で発生するような単語であっても、当該単語に基づく個性的なトピックを抽出することができる分析方法、分析装置及び分析プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決する本発明の第1の態様は、分析装置が実行するテキストデータの分析方法であって、前記テキストデータに含まれている第1語群に属する語及び第2語群に属する語の組み合わせの頻度に基づく要素からなる共起行列を作成する共起行列作成ステップと、前記共起行列を入力とし、第1語群に属する語及び第2語群に属する語で構成される複数のトピックを抽出する潜在意味解析法を実行することにより、各トピックを条件とした第1語群に属する語の第1条件付確率、及び各トピックを条件とした第2語群に属する語の第2条件付確率を求めるトピック抽出ステップと、前記第1条件付確率及び第1語群の出現頻度、並びに前記第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各前記テキストデータの条件付確率を計算し、前記条件付確率に基づいて各前記テキストデータに対する各トピックのスコアを求めるスコア計算ステップと、を備え、前記共起行列作成ステップは、前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの頻度を要素とする実測共起行列を作成し、前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの期待頻度を要素とする期待共起行列を作成し、前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成することを特徴とする分析方法にある。
【0008】
本発明の第2の態様は、第1の態様に記載の分析方法であって、前記共起行列作成ステップは、前記テキストデータから文章を抽出し、各文章に含まれている前記第1語群に属する語及び前記第2語群に属する語の組み合わせの頻度を要素とする前記実測共起行列を作成し、前記テキストデータから文章を抽出し、各文章に含まれている前記第1語群に属する語及び前記第2語群に属する語の組み合わせの期待頻度を要素とする前記期待共起行列を作成し、前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成し、前記スコア計算ステップは、前記第1条件付確率及び第1語群の出現頻度、並びに前記第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各文章の条件付確率を計算し、前記条件付確率に基づいて各前記テキストデータに対する各トピックのスコアを求めることを特徴とする分析方法にある。
【0009】
本発明の第3の態様は、第1の態様に記載の分析方法であって、前記テキストデータは、カテゴリに分類されたテキスト部を含み、前記共起行列作成ステップは、第1のカテゴリに分類された前記テキスト部から抽出した前記第1語群に属する語、及び第2のカテゴリに分類された前記テキスト部から抽出した前記第2語群に属する語の組み合わせの頻度を要素とする前記実測共起行列を作成し、第1のカテゴリに分類された前記テキスト部から抽出した前記第1語群に属する語、及び第2のカテゴリに分類された前記テキスト部から抽出した前記第2語群に属する語の組み合わせの期待頻度を要素とする前記期待共起行列を作成し、前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成することを特徴とする分析方法にある。
【0010】
本発明の第4の態様は、テキストデータの分析装置であって、前記テキストデータに含まれている第1語群に属する語及び第2語群に属する語の組み合わせの頻度に基づく要素からなる共起行列を作成する共起行列作成手段と、前記共起行列を入力とし、第1語群に属する語及び第2語群に属する語で構成される複数のトピックを抽出する潜在意味解析法を実行することにより、各トピックを条件とした第1語群に属する語の第1条件付確率、及び各トピックを条件とした第2語群に属する語の第2条件付確率を求めるトピック抽出手段と、前記第1条件付確率及び第1語群の出現頻度、並びに前記第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各前記テキストデータの条件付確率を計算し、前記条件付確率に基づいて各前記テキストデータに対する各トピックのスコアを求めるスコア計算手段と、を備え、前記共起行列作成手段は、前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの頻度を要素とする実測共起行列を作成し、前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの期待頻度を要素とする期待共起行列を作成し、前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成することを特徴とする分析装置にある。
【0011】
本発明の第5の態様は、テキストデータをコンピュータに分析させる分析プログラムであって、前記コンピュータを、前記テキストデータに含まれている第1語群に属する語及び第2語群に属する語の組み合わせの頻度に基づく要素からなる共起行列を作成する共起行列作成手段と、前記共起行列を入力とし、第1語群に属する語及び第2語群に属する語で構成される複数のトピックを抽出する潜在意味解析法を実行することにより、各トピックを条件とした第1語群に属する語の第1条件付確率、及び各トピックを条件とした第2語群に属する語の第2条件付確率を求めるトピック抽出手段と、前記第1条件付確率及び第1語群の出現頻度、並びに前記第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各前記テキストデータの条件付確率を計算し、前記条件付確率に基づいて各前記テキストデータに対する各トピックのスコアを求めるスコア計算手段として機能させ、前記共起行列作成手段は、前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの頻度を要素とする実測共起行列を作成し、前記テキストデータから前記第1語群に属する語及び前記第2語群に属する語の組み合わせの期待頻度を要素とする期待共起行列を作成し、前記期待共起行列の各要素に対する前記実測共起行列の各要素の差分あるいは比率を各要素とする前記共起行列を作成することを特徴とする分析プログラムにある。
【発明の効果】
【0012】
本発明によれば、テキストデータに低い頻度で発生するような単語であっても、当該単語に基づく個性的なトピックを抽出することができる分析方法、分析装置及び分析プログラムが提供される。
【図面の簡単な説明】
【0013】
【
図1】本実施形態に係る分析方法を実装した分析プログラムを実行する分析装置の機能ブロック図である。
【
図3】分析装置での処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための形態について説明する。なお、実施形態の説明は例示であり、本発明は以下の説明に限定されない。
【0015】
〈実施形態1〉
図1は、本実施形態に係る分析方法を実行する分析プログラムを実行する分析装置の機能ブロック図である。分析プログラム10は、分析装置1にインストールされて実行されるものである。分析装置1は、特に図示しないが、CPU、RAM、ハードディスク、入出力装置、通信手段等を備えた一般的なコンピュータである。
【0016】
ハードディスクには、分析装置1のCPU等を制御するためのオペレーティングシステムがインストールされている。このオペレーティングシステムにより、ハードディスクにインストールされた分析プログラム10がRAMに読み込まれ、RAMに読み込まれた分析プログラムがCPUにより実行される。
【0017】
このような分析プログラムは、テキストデータを処理対象とする。テキストデータとは、文章を符号化したデータである。本発明でいう文章とは、テキストデータに含まれる一文である。テキストデータの符号化の方式(文字コード)は特に限定はなく、符号化により表される言語の種別も問わない。本実施形態では、テキストデータは日本語の文からなり、UTF-8などの文字コードで表現されている。
【0018】
本実施形態では、テキストデータとして、日本の特許出願に添付された要約書の文章を用いる。具体的には、要約書及び特許請求の範囲に「電気」及び「車」を含む10年分(出願日が2007年1月1日から2016年12月31日)の電気自動車に関する特許出願(26,419件)を抽出し、その特許出願の要約書の記載をテキストデータとする。
【0019】
【0020】
表1にテキストデータの一例を示す。表1には、4つのテキストデータが例示されている。テキストデータIDは、個々のテキストデータを識別する情報であり、ここでは重複しない数値である。テキストデータは、発明の要約文である。文章IDは、テキストデータに含まれる個々の文章を識別する情報であり、ここでは重複しない数値である。各文章IDは、テキストデータIDとの関連も保持されている。以後、IDが「1」であるテキストデータをテキストデータ「1」と表記し、IDが「1」である文章を文章「1」と表記する。
【0021】
テキストデータを分析対象とする分析装置1は、共起行列作成手段11、トピック抽出手段12、及びスコア計算手段13を備えている。本実施形態では、それらの各手段は、分析装置1で実行される分析プログラム10として実装されている。分析プログラム10は、分析装置1を各手段11~13として機能させるプログラムである。
【0022】
共起行列作成手段11は、テキストデータから共起行列を作成する。共起行列とは、第1語群に属する語、及び第2語群に属する語の組み合わせの頻度に基づく要素からなる行列であり、具体的には、以下のように、実測共起行列と期待共起行列とから作成される。
【0023】
実測共起行列とは、第1語群に属する語及び第2語群に属する語の組み合わせ(共起ペアと称する)を含むテキストデータの頻度(件数)を要素とする行列である。実測共起行列は、次のようにして作成される。
【0024】
まず、共起行列作成手段11は、テキストデータから文章を抽出する。具体的には、共起行列作成手段11は、テキストデータを一つずつ読み込み、各テキストデータについて、句点など一文の末尾に用いられる文字を基準として文章を出力する。例えば、テキストデータID「1」については、表1に示すように4つの文章が抽出される。
【0025】
一つのテキストデータは、発明に関する記載が含まれているが、各文章に着目すると異なる観点で記載されていることが多い。表1のテキストデータID「1」からは、電気自動車の課題について述べた文章(文章ID「1」)や電気自動車の動作について述べた文章(文章ID「2」)などが得られることになる。
【0026】
後述するトピック抽出手段12では、文章を元にトピックを抽出するが、もし、仮にテキストデータを元にトピックを抽出する場合、テキストデータに異なる観点の文章が複数含まれていると、適切なトピックとはいえない結果となりうる。しかし、本発明では、テキストデータから抽出した文章を元にトピックを抽出するので、後述するトピック抽出手段12による抽出精度を向上させることができる。
【0027】
次に、共起行列作成手段11は、各文章から第1語群及び第2語群を抽出する。第1語群及び第2語群は、所定の基準により文章から抽出された複数の語からなる。例えば、所定の基準としては、単語や特定の品詞、係り受け表現(文法的構造を持つ単語と単語のペア)などが挙げられる。第1語群と第2語群とで、異なる基準を用いるようにする。このような第1語群及び第2語群は、公知の形態素解析手法あるいは構文解析手法を適用することで得ることができる。
【0028】
次に、共起行列作成手段11は、第1語群に属する語と、第2語群に属する語との組み合わせである共起ペアを含む文章の頻度を計算する。そして、その頻度を要素とする実測共起行列を作成する。実測共起行列のi行j列の要素(i,j)は、第1語群に属するi番目の語と、第2語群に属するj番目の語からなる共起ペアを含む文章の頻度となる。
【0029】
【0030】
表2に、実測共起行列を例示する。この実測共起行列は、文章から「単語」を抽出して第1語群とし、文章から「係り受け表現」を抽出して第2語群とするものである。第1語群に属する単語として「構成」「モータ」「制御」などが行方向に並び、第2語群に属する係り受け表現として「電力-供給」「否-判定」「バッテリ-充電」などが列方向に並んでいる。共起行列作成手段11は、「構成」と「電力-供給」の共起ペアを含む文章の数をカウントする。表2の実測共起行列の例では、要素(1,1)の「118」は、「構成」及び「電力-供給」という共起ペアが存在する文章の頻度(件数)が118件であることを表している。
【0031】
なお、第1語群と第2語群の選び方は上述の例に限定されない。例えば、テキストデータ中に含まれる「名詞」に分類される語を第1語群とし、「動詞又は形容詞」に分類される語を第2語群としてもよい。この第2語群のように複数の品詞の何れかに分類される語から第1語群又は第2語群を抽出してもよい。
【0032】
期待共起行列とは、第1語群に属する語及び第2語群に属する語の共起ペアの期待頻度を要素とする行列である。期待頻度とは、理論的に推定される共起ペアを含む文章の頻度である。
第1語群に属するi番目の語(Xi)が含まれる文章の件数を総頻度(n(Xi))とする。
第2語群に属するj番目の語(Yj)が含まれる文章の件数を総頻度(n(Yj))とする。
文章の全件数を総文章数Nとする。
期待頻度は、n(Xi)・n(Yj)/Nである。
【0033】
共起行列作成手段11は、第1語群に属する語が含まれる文章の件数を計上して総頻度(n(Xi))を求め、第2語群に属する語が含まれる文章の件数を計上して総頻度(n(Yj))を求める。そして、文章の全件数を計上して総文章数Nとし、期待頻度を計算する。このような期待頻度を、第1語群に属する語及び第2語群に属する語からなる全ての共起ペアについて計算する。
【0034】
【0035】
表3は、共起行列作成手段11により作成された期待共起行列の一例である。総文章数Nは、229,598件である。第1語群の一番目の語(X1)である「構成」の総頻度(n(X1))は、5,880件である。第2語群の一番目の語(Y1)である「電力-供給」の総頻度(n(Y1))は、1,350件である。要素(1,1)は「34.6」である。これは、「構成」と「電力-供給」からなる共起ペアを含む文章の頻度は、理論的には「34.6」であることを表している。
【0036】
共起行列は、第1語群に属する語、及び第2語群に属する語の組み合わせの頻度に基づく要素からなる行列である。より具体的には、共起行列は、期待共起行列の各要素に対する実測共起行列の各要素の差分あるいは比率を各要素とする行列である。
【0037】
共起行列作成手段11は、期待共起行列の各要素に対する実測共起行列の各要素の差分あるいは比率を計算して共起行列を作成する。この共起行列は、次のトピック抽出手段12の入力データとなる。期待共起行列の各要素に対する実測共起行列の各要素の差分あるいは比率として、実測共起行列の各要素(i,j)/期待共起行列の各要素(i,j)の対数を計算し、その値を共起行列の要素(i,j)とする。実測共起行列及び期待共起行列の各要素(i,j)がゼロの場合や、上記対数が負であれば、共起行列の要素はゼロとする。このようにして作成した共起行列を表4に例示する。
【0038】
なお、差分あるいは比率の取り方は、単純な差分(絶対誤差)としてもよいし、絶対誤差を期待頻度で除した相対誤差としてもよいし、単純な比率としてもよいし、そうした差分あるいは比率の絶対値を取ったり、二乗を取ったり、対数を取ったりしてもよい。ただしゼロで除して値が計算不可となることや値が負数となることがないように、そのような場合は上記のようにゼロに置換するなどの調整を施す。
【0039】
【0040】
トピック抽出手段12は、前記共起行列を入力とし、第1語群に属する語及び第2語群に属する語で構成される複数のトピックを抽出する潜在意味解析法を実行することにより、各トピックを条件とした第1語群に属する語の第1条件付確率、及び各トピックを条件とした第2語群に属する語の第2条件付確率を求める。トピックは、発明に関する文章の主題を表しているといえる。
【0041】
潜在意味解析法とは、自然言語処理の技法の一つであり、文書群と文書に含まれる用語群について、それらに関連した概念の集合を生成することで、その関係を分析する手法である。潜在意味解析法の具体例としては、LSI(Latent Semantic Indexing)、LDA(Latent Dirichlet Allocation)、PLSA(Probabilistic Latent Semantic Analysis)を挙げることができる。
【0042】
本実施形態では、PLSAを用いて説明する。
図2は、PLSAの概念図である。
図2(a)に示すように、PLSAは、文書分類に用いられるクラスタリング手法の一つであり、一般には、文章Dと、その文章に含まれる単語Wの間に潜在的なトピックZがあると想定し、文章D及び単語Wの組み合わせで構成されるトピックZを抽出するものである。PLSAによるトピック抽出は、各トピックZに属する文章Dの条件付確率及び各トピックZに属する単語Wの条件付確率及びトピックZの確率がEMアルゴリズムにより計算される。
【0043】
本実施形態では、このようなPLSAに入力するデータは、上述した共起行列である。PLSAは、このような共起行列を入力として、
図2(b)に示すように、第1語群に属する語W1と、第2語群に属する語W2との間に潜在的なトピックZがあると想定し、第1語群に属する語W1と第2語群に属する語W2の組み合わせで構成されるトピックZを抽出するものである。すなわち、トピック抽出手段12は、共起行列を入力としてPLSAを実行することで、各トピックZを条件とした第1語群に属する語W1の第1条件付確率としてP(W1|Z)、及び各トピックZを条件とした第2語群に属する語W2の第2条件付確率としてP(W2|Z)を計算する。本実施形態の例では、第1語群に属する語として単語(名詞、動詞、形容詞)を、第2語群に属する語として係り受け表現(名詞と動詞・形容詞の係り受けペア)を設定している。PLSAの具体的な計算方法は、「Hofmann, T.:Probabilistic latent semantic analysis, Proc. Of Uncertainty in Artificial Intelligence, pp.289-296, 1999.」などの文献に記載の公知の技法を用いて実行することができる。
【0044】
表5に、PLSAにより計算されたトピックに属する単語及び係り受け表現を例示する。表5には、複数作成されたトピックのうち、2つのトピックZ08とトピックZ21に属する単語及び係り受け表現が示されている。それぞれ条件付確率が高い順に単語および係り受け表現を並べており、それぞれの総頻度(n(Xi))と総頻度(n(Y1))も掲載している。
【0045】
【0046】
トピックZ08についてみると、第1条件付確率が最上位である単語は「マスタシリンダ」という単語であり、第2条件付確率が最上位である係り受け表現は「基づく-発生」である。このようなトピックZ08に所属する単語及び係り受け表現に基づいて、トピックZ08の意味を解釈することができる。例えば、トピックZ08は、第1条件付確率が上位である単語に基づけば、ブレーキに関するトピックであると解釈することができる。また各単語および係り受け表現の総頻度にも着目すると、例えば「マスタシリンダ」「ブレーキ液圧」「ブレーキ操作」「液圧」など、「ブレーキ」という単語よりも比較的頻度の少ないブレーキに関する単語も上位の条件付確率が割り当てられており、より具体的な表現で構成された個性的なトピックが抽出されていることが分かる。
【0047】
PLSAは、トピック数を予め設定する必要があり、また、初期値依存性があるため初期値によって結果が異なる。そこで、本実施形態のトピック抽出手段12では、トピック数として範囲を持たせて複数設定し、初期値を変えてそれぞれのトピック数でPLSAを複数回実行し、それぞれの結果の情報量基準の値を計算する。そして、その全結果の中で情報量基準が最適となる結果を採用する。情報量基準の計算は、公知の方法(例えば「小西貞則,北川源四郎:情報量基準,朝倉書店,2004」参照)により行うことができる。なお、トピック数は、このような情報量基準に基づいて決定する場合に限定されず、任意に定めてもよい。
【0048】
本実施形態では、表6に示すように、トピック抽出手段12により50個のトピックが抽出され、それぞれのトピックの解釈がなされた。表6にトピック抽出手段により抽出されたトピックに解釈を与えたものを例示する。
【表6】
【0049】
スコア計算手段13は、第1条件付確率及び第1語群の出現頻度、並びに第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各文章の条件付確率を計算する。そして、この条件付確率を各文章の発生確率で除した値を、各文章に対する各トピックのスコアとする。そして、そのスコアをテキストデータ単位に集約することで、各テキストデータに対する各トピックのスコアを求める。
【0050】
文章ShにおけるトピックZkのスコアは、P(Sh|Zk)/P(Sh)である(式(1))。kは、PLSAで作成されたトピックを特定する番号であり、トピックの総数を最大とする自然数である。hは、文章を特定する番号(文章ID)であり、文章の総数を最大とする自然数である。
【0051】
【0052】
第1語群に含まれる語(行要素Xi)の集合をSxhとし(式(2))、第2語群に含まれる語(列要素Yi)の集合をSyhとする(式(3))。
【0053】
【0054】
式(1)のP(Sh|Zk)は、上記文章Sxhと文章Syhに分解し、それぞれP(Sxh|Zk)とP(Syh|Zk)を計算し、それらを統合してP(Sh|Zk)を計算する。
【0055】
トピックZkを条件とした文章Sxhの条件付確率P(Sxh|Zk)を計算し(式(4))、トピックZkを条件とした文章Syhの条件付確率P(Syh|Zk)を計算する(式(5))。
【0056】
【0057】
式(4)の行要素Xiが出現する中で文章Sxhが出現する確率(第1語群の出現頻度)であるP(Sxh|Xi)は、Xiが出現する総頻度n(Xi)の逆数として計算される(式(6))。
【0058】
【0059】
式(5)の列要素Yjが出現する中で文章Syhが出現する確率(第2語群の出現頻度)であるP(Syh|Yj)は、Yjが出現する総頻度n(Yj)の逆数として計算される(式(7))。
【0060】
【0061】
式(4)、式(5)のトピックZkを条件とした行要素Xiの条件付確率(第1条件付確率)であるP(Xi|Zk)と、トピックZkを条件とした列要素Yjの条件付確率(第2条件付確率)であるP(Yj|Zk)は、PLSAの実行で得られる。したがって、式(1)のトピックZkを条件とした文章Shの条件付確率P(Sh|Zk)は、式(8)で表される。
【0062】
【0063】
文章Shにおいて、行要素Xで定義される文章Shxと、列要素Yで定義される文章Syhの重みは同じであるため、式(8)中の、文章Sxhを条件とした文章Shの条件付確率P(Sh|Sxh)と、文章Syhを条件とした文章Shの条件付確率P(Sh|Syh)はそれぞれ0.5とする。
【0064】
式(1)の文章Shの確率P(Sh)は、式(9)で表され、P(Zk)はPLSAの実行で得られる。
【0065】
【0066】
このように、P(Sh|Zk)とP(Sh)との比をもって文章ShにおけるトピックZkのスコアとする。この値が1を超えるということは、文章Shの発生確率はトピックZkを条件とすることで上昇し、トピックZkとの関係が強いということである。このようなスコアを採用することで、各文章ShとトピックZkの関係の強さを把握しやすくすることができる。表7に各文章Shに対する各トピックZkのスコアを例示する。
【0067】
【0068】
例えば、文章ID「1」は、トピックZ1についてのスコアが3.1であり、トピックZ2についてのスコアが0.9であり、このようなスコアが全トピックについて計算されている。
【0069】
スコア計算手段13は、文章ID単位に計算された各トピックのスコアをテキストデータID単位に集約する。文章単位のスコアをテキストデータ単位に集約する方法としては、最大値や平均値などを計算することが挙げられる。本実施形態では、トピック毎のスコアの最大値を、テキストデータIDの各トピックのスコアとする。
【0070】
【0071】
表8を用いて、スコアの集計について具体的に説明する。テキストデータ「1」は文章「1」~文章「4」から構成されている。トピックごとに、文章「1」~文章「4」のうち最大値を求める。
【0072】
文章「1」~文章「4」に対するトピックZ1のスコアは「3.1」「1.4」「0.8」「1.2」である。したがって、「3.1」が最大値となる。この最大値「3.1」がテキストデータ「1」に対するトピックZ1のスコアとなる。以下同様に、トピックZ2~Z50についてトピック毎に最大値を計算することで、テキストデータ「1」に対する各トピックのスコアを得る。このような最大値を求めてテキストデータに対する各トピックのスコアとする計算を、全テキストデータについて実行する。表8の斜体字で表されたスコアがテキストデータに対する各トピックのスコアである。このようにして、各テキストデータに対して、各トピックのスコアを得ることができる。
【0073】
このようにして得られたスコアから、トピックの該当の有無を表す1,0の情報を付与してもよい。例えば、閾値を「3」に設定し、スコアが3以上であれば「1」に3未満であれば「0」というフラグ情報を付与してもよい。表9にフラグ情報を示す。
【0074】
【0075】
テキストデータ「1」は、トピックZ1のスコアが「3.1」であるから(表9参照)、フラグ情報は「1」となる。同様に、トピックZ2のスコアは「5.8」であるから、フラグ情報は「1」となる。トピックZ50のスコアは「2.4」であるから、フラグ情報は「0」となる。なお、閾値は「3」である必要はない。P(Sh|Zk)/P(Sh)で定義したスコアは1が基準と考えることができるので、閾値を「1」と設定してもよい。
【0076】
次に、本実施形態に係る分析装置1の動作について説明する。
図3は、分析装置での処理を示すフローチャートである。
【0077】
まず、テキストデータから共起行列を作成する(ステップS1:共起行列作成ステップ)。具体的には、共起行列作成手段11が、テキストデータから文章を抽出し、各文章に含まれている第1語群に属する語及び第2語群に属する語の組み合わせの個数を表す共起行列を作成し、これは実測共起行列と期待共起行列とから作成する。具体例については、上述したので説明は省略する。
【0078】
次に、共起行列を入力として潜在意味解析法を実行する(ステップS2:トピック抽出ステップ)。具体的には、トピック抽出手段12が共起行列を入力とし、第1語群に属する語及び第2語群に属する語で構成される複数のトピックを抽出する潜在意味解析法を実行する。これにより、各トピックを条件とした第1語群に属する語の第1条件付確率、及び各トピックを条件とした第2語群に属する語の第2条件付確率が得られる。具体例については、上述したので説明は省略する。
【0079】
次に、各テキストデータに対する各トピックのスコアを計算する(ステップS3:スコア計算ステップ)。具体的には、スコア計算手段13が、第1条件付確率及び第1語群の出現頻度、並びに第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各文章の条件付確率を各文章に対する各トピックのスコアとして求め、それをテキストデータ単位に集約することで、各テキストデータに対する各トピックのスコアを求める。具体例については上述したので説明は省略する。
【0080】
以上に述べたように、本実施形態に係る分析方法、分析装置及び分析プログラムによれば、テキストデータからトピックを抽出し、各テキストデータに対してトピックのスコアを求める。このようなスコアを求める前提となる共起行列は、期待共起行列に対する実測共起行列の差分あるいは比率を元に得られている。
【0081】
このようにして得られた共起行列を用いることで、テキストデータからより個性的なトピックを抽出することができる。これは次のような理由による。実測共起行列の各要素を実測共起頻度、期待共起行列の各要素を期待共起頻度と称する。実測共起頻度が高い共起ペアでも、元々全体の頻度が高い要素(表2でいう総頻度が高い第1語群の語や第2語群の語)が含まれるときには期待共起頻度も高くなるため、実測共起頻度を期待共起頻度で除すことで期待頻度の大きさが制限される。逆に実測共起頻度が高くない共起ペアでも、期待共起頻度がそれよりも十分低ければ共起行列の期待頻度は大きくなり、これにPLSAを適用した解ではこうした要素にも高い確率が割り当てられる可能性がある。つまり、通常のPLSAでは頻度が低い要素は高い確率が割り当てられない傾向があるが、上述したような共起行列を用いる本発明では、そうした要素にも高い確率が割り当てられる可能性があり、より個性的なトピックが抽出されることが期待できる。
【0082】
なお、通常の共起行列を用いてPLSAを適用した場合、頻度が高い要素に高い確率が割り当てられることから、結果として抽出されるトピックは典型的なものになる傾向があり、目新しさに欠けてしまう。
【0083】
また、テキストデータに含まれる文章ごとに共起行列を作成し、トピック抽出手段12により文章を元にトピックを抽出した。これにより、テキストデータに異なる観点の文章が複数含まれている場合であっても、トピック抽出手段12による抽出されたトピックは、異なる観点が混在したような曖昧さが低減され、より明確な内容のトピックを抽出することができる。
【0084】
また、共起行列の各要素は、期待共起行列に対する実測共起行列の比率の対数とした。このように対数を用いることにより、共起行列の比率が極端に高くなることを制限することができる。特に期待共起頻度は1未満となるケースも多く、比率のみでは値が高くなりすぎるものもある。この状態では共起行列全体の値の分布は大きくばらつき、極端な値の開きが生まれてしまうため、PLSAを適用した際の最適化計算において、今度はこの極端に大きな値に引っ張られる結果となり、必要以上にデフォルメされた歪んだトピックとなることがありうる。そこで、この比率の値の対数を取ることで値の分布をならし、上記の現象を制限し、より適正なトピックを得ることができると期待できる。なお、共起行列の各要素の値は、期待共起行列に対する実測共起行列の差分あるいは比率を取ることで計算されるが、この差分あるいは比率の取り方は、単純な差分(絶対誤差)としてもよいし、絶対誤差を期待頻度で除した相対誤差としてもよいし、単純な比率としてもよいし、そうした差分あるいは比率の絶対値を取ったり、二乗を取ったり、対数を取ったりしてもよい。
【0085】
なお、本発明を上述した実施形態に基づいて説明したが、本発明は上記実施形態に限定されない。例えば、一台の分析装置1において各手段11~13による処理を実行させたが、このような態様に限らず、複数の分析装置にて各手段を分散して実行させてもよい。
【0086】
また、上記実施形態では、特許文献を対象としたものであるが、これに限定されない。例えば、顧客から得たアンケートの自由記述結果をテキストデータとし、顧客の潜在ニーズを抽出したり、コールセンターの問い合わせ履歴をテキストデータとし、消費者の隠れた評価の観点を抽出するなど、テキストデータの一般に適用することができる。
【0087】
〈比較例〉
上述した実施形態と同じテキストデータを用いて、実測共起行列及び期待共起行列を作成せずに、実測共起行列を共起行列としてトピックの抽出及びスコアの集計を行った比較例を示す。具体的には、テキストデータから文章を抽出し、各文章から、第1語群及び第2語群を抽出し、各文章に含まれている第1語群に属する語及び第2語群に属する語の組み合わせの個数を表す共起行列を作成する。
【0088】
このようにして作成した共起行列について、上述した実施形態と同様にトピック抽出を行った結果を表10に示す。本発明では表6に示したように、50個のトピックが抽出されたが、比較例においては表10に示すように、34個のトピックが抽出された。
【0089】
【0090】
【0091】
本発明で抽出された50個のトピックには、上記比較例で抽出された34個のトピックに対応するものもあるが、上記比較例では抽出されずに、本発明によってのみ得られたトピックも存在した。表11にその例を示す。トピックZ09は、「シフトレンジ」や「パーキングレンジ」、「検出」、「停止」、「自動的-行う」といった表現で確率が高く、運転者の誤操作を抑制したり自動停止などの運転アシストに関する技術と解釈できる。トピックZ29は、「ナビゲーション装置」や「情報」、「目的地」、「位置情報」といった表現で確率が高く、位置情報を取得してドライバーにナビ情報として提供するなど、情報の取得と提供に関する技術と解釈できる。どちらも近年の自動車業界において付加価値を高める重要な機能が、本発明によってテキストデータから得ることができた。
【0092】
〈実施形態2〉
実施形態1では、複数あるテキストデータのそれぞれから文章を抽出し、各文章から共起行列を作成した。しかしながら、本発明はこれに限定されず、複数あるテキストデータから共起行列を作成してもよい。以下、本実施形態の分析方法、分析装置、分析プログラムについて説明するが、実施形態1と重複する説明は省略する。
【0093】
共起行列作成手段11は、テキストデータから第1語群に属する語及び第2語群に属する語の組み合わせの頻度を表す共起行列を作成する。つまり、テキストデータは1又は複数の文章からなるが、文章単位では処理せずに、テキストデータ単位で処理する。なお、例として用いるテキストデータは、実施形態1の表1と同様である。
【0094】
まず、共起行列作成手段11は、各テキストデータから第1語群及び第2語群を抽出する。
【0095】
次に、共起行列作成手段11は、第1語群に属する語と、第2語群に属する語との組み合わせである共起ペアを含むテキストデータの頻度を計算する。そして、その頻度を要素とする実測共起行列を作成する。実測共起行列のi行j列の要素(i,j)は、第1語群に属するi番目の語と、第2語群に属するj番目の語からなる共起ペアを含むテキストデータの頻度となる。
【0096】
次に、共起行列作成手段11は、第1語群に属する語が含まれるテキストデータの件数を計上して総頻度(n(Xi))を求め、第2語群に属する語が含まれるテキストデータの件数を計上して総頻度(n(Yj))を求める。そして、テキストデータの全件数を計上して総テキストデータ数Nとし、期待頻度を計算する。このような期待頻度を、全ての第1語群に属する語及び第2語群に属する語について計算し、期待共起行列を作成する。
【0097】
次に、共起行列作成手段11は、期待共起行列の各要素に対する実測共起行列の各要素の差分あるいは比率を計算して共起行列を作成する。実施形態1と同様に実測共起行列の各要素(i,j)/期待共起行列の各要素(i,j)の対数を計算し、その値を共起行列の要素(i,j)とする。
【0098】
このようにして得られた共起行列に対して、トピック抽出手段12によりトピックの抽出を行う。この抽出については、実施形態1と同様であるのでここでの説明は省略する。
【0099】
実施形態1では、各トピックを条件とした各文章の条件付確率を計算したが、本実施形態では、各トピックを条件とした各テキストデータの条件付確率を計算する。
【0100】
具体的には、スコア計算手段13は、第1条件付確率及び第1語群の出現頻度、並びに第2条件付確率及び第2語群の出現頻度に基づいて、各トピックを条件とした各テキストデータの条件付確率を計算する。そして、この条件付確率を各テキストデータの発生確率で除した値を、各テキストデータに対する各トピックのスコアとする。
【0101】
テキストデータDhにおけるトピックZkのスコアは、P(Dh|Zk)/P(Dh)である(式(10))。kは、PLSAで作成されたトピックを特定する番号であり、トピックの総数を最大とする自然数である。hは、テキストデータを特定する番号(テキストデータID)であり、テキストデータの総数を最大とする自然数である。
【0102】
【0103】
第1語群に含まれる語(行要素Xi)の集合をDxhとし(式(11))、第2語群に含まれる語(列要素Yi)の集合をDyhとする(式(12))。
【0104】
【0105】
これらの集合を用いて、トピックZkを条件としたテキストデータDxhの条件付確率P(Dxh|Zk)を計算し(式(13))、トピックZkを条件としたテキストデータDyhの条件付確率P(Dyh|Zk)を計算する(式(14))。
【0106】
【0107】
式(13)の行要素Xiが出現する中でテキストデータDxhが出現する確率(第1語群の出現頻度)であるP(Dxh|Xi)は、Xiが出現する総頻度n(Xi)の逆数として計算される(式(15)))
【0108】
【0109】
式(14)の列要素Yjが出現する中でテキストデータDyhが出現する確率(第1語群の出現頻度)であるP(Dyh|Yj)は、Yjが出現する総頻度n(Yj)の逆数として計算される(式(16))
【0110】
【0111】
式(13)、式(14)のトピックZkを条件とした行要素Xiの条件付確率(第1条件付確率)であるP(Xi|Zk)と、トピックZkを条件とした列要素Yjの条件付確率(第2条件付確率)であるP(Yj|Zk)は、PLSAの実行で得られる。したがって、式(10)のトピックZkを条件としたテキストデータDhの条件付確率P(Dh|Zk)は、式(17)で表される。
【0112】
【0113】
テキストデータDhにおいて、行要素Xで定義される文章Dhxと、列要素Yで定義されるテキストデータDyhの重みは同じであるため、式(17)中の、テキストデータDxhを条件としたテキストデータDhの条件付確率P(Dh|Dxh)と、テキストデータDyhを条件としたテキストデータDhの条件付確率P(Dh|Dyh)はそれぞれ0.5とする。
【0114】
式(10)のテキストデータDhの確率P(Dh)は、式(18)で表され、P(Zk)はPLSAの実行で得られる。
【0115】
【0116】
以上に述べたように、本実施形態に係る分析方法、分析装置及び分析プログラムによれば、実施形態1と同様の作用効果を奏する。また、本実施形態では、文章ごとではなく、テキストデータから共起行列を作成する。このため、本実施形態の分析方法等は、テキストデータに異なる観点の文章が複数含まれていない場合に、特に有用である。
【0117】
〈実施形態3〉
実施形態1ではテキストデータから抽出された文章を対象として共起行列を作成し、実施形態2ではテキストデータを対象として共起行列を作成したが、本発明はこれらに限定されない。
【0118】
本実施形態のテキストデータは、カテゴリに分類されたテキスト部(1又は複数の文章からなる)を複数備えた構造となっている。表12にテキストデータを例示する。
【0119】
【0120】
表12に示すように、テキストデータは、複数のテキスト部からなり、各テキスト部は、カテゴリに分類されている。例えば、特許出願の明細書等に関するテキストデータには、タイトル(発明の名称)、課題、解決手段、効果などのカテゴリに分類されたテキスト部が含まれている。
【0121】
共起行列作成手段11は、複数のカテゴリのうち特定の2個のカテゴリを用いる。この2個のカテゴリは、ユーザーに指定されたものである。それらの2個のカテゴリのうちの一つを第1のカテゴリ、他の一つを第2のカテゴリと称する。
【0122】
共起行列作成手段11は、第1のカテゴリに分類されたテキスト部から第1語群に属する語、及び第2のカテゴリに分類されたテキスト部から第2語群に属する語の組み合わせの頻度を表す共起行列を作成する。
【0123】
共起行列作成手段11は、全てのテキストデータのうち、第1のカテゴリに分類されたテキスト部から第1語群を抽出し、第2のカテゴリに分類されたテキスト部から第2語群を抽出する。
【0124】
次に、共起行列作成手段11は、第1語群に属する語と、第2語群に属する語との組み合わせである共起ペアを含むテキストデータの頻度を計算する。そして、その頻度を要素とする実測共起行列を作成する。実測共起行列のi行j列の要素(i,j)は、第1語群に属するi番目の語と、第2語群に属するj番目の語からなる共起ペアを含むテキストデータの頻度となる。
【0125】
【0126】
表13は、第1のカテゴリを「タイトル」とし、第2のカテゴリを「解決手段」とし、第1語群を「名詞」とし、第2語群を「係り受け表現」として作成した実測共起行列を例示している。
【0127】
例えば、要素(1,1)は、第1のカテゴリ「タイトル」に分類されたテキスト部に「ブレーキ」という名詞が含まれ、かつ、第2のカテゴリ「解決手段」に分類されたテキスト部に「基づく-発生」という係り受け表現が含まれるような共起ペアが存在するテキストデータの数は8件であることを表す。
【0128】
次に、共起行列作成手段11は、第1のカテゴリに分類されたテキスト部に、第1語群に属する語が含まれるテキストデータの件数を計上して総頻度(n(Xi))を求める。また、共起行列作成手段11は、第2のカテゴリに分類されたテキスト部に、第2語群に属する語が含まれるテキストデータの件数を計上して総頻度(n(Yj))を求める。そして、テキストデータの全件数を計上して総テキストデータ数Nとし、期待頻度を計算する。このような期待頻度を、全ての第1語群に属する語及び第2語群に属する語について計算し、期待共起行列を作成する。
【0129】
次に、共起行列作成手段11は、期待共起行列の各要素に対する実測共起行列の各要素の差分あるいは比率を計算して共起行列を作成する。実施形態1と同様に実測共起行列の各要素(i,j)/期待共起行列の各要素(i,j)の対数を計算し、その値を共起行列の要素(i,j)とする。
【0130】
このようにして得られた共起行列に対して、トピック抽出手段12によりトピックの抽出を行う。この抽出については、実施形態1と同様であるのでここでの説明は省略する。
【0131】
本実施形態におけるスコアの計算は、Dxh、Dyhの定義が異なる以外は、実施形態2と同様であるので詳細な説明は省略する。Dxhは、第1のカテゴリに分類されたテキスト部から得られた、第1語群に含まれる語(行要素Xi)の集合である(式(19))。Dyhは、第2のカテゴリに分類されたテキスト部から得られた、第2語群に含まれる語(列要素Yi)の集合である(式(20))。
【0132】
【0133】
以上に述べたように、本実施形態に係る分析方法、分析装置及び分析プログラムによれば、実施形態1及び実施形態2と同様の作用効果を奏する。また、本実施形態では、カテゴリに分けられたテキスト部を含む、構造化されたテキストデータを対象として分析する場合に特に有用である。
【符号の説明】
【0134】
1 分析装置
10 分析プログラム
11 共起行列作成手段
12 トピック抽出手段
13 スコア計算手段