説明

特徴語抽出装置、プログラム及び方法

【課題】テキストマイニングの対象となる文書のデータに対して適切な語の区切りを自動的に設定する。
【解決手段】本特徴語抽出装置は、複数の文書のデータが格納されている文書格納部と、当該複数の文書のデータのうち第1の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列をデータ格納部に格納する生成部と、データ格納部に格納されている文字列の各々について、当該文字列が第1の文書のデータに出現する回数と文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて特徴度を算出する算出部と、第1の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列を特定し、特徴語格納部に格納する特定部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、テキストマイニング(Text Mining)に関連する技術に関する。
【背景技術】
【0002】
テキストマイニングにおいては、特定の文書のデータを単語や文節等の単位で区切り、区切られた単位毎に統計解析(例えば出現頻度の解析)を行い、重要性が高いと推定される語(以下、特徴語と呼ぶ)を抽出する。特徴語を抽出する際の指標としては、例えばTF-IDF(Term Frequency, Inverse Document Frequency)値が用いられる。例えば単語wのTF-IDF値は、以下のような式により算出される。
【0003】
【数1】

【0004】
ここで、tfは、対象の文書における単語wの出現回数を表す。dfは、全文書の集合のうち単語wを含む文書の数を表す。Nは、全文書の数を表す。
【0005】
この式によれば、tfの値が大きい、すなわち対象の文書に多く出現する単語ほど、TF-IDF値が大きくなるため、特徴語らしさが高い単語であるという結果になる。一方、dfの値が大きい、すなわち当該単語が出現する文書の数が多いほど、TF-IDF値が小さくなるため、特徴語らしさが低い単語であるという結果になる。従って、例えば「今日」のような、文書のトピックに関係なく頻繁に出現する語は、対象の文書中に多く出現していたとしても、TF-IDF値は小さくなる。
【0006】
ところで、文書のデータをどのような単位で区切るかは、何らかの方法で予め決定するが、区切り方が異なると、同じ文書を対象に処理を行ったとしても最終的に抽出される特徴語が全く異なってしまうことがある。
【0007】
例えば、図1に示すように、全文書の集合として文書10乃至19が与えられ、対象となる文書が文書10乃至13であるとする。ここでは、説明を簡単にするため、文書の内容を1単語程度の短いものとしている。この例では、対象となる文書として種々の洗濯機についての文書が選択されているため、特徴語として「洗濯機」が抽出されることが望ましい。従って、区切りを「二槽式/洗濯機」や「ドラム式/洗濯機」のように設定すると、「洗濯機」のTF-IDF値が最も高くなり、「洗濯機」が特徴語として抽出される。ところが、区切りを「二槽式洗濯機」や「ドラム式洗濯機」のように設定した場合(すなわち「洗濯機」とその前の語の間に区切りを入れない場合)、「ドラム式洗濯機」のTF-IDF値が最も高くなり、「ドラム式洗濯機」が特徴語として抽出されてしまう。
【0008】
また、例えば図2に示すように、全文書の集合として文書20乃至29が与えられ、対象となる文書が文書21、22及び24であるとする。この例では、対象となる文書はいずれも「ドラム式洗濯機」であるため、特徴語として「ドラム式洗濯機」が抽出されることが望ましい。従って、区切りを「ドラム式洗濯機」のように設定する(すなわち「ドラム式」と「洗濯機」との間に区切りを入れない)と、「ドラム式洗濯機」のTF-IDF値が最も高くなり、「ドラム式洗濯機」が特徴語として抽出される。ところが、「ドラム式/洗濯機」のように設定した場合、「ドラム式」のTF-IDF値が最も高くなり、「ドラム式」という、それだけでは意味を持たない語が抽出されてしまう。
【0009】
このように、適切な区切りを設定しなければ、特徴語として相応しい語を抽出することができないことがある。しかしながら、実際にテキストマイニングの処理を行う段階では、どのような区切りを設定すればよいかは明らかではない。
【0010】
従来、テキストマイニングに関して以下のような技術が存在する。具体的には、複数のテキストマイニングの分析結果間の差異や特徴を見出すため、比較分析の対象とする分析結果データを選択し、選択した分析結果データに基づいて比較一覧を生成する。そして、分析者による入力情報に基づいて比較条件を設定し、比較条件に従って比較一覧に対する比較分析を実行する。しかし、この技術では、区切りをどのように設定するかという点は考慮されていない。
【0011】
また、以下のような技術も存在する。具体的には、処理対象の文書に特徴的に出現する語句(すなわち特徴語)を抽出すると共に、処理対象の文書の細分化を行うための分析軸を設定する。また、設定された分析軸を構成する各区分と関連する度合いが高い関連語句を、抽出した語句の中から取得し、文書集合における関連語句の出現偏りしきい値をユーザから受け付ける。そして、設定された出現偏りしきい値よりも大きい出現偏りしきい値を有する関連語句を抽出し、テキストマイニングの結果とする。しかしながら、この技術においても、特徴語を「辞書等を参照して抽出」したり「統計情報を用いて抽出」するとしており、上で述べたような問題点については考慮されていない。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2005-165754号公報
【特許文献2】特開2003-141134号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
従って、本技術の目的は、一側面においては、テキストマイニングの対象となる文書のデータに対して適切な語の区切りを自動的に設定するための技術を提供することである。
【課題を解決するための手段】
【0014】
本実施の形態に係る特徴語抽出装置は、(A)複数の文書のデータが格納されている文書格納部と、(B)文書格納部に格納されている複数の文書のデータのうち第1の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第1データ格納部に格納する文字列生成部と、(C)第1データ格納部に格納されている文字列の各々について、当該文字列が第1の文書のデータに出現する回数と文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、第1の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第2データ格納部に格納する算出部と、(D)第1の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第1の文字列を第2データ格納部から特定し、特定された第1の文字列を特徴語格納部に格納する特定部とを有する。
【発明の効果】
【0015】
テキストマイニングの対象となる文書のデータに対して適切な語の区切りを自動的に設定することができるようになる。
【図面の簡単な説明】
【0016】
【図1】図1は、従来技術の課題を説明するための図である。
【図2】図2は、従来技術の課題を説明するための図である。
【図3】図3は、本実施の形態に係るシステムの概要を示す図である。
【図4】図4は、文書DBに格納されているデータの一例を示す図である。
【図5】図5は、要素列生成処理の処理フローを示す図である。
【図6】図6は、要素列について説明するための図である。
【図7】図7は、要素列格納部に格納されているデータの一例を示す図である。
【図8】図8は、本実施の形態の効果について説明するための図である。
【図9】図9は、DF更新処理の処理フローを示す図である。
【図10】図10は、DFデータ格納部に格納されているデータの一例を示す図である。
【図11】図11は、特徴語抽出処理の処理フローを示す図である。
【図12】図12は、TF算出処理の処理フローを示す図である。
【図13】図13は、TFデータ格納部に格納されているデータの一例を示す図である。
【図14】図14は、特徴語データ生成処理の処理フローを示す図である。
【図15】図15は、ラティステーブル格納部に格納されているデータの一例を示す図である。
【図16】図16は、ラティステーブル格納部に格納されているデータの一例を示す図である。
【図17】図17は、パス生成処理の処理フローを示す図である。
【図18】図18は、特徴語格納部に格納されているデータの一例を示す図である。
【図19】図19は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【0017】
本実施の形態に係るシステムの概要を図3に示す。例えばインターネットであるネットワーク7には、ユーザ端末5と、フロントエンドサーバ3とが接続されている。また、フロントエンドサーバ3には、本実施の形態における主要な処理を実施する特徴語抽出装置1が接続されている。ユーザは、ユーザ端末5を操作し、処理要求をフロントエンドサーバ3に送信させる。フロントエンドサーバ3は、処理要求をユーザ端末5から受信すると、当該処理要求を特徴語抽出装置1に転送する。特徴語抽出装置1は、フロントエンドサーバ3から処理要求を受信すると、当該処理要求に応じて処理を実行し、処理結果をフロントエンドサーバ3に送信する。フロントエンドサーバ3は、特徴語抽出装置1から処理結果を受信すると、当該処理結果をユーザ端末5に転送する。ユーザ端末5は、処理結果をフロントエンドサーバ3から受信すると、処理結果を表示装置に表示する。
【0018】
特徴語抽出装置1は、文書データベース(DB)100と、要素列生成部101と、要素列格納部102と、更新部103と、DF(Document Frequency)データ格納部104とを含むDF更新部115と、対象文書特定部105と、対象文書格納部106と、データ格納部107と、TF(Term Frequency)算出部108と、TFデータ格納部109と、算出部1101及び特定部1102を含む区切り解析部110と、ラティステーブル格納部111と、特徴語格納部112と、出力部113とを含む抽出部114とを有する。
【0019】
要素列生成部101は、文書DB100に格納されているデータを用いて要素列を生成し、処理結果を要素列格納部102に格納する。更新部103は、要素列格納部102に格納されているデータを用いて処理を行い、処理結果を用いてDFデータ格納部104に格納されているデータを更新する。対象文書特定部105は、フロントエンドサーバ3から処理要求を受信し、当該処理要求に含まれる、処理対象の文書(以下、対象文書と呼ぶ)を特定するためのデータ(例えば、文書が登録された日付や文書に含まれる文字列など)に従い文書DB100から対象文書を抽出すると共に、当該対象文書についての要素列リストを対象文書格納部106に格納する。また、対象文書特定部105は、処理要求に含まれる、特徴語の出力件数又は出力割合のデータをデータ格納部107に格納する。TF算出部108は、対象文書格納部106に格納されているデータを用いて、対象文書の要素列についてTFを算出する処理を行い、処理結果をTFデータ格納部109に格納する。算出部1101は、DFデータ格納部104及びTFデータ格納部109に格納されているデータを用いて処理を行い、処理結果をラティステーブル格納部111に格納する。特定部1102は、ラティステーブル格納部111に格納されているデータを用いて処理を行い、処理結果を特徴語格納部112に格納する。出力部113は、特徴語格納部112に格納されているデータをフロントエンドサーバ3に送信する。
【0020】
図4に、文書DB100に格納されているデータの一例を示す。図4の例では、文書IDと、文書が登録された日付と、文書の内容のデータとが格納されている。なお、「文書」とは例えば記事やメールであるが、これらに限定されるわけではない。
【0021】
次に、図5乃至図7を用いて、特徴語抽出装置1の動作を説明する。はじめに、要素列生成処理について説明する。要素列生成処理及び後で説明するDF更新処理は、文書DB100の内容が更新された場合等に行われる処理である。
【0022】
まず、要素列生成部101は、文書DB100に格納されている文書データのうち未処理の文書データを1件分特定する(図5:ステップS1)。
【0023】
そして、要素列生成部101は、ステップS1において特定された文書データに対して形態素解析処理を実行し、処理結果をメインメモリ等の記憶装置に格納する(ステップS3)。形態素解析処理は、文を意味を持つ最小の単位に分割する処理であるが、よく知られた処理であるので、ここでは詳細な説明を省略する。なお、形態素解析に使用する辞書には、複合語などは登録せずに基本的な単語だけを登録しているとする。
【0024】
また、要素列生成部101は、ステップS3において生成された形態素列に対して文節同定処理を実行し、処理結果をメインメモリ等の記憶装置に格納する(ステップS5)。文節同定処理は、形態素列における文節の境界を決定する処理であるが、よく知られた処理であるので、ここでは詳細な説明を省略する。
【0025】
そして、要素列生成部101は、ステップS5において特定された文節のうち未処理の文節を1つ特定する(ステップS7)。また、要素列生成部101は、ステップS7において特定された文節について要素列リストを生成し、要素列格納部102に登録する(ステップS9)。
【0026】
ここで、図6を用いて要素列について説明する。図6の例では、文節に「a」、「b」、「c」及び「d」という4つの要素が含まれているが、この文節については「a」、「b」、「c」、「d」、「a−b」、「b−c」、「c−d」、「a−b−c」、「b−c−d」及び「a−b−c−d」という要素列を生成する。そして、これらの要素列を組み合わせのうち、「a」、「b」、「c」及び「d」という4つの要素をいずれも含むような組み合わせを特定する。図6の例では、8つの組み合わせが特定される。この8つの組み合わせのデータが要素列リストである。
【0027】
図7に、要素列格納部102に格納されているデータの一例を示す。図7の例では、文書IDと、文IDと、文節IDと、要素列リストとが格納されている。
【0028】
なお、本実施の形態においては、要素を組み合わせる際に、文節の境界をまたいだ語は存在しないと仮定し、異なる文節に属する要素同士を組み合わせないようにしている。これは、TF及びDFを計算する際の処理量を大幅に削減することができるという効果を有する。
【0029】
これについて、図8を用いて説明する。図8に、要素a乃至dを含む文節Aと、要素e及びfを含む文節Bと、要素g乃至iを含む文節Cとを含む文書についての要素列の組み合わせを示す。本実施の形態の処理の場合、文節Aについては8通りの組み合わせが存在し、文節Bについては2通りの組み合わせが存在し、文節Cについては4通りの組み合わせが存在する。従って、DF及びTFの算出は、8+2+4=14通りの組み合わせについて行えばよい。一方、異なる文節に属する要素同士の組み合わせまで考慮する場合には、8×2×4=64通りの組み合わせについて計算を行うことになる。
【0030】
このように、文節の境界の条件を導入すると、動的計画法により、組み合わせ全体の問題を部分問題に分割することができる。なお、文節の境界をまたいだ語は存在しないと仮定しても問題は無いことがほとんどである。
【0031】
図5の説明に戻り、要素列生成部101は、未処理の文節が有るか判断する(ステップS11)。未処理の文節が有ると判断された場合(ステップS11:Yesルート)、ステップS7の処理に戻る。
【0032】
一方、未処理の文節が無いと判断された場合(ステップS11:Noルート)、要素列生成部101は、未処理の文書データが有るか判断する(ステップS13)。未処理の文書データが有ると判断された場合(ステップS13:Yesルート)、ステップS1の処理に戻る。一方、未処理の文書データが無いと判断された場合(ステップS13:Noルート)、元の処理に戻る。
【0033】
このような処理を実施することにより、処理対象の文書データにおける文節の各々について要素列を生成することができるようになる。
【0034】
次に、図9及び図10を用いて、DF更新処理について説明する。まず、更新部103は、要素列格納部102から未処理の文書IDを1つ特定する(図9:ステップS21)。また、更新部103は、ステップS21において特定された文書IDについての要素列リストのうち未処理の要素列リストを1つ特定する(ステップS23)。さらに、更新部103は、ステップS23において特定された要素列リストから未処理の要素列を1つ特定する(ステップS25)。
【0035】
そして、更新部103は、ステップS25において特定された要素列のDFを既に更新したか判断する(ステップS27)。DFは、要素列が出現する文書データの件数を表す。本処理においては、同一の文書データについて同一の要素列を複数回処理する可能性があり、その場合に何度もDFを更新しないようにするため、ステップS27の処理を実行する。
【0036】
ステップS25において特定された要素列のDFを既に更新したと判断された場合(ステップS27:Yesルート)、ステップS31の処理に移行する。一方、ステップS25において特定された要素列のDFを未だ更新していないと判断された場合(ステップS27:Noルート)、更新部103は、DFデータ格納部104において、特定された要素列のDFを1インクリメントする(ステップS29)。
【0037】
図10に、DFデータ格納部104に格納されているデータの一例を示す。図10の例では、要素列と、DFの値とが格納されている。
【0038】
そして、更新部103は、ステップS23において特定された要素列リストに未処理の要素列が有るか判断する(ステップS31)。未処理の要素列が有ると判断された場合(ステップS31:Yesルート)、ステップS25の処理に戻る。
【0039】
一方、未処理の要素列が無いと判断された場合(ステップS31:Noルート)、更新部103は、ステップS21において特定された文書IDについての要素列リストのうち未処理の要素列リストが有るか判断する(ステップS33)。未処理の要素列リストが有ると判断された場合(ステップS33:Yesルート)、ステップS23の処理に戻る。
【0040】
一方、未処理の要素列リストが無いと判断された場合(ステップS33:Noルート)、更新部103は、要素列格納部102において未処理の文書IDが有るか判断する(ステップS35)。未処理の文書IDが有ると判断された場合(ステップS35:Yesルート)、ステップS21の処理に戻る。一方、未処理の文書IDが無いと判断された場合(ステップS35:Noルート)、元の処理に戻る。
【0041】
以上のような処理を実施することにより、要素列生成処理において生成された要素列の各々について、DFを求めることができるようになる。また、特徴語抽出処理とは異なるタイミングで処理を実行することができるので、特徴後抽出の処理を高速で実行することができるようになる。
【0042】
次に、図11乃至図18を用いて、特徴語抽出処理について説明する。まず、対象文書を特定するためのデータ及び特徴語の出力件数又は出力割合のデータを含む処理要求をユーザ端末5から受信したフロントエンドサーバ3は、当該処理要求を特徴語抽出装置1に転送する。そして、特徴語抽出装置1における対象文書特定部105は、フロントエンドサーバ3から処理要求を受信すると、特徴語の出力件数又は出力割合のデータをデータ格納部107に格納する。また、対象文書特定部105は、対象文書を特定するためのデータで文書DB100を検索することにより、対象文書を特定する。さらに、対象文書特定部105は、対象文書の文書IDに対応する要素列リストを要素列格納部102から抽出し、対象文書格納部106に格納する。なお、対象文書格納部106のデータ構造は、要素列格納部102のデータ構造と同様である。
【0043】
そして、対象文書特定部105は、特徴語格納部112に格納されているデータを初期化する(図11:ステップS41)。また、TF算出部108は、TF算出処理を実施する(ステップS43)。TF算出処理については、図12を用いて説明する。
【0044】
まず、TF算出部108は、対象文書格納部106から未処理の要素列リストを1つ特定する(図12:ステップS51)。また、TF算出部108は、特定された要素列リストに含まれる要素列のTFを1インクリメントするようにTFデータ格納部109を更新する(ステップS53)。TFは、要素列が対象文書に出現する数を表わす。なお、1つの要素列リストに同一の要素列が複数個含まれる場合があるが、その場合には当該要素列についてTFを1だけインクリメントするものとする。
【0045】
図13に、TFデータ格納部109に格納されているデータの一例を示す。図13の例では、要素列と、TFとが格納されている。
【0046】
そして、TF算出部108は、対象文書格納部106に未処理の要素列リストが有るか判断する(ステップS55)。未処理の要素列リストが有ると判断された場合(ステップS55:Yesルート)、ステップS51の処理に戻る。一方、未処理の要素列リストが無いと判断された場合(ステップS55:Noルート)、元の処理に戻る。
【0047】
以上のような処理を実施することにより、対象文書のデータに対応する要素列の各々についてTFを求めることができるようになる。
【0048】
図11の説明に戻り、区切り解析部110は、特徴語データ生成処理を実施する(ステップS45)。特徴語データ生成処理については、図14を用いて説明する。
【0049】
まず、算出部1101は、対象文書格納部106から未処理の要素列リストを1つ特定する(図14:ステップS61)。そして、算出部1101は、ステップS61において特定された要素列リストについてラティステーブルを生成し、ラティステーブル格納部111に格納する(ステップS63)。
【0050】
図15に、ラティステーブル格納部111に格納されているラティステーブルの一例を示す。図15の例では、IDと、要素列と、左接続IDと、右接続IDと、TF-IDF値とが格納されている。ラティステーブルは、各要素列リストについて生成され、各ラティステーブルには、要素列リストに含まれる要素列の接続関係を規定するデータが格納される。なお、ステップS63の処理を実行する段階では、TF-IDF値の値は格納されていない。
【0051】
図16に、ラティステーブルのデータにより規定される、要素列の接続関係を示す。図16の例は、「ドラム式洗濯機を」という文節についての要素列の接続関係である。図16の例によれば、「ドラム式洗濯機を」という文節には、要素列の組み合わせが8通り存在する。具体的には、「ドラム/式洗濯機を」、「ドラム/式/洗濯機を」、「ドラム/式/洗濯機/を」、「ドラム/式洗濯機/を」、「ドラム式/洗濯機/を」、「ドラム式/洗濯機を」、「ドラム式洗濯機/を」及び「ドラム式洗濯機を」という組み合わせである。
【0052】
図14の説明に戻り、算出部1101は、ラティステーブル格納部111に格納されている要素列の各々についてTF-IDF値を算出し、ラティステーブル格納部111に格納する(ステップS65)。ステップS65においては、TFデータ格納部109に格納されているTFのデータ、DFデータ格納部104に格納されているDFのデータ及び文書DB100に格納されている文書の件数のデータを、上で述べた数式に代入することによりTF-IDF値を算出する。
【0053】
そして、特定部1102は、パス生成処理を実施する(ステップS67)。パス生成処理については、図17を用いて説明する。まず、特定部1102は、ステップS61において特定された要素列リストについてのラティステーブルから、TF-IDF値が最も高い要素列を特定する(図17:ステップS81)。また、ステップS81において特定された要素列に対応付けて格納されている左接続ID及び右接続IDをラティステーブルから抽出し、メインメモリ等の記憶装置に格納する(ステップS83)。
【0054】
そして、特定部1102は、特定された左接続IDが「null」であるか判断する(ステップS85)。すなわち、ステップS81において特定された要素列の左側に要素列が存在するか判断する。左接続IDが「null」ではないと判断された場合(ステップS85:Noルート)、特定部1102は、左接続IDのうちTF-IDF値が最大の要素列のIDをラティステーブルから特定し、メインメモリ等の記憶装置に格納する(ステップS87)。なお、ステップS87においてIDが複数特定された場合には、文字数の多い方の要素列のIDを特定する。そして、特定部1102は、特定されたIDに対応付けて格納されている左接続IDをラティステーブル格納部111から抽出し(ステップS89)、ステップS85に戻る。
【0055】
一方、左接続IDが「null」であると判断された場合(ステップS85:Yesルート)、特定部1102は、特定された右接続IDが「null」であるか判断する(ステップS91)。すなわち、ステップS81において特定された要素列の右側に要素列が存在するか判断する。右接続IDが「null」ではないと判断された場合(ステップS91:Noルート)、特定部1102は、右接続IDのうちTF-IDF値が最大の要素列のIDをラティステーブルから特定し、メインメモリ等の記憶装置に格納する(ステップS93)。なお、ステップS93においてIDが複数特定された場合には、文字数の多い方の要素列のIDを特定する。そして、特定部1102は、特定されたIDに対応付けて格納されている右接続IDをラティステーブル格納部111から抽出し(ステップS95)、ステップS91に戻る。
【0056】
以上のように、各々の要素列について算出されたTF-IDF値に基づいて区切りを設定することにより、本来特徴語として抽出されるべき語を取りこぼしてしまうことを抑制することができるようになる。
【0057】
図14の説明に戻り、特定部1102は、特定された要素列及び当該要素列のTF-IDF値を特徴語格納部112に格納する(ステップS69)。
【0058】
図18に、特徴語格納部112に格納されているデータの一例を示す。図18の例では、特徴語と、当該特徴語のTF-IDF値とが格納されている。
【0059】
そして、特定部1102は、対象文書格納部106に未処理の要素列リストが有るか判断する(ステップS71)。未処理の要素列リストが有ると判断された場合(ステップS71:Yesルート)、ステップS61の処理に戻る。一方、未処理の要素列リストが無いと判断された場合(ステップS71:Noルート)、元の処理に戻る。
【0060】
以上のような処理を実施することにより、文書データに対して特徴語抽出のための区切りを自動的に設定することができるようになる。
【0061】
図11の説明に戻り、出力部113は、データ格納部107から特徴語の出力件数又は出力割合のデータを読み出し、当該出力件数又は出力割合分の特徴語をTF-IDF値が大きい方から順に特徴語格納部112から抽出する(ステップS47)。そして、出力部113は、ステップS47において抽出された特徴語を含む出力データをフロントエンドサーバ3に送信する(ステップS49)。そして、処理を終了する。
【0062】
以上のように、対象文書に応じて区切りを設定することにより、より適切な特徴語を出力することができるようになる。また、通常、テキストマイニングの導入にあたっては、例えば対象となるデータのドメイン毎に辞書を用意している。しかし、本実施の形態の処理であれば、複合的な単語についても自動的にまとめ上げられるため、そのような単語についての辞書登録をしなくても済むようになる。これにより、テキストマイニングの導入コストを大きく削減することができるようになる。
【0063】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した特徴語抽出装置1の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【0064】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【0065】
なお、上で述べた例ではフロントエンドサーバ3を設けるようにしているが、フロントエンドサーバ3を設けず、ユーザ端末5からの処理要求を特徴語抽出装置1が直接受信するようにしてもよい。
【0066】
また、パス生成処理においては、まずTF-IDF値が最も高い要素列を特定し、当該要素列の右側及び左側について、TF-IDF値が高い要素列を選択していくことにより要素列の組み合わせを特定している。しかし、このような方法でなくても、例えばパス毎に当該パスに含まれる要素列のTF-IDF値の総和を算出し、算出された値が最も大きいパスを採用するようにしてもよい。
【0067】
なお、上で述べた特徴語抽出装置1は、コンピュータ装置であって、図19に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0068】
なお、図3に示した各処理部は、CPU2503及びプログラムの組み合わせ、すなわち、CPU2503がプログラムを実行することにより実現してもよい。より具体的には、CPU2503は、HDD2505又はメモリ2501に記憶されたプログラムに従った動作を行うことで、上で述べたような処理部として機能してもよい。また、図3に示した各データ格納部は、図19におけるメモリ2501やHDD2505等として実現してもよい。
【0069】
以上述べた本技術の実施の形態をまとめると以下のようになる。
【0070】
本実施の形態に係る特徴語抽出装置は、(A)複数の文書のデータが格納されている文書格納部と、(B)文書格納部に格納されている複数の文書のデータのうち第1の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第1データ格納部に格納する文字列生成部と、(C)第1データ格納部に格納されている文字列の各々について、当該文字列が第1の文書のデータに出現する回数と文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、第1の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第2データ格納部に格納する算出部と、(D)第1の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第1の文字列を第2データ格納部から特定し、特定された第1の文字列を特徴語格納部に格納する特定部とを有する。
【0071】
テキストマイニングにおいては、区切りの設定の仕方が適切でないと、本来抽出されるべき語が抽出されず、特徴語として相応しくない語が抽出されてしまうことがある。そこで、上で述べたように、各文節において特徴度が最も高い文字列を特定すれば、特定された文字列に基づいて適切な区切りを設定することができるようになる。
【0072】
また、上で述べた特定部が、第1の文書のデータにおける文節の各々について、第1の文字列に隣接する文字列のうち特徴度が最も高い文字列を特定し当該文字列を特徴語格納部に格納する処理を、特定された文字列を第1の文字列に結合して残余の文字列が無くなるまで繰り返し実行するようにしてもよい。このようにすれば、文節内における第1の文字列以外の部分についても適切な区切りを設定することができるようになる。
【0073】
また、上で述べた特定部が、文字列に対応付けて当該文字列の特徴度を特徴語格納部にさらに格納するようにしてもよい。そして、上で述べた本装置が、(E)特徴語格納部に格納されている文字列のうち、特徴度が上位所定数又は上位所定割合に含まれる文字列を出力する出力部をさらに有するようにしてもよい。第1の文書の特徴語として相応しい文字列をユーザに提示することができるようになる。
【0074】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【0075】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0076】
(付記1)
複数の文書のデータが格納されている文書格納部と、
前記文書格納部に格納されている複数の文書のデータのうち第1の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第1データ格納部に格納する文字列生成部と、
前記第1データ格納部に格納されている文字列の各々について、当該文字列が前記第1の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第1の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第2データ格納部に格納する算出部と、
前記第1の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第1の文字列を前記第2データ格納部から特定し、特定された第1の文字列を特徴語格納部に格納する特定部と
を有する特徴語抽出装置。
【0077】
(付記2)
前記特定部が、
前記第1の文書のデータにおける文節の各々について、前記第1の文字列に隣接する文字列のうち特徴度が最も高い文字列を特定し当該文字列を前記特徴語格納部に格納する処理を、特定された文字列を前記第1の文字列に結合して残余の文字列が無くなるまで繰り返し実行する
ことを特徴とする付記1記載の特徴語抽出装置。
【0078】
(付記3)
前記特定部が、前記文字列に対応付けて当該文字列の特徴度を前記特徴語格納部にさらに格納し、
前記特徴語格納部に格納されている文字列のうち、前記特徴度が上位所定数又は上位所定割合に含まれる文字列を出力する出力部
をさらに有する付記1又は2記載の特徴語抽出装置。
【0079】
(付記4)
文書格納部に格納されている複数の文書のデータのうち第1の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第1データ格納部に格納するステップと、
前記第1データ格納部に格納されている文字列の各々について、当該文字列が前記第1の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第1の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第2データ格納部に格納するステップと、
前記第1の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第1の文字列を前記第2データ格納部から特定し、特定された第1の文字列を特徴語格納部に格納するステップと、
を含み、コンピュータにより実行される特徴語抽出方法。
【0080】
(付記5)
文書格納部に格納されている複数の文書のデータのうち第1の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第1データ格納部に格納するステップと、
前記第1データ格納部に格納されている文字列の各々について、当該文字列が前記第1の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第1の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第2データ格納部に格納するステップと、
前記第1の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第1の文字列を前記第2データ格納部から特定し、特定された第1の文字列を特徴語格納部に格納するステップと、
を、コンピュータに実行させるための特徴語抽出プログラム。
【符号の説明】
【0081】
1 特徴語抽出装置 3 フロントエンドサーバ
5 ユーザ端末 7 ネットワーク
100 文書DB 101 要素列生成部
102 要素列格納部 103 更新部
104 DFデータ格納部 105 対象文書特定部
106 対象文書格納部 107 データ格納部
108 TF算出部 109 TFデータ格納部
110 区切り解析部 1101 算出部
1102 特定部 111 ラティステーブル格納部
112 特徴語格納部 113 出力部
114 抽出部 115 DF更新部

