(57)【特許請求の範囲】
【請求項１】
複数の文書のデータが格納されている文書格納部と、
前記文書格納部に格納されている複数の文書のデータのうち第１の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第１データ格納部に格納する文字列生成部と、
前記第１データ格納部に格納されている文字列の各々について、当該文字列が前記第１の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第１の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第２データ格納部に格納する算出部と、
前記第１の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第１の文字列を前記第２データ格納部から特定し、特定された第１の文字列を特徴語格納部に格納する特定部と
を有する特徴語抽出装置。
【請求項２】
前記特定部が、
前記第１の文書のデータにおける文節の各々について、前記第１の文字列に隣接する文字列のうち特徴度が最も高い文字列を特定し当該文字列を前記特徴語格納部に格納する処理を、特定された文字列を前記第１の文字列に結合して残余の文字列が無くなるまで繰り返し実行する
ことを特徴とする請求項１記載の特徴語抽出装置。
【請求項３】
前記特定部が、前記文字列に対応付けて当該文字列の特徴度を前記特徴語格納部にさらに格納し、
前記特徴語格納部に格納されている文字列のうち、前記特徴度が上位所定数又は上位所定割合に含まれる文字列を出力する出力部
をさらに有する請求項１又は２記載の特徴語抽出装置。
【請求項４】
文書格納部に格納されている複数の文書のデータのうち第１の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第１データ格納部に格納するステップと、
前記第１データ格納部に格納されている文字列の各々について、当該文字列が前記第１の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第１の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第２データ格納部に格納するステップと、
前記第１の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第１の文字列を前記第２データ格納部から特定し、特定された第１の文字列を特徴語格納部に格納するステップと、
を含み、コンピュータにより実行される特徴語抽出方法。
【請求項５】
文書格納部に格納されている複数の文書のデータのうち第１の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第１データ格納部に格納するステップと、
前記第１データ格納部に格納されている文字列の各々について、当該文字列が前記第１の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第１の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第２データ格納部に格納するステップと、
前記第１の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第１の文字列を前記第２データ格納部から特定し、特定された第１の文字列を特徴語格納部に格納するステップと、
を、コンピュータに実行させるための特徴語抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、テキストマイニング（Text Mining）に関連する技術に関する。
【背景技術】
【０００２】
テキストマイニングにおいては、特定の文書のデータを単語や文節等の単位で区切り、区切られた単位毎に統計解析（例えば出現頻度の解析）を行い、重要性が高いと推定される語（以下、特徴語と呼ぶ）を抽出する。特徴語を抽出する際の指標としては、例えばTF-IDF（Term Frequency, Inverse Document Frequency）値が用いられる。例えば単語ｗｉのTF-IDF値は、以下のような式により算出される。
【０００３】
【数１】
0005516434.tif 000002
【０００４】
ここで、ｔｆｉは、対象の文書における単語ｗｉの出現回数を表す。ｄｆｉは、全文書の集合のうち単語ｗｉを含む文書の数を表す。Ｎは、全文書の数を表す。
【０００５】
この式によれば、ｔｆｉの値が大きい、すなわち対象の文書に多く出現する単語ほど、TF-IDF値が大きくなるため、特徴語らしさが高い単語であるという結果になる。一方、ｄｆｉの値が大きい、すなわち当該単語が出現する文書の数が多いほど、TF-IDF値が小さくなるため、特徴語らしさが低い単語であるという結果になる。従って、例えば「今日」のような、文書のトピックに関係なく頻繁に出現する語は、対象の文書中に多く出現していたとしても、TF-IDF値は小さくなる。
【０００６】
ところで、文書のデータをどのような単位で区切るかは、何らかの方法で予め決定するが、区切り方が異なると、同じ文書を対象に処理を行ったとしても最終的に抽出される特徴語が全く異なってしまうことがある。
【０００７】
例えば、図１に示すように、全文書の集合として文書１０乃至１９が与えられ、対象となる文書が文書１０乃至１３であるとする。ここでは、説明を簡単にするため、文書の内容を１単語程度の短いものとしている。この例では、対象となる文書として種々の洗濯機についての文書が選択されているため、特徴語として「洗濯機」が抽出されることが望ましい。従って、区切りを「二槽式／洗濯機」や「ドラム式／洗濯機」のように設定すると、「洗濯機」のTF-IDF値が最も高くなり、「洗濯機」が特徴語として抽出される。ところが、区切りを「二槽式洗濯機」や「ドラム式洗濯機」のように設定した場合（すなわち「洗濯機」とその前の語の間に区切りを入れない場合）、「ドラム式洗濯機」のTF-IDF値が最も高くなり、「ドラム式洗濯機」が特徴語として抽出されてしまう。
【０００８】
また、例えば図２に示すように、全文書の集合として文書２０乃至２９が与えられ、対象となる文書が文書２１、２２及び２４であるとする。この例では、対象となる文書はいずれも「ドラム式洗濯機」であるため、特徴語として「ドラム式洗濯機」が抽出されることが望ましい。従って、区切りを「ドラム式洗濯機」のように設定する（すなわち「ドラム式」と「洗濯機」との間に区切りを入れない）と、「ドラム式洗濯機」のTF-IDF値が最も高くなり、「ドラム式洗濯機」が特徴語として抽出される。ところが、「ドラム式／洗濯機」のように設定した場合、「ドラム式」のTF-IDF値が最も高くなり、「ドラム式」という、それだけでは意味を持たない語が抽出されてしまう。
【０００９】
このように、適切な区切りを設定しなければ、特徴語として相応しい語を抽出することができないことがある。しかしながら、実際にテキストマイニングの処理を行う段階では、どのような区切りを設定すればよいかは明らかではない。
【００１０】
従来、テキストマイニングに関して以下のような技術が存在する。具体的には、複数のテキストマイニングの分析結果間の差異や特徴を見出すため、比較分析の対象とする分析結果データを選択し、選択した分析結果データに基づいて比較一覧を生成する。そして、分析者による入力情報に基づいて比較条件を設定し、比較条件に従って比較一覧に対する比較分析を実行する。しかし、この技術では、区切りをどのように設定するかという点は考慮されていない。
【００１１】
また、以下のような技術も存在する。具体的には、処理対象の文書に特徴的に出現する語句（すなわち特徴語）を抽出すると共に、処理対象の文書の細分化を行うための分析軸を設定する。また、設定された分析軸を構成する各区分と関連する度合いが高い関連語句を、抽出した語句の中から取得し、文書集合における関連語句の出現偏りしきい値をユーザから受け付ける。そして、設定された出現偏りしきい値よりも大きい出現偏りしきい値を有する関連語句を抽出し、テキストマイニングの結果とする。しかしながら、この技術においても、特徴語を「辞書等を参照して抽出」したり「統計情報を用いて抽出」するとしており、上で述べたような問題点については考慮されていない。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００５-１６５７５４号公報
【特許文献２】特開２００３-１４１１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従って、本技術の目的は、一側面においては、テキストマイニングの対象となる文書のデータに対して適切な語の区切りを自動的に設定するための技術を提供することである。
【課題を解決するための手段】
【００１４】
本実施の形態に係る特徴語抽出装置は、（Ａ）複数の文書のデータが格納されている文書格納部と、（Ｂ）文書格納部に格納されている複数の文書のデータのうち第１の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第１データ格納部に格納する文字列生成部と、（Ｃ）第１データ格納部に格納されている文字列の各々について、当該文字列が第１の文書のデータに出現する回数と文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、第１の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第２データ格納部に格納する算出部と、（Ｄ）第１の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第１の文字列を第２データ格納部から特定し、特定された第１の文字列を特徴語格納部に格納する特定部とを有する。
【発明の効果】
【００１５】
テキストマイニングの対象となる文書のデータに対して適切な語の区切りを自動的に設定することができるようになる。
【図面の簡単な説明】
【００１６】
【図１】図１は、従来技術の課題を説明するための図である。
【図２】図２は、従来技術の課題を説明するための図である。
【図３】図３は、本実施の形態に係るシステムの概要を示す図である。
【図４】図４は、文書ＤＢに格納されているデータの一例を示す図である。
【図５】図５は、要素列生成処理の処理フローを示す図である。
【図６】図６は、要素列について説明するための図である。
【図７】図７は、要素列格納部に格納されているデータの一例を示す図である。
【図８】図８は、本実施の形態の効果について説明するための図である。
【図９】図９は、ＤＦ更新処理の処理フローを示す図である。
【図１０】図１０は、ＤＦデータ格納部に格納されているデータの一例を示す図である。
【図１１】図１１は、特徴語抽出処理の処理フローを示す図である。
【図１２】図１２は、ＴＦ算出処理の処理フローを示す図である。
【図１３】図１３は、ＴＦデータ格納部に格納されているデータの一例を示す図である。
【図１４】図１４は、特徴語データ生成処理の処理フローを示す図である。
【図１５】図１５は、ラティステーブル格納部に格納されているデータの一例を示す図である。
【図１６】図１６は、ラティステーブル格納部に格納されているデータの一例を示す図である。
【図１７】図１７は、パス生成処理の処理フローを示す図である。
【図１８】図１８は、特徴語格納部に格納されているデータの一例を示す図である。
【図１９】図１９は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１７】
本実施の形態に係るシステムの概要を図３に示す。例えばインターネットであるネットワーク７には、ユーザ端末５と、フロントエンドサーバ３とが接続されている。また、フロントエンドサーバ３には、本実施の形態における主要な処理を実施する特徴語抽出装置１が接続されている。ユーザは、ユーザ端末５を操作し、処理要求をフロントエンドサーバ３に送信させる。フロントエンドサーバ３は、処理要求をユーザ端末５から受信すると、当該処理要求を特徴語抽出装置１に転送する。特徴語抽出装置１は、フロントエンドサーバ３から処理要求を受信すると、当該処理要求に応じて処理を実行し、処理結果をフロントエンドサーバ３に送信する。フロントエンドサーバ３は、特徴語抽出装置１から処理結果を受信すると、当該処理結果をユーザ端末５に転送する。ユーザ端末５は、処理結果をフロントエンドサーバ３から受信すると、処理結果を表示装置に表示する。
【００１８】
特徴語抽出装置１は、文書データベース（ＤＢ）１００と、要素列生成部１０１と、要素列格納部１０２と、更新部１０３と、ＤＦ（Document Frequency）データ格納部１０４とを含むＤＦ更新部１１５と、対象文書特定部１０５と、対象文書格納部１０６と、データ格納部１０７と、ＴＦ（Term Frequency）算出部１０８と、ＴＦデータ格納部１０９と、算出部１１０１及び特定部１１０２を含む区切り解析部１１０と、ラティステーブル格納部１１１と、特徴語格納部１１２と、出力部１１３とを含む抽出部１１４とを有する。
【００１９】
要素列生成部１０１は、文書ＤＢ１００に格納されているデータを用いて要素列を生成し、処理結果を要素列格納部１０２に格納する。更新部１０３は、要素列格納部１０２に格納されているデータを用いて処理を行い、処理結果を用いてＤＦデータ格納部１０４に格納されているデータを更新する。対象文書特定部１０５は、フロントエンドサーバ３から処理要求を受信し、当該処理要求に含まれる、処理対象の文書（以下、対象文書と呼ぶ）を特定するためのデータ（例えば、文書が登録された日付や文書に含まれる文字列など）に従い文書ＤＢ１００から対象文書を抽出すると共に、当該対象文書についての要素列リストを対象文書格納部１０６に格納する。また、対象文書特定部１０５は、処理要求に含まれる、特徴語の出力件数又は出力割合のデータをデータ格納部１０７に格納する。ＴＦ算出部１０８は、対象文書格納部１０６に格納されているデータを用いて、対象文書の要素列についてＴＦを算出する処理を行い、処理結果をＴＦデータ格納部１０９に格納する。算出部１１０１は、ＤＦデータ格納部１０４及びＴＦデータ格納部１０９に格納されているデータを用いて処理を行い、処理結果をラティステーブル格納部１１１に格納する。特定部１１０２は、ラティステーブル格納部１１１に格納されているデータを用いて処理を行い、処理結果を特徴語格納部１１２に格納する。出力部１１３は、特徴語格納部１１２に格納されているデータをフロントエンドサーバ３に送信する。
【００２０】
図４に、文書ＤＢ１００に格納されているデータの一例を示す。図４の例では、文書ＩＤと、文書が登録された日付と、文書の内容のデータとが格納されている。なお、「文書」とは例えば記事やメールであるが、これらに限定されるわけではない。
【００２１】
次に、図５乃至図７を用いて、特徴語抽出装置１の動作を説明する。はじめに、要素列生成処理について説明する。要素列生成処理及び後で説明するＤＦ更新処理は、文書ＤＢ１００の内容が更新された場合等に行われる処理である。
【００２２】
まず、要素列生成部１０１は、文書ＤＢ１００に格納されている文書データのうち未処理の文書データを１件分特定する（図５：ステップＳ１）。
【００２３】
そして、要素列生成部１０１は、ステップＳ１において特定された文書データに対して形態素解析処理を実行し、処理結果をメインメモリ等の記憶装置に格納する（ステップＳ３）。形態素解析処理は、文を意味を持つ最小の単位に分割する処理であるが、よく知られた処理であるので、ここでは詳細な説明を省略する。なお、形態素解析に使用する辞書には、複合語などは登録せずに基本的な単語だけを登録しているとする。
【００２４】
また、要素列生成部１０１は、ステップＳ３において生成された形態素列に対して文節同定処理を実行し、処理結果をメインメモリ等の記憶装置に格納する（ステップＳ５）。文節同定処理は、形態素列における文節の境界を決定する処理であるが、よく知られた処理であるので、ここでは詳細な説明を省略する。
【００２５】
そして、要素列生成部１０１は、ステップＳ５において特定された文節のうち未処理の文節を１つ特定する（ステップＳ７）。また、要素列生成部１０１は、ステップＳ７において特定された文節について要素列リストを生成し、要素列格納部１０２に登録する（ステップＳ９）。
【００２６】
ここで、図６を用いて要素列について説明する。図６の例では、文節に「ａ」、「ｂ」、「ｃ」及び「ｄ」という４つの要素が含まれているが、この文節については「ａ」、「ｂ」、「ｃ」、「ｄ」、「ａ−ｂ」、「ｂ−ｃ」、「ｃ−ｄ」、「ａ−ｂ−ｃ」、「ｂ−ｃ−ｄ」及び「ａ−ｂ−ｃ−ｄ」という要素列を生成する。そして、これらの要素列を組み合わせのうち、「ａ」、「ｂ」、「ｃ」及び「ｄ」という４つの要素をいずれも含むような組み合わせを特定する。図６の例では、８つの組み合わせが特定される。この８つの組み合わせのデータが要素列リストである。
【００２７】
図７に、要素列格納部１０２に格納されているデータの一例を示す。図７の例では、文書ＩＤと、文ＩＤと、文節ＩＤと、要素列リストとが格納されている。
【００２８】
なお、本実施の形態においては、要素を組み合わせる際に、文節の境界をまたいだ語は存在しないと仮定し、異なる文節に属する要素同士を組み合わせないようにしている。これは、ＴＦ及びＤＦを計算する際の処理量を大幅に削減することができるという効果を有する。
【００２９】
これについて、図８を用いて説明する。図８に、要素ａ乃至ｄを含む文節Ａと、要素ｅ及びｆを含む文節Ｂと、要素ｇ乃至ｉを含む文節Ｃとを含む文書についての要素列の組み合わせを示す。本実施の形態の処理の場合、文節Ａについては８通りの組み合わせが存在し、文節Ｂについては２通りの組み合わせが存在し、文節Ｃについては４通りの組み合わせが存在する。従って、ＤＦ及びＴＦの算出は、８＋２＋４＝１４通りの組み合わせについて行えばよい。一方、異なる文節に属する要素同士の組み合わせまで考慮する場合には、８×２×４＝６４通りの組み合わせについて計算を行うことになる。
【００３０】
このように、文節の境界の条件を導入すると、動的計画法により、組み合わせ全体の問題を部分問題に分割することができる。なお、文節の境界をまたいだ語は存在しないと仮定しても問題は無いことがほとんどである。
【００３１】
図５の説明に戻り、要素列生成部１０１は、未処理の文節が有るか判断する（ステップＳ１１）。未処理の文節が有ると判断された場合（ステップＳ１１：Ｙｅｓルート）、ステップＳ７の処理に戻る。
【００３２】
一方、未処理の文節が無いと判断された場合（ステップＳ１１：Ｎｏルート）、要素列生成部１０１は、未処理の文書データが有るか判断する（ステップＳ１３）。未処理の文書データが有ると判断された場合（ステップＳ１３：Ｙｅｓルート）、ステップＳ１の処理に戻る。一方、未処理の文書データが無いと判断された場合（ステップＳ１３：Ｎｏルート）、元の処理に戻る。
【００３３】
このような処理を実施することにより、処理対象の文書データにおける文節の各々について要素列を生成することができるようになる。
【００３４】
次に、図９及び図１０を用いて、ＤＦ更新処理について説明する。まず、更新部１０３は、要素列格納部１０２から未処理の文書ＩＤを１つ特定する（図９：ステップＳ２１）。また、更新部１０３は、ステップＳ２１において特定された文書ＩＤについての要素列リストのうち未処理の要素列リストを１つ特定する（ステップＳ２３）。さらに、更新部１０３は、ステップＳ２３において特定された要素列リストから未処理の要素列を１つ特定する（ステップＳ２５）。
【００３５】
そして、更新部１０３は、ステップＳ２５において特定された要素列のＤＦを既に更新したか判断する（ステップＳ２７）。ＤＦは、要素列が出現する文書データの件数を表す。本処理においては、同一の文書データについて同一の要素列を複数回処理する可能性があり、その場合に何度もＤＦを更新しないようにするため、ステップＳ２７の処理を実行する。
【００３６】
ステップＳ２５において特定された要素列のＤＦを既に更新したと判断された場合（ステップＳ２７：Ｙｅｓルート）、ステップＳ３１の処理に移行する。一方、ステップＳ２５において特定された要素列のＤＦを未だ更新していないと判断された場合（ステップＳ２７：Ｎｏルート）、更新部１０３は、ＤＦデータ格納部１０４において、特定された要素列のＤＦを１インクリメントする（ステップＳ２９）。
【００３７】
図１０に、ＤＦデータ格納部１０４に格納されているデータの一例を示す。図１０の例では、要素列と、ＤＦの値とが格納されている。
【００３８】
そして、更新部１０３は、ステップＳ２３において特定された要素列リストに未処理の要素列が有るか判断する（ステップＳ３１）。未処理の要素列が有ると判断された場合（ステップＳ３１：Ｙｅｓルート）、ステップＳ２５の処理に戻る。
【００３９】
一方、未処理の要素列が無いと判断された場合（ステップＳ３１：Ｎｏルート）、更新部１０３は、ステップＳ２１において特定された文書ＩＤについての要素列リストのうち未処理の要素列リストが有るか判断する（ステップＳ３３）。未処理の要素列リストが有ると判断された場合（ステップＳ３３：Ｙｅｓルート）、ステップＳ２３の処理に戻る。
【００４０】
一方、未処理の要素列リストが無いと判断された場合（ステップＳ３３：Ｎｏルート）、更新部１０３は、要素列格納部１０２において未処理の文書ＩＤが有るか判断する（ステップＳ３５）。未処理の文書ＩＤが有ると判断された場合（ステップＳ３５：Ｙｅｓルート）、ステップＳ２１の処理に戻る。一方、未処理の文書ＩＤが無いと判断された場合（ステップＳ３５：Ｎｏルート）、元の処理に戻る。
【００４１】
以上のような処理を実施することにより、要素列生成処理において生成された要素列の各々について、ＤＦを求めることができるようになる。また、特徴語抽出処理とは異なるタイミングで処理を実行することができるので、特徴後抽出の処理を高速で実行することができるようになる。
【００４２】
次に、図１１乃至図１８を用いて、特徴語抽出処理について説明する。まず、対象文書を特定するためのデータ及び特徴語の出力件数又は出力割合のデータを含む処理要求をユーザ端末５から受信したフロントエンドサーバ３は、当該処理要求を特徴語抽出装置１に転送する。そして、特徴語抽出装置１における対象文書特定部１０５は、フロントエンドサーバ３から処理要求を受信すると、特徴語の出力件数又は出力割合のデータをデータ格納部１０７に格納する。また、対象文書特定部１０５は、対象文書を特定するためのデータで文書ＤＢ１００を検索することにより、対象文書を特定する。さらに、対象文書特定部１０５は、対象文書の文書ＩＤに対応する要素列リストを要素列格納部１０２から抽出し、対象文書格納部１０６に格納する。なお、対象文書格納部１０６のデータ構造は、要素列格納部１０２のデータ構造と同様である。
【００４３】
そして、対象文書特定部１０５は、特徴語格納部１１２に格納されているデータを初期化する（図１１：ステップＳ４１）。また、ＴＦ算出部１０８は、ＴＦ算出処理を実施する（ステップＳ４３）。ＴＦ算出処理については、図１２を用いて説明する。
【００４４】
まず、ＴＦ算出部１０８は、対象文書格納部１０６から未処理の要素列リストを１つ特定する（図１２：ステップＳ５１）。また、ＴＦ算出部１０８は、特定された要素列リストに含まれる要素列のＴＦを１インクリメントするようにＴＦデータ格納部１０９を更新する（ステップＳ５３）。ＴＦは、要素列が対象文書に出現する数を表わす。なお、１つの要素列リストに同一の要素列が複数個含まれる場合があるが、その場合には当該要素列についてＴＦを１だけインクリメントするものとする。
【００４５】
図１３に、ＴＦデータ格納部１０９に格納されているデータの一例を示す。図１３の例では、要素列と、ＴＦとが格納されている。
【００４６】
そして、ＴＦ算出部１０８は、対象文書格納部１０６に未処理の要素列リストが有るか判断する（ステップＳ５５）。未処理の要素列リストが有ると判断された場合（ステップＳ５５：Ｙｅｓルート）、ステップＳ５１の処理に戻る。一方、未処理の要素列リストが無いと判断された場合（ステップＳ５５：Ｎｏルート）、元の処理に戻る。
【００４７】
以上のような処理を実施することにより、対象文書のデータに対応する要素列の各々についてＴＦを求めることができるようになる。
【００４８】
図１１の説明に戻り、区切り解析部１１０は、特徴語データ生成処理を実施する（ステップＳ４５）。特徴語データ生成処理については、図１４を用いて説明する。
【００４９】
まず、算出部１１０１は、対象文書格納部１０６から未処理の要素列リストを１つ特定する（図１４：ステップＳ６１）。そして、算出部１１０１は、ステップＳ６１において特定された要素列リストについてラティステーブルを生成し、ラティステーブル格納部１１１に格納する（ステップＳ６３）。
【００５０】
図１５に、ラティステーブル格納部１１１に格納されているラティステーブルの一例を示す。図１５の例では、ＩＤと、要素列と、左接続ＩＤと、右接続ＩＤと、TF-IDF値とが格納されている。ラティステーブルは、各要素列リストについて生成され、各ラティステーブルには、要素列リストに含まれる要素列の接続関係を規定するデータが格納される。なお、ステップＳ６３の処理を実行する段階では、TF-IDF値の値は格納されていない。
【００５１】
図１６に、ラティステーブルのデータにより規定される、要素列の接続関係を示す。図１６の例は、「ドラム式洗濯機を」という文節についての要素列の接続関係である。図１６の例によれば、「ドラム式洗濯機を」という文節には、要素列の組み合わせが８通り存在する。具体的には、「ドラム／式洗濯機を」、「ドラム／式／洗濯機を」、「ドラム／式／洗濯機／を」、「ドラム／式洗濯機／を」、「ドラム式／洗濯機／を」、「ドラム式／洗濯機を」、「ドラム式洗濯機／を」及び「ドラム式洗濯機を」という組み合わせである。
【００５２】
図１４の説明に戻り、算出部１１０１は、ラティステーブル格納部１１１に格納されている要素列の各々についてTF-IDF値を算出し、ラティステーブル格納部１１１に格納する（ステップＳ６５）。ステップＳ６５においては、ＴＦデータ格納部１０９に格納されているＴＦのデータ、ＤＦデータ格納部１０４に格納されているＤＦのデータ及び文書ＤＢ１００に格納されている文書の件数のデータを、上で述べた数式に代入することによりTF-IDF値を算出する。
【００５３】
そして、特定部１１０２は、パス生成処理を実施する（ステップＳ６７）。パス生成処理については、図１７を用いて説明する。まず、特定部１１０２は、ステップＳ６１において特定された要素列リストについてのラティステーブルから、TF-IDF値が最も高い要素列を特定する（図１７：ステップＳ８１）。また、ステップＳ８１において特定された要素列に対応付けて格納されている左接続ＩＤ及び右接続ＩＤをラティステーブルから抽出し、メインメモリ等の記憶装置に格納する（ステップＳ８３）。
【００５４】
そして、特定部１１０２は、特定された左接続ＩＤが「ｎｕｌｌ」であるか判断する（ステップＳ８５）。すなわち、ステップＳ８１において特定された要素列の左側に要素列が存在するか判断する。左接続ＩＤが「ｎｕｌｌ」ではないと判断された場合（ステップＳ８５：Ｎｏルート）、特定部１１０２は、左接続ＩＤのうちTF-IDF値が最大の要素列のＩＤをラティステーブルから特定し、メインメモリ等の記憶装置に格納する（ステップＳ８７）。なお、ステップＳ８７においてＩＤが複数特定された場合には、文字数の多い方の要素列のＩＤを特定する。そして、特定部１１０２は、特定されたＩＤに対応付けて格納されている左接続ＩＤをラティステーブル格納部１１１から抽出し（ステップＳ８９）、ステップＳ８５に戻る。
【００５５】
一方、左接続ＩＤが「ｎｕｌｌ」であると判断された場合（ステップＳ８５：Ｙｅｓルート）、特定部１１０２は、特定された右接続ＩＤが「ｎｕｌｌ」であるか判断する（ステップＳ９１）。すなわち、ステップＳ８１において特定された要素列の右側に要素列が存在するか判断する。右接続ＩＤが「ｎｕｌｌ」ではないと判断された場合（ステップＳ９１：Ｎｏルート）、特定部１１０２は、右接続ＩＤのうちTF-IDF値が最大の要素列のＩＤをラティステーブルから特定し、メインメモリ等の記憶装置に格納する（ステップＳ９３）。なお、ステップＳ９３においてＩＤが複数特定された場合には、文字数の多い方の要素列のＩＤを特定する。そして、特定部１１０２は、特定されたＩＤに対応付けて格納されている右接続ＩＤをラティステーブル格納部１１１から抽出し（ステップＳ９５）、ステップＳ９１に戻る。
【００５６】
以上のように、各々の要素列について算出されたTF-IDF値に基づいて区切りを設定することにより、本来特徴語として抽出されるべき語を取りこぼしてしまうことを抑制することができるようになる。
【００５７】
図１４の説明に戻り、特定部１１０２は、特定された要素列及び当該要素列のTF-IDF値を特徴語格納部１１２に格納する（ステップＳ６９）。
【００５８】
図１８に、特徴語格納部１１２に格納されているデータの一例を示す。図１８の例では、特徴語と、当該特徴語のTF-IDF値とが格納されている。
【００５９】
そして、特定部１１０２は、対象文書格納部１０６に未処理の要素列リストが有るか判断する（ステップＳ７１）。未処理の要素列リストが有ると判断された場合（ステップＳ７１：Ｙｅｓルート）、ステップＳ６１の処理に戻る。一方、未処理の要素列リストが無いと判断された場合（ステップＳ７１：Ｎｏルート）、元の処理に戻る。
【００６０】
以上のような処理を実施することにより、文書データに対して特徴語抽出のための区切りを自動的に設定することができるようになる。
【００６１】
図１１の説明に戻り、出力部１１３は、データ格納部１０７から特徴語の出力件数又は出力割合のデータを読み出し、当該出力件数又は出力割合分の特徴語をTF-IDF値が大きい方から順に特徴語格納部１１２から抽出する（ステップＳ４７）。そして、出力部１１３は、ステップＳ４７において抽出された特徴語を含む出力データをフロントエンドサーバ３に送信する（ステップＳ４９）。そして、処理を終了する。
【００６２】
以上のように、対象文書に応じて区切りを設定することにより、より適切な特徴語を出力することができるようになる。また、通常、テキストマイニングの導入にあたっては、例えば対象となるデータのドメイン毎に辞書を用意している。しかし、本実施の形態の処理であれば、複合的な単語についても自動的にまとめ上げられるため、そのような単語についての辞書登録をしなくても済むようになる。これにより、テキストマイニングの導入コストを大きく削減することができるようになる。
【００６３】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した特徴語抽出装置１の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００６４】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００６５】
なお、上で述べた例ではフロントエンドサーバ３を設けるようにしているが、フロントエンドサーバ３を設けず、ユーザ端末５からの処理要求を特徴語抽出装置１が直接受信するようにしてもよい。
【００６６】
また、パス生成処理においては、まずTF-IDF値が最も高い要素列を特定し、当該要素列の右側及び左側について、TF-IDF値が高い要素列を選択していくことにより要素列の組み合わせを特定している。しかし、このような方法でなくても、例えばパス毎に当該パスに含まれる要素列のTF-IDF値の総和を算出し、算出された値が最も大きいパスを採用するようにしてもよい。
【００６７】
なお、上で述べた特徴語抽出装置１は、コンピュータ装置であって、図１９に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６８】
なお、図３に示した各処理部は、ＣＰＵ２５０３及びプログラムの組み合わせ、すなわち、ＣＰＵ２５０３がプログラムを実行することにより実現してもよい。より具体的には、ＣＰＵ２５０３は、ＨＤＤ２５０５又はメモリ２５０１に記憶されたプログラムに従った動作を行うことで、上で述べたような処理部として機能してもよい。また、図３に示した各データ格納部は、図１９におけるメモリ２５０１やＨＤＤ２５０５等として実現してもよい。
【００６９】
以上述べた本技術の実施の形態をまとめると以下のようになる。
【００７０】
本実施の形態に係る特徴語抽出装置は、（Ａ）複数の文書のデータが格納されている文書格納部と、（Ｂ）文書格納部に格納されている複数の文書のデータのうち第１の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第１データ格納部に格納する文字列生成部と、（Ｃ）第１データ格納部に格納されている文字列の各々について、当該文字列が第１の文書のデータに出現する回数と文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、第１の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第２データ格納部に格納する算出部と、（Ｄ）第１の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第１の文字列を第２データ格納部から特定し、特定された第１の文字列を特徴語格納部に格納する特定部とを有する。
【００７１】
テキストマイニングにおいては、区切りの設定の仕方が適切でないと、本来抽出されるべき語が抽出されず、特徴語として相応しくない語が抽出されてしまうことがある。そこで、上で述べたように、各文節において特徴度が最も高い文字列を特定すれば、特定された文字列に基づいて適切な区切りを設定することができるようになる。
【００７２】
また、上で述べた特定部が、第１の文書のデータにおける文節の各々について、第１の文字列に隣接する文字列のうち特徴度が最も高い文字列を特定し当該文字列を特徴語格納部に格納する処理を、特定された文字列を第１の文字列に結合して残余の文字列が無くなるまで繰り返し実行するようにしてもよい。このようにすれば、文節内における第１の文字列以外の部分についても適切な区切りを設定することができるようになる。
【００７３】
また、上で述べた特定部が、文字列に対応付けて当該文字列の特徴度を特徴語格納部にさらに格納するようにしてもよい。そして、上で述べた本装置が、（Ｅ）特徴語格納部に格納されている文字列のうち、特徴度が上位所定数又は上位所定割合に含まれる文字列を出力する出力部をさらに有するようにしてもよい。第１の文書の特徴語として相応しい文字列をユーザに提示することができるようになる。
【００７４】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００７５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７６】
（付記１）
複数の文書のデータが格納されている文書格納部と、
前記文書格納部に格納されている複数の文書のデータのうち第１の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第１データ格納部に格納する文字列生成部と、
前記第１データ格納部に格納されている文字列の各々について、当該文字列が前記第１の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第１の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第２データ格納部に格納する算出部と、
前記第１の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第１の文字列を前記第２データ格納部から特定し、特定された第１の文字列を特徴語格納部に格納する特定部と
を有する特徴語抽出装置。
【００７７】
（付記２）
前記特定部が、
前記第１の文書のデータにおける文節の各々について、前記第１の文字列に隣接する文字列のうち特徴度が最も高い文字列を特定し当該文字列を前記特徴語格納部に格納する処理を、特定された文字列を前記第１の文字列に結合して残余の文字列が無くなるまで繰り返し実行する
ことを特徴とする付記１記載の特徴語抽出装置。
【００７８】
（付記３）
前記特定部が、前記文字列に対応付けて当該文字列の特徴度を前記特徴語格納部にさらに格納し、
前記特徴語格納部に格納されている文字列のうち、前記特徴度が上位所定数又は上位所定割合に含まれる文字列を出力する出力部
をさらに有する付記１又は２記載の特徴語抽出装置。
【００７９】
（付記４）
文書格納部に格納されている複数の文書のデータのうち第１の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第１データ格納部に格納するステップと、
前記第１データ格納部に格納されている文字列の各々について、当該文字列が前記第１の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第１の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第２データ格納部に格納するステップと、
前記第１の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第１の文字列を前記第２データ格納部から特定し、特定された第１の文字列を特徴語格納部に格納するステップと、
を含み、コンピュータにより実行される特徴語抽出方法。
【００８０】
（付記５）
文書格納部に格納されている複数の文書のデータのうち第１の文書のデータにおける文節の各々を、区切り位置及び区切りの数を変化させつつ分割し、当該分割により得られた文字列を第１データ格納部に格納するステップと、
前記第１データ格納部に格納されている文字列の各々について、当該文字列が前記第１の文書のデータに出現する回数と前記文書格納部に格納されている複数の文書のデータのうち当該文字列が出現する文書のデータの件数とを用いて、前記第１の文書の特徴を表す語としての相応しさを表す特徴度を算出し、当該文字列と当該文字列の特徴度とを対応付けて第２データ格納部に格納するステップと、
前記第１の文書のデータにおける文節の各々について、当該文節についての文字列のうち特徴度が最も高い文字列である第１の文字列を前記第２データ格納部から特定し、特定された第１の文字列を特徴語格納部に格納するステップと、
を、コンピュータに実行させるための特徴語抽出プログラム。
【符号の説明】
【００８１】
１  特徴語抽出装置    ３  フロントエンドサーバ
５  ユーザ端末    ７  ネットワーク
１００  文書ＤＢ    １０１  要素列生成部
１０２  要素列格納部    １０３  更新部
１０４  ＤＦデータ格納部    １０５  対象文書特定部
１０６  対象文書格納部    １０７  データ格納部
１０８  ＴＦ算出部    １０９  ＴＦデータ格納部
１１０  区切り解析部    １１０１  算出部
１１０２  特定部    １１１  ラティステーブル格納部
１１２  特徴語格納部    １１３  出力部
１１４  抽出部    １１５  ＤＦ更新部
【図１】
0005516434.tif 000003
【図２】
0005516434.tif 000004
【図３】
0005516434.tif 000005
【図４】
0005516434.tif 000006
【図５】
0005516434.tif 000007
【図６】
0005516434.tif 000008
【図７】
0005516434.tif 000009
【図８】
0005516434.tif 000010
【図９】
0005516434.tif 000011
【図１０】
0005516434.tif 000012
【図１１】
0005516434.tif 000013
【図１２】
0005516434.tif 000014
【図１３】
0005516434.tif 000015
【図１４】
0005516434.tif 000016
【図１５】
0005516434.tif 000017
【図１６】
0005516434.tif 000018
【図１７】
0005516434.tif 000019
【図１８】
0005516434.tif 000020
【図１９】
0005516434.tif 000021