【特許請求の範囲】
【請求項1】
複数の文書のデータが格納されている文書格納部と、
前記文書格納部に格納されている複数の文書のデータのうち第1の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第1データ格納部に格納する文字列生成部と、
前記第1データ格納部に格納されている文字列の各々について、当該文字列が前記第1の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第1の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第2データ格納部に格納する算出部と、
前記第1の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第1の文字列を前記第2データ格納部から特定し、特定された第1の文字列を特徴語格納部に格納する特定部と
を有する特徴語抽出装置。
【請求項2】
前記特定部が、
前記第1の文書のデータにおける文節の各々について、前記第1の文字列に隣接する文字列のうち特徴度が最も高い文字列を特定し当該文字列を前記特徴語格納部に格納する処理を、特定された文字列を前記第1の文字列に結合して残余の文字列が無くなるまで繰り返し実行する
ことを特徴とする請求項1記載の特徴語抽出装置。
【請求項3】
前記特定部が、前記文字列に対応付けて当該文字列の特徴度を前記特徴語格納部にさらに格納し、
前記特徴語格納部に格納されている文字列のうち、前記特徴度が上位所定数又は上位所定割合に含まれる文字列を出力する出力部
をさらに有する請求項1又は2記載の特徴語抽出装置。
【請求項4】
文書格納部に格納されている複数の文書のデータのうち第1の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第1データ格納部に格納するステップと、
前記第1データ格納部に格納されている文字列の各々について、当該文字列が前記第1の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第1の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第2データ格納部に格納するステップと、
前記第1の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第1の文字列を前記第2データ格納部から特定し、特定された第1の文字列を特徴語格納部に格納するステップと、
を含み、コンピュータにより実行される特徴語抽出方法。
【請求項5】
文書格納部に格納されている複数の文書のデータのうち第1の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第1データ格納部に格納するステップと、
前記第1データ格納部に格納されている文字列の各々について、当該文字列が前記第1の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第1の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第2データ格納部に格納するステップと、
前記第1の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第1の文字列を前記第2データ格納部から特定し、特定された第1の文字列を特徴語格納部に格納するステップと、
を、コンピュータに実行させるための特徴語抽出プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2012−150576(P2012−150576A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2011−7354(P2011−7354)
【出願日】平成23年1月17日(2011.1.17)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】