文書データ解析装置、方法及びプログラム
【課題】対象データに含まれる文章の意味内容をより正確に推定する。
【解決手段】複数の対象データを含む文書データを解析するための文書データ解析装置に、正規表現を用いて定義された複数の検索キーを保持する保持部22と、保持された複数の検索キーを用いて複数の対象データを検索する検索部24と、検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリング部28と、対象データの属性情報として、クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報取得/推定部27と、を備えた。
【解決手段】複数の対象データを含む文書データを解析するための文書データ解析装置に、正規表現を用いて定義された複数の検索キーを保持する保持部22と、保持された複数の検索キーを用いて複数の対象データを検索する検索部24と、検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリング部28と、対象データの属性情報として、クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報取得/推定部27と、を備えた。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書データを解析する技術に関する。
【背景技術】
【0002】
従来、自然文を形態素に分解し、その形態素の並びが予め用意された事象パターンに該当するか否かを判断することで、因果関係の有無を判断し、因果関係がある場合には、その因果関係を加味したデータクラスタリングを行う技術がある(特許文献1を参照)。また、述語キーワードを用いて検索を行い、該当した述語キーワードと前後の文章を抽出し、抽出された文章に対して、絞り込み検索や並べ替えを行うことでノイズを除去し、前後の文と併せて知識ベースに格納する技術がある(特許文献2を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−203964号公報
【特許文献2】特開2005−115882号公報
【特許文献3】特開2005−063470号公報
【特許文献4】特開2001−84250号公報
【非特許文献】
【0004】
【非特許文献1】酢山 明弘、他3名、「決定木を用いたフリーアンケート文のフィルタリング」、人工知能学会全国大会論文集、2004 1A4−05
【非特許文献2】土田 正明、他2名、「World Wide Web を用いた辞典システムの構築」、人工知能学会全国大会論文集、2004 1A3−04
【非特許文献3】西山 莉紗、他4名、「技術文書マイニングのための特長表現抽出」、人工知能学会全国大会論文集、2008 3K3−2
【非特許文献4】小林 慎一、他5名、「インターネットリソースを用いた技術動向の時系列的分析」、電気学会論文誌C(電子・情報・システム部門誌)、2005年、Vol.125−C、Number5
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、大量の文書データから知識を抽出する方式として、形態素解析技術により1つの文書から単語を切り出し、自立語を基準にした単語の係り受け関係を推定することで、係り受け関係から構文木を構築する技術が用いられている。このような形態素解析では、構築された構文木の中で多くの構文木に含まれている頻出パターン(知識)を、与えられたパターンの制約に基づいて発見し、発見された頻出パターンへの代入にマッチする文書を検索する。
【0006】
しかし、実際の解析対象となる自然文は、表記の揺れが大きく、また、主語や述語が省略されることもあるため、文章における係り受けの関係を形態素解析によって機械的に抽出したり、抽出結果から文章の正確な意味内容を推定したりすることは困難であった。
【0007】
本発明は、上記した問題に鑑み、対象データに含まれる文章の意味内容をより正確に推定することを課題とする。
【課題を解決するための手段】
【0008】
本発明は、以下の構成を備えることで、上記した課題を解決することとした。即ち、本
発明は、複数の対象データを含む文書データを解析するための文書データ解析装置であって、正規表現を用いて定義された複数の検索キーを保持する保持手段と、前記保持手段によって保持された前記複数の検索キーを用いて前記複数の対象データを検索する検索手段と、前記検索手段による検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリング手段と、対象データの属性情報として、前記クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報推定手段と、を備える文書データ解析装置である。
【0009】
本発明によれば、正規表現で定義された検索キーが用いられることによって、対象データの表記揺れに影響されずに必要な特徴部分を索出することが出来る。なお、このような特徴部分の索出をより正確に行うために、検索キーには、口語体や主語の省略等の表記揺れに影響されない特徴を正規表現化したものが用いられることが好ましい。
【0010】
更に、本発明では、検索手段による検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理が行われる。ここで、クラスタリング処理とは、対象データの中から互いに近似するものを凝集させてグループ分けを行う従来技術であり、例えば、ケース間の距離を計算し、最も距離の近い2つのケースを逐次的に併合することによりグループ化を行うことが出来る。クラスタリング処理によって、意味が類似した対象データ同士がグルーピングされる。このため、本発明によれば、正規表現の特徴パターンをクラスタリングし、類似ケースから属性情報を取得して設定することができる。即ち、本発明によれば、属性情報の設定がなされていない対象データについても、内容が類似すると推定される他の対象データから属性情報を取得すること、換言すると、類似する他の対象データに基づいて、対象データに含まれる文章の意味内容を推定することが出来る。
【0011】
また、本発明に係る文書データ解析装置は、前記検索手段による検索の結果を参照することで、前記対象データが、夫々、関連する検索キーの組み合わせとして予め定義された検索キー関係を含むか否かを判定する判定手段と、前記判定手段によって、前記対象データが前記検索キー関係を含むと判定された場合に、前記検索キー関係に予め関連付けられた属性情報を、該対象データの属性情報として取得する属性取得手段と、を更に備え、前記情報推定手段は、前記判定手段および属性取得手段によって属性情報が取得されなかった対象データについて、前記クラスタリング処理の結果に基づいて属性情報を取得してもよい。
【0012】
ここで、検索キー関係とは、意味内容として関連性を有する検索キーの組み合わせ、換言すると、対象データ内に同時に現れた場合に所定の意味内容(属性)を表すものとして予め定義された関係である。本発明では、対象データがこのような検索キー関係を含むか否かを判定することによって、従来の言語解析では抽出できなかったような係り受け関係を抽出することを可能としている。
【0013】
また、前記情報推定手段は、更に、前記対象データに関連する情報として、前記クラスタリング手段によってグループ化されたグループのうち、該対象データに含まれる検索キー関係が属するグループの、代表検索キー関係に関連する情報を取得してもよい。
【0014】
グループ化によって特定された代表ケースの検索キー関係に基づいて、対象データに関連する情報の置換や補充等を行うことで、対象データの検索キーを詳細に推定すること、検索キーを具体化、詳細化または統一化すること、が可能となる。
【0015】
更に、本発明は、コンピュータが実行する方法、又はコンピュータに実行させるプログ
ラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【0016】
本発明によれば、対象データに含まれる文章の意味内容をより正確に推定することが出来る。
【図面の簡単な説明】
【0017】
【図1】実施形態に係る文書データ解析装置1のハードウェア構成を示す図である。
【図2】実施形態に係る文書データ解析装置1の機能構成の概略を示す図である。
【図3】実施形態に係るベース辞書の構成を示す図である。
【図4】実施形態に係る関係辞書の構成を示す図である。
【図5】実施形態に係るデータクラスタリング処理の流れを示すフローチャートである。
【図6】実施形態における、ベース辞書を用いた検索処理の結果を示す図である。
【図7】実施形態において、クラスタリングのために生成された変数データの構成を示す図である。
【図8】実施形態における、データクラスタリングの結果を示す図である。
【図9】実施形態に係るパターン抽出処理の流れを示すフローチャートである。
【図10】実施形態における、関係辞書を用いた属性判定処理の結果を示す図である。
【図11】実施形態におけるパターン抽出処理の結果を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明に係る文書データ解析装置1の実施の形態について、図面に基づいて説明する。
【0019】
<システムの構成>
図1は、本実施形態に係る文書データ解析装置1のハードウェア構成を示す図である。文書データ解析装置1は、CPU(Central Processing Unit)11、主記憶装置としてのRAM(Random Access Memory)13、ROM(Read Only Memory)12、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置14、表示装置15としてのディスプレイ、および、入力装置16としてのキーボードやマウス等を備えるコンピュータ(情報処理装置)である。
【0020】
図2は、本実施形態に係る文書データ解析装置1の機能構成の概略を示す図である。図1に示された構成を有するコンピュータは、補助記憶装置14に記録されている文書データ解析用プログラムが、RAM13に読み出され、CPU11によって実行されることによって、入力受付部21、保持部22、出力部23、検索部24、判定部25、パターン抽出部26、情報取得/推定部27、クラスタリング部28および表記統制部29を備える文書データ解析装置1として機能する。
【0021】
情報取得/推定部27は、判定部25によって、対象ケースが検索キー関係を含むと判定された場合に、検索キー関係に予め関連付けられた属性情報を、該対象ケースの属性情報として取得し、検索キー関係に予め関連付けられた属性情報によって属性情報が取得さ
れなかった場合に、対象ケースについて、対象ケースの属性情報として、クラスタリング処理の結果において同一グループに属する他の対象ケースに設定されている属性情報を取得する。
【0022】
また、保持部22は、通常の文字列または正規表現を用いて予め定義された複数の検索キー、および検索キーに対応する属性情報を含む各種辞書(ベース辞書および関係辞書等)を保持する。なお、辞書は、分野ごとに異なるものが用意され、文書データの属する分野に応じて適切な分野の辞書が優先的に用いられることが好ましい。
【0023】
図3は、本実施形態に係るベース辞書の構成を示す図である。ベース辞書は、検索キーを識別するための検索キーIDと、通常の文字列または正規表現による文字列で定義された1の検索キーと、この検索キーに対応する属性情報と、を有するパターンが蓄積された辞書データであり、解析対象の文書データの分野毎に異なるものが用意されることが好ましい。原則として、検索キーは正規表現で定義されており、この正規表現にマッチする文章の意味内容を示す属性情報が、夫々の検索キーに関連付けられている。例えば、「.*苦労(した|しました)」という正規表現にマッチする文章は、クレームを意味すると考えられるため、「クレーム」を示す属性情報が関連付けられる。
【0024】
図4は、本実施形態に係る関係辞書の構成を示す図である。関係辞書は、検索キーIDと、複数の検索キーと、この検索キーの組み合わせに対応する属性情報と、を有するパターンが蓄積された辞書データである。原則として検索キーは正規表現で定義されており、1のパターンに含まれる全ての正規表現(検索キーのセット)にマッチする文章の意味内容を示す属性情報が、夫々の検索キーのセットに関連付けられている。例えば、単体ではクレームを意味する「.*苦労(した|しました)」という正規表現にマッチするが、同時に「.*(良いのでは|助かる)」という正規表現にもマッチする文章は、文章全体としてクレームではなく意見要望を意味すると考えられるため、「意見要望」を示す属性情報が関連付けられる。なお、関係辞書の検索キーは、直接正規表現としてデータで含まれるのではなく、ベース辞書における検索キーID(検索キーの識別情報)を指定することで設定されていてもよい。
【0025】
<処理の流れ>
次に、本実施形態に係る文書データ解析装置1によって実行される処理の流れを説明する。なお、以下では、コールセンタにおいてオペレータが入力し蓄積された受付ログを、文書データ解析装置1によって解析する場合の処理の流れについて説明する。コールセンタでは、顧客からの問い合わせ等の電話が受け付けられ、オペレータは、顧客対応の記録をコンピュータに入力する。オペレータによって入力され、蓄積される受付ログは、一部が文章で入力されている。但し、本実施形態に係る文書データ解析装置1は、コールセンタの受付ログ以外にも、様々な文章(例えば、アンケート結果等)を解析する目的で用いることが出来る。
【0026】
図5は、本実施形態に係るデータクラスタリング処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによって解析対象の文書データが指定され、データクラスタリング処理の開始を指示する操作の入力が受け付けられたことを契機として開始される。なお、本フローチャートに示した処理の順序および具体的な処理は、本発明を実施するうえで採用できる一例であり、実際の処理順序および具体的な処理には、本発明を実施するために当業者が採用可能な様々な処理順序および具体的な処理が採用されてよい。
【0027】
ステップS101では、文書データの入力が受け付けられる。入力受付部21は、LAN等のネットワークや、USBメモリ、CD−ROM等の可搬記録媒体等を介して文書デ
ータの入力を受け付ける。本実施形態において処理の対象となる文書データは、コールセンタにおける受付ログであり、受付ログには、コール単位、または一連の案件単位で、オペレータが入力した文章が文字コードを用いたデータとして含まれる。以下、受付ログに含まれるコール単位又は案件単位のデータを、「ケース」と称する。
【0028】
各ケースには、ケースを識別するためのケースID、及びオペレータによって入力されたケースの属性情報が含まれる。属性情報とは、ケースの属性を示すための情報であり、例えば、「クレーム」、「意見要望」、「おほめ」等、ケースに係るコール又は案件の意味内容を判断可能とするために、電話対応を行ったオペレータによって設定される情報である。但し、属性情報は、必ずしも全てのケースに設定されているものではなく、受付ログ中には、オペレータによる設定忘れ等の原因で、属性情報が設定されていないケースも存在し得る。入力された文書データがRAMに記録され、入力受付が完了すると、処理はステップS102へ進む。
【0029】
ステップS102では、文書における表記が統制される。表記統制部29は、ステップS101で入力された文書データに対し、表記統制用辞書を用いた検索・置換処理を実行することで、文書における表記を統制する。表記統制用辞書には、表記の揺れや頻出する誤記を定義した検索キーが、通常の文字列または正規表現文字列で含まれており、また、この検索キーに対応する置換文字列、即ち表記統制後の文字列が含まれている。このような表記統制用辞書を用いて、文書データに対して検索・置換処理が適用されることで、文書中の表記が統制され、表記揺れや誤字のない(または、表記揺れや誤字が低減された)文書データが生成される。
【0030】
ここで、統制とは、文章中で用いられる表現を一定の基準の下に画一化することをいう。具体的には、誤記の修正、複数の表記方法がある語句の統一(例えば、「ファックス」、「ファクシミリ」等の文字列を全て「FAX」に置換する)、同義語の統制(例えば、「手早く」、「素早く」、「迅速に」等の文字列を「すぐに」に置換する)、接頭語の削除、もってまわった言い回しの補正、である調への統一、簡素化、意味を持たない文末の削除および補正、等が行われる。
【0031】
コールセンタの応対記録やアンケート等を分析の対象とした場合、扱う文章は誤字脱字、変換ミスが含まれた口語体で記述されており、表記の揺れが大きい。このため、文章中に自立語との係り受け関係がきれいに表現されていないことが多い。例えば「デンわたいおうが、○○です」の場合、人であれば「電話対応が、○○です」と読めるので、「電話対応」と「○○」との係り受け関係が抽出できるが、機械的に抽出することは困難である。そのため、本実施形態では、統制処理によって、分析前に表記の揺れを除去することとしている。また、アンケート等の文書データでは、主語や述語が省略されていることが多く、係り受け関係が漏れることがある。例えば、「電話対応 昨日○○」という文章では、「電話対応」と「昨日○○」の間に空白文字が入っているため、人間が読めば分かる係り受け関係であるにも拘らず、従来の形態素解析では、「昨日」と「○○」との係り受け関係は抽出できるが、「電話対応」との関係が抽出されない。本実施形態に係る文章データ解析処理によれば、統制処理によって文章中の表現が整えられることで、後述する正規表現を用いた辞書検索処理、およびデータクラスタリング処理がより効率化され、精度の高い解析結果が期待できる。
【0032】
また、本実施形態に係る文書データ解析装置1では、置換文字列を正規表現で設定することで、正規表現で索出された文字列の一部のみを置換することを可能としている。このため、本実施形態では、予めマッチングのための正規表現内に、置換文字列において引用する箇所を、「\1」等のタグで囲む等して示しておく。例えば、「100ワット、200ワット、・・・」から「100W、200W、・・・」へ、数学の箇所はそのままに単位
だけ表記を統一したい場合、「\1[0−9]+\1ワット」のように定義された正規表現で検索して置換箇所を探し、置換文字列を「\1[0−9]+\1W」のように定義することで、数値の部分のみ置換前の文字列から取得して、置換することが出来る。なお、1つの正規表現内に、置換時に引用すべき部分が複数あるような場合には、「\2」「\3」・・・等の囲みタグを用いることで対応出来る。このような置換処理によれば、置換処理において、全ての置換パターンを用意することなく、また、表記ミス、表記漏れなどが起こる確率を低減させることが出来る。表記の統制が終了すると、処理はステップS103へ進む。
【0033】
ステップS103では、ベース辞書を用いた検索処理が行われる。検索部24は、ステップS102で生成された、表記統制済みの文書データを、ベース辞書に含まれる検索キーで検索し、索出された文字列(以下、「索出文字列」という)、索出文字列が含まれる対象ケースのケースID、文書中の索出文字列の位置、索出に係る検索キー、索出文字列の属性、等を夫々関連付けて、検索結果としてRAM13に保持する。
【0034】
図6は、本実施形態における、ベース辞書を用いた検索処理の結果を示す図である。なお、正規表現による検索の場合、システムに指定された区切り文字をデータの区切りとして、正規表現と一致する文字列を発見することで検索が行われる。区切り文字は自由に指定可能であり、例えば、「。」や改行を区切り文字として指定できる。また、索出文字列の位置は、文書の先頭からの文字数、バイト数や論理行数等を用いて特定することが出来る。ベース辞書検索が終了すると、処理はステップS105へ進む。
【0035】
ステップS104では、索出文字列の関係性が抽出される。パターン抽出部26は、各ケースにおいて、ステップS103で検索キーに一致した索出文字列同士の順番等に基づいて、同一ケースに存在する索出文字列間の関係を抽出する。ここで、パターン抽出部26は、各索出文字列の出現位置の距離を所定の閾値と比較し、閾値以上離れた索出文字列は、関係性が低いとみなして抽出対象から除外する。また、パターン抽出部26は、索出文字列がケースに占める割合(索出文字列の文字数/1文書の文字数)を所定の閾値と比較し、割合が閾値以下である索出文字列を抽出対象から除外する。このような処理を経ることで、ケース毎に、索出文字列の関係性を抽出することが出来る。なお、上述した閾値等を含む抽出のための定義は、解析対象の文書データの分野毎に異なるものが用意されることが好ましい。その後、処理はステップS105へ進む。
【0036】
ステップS105では、索出文字列間の関係の絞り込みが行われる。パターン抽出部26は、ステップS104で抽出された、索出文字列間の関係(正規表現のキー関係)を、出現頻度または出現率(例えば、「出現ケース数/全ケース数」で算出される出現率を用いることが出来る。)に基づいて絞り込む。この際、絞り込みの方法としては、算出された出現頻度または出現率を所定の閾値と比較し、閾値以上の出現頻度または出現率を有する関係のみを抽出することで絞り込む方法が採用されてよい。その後、処理はステップS106へ進む。
【0037】
ステップS106では、データクラスタリングによる、類似ケース(類似パターン)およびその代表ケース(代表パターン)の抽出が行われる。クラスタリング部28は、ステップS105までに抽出され絞り込まれた、正規表現のキー関係を、ケース、各正規表現及びその出現順位、属性、該当文書数、該当文数、正規表現間の距離、出現頻度、出現率を変数としてデータクラスタリングし、類似ケースおよびその代表ケースを抽出する。
【0038】
図7は、本実施形態において、クラスタリングのために生成された変数データの構成を示す図である。なお、正規表現間の距離は、データクラスタリングにおける距離と同様である。例えば、2つの正規表現のキー関係(以下、「2項関係」と称する)において、2つの正規表現が文章中で続けて現れる場合の距離は、(2つめの正規表現の文頭位置)−
(1つめの正規表現の文末位置)で、1となる。
【0039】
図8は、本実施形態における、データクラスタリングの結果を示す図である。ここで、代表ケースとは、類似ケースの中で各ケースと最も距離関係が近いケースのことであり、即ち、データクラスタリングの結果が重心に近いケースである。なお、関係辞書に正規表現のキー関係が存在する場合、抽出されたケースには属性情報が設定される。
【0040】
なお、データクラスタリングは、対象(ケース、変数)の中から互いに近似するものを凝集させてグループ分けを行う従来技術であり、キー関係1、キー関係2、・・・キー関係k(kはキー関係のケース数)、各キー関係の出現順位、属性、頻度、および文字長の夫々を変数として指定し、クラスタリング処理することにより、意味が類似したキー関係パターンがグルーピングされる。例えば、ウォード法によるクラスタリングを採用することで、ケース間の距離を計算し、最も距離の近い2つのケースを逐次的に併合することによりグループ化することが出来る。
【0041】
より具体的には、データクラスタリングでは、初期ケースとして、n個のケースについて、m個の変数xi1,xi2,・・・,ximが設定される(i = 1,2,・・・,n)。そして、第1段の併合として、ケースaとbの間の距離d(xa ,xb)(非類似度)からケース間の距離が計算され、最も距離の近い二つのケースが逐次的に併合される。この際、以下の式が用いられる。
【0042】
【数1】
【0043】
更に、第2段以降の併合として、ケースa、bを併合したcと、dとが併合される。この際、以下の式が用いられる。なお、na、nb、nc、ndは、ケースa、b、c、dに含まれる個体数(データの個数)である。
【0044】
【数2】
【0045】
このようにして併合が繰り返されると、1つのグループが形成される。このため、ケース間の距離を所定の閾値と比較して、閾値以内にあるものを、最終グループとして決定することが出来る。グループの中で、各ケースに最も距離の近いケース、すなわち、重心となるケースが、代表ケースとなり、そのグループの正規表現の代表記述を有することとなる。
【0046】
データクラスタリングの結果は、予め定義された辞書ではなく蓄積された文書データから自動生成された辞書(以下、「リアルタイム辞書」と称する)として用いることが出来る他、関係辞書に辞書項目を追加するための候補データとして用いることが出来る。なお、リアルタイム辞書として用いる方法については、パターン抽出処理の説明において後述する。
【0047】
図9は、本実施形態に係るパターン抽出処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによって解析対象の文書データが指定され、パターン抽出処理の開始を指示する操作の入力が受け付けられたことを契機として開始される。なお、本フローチャートに示した処理の順序および具体的な処理は、本発明を実施するうえで採用できる一例であり、実際の処理順序および具体的な処理には、本発明を実施するために当業者が採用可能な様々な処理順序および具体的な処理が採用されてよい。
【0048】
ステップS201からステップS203では、文書データの入力が受け付けられ、文書における表記が統制され、ベース辞書を用いた検索処理が行われる。ステップS201からステップS203の処理の詳細は、ステップS101からステップS103において説明した処理と概略同様であるため、説明を省略する。ベース辞書を用いた検索処理が終了すると、処理はステップS204へ進む。
【0049】
ステップS204では、関係辞書を用いて、対象ケースに含まれる文章の意味内容(属性)が判定される。判定部25および情報取得/推定部27は、ステップS203における検索結果と、関係辞書とを対比する事で、対象ケースに含まれる文章の意味内容を判定し、属性情報を設定する。より具体的には、判定部25は、ステップS203における検索結果を参照し、関係辞書に含まれる検索キーと同一の検索キーによる索出文字列がステップS203における検索結果に含まれているか否かを判定することで、関係辞書の各レコードに定義された複数の検索キーが、対象ケース(検索対象の文書)に同時に含まれているか否かを判定する。複数の検索キーが対象ケースに同時に含まれている場合、判定部25は、更に索出文字列の長さや、索出文字列同士の間隔等が、関係辞書に定義された条件を満たすか否かを判定し、条件が満たされている場合に、情報取得/推定部27は、対象ケースが、関係辞書の該当レコードに付された属性を有しているものとして、属性情報を設定する。
【0050】
図10は、本実施形態における、関係辞書を用いた属性判定処理の結果を示す図である。例えば、「○○苦労した。××したら良いのでは。」という文章の場合、「○○苦労した。」と「××したら良いのでは。」との2文で構成されているため、従来の形態素解析では、「××」と「良い」との係り受け関係は抽出できるが、これらの表現と「○○」との関係性は抽出されない。本実施形態に係る文書データ解析処理によれば、1文中の形態素の係り受けだけでなく、文の前後関係を考慮した分析、人の行動や感情等の特徴的表現を取り入れた分析、が可能となる。
【0051】
なお、抽出処理は、定義辞書で定義された順に行われる。また、マッチングの結果一致した検索キーの数が多い検索結果や、各項間の出現位置の距離が短い検索結果が優先的に抽出される。また、属性に優先順位を設定し、この優先順位に従って抽出が行われても善い。例えば、属性のうち「クレーム」に「意見要望」よりも高い優先順位を設定し、クレームを優先的に抽出することとしてもよい。なお、本実施形態では、ステップS203における検索結果と、関係辞書とを対比する事で、関係辞書の各レコードに含まれる複数の検索キーが、対象ケースに同時に含まれているか否かを判定することとしているが、このような方法に代えて、関係辞書に含まれる検索キーで対象ケースを直接検索することで、関係辞書の各レコードに含まれる複数の検索キーが、対象ケースに同時に含まれているか否かを判定することとしてもよい。意味内容の判定が終了すると、処理はステップS205へ進む。
【0052】
ステップS205では、対象ケースにおける索出文字列間の関係が、関係辞書を用いて抽出されたか否かが判定される。判定部25は、ステップS203で索出された複数の索出文字列間の関係が、ステップS204における関係辞書を用いた意味内容の抽出処理で
抽出されたか否かを判定する。換言すると、判定部25は、対象ケースにおける索出文字列の関係が、関係辞書に存在するか否かを判定する。対象ケースにおける索出文字列間の関係が、関係辞書を用いて抽出された場合、処理はステップS207へ進む。対象ケースにおける索出文字列間の関係が、関係辞書を用いて抽出されなかった場合、処理はステップS206へ進む。
【0053】
ステップS206では、データクラスタリングの結果に基づいて、対象ケースの意味内容が抽出される。情報取得/推定部27は、データクラスタリングの結果(リアルタイム辞書)を参照することで、対象ケース(複数の索出文字列の組み合わせ)のパターンに近い類似ケースの属性情報を取得し、この属性情報を、対象ケースの属性情報(意味内容)として抽出する(図10を参照)。ここで、補完の優先順位は、重心に最も近い代表ケースが最も優先順位が高く、重心から距離が遠くなる順に優先順位が低くなる。なお、データクラスタリングの結果から抽出される属性情報は、対象ケース(または対象ケースにおいて索出された検索キー関係)が属するグループの代表ケースの属性情報であってもよいし、代表ケースから属性情報が得られない場合には、同一グループ内の他のケースの属性情報であってもよい。また、情報取得/推定部27は、対象ケースに関連する情報として、対象ケースまたは該対象ケースの検索キー関係が属するグループの代表ケースに関連する情報全般(即ち、属性情報に限られず、検索キーや索出文字列等の広範な情報)を取得してもよい。これによって、対象ケースに関連する情報の置換や補充等が可能となり、対象ケースの検索キーを詳細に推定すること、検索キーを具体化、詳細化または統一化すること、が可能となる。その後、処理はステップS207へ進む。
【0054】
ステップS207では、パターン抽出が行われる。パターン抽出部26は、ステップS203におけるベース辞書に基づく索出結果、ステップS204における関係辞書に基づく索出結果、およびステップS206における意味内容の推定結果、に基づいて、受付ログに含まれるケースのパターン抽出を行う。
【0055】
図11は、本実施形態におけるパターン抽出処理の結果を示す図である。本実施形態では、各ケースが有するパターンとして、ケースに含まれる検索キー、および属性を抽出する。また、抽出されたケースを集計することで、受付ログに含まれる検索キー関係の出現頻度および出現率等を算出する。また、パターン抽出は、ステップS206までに索出等された関係について、出現頻度または出現率(出現ケース数/全ケース数)、文字長の割合(正規表現該当文字数/1文書文字数)を予め指定された閾値と比較することで絞り込むことで行われる。閾値を用いた絞り込みによって、閾値に満たないパターンをベース辞書および関係辞書からの削除候補として示したり、閾値以上であるが辞書に定義されていないパターンをベース辞書および関係辞書への追加候補として示したりすることが出来る。パターン抽出が完了すると、処理はステップS208へ進む。
【0056】
ステップS208では、抽出されたパターンが出力される。出力部23は、ステップS207で抽出されたパターンおよび算出された集計結果等を、表示装置15へ出力することで表示させ、ユーザに提供する。出力部23は、キー関係の出現頻度や出現率、検索キーの出現頻度や出現率の多いものが上位に来るように出力する。更に、出力部23は、出現頻度や出現率の低いパターンを、辞書からの削除候補として提示し、また、現在は異なるパターンとして辞書に定義されているが類似度が所定の閾値以上であるパターンを、辞書内の1エントリとしてまとめられる候補として提示する。ユーザは、出力された情報を参照して、ベース辞書や関係辞書等の正規表現辞書を作成、更新、削除する。その後、本フローチャートに示された処理は終了する。
【0057】
なお、本実施形態では、ユーザに対する出力の方法として、表示装置15を用いた表示出力が用いられるが、表示出力以外の出力方法が採用されてもよい。例えば、プリンタを
用いた印刷出力によって、ユーザに対して情報が提供されてもよい。
【0058】
本実施形態に係る文書データ解析装置1によれば、従来のテキスト分析による知識獲得手法では抽出できなかった、複数の文で構成される文書から文の前後関係を考慮した形や人の直感的な言語の特徴表現も正規表現化して言語解析辞書に登録可能となり、分析の幅が広がり、アンケートなど省略形の多い文書の分析・分類・知識獲得にも対応することが可能となる。また、本実施形態に係る文書データ解析装置は、正規表現の特徴パターンによる文書解析機能を備えているため、従来の形態素に細かく区切られた後に抽出された係り受け関係のパターン分析よりも、実表記パターンの関係をより的確に抽出し、人による直感的な表現パターンを容易に抽出することを可能としている。
【符号の説明】
【0059】
1 文書データ解析装置
22 保持部
24 検索部
25 判定部
26 パターン抽出部
27 情報取得/推定部
28 クラスタリング部
29 表記統制部
【技術分野】
【0001】
本発明は、文書データを解析する技術に関する。
【背景技術】
【0002】
従来、自然文を形態素に分解し、その形態素の並びが予め用意された事象パターンに該当するか否かを判断することで、因果関係の有無を判断し、因果関係がある場合には、その因果関係を加味したデータクラスタリングを行う技術がある(特許文献1を参照)。また、述語キーワードを用いて検索を行い、該当した述語キーワードと前後の文章を抽出し、抽出された文章に対して、絞り込み検索や並べ替えを行うことでノイズを除去し、前後の文と併せて知識ベースに格納する技術がある(特許文献2を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−203964号公報
【特許文献2】特開2005−115882号公報
【特許文献3】特開2005−063470号公報
【特許文献4】特開2001−84250号公報
【非特許文献】
【0004】
【非特許文献1】酢山 明弘、他3名、「決定木を用いたフリーアンケート文のフィルタリング」、人工知能学会全国大会論文集、2004 1A4−05
【非特許文献2】土田 正明、他2名、「World Wide Web を用いた辞典システムの構築」、人工知能学会全国大会論文集、2004 1A3−04
【非特許文献3】西山 莉紗、他4名、「技術文書マイニングのための特長表現抽出」、人工知能学会全国大会論文集、2008 3K3−2
【非特許文献4】小林 慎一、他5名、「インターネットリソースを用いた技術動向の時系列的分析」、電気学会論文誌C(電子・情報・システム部門誌)、2005年、Vol.125−C、Number5
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、大量の文書データから知識を抽出する方式として、形態素解析技術により1つの文書から単語を切り出し、自立語を基準にした単語の係り受け関係を推定することで、係り受け関係から構文木を構築する技術が用いられている。このような形態素解析では、構築された構文木の中で多くの構文木に含まれている頻出パターン(知識)を、与えられたパターンの制約に基づいて発見し、発見された頻出パターンへの代入にマッチする文書を検索する。
【0006】
しかし、実際の解析対象となる自然文は、表記の揺れが大きく、また、主語や述語が省略されることもあるため、文章における係り受けの関係を形態素解析によって機械的に抽出したり、抽出結果から文章の正確な意味内容を推定したりすることは困難であった。
【0007】
本発明は、上記した問題に鑑み、対象データに含まれる文章の意味内容をより正確に推定することを課題とする。
【課題を解決するための手段】
【0008】
本発明は、以下の構成を備えることで、上記した課題を解決することとした。即ち、本
発明は、複数の対象データを含む文書データを解析するための文書データ解析装置であって、正規表現を用いて定義された複数の検索キーを保持する保持手段と、前記保持手段によって保持された前記複数の検索キーを用いて前記複数の対象データを検索する検索手段と、前記検索手段による検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリング手段と、対象データの属性情報として、前記クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報推定手段と、を備える文書データ解析装置である。
【0009】
本発明によれば、正規表現で定義された検索キーが用いられることによって、対象データの表記揺れに影響されずに必要な特徴部分を索出することが出来る。なお、このような特徴部分の索出をより正確に行うために、検索キーには、口語体や主語の省略等の表記揺れに影響されない特徴を正規表現化したものが用いられることが好ましい。
【0010】
更に、本発明では、検索手段による検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理が行われる。ここで、クラスタリング処理とは、対象データの中から互いに近似するものを凝集させてグループ分けを行う従来技術であり、例えば、ケース間の距離を計算し、最も距離の近い2つのケースを逐次的に併合することによりグループ化を行うことが出来る。クラスタリング処理によって、意味が類似した対象データ同士がグルーピングされる。このため、本発明によれば、正規表現の特徴パターンをクラスタリングし、類似ケースから属性情報を取得して設定することができる。即ち、本発明によれば、属性情報の設定がなされていない対象データについても、内容が類似すると推定される他の対象データから属性情報を取得すること、換言すると、類似する他の対象データに基づいて、対象データに含まれる文章の意味内容を推定することが出来る。
【0011】
また、本発明に係る文書データ解析装置は、前記検索手段による検索の結果を参照することで、前記対象データが、夫々、関連する検索キーの組み合わせとして予め定義された検索キー関係を含むか否かを判定する判定手段と、前記判定手段によって、前記対象データが前記検索キー関係を含むと判定された場合に、前記検索キー関係に予め関連付けられた属性情報を、該対象データの属性情報として取得する属性取得手段と、を更に備え、前記情報推定手段は、前記判定手段および属性取得手段によって属性情報が取得されなかった対象データについて、前記クラスタリング処理の結果に基づいて属性情報を取得してもよい。
【0012】
ここで、検索キー関係とは、意味内容として関連性を有する検索キーの組み合わせ、換言すると、対象データ内に同時に現れた場合に所定の意味内容(属性)を表すものとして予め定義された関係である。本発明では、対象データがこのような検索キー関係を含むか否かを判定することによって、従来の言語解析では抽出できなかったような係り受け関係を抽出することを可能としている。
【0013】
また、前記情報推定手段は、更に、前記対象データに関連する情報として、前記クラスタリング手段によってグループ化されたグループのうち、該対象データに含まれる検索キー関係が属するグループの、代表検索キー関係に関連する情報を取得してもよい。
【0014】
グループ化によって特定された代表ケースの検索キー関係に基づいて、対象データに関連する情報の置換や補充等を行うことで、対象データの検索キーを詳細に推定すること、検索キーを具体化、詳細化または統一化すること、が可能となる。
【0015】
更に、本発明は、コンピュータが実行する方法、又はコンピュータに実行させるプログ
ラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【0016】
本発明によれば、対象データに含まれる文章の意味内容をより正確に推定することが出来る。
【図面の簡単な説明】
【0017】
【図1】実施形態に係る文書データ解析装置1のハードウェア構成を示す図である。
【図2】実施形態に係る文書データ解析装置1の機能構成の概略を示す図である。
【図3】実施形態に係るベース辞書の構成を示す図である。
【図4】実施形態に係る関係辞書の構成を示す図である。
【図5】実施形態に係るデータクラスタリング処理の流れを示すフローチャートである。
【図6】実施形態における、ベース辞書を用いた検索処理の結果を示す図である。
【図7】実施形態において、クラスタリングのために生成された変数データの構成を示す図である。
【図8】実施形態における、データクラスタリングの結果を示す図である。
【図9】実施形態に係るパターン抽出処理の流れを示すフローチャートである。
【図10】実施形態における、関係辞書を用いた属性判定処理の結果を示す図である。
【図11】実施形態におけるパターン抽出処理の結果を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明に係る文書データ解析装置1の実施の形態について、図面に基づいて説明する。
【0019】
<システムの構成>
図1は、本実施形態に係る文書データ解析装置1のハードウェア構成を示す図である。文書データ解析装置1は、CPU(Central Processing Unit)11、主記憶装置としてのRAM(Random Access Memory)13、ROM(Read Only Memory)12、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置14、表示装置15としてのディスプレイ、および、入力装置16としてのキーボードやマウス等を備えるコンピュータ(情報処理装置)である。
【0020】
図2は、本実施形態に係る文書データ解析装置1の機能構成の概略を示す図である。図1に示された構成を有するコンピュータは、補助記憶装置14に記録されている文書データ解析用プログラムが、RAM13に読み出され、CPU11によって実行されることによって、入力受付部21、保持部22、出力部23、検索部24、判定部25、パターン抽出部26、情報取得/推定部27、クラスタリング部28および表記統制部29を備える文書データ解析装置1として機能する。
【0021】
情報取得/推定部27は、判定部25によって、対象ケースが検索キー関係を含むと判定された場合に、検索キー関係に予め関連付けられた属性情報を、該対象ケースの属性情報として取得し、検索キー関係に予め関連付けられた属性情報によって属性情報が取得さ
れなかった場合に、対象ケースについて、対象ケースの属性情報として、クラスタリング処理の結果において同一グループに属する他の対象ケースに設定されている属性情報を取得する。
【0022】
また、保持部22は、通常の文字列または正規表現を用いて予め定義された複数の検索キー、および検索キーに対応する属性情報を含む各種辞書(ベース辞書および関係辞書等)を保持する。なお、辞書は、分野ごとに異なるものが用意され、文書データの属する分野に応じて適切な分野の辞書が優先的に用いられることが好ましい。
【0023】
図3は、本実施形態に係るベース辞書の構成を示す図である。ベース辞書は、検索キーを識別するための検索キーIDと、通常の文字列または正規表現による文字列で定義された1の検索キーと、この検索キーに対応する属性情報と、を有するパターンが蓄積された辞書データであり、解析対象の文書データの分野毎に異なるものが用意されることが好ましい。原則として、検索キーは正規表現で定義されており、この正規表現にマッチする文章の意味内容を示す属性情報が、夫々の検索キーに関連付けられている。例えば、「.*苦労(した|しました)」という正規表現にマッチする文章は、クレームを意味すると考えられるため、「クレーム」を示す属性情報が関連付けられる。
【0024】
図4は、本実施形態に係る関係辞書の構成を示す図である。関係辞書は、検索キーIDと、複数の検索キーと、この検索キーの組み合わせに対応する属性情報と、を有するパターンが蓄積された辞書データである。原則として検索キーは正規表現で定義されており、1のパターンに含まれる全ての正規表現(検索キーのセット)にマッチする文章の意味内容を示す属性情報が、夫々の検索キーのセットに関連付けられている。例えば、単体ではクレームを意味する「.*苦労(した|しました)」という正規表現にマッチするが、同時に「.*(良いのでは|助かる)」という正規表現にもマッチする文章は、文章全体としてクレームではなく意見要望を意味すると考えられるため、「意見要望」を示す属性情報が関連付けられる。なお、関係辞書の検索キーは、直接正規表現としてデータで含まれるのではなく、ベース辞書における検索キーID(検索キーの識別情報)を指定することで設定されていてもよい。
【0025】
<処理の流れ>
次に、本実施形態に係る文書データ解析装置1によって実行される処理の流れを説明する。なお、以下では、コールセンタにおいてオペレータが入力し蓄積された受付ログを、文書データ解析装置1によって解析する場合の処理の流れについて説明する。コールセンタでは、顧客からの問い合わせ等の電話が受け付けられ、オペレータは、顧客対応の記録をコンピュータに入力する。オペレータによって入力され、蓄積される受付ログは、一部が文章で入力されている。但し、本実施形態に係る文書データ解析装置1は、コールセンタの受付ログ以外にも、様々な文章(例えば、アンケート結果等)を解析する目的で用いることが出来る。
【0026】
図5は、本実施形態に係るデータクラスタリング処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによって解析対象の文書データが指定され、データクラスタリング処理の開始を指示する操作の入力が受け付けられたことを契機として開始される。なお、本フローチャートに示した処理の順序および具体的な処理は、本発明を実施するうえで採用できる一例であり、実際の処理順序および具体的な処理には、本発明を実施するために当業者が採用可能な様々な処理順序および具体的な処理が採用されてよい。
【0027】
ステップS101では、文書データの入力が受け付けられる。入力受付部21は、LAN等のネットワークや、USBメモリ、CD−ROM等の可搬記録媒体等を介して文書デ
ータの入力を受け付ける。本実施形態において処理の対象となる文書データは、コールセンタにおける受付ログであり、受付ログには、コール単位、または一連の案件単位で、オペレータが入力した文章が文字コードを用いたデータとして含まれる。以下、受付ログに含まれるコール単位又は案件単位のデータを、「ケース」と称する。
【0028】
各ケースには、ケースを識別するためのケースID、及びオペレータによって入力されたケースの属性情報が含まれる。属性情報とは、ケースの属性を示すための情報であり、例えば、「クレーム」、「意見要望」、「おほめ」等、ケースに係るコール又は案件の意味内容を判断可能とするために、電話対応を行ったオペレータによって設定される情報である。但し、属性情報は、必ずしも全てのケースに設定されているものではなく、受付ログ中には、オペレータによる設定忘れ等の原因で、属性情報が設定されていないケースも存在し得る。入力された文書データがRAMに記録され、入力受付が完了すると、処理はステップS102へ進む。
【0029】
ステップS102では、文書における表記が統制される。表記統制部29は、ステップS101で入力された文書データに対し、表記統制用辞書を用いた検索・置換処理を実行することで、文書における表記を統制する。表記統制用辞書には、表記の揺れや頻出する誤記を定義した検索キーが、通常の文字列または正規表現文字列で含まれており、また、この検索キーに対応する置換文字列、即ち表記統制後の文字列が含まれている。このような表記統制用辞書を用いて、文書データに対して検索・置換処理が適用されることで、文書中の表記が統制され、表記揺れや誤字のない(または、表記揺れや誤字が低減された)文書データが生成される。
【0030】
ここで、統制とは、文章中で用いられる表現を一定の基準の下に画一化することをいう。具体的には、誤記の修正、複数の表記方法がある語句の統一(例えば、「ファックス」、「ファクシミリ」等の文字列を全て「FAX」に置換する)、同義語の統制(例えば、「手早く」、「素早く」、「迅速に」等の文字列を「すぐに」に置換する)、接頭語の削除、もってまわった言い回しの補正、である調への統一、簡素化、意味を持たない文末の削除および補正、等が行われる。
【0031】
コールセンタの応対記録やアンケート等を分析の対象とした場合、扱う文章は誤字脱字、変換ミスが含まれた口語体で記述されており、表記の揺れが大きい。このため、文章中に自立語との係り受け関係がきれいに表現されていないことが多い。例えば「デンわたいおうが、○○です」の場合、人であれば「電話対応が、○○です」と読めるので、「電話対応」と「○○」との係り受け関係が抽出できるが、機械的に抽出することは困難である。そのため、本実施形態では、統制処理によって、分析前に表記の揺れを除去することとしている。また、アンケート等の文書データでは、主語や述語が省略されていることが多く、係り受け関係が漏れることがある。例えば、「電話対応 昨日○○」という文章では、「電話対応」と「昨日○○」の間に空白文字が入っているため、人間が読めば分かる係り受け関係であるにも拘らず、従来の形態素解析では、「昨日」と「○○」との係り受け関係は抽出できるが、「電話対応」との関係が抽出されない。本実施形態に係る文章データ解析処理によれば、統制処理によって文章中の表現が整えられることで、後述する正規表現を用いた辞書検索処理、およびデータクラスタリング処理がより効率化され、精度の高い解析結果が期待できる。
【0032】
また、本実施形態に係る文書データ解析装置1では、置換文字列を正規表現で設定することで、正規表現で索出された文字列の一部のみを置換することを可能としている。このため、本実施形態では、予めマッチングのための正規表現内に、置換文字列において引用する箇所を、「\1」等のタグで囲む等して示しておく。例えば、「100ワット、200ワット、・・・」から「100W、200W、・・・」へ、数学の箇所はそのままに単位
だけ表記を統一したい場合、「\1[0−9]+\1ワット」のように定義された正規表現で検索して置換箇所を探し、置換文字列を「\1[0−9]+\1W」のように定義することで、数値の部分のみ置換前の文字列から取得して、置換することが出来る。なお、1つの正規表現内に、置換時に引用すべき部分が複数あるような場合には、「\2」「\3」・・・等の囲みタグを用いることで対応出来る。このような置換処理によれば、置換処理において、全ての置換パターンを用意することなく、また、表記ミス、表記漏れなどが起こる確率を低減させることが出来る。表記の統制が終了すると、処理はステップS103へ進む。
【0033】
ステップS103では、ベース辞書を用いた検索処理が行われる。検索部24は、ステップS102で生成された、表記統制済みの文書データを、ベース辞書に含まれる検索キーで検索し、索出された文字列(以下、「索出文字列」という)、索出文字列が含まれる対象ケースのケースID、文書中の索出文字列の位置、索出に係る検索キー、索出文字列の属性、等を夫々関連付けて、検索結果としてRAM13に保持する。
【0034】
図6は、本実施形態における、ベース辞書を用いた検索処理の結果を示す図である。なお、正規表現による検索の場合、システムに指定された区切り文字をデータの区切りとして、正規表現と一致する文字列を発見することで検索が行われる。区切り文字は自由に指定可能であり、例えば、「。」や改行を区切り文字として指定できる。また、索出文字列の位置は、文書の先頭からの文字数、バイト数や論理行数等を用いて特定することが出来る。ベース辞書検索が終了すると、処理はステップS105へ進む。
【0035】
ステップS104では、索出文字列の関係性が抽出される。パターン抽出部26は、各ケースにおいて、ステップS103で検索キーに一致した索出文字列同士の順番等に基づいて、同一ケースに存在する索出文字列間の関係を抽出する。ここで、パターン抽出部26は、各索出文字列の出現位置の距離を所定の閾値と比較し、閾値以上離れた索出文字列は、関係性が低いとみなして抽出対象から除外する。また、パターン抽出部26は、索出文字列がケースに占める割合(索出文字列の文字数/1文書の文字数)を所定の閾値と比較し、割合が閾値以下である索出文字列を抽出対象から除外する。このような処理を経ることで、ケース毎に、索出文字列の関係性を抽出することが出来る。なお、上述した閾値等を含む抽出のための定義は、解析対象の文書データの分野毎に異なるものが用意されることが好ましい。その後、処理はステップS105へ進む。
【0036】
ステップS105では、索出文字列間の関係の絞り込みが行われる。パターン抽出部26は、ステップS104で抽出された、索出文字列間の関係(正規表現のキー関係)を、出現頻度または出現率(例えば、「出現ケース数/全ケース数」で算出される出現率を用いることが出来る。)に基づいて絞り込む。この際、絞り込みの方法としては、算出された出現頻度または出現率を所定の閾値と比較し、閾値以上の出現頻度または出現率を有する関係のみを抽出することで絞り込む方法が採用されてよい。その後、処理はステップS106へ進む。
【0037】
ステップS106では、データクラスタリングによる、類似ケース(類似パターン)およびその代表ケース(代表パターン)の抽出が行われる。クラスタリング部28は、ステップS105までに抽出され絞り込まれた、正規表現のキー関係を、ケース、各正規表現及びその出現順位、属性、該当文書数、該当文数、正規表現間の距離、出現頻度、出現率を変数としてデータクラスタリングし、類似ケースおよびその代表ケースを抽出する。
【0038】
図7は、本実施形態において、クラスタリングのために生成された変数データの構成を示す図である。なお、正規表現間の距離は、データクラスタリングにおける距離と同様である。例えば、2つの正規表現のキー関係(以下、「2項関係」と称する)において、2つの正規表現が文章中で続けて現れる場合の距離は、(2つめの正規表現の文頭位置)−
(1つめの正規表現の文末位置)で、1となる。
【0039】
図8は、本実施形態における、データクラスタリングの結果を示す図である。ここで、代表ケースとは、類似ケースの中で各ケースと最も距離関係が近いケースのことであり、即ち、データクラスタリングの結果が重心に近いケースである。なお、関係辞書に正規表現のキー関係が存在する場合、抽出されたケースには属性情報が設定される。
【0040】
なお、データクラスタリングは、対象(ケース、変数)の中から互いに近似するものを凝集させてグループ分けを行う従来技術であり、キー関係1、キー関係2、・・・キー関係k(kはキー関係のケース数)、各キー関係の出現順位、属性、頻度、および文字長の夫々を変数として指定し、クラスタリング処理することにより、意味が類似したキー関係パターンがグルーピングされる。例えば、ウォード法によるクラスタリングを採用することで、ケース間の距離を計算し、最も距離の近い2つのケースを逐次的に併合することによりグループ化することが出来る。
【0041】
より具体的には、データクラスタリングでは、初期ケースとして、n個のケースについて、m個の変数xi1,xi2,・・・,ximが設定される(i = 1,2,・・・,n)。そして、第1段の併合として、ケースaとbの間の距離d(xa ,xb)(非類似度)からケース間の距離が計算され、最も距離の近い二つのケースが逐次的に併合される。この際、以下の式が用いられる。
【0042】
【数1】
【0043】
更に、第2段以降の併合として、ケースa、bを併合したcと、dとが併合される。この際、以下の式が用いられる。なお、na、nb、nc、ndは、ケースa、b、c、dに含まれる個体数(データの個数)である。
【0044】
【数2】
【0045】
このようにして併合が繰り返されると、1つのグループが形成される。このため、ケース間の距離を所定の閾値と比較して、閾値以内にあるものを、最終グループとして決定することが出来る。グループの中で、各ケースに最も距離の近いケース、すなわち、重心となるケースが、代表ケースとなり、そのグループの正規表現の代表記述を有することとなる。
【0046】
データクラスタリングの結果は、予め定義された辞書ではなく蓄積された文書データから自動生成された辞書(以下、「リアルタイム辞書」と称する)として用いることが出来る他、関係辞書に辞書項目を追加するための候補データとして用いることが出来る。なお、リアルタイム辞書として用いる方法については、パターン抽出処理の説明において後述する。
【0047】
図9は、本実施形態に係るパターン抽出処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによって解析対象の文書データが指定され、パターン抽出処理の開始を指示する操作の入力が受け付けられたことを契機として開始される。なお、本フローチャートに示した処理の順序および具体的な処理は、本発明を実施するうえで採用できる一例であり、実際の処理順序および具体的な処理には、本発明を実施するために当業者が採用可能な様々な処理順序および具体的な処理が採用されてよい。
【0048】
ステップS201からステップS203では、文書データの入力が受け付けられ、文書における表記が統制され、ベース辞書を用いた検索処理が行われる。ステップS201からステップS203の処理の詳細は、ステップS101からステップS103において説明した処理と概略同様であるため、説明を省略する。ベース辞書を用いた検索処理が終了すると、処理はステップS204へ進む。
【0049】
ステップS204では、関係辞書を用いて、対象ケースに含まれる文章の意味内容(属性)が判定される。判定部25および情報取得/推定部27は、ステップS203における検索結果と、関係辞書とを対比する事で、対象ケースに含まれる文章の意味内容を判定し、属性情報を設定する。より具体的には、判定部25は、ステップS203における検索結果を参照し、関係辞書に含まれる検索キーと同一の検索キーによる索出文字列がステップS203における検索結果に含まれているか否かを判定することで、関係辞書の各レコードに定義された複数の検索キーが、対象ケース(検索対象の文書)に同時に含まれているか否かを判定する。複数の検索キーが対象ケースに同時に含まれている場合、判定部25は、更に索出文字列の長さや、索出文字列同士の間隔等が、関係辞書に定義された条件を満たすか否かを判定し、条件が満たされている場合に、情報取得/推定部27は、対象ケースが、関係辞書の該当レコードに付された属性を有しているものとして、属性情報を設定する。
【0050】
図10は、本実施形態における、関係辞書を用いた属性判定処理の結果を示す図である。例えば、「○○苦労した。××したら良いのでは。」という文章の場合、「○○苦労した。」と「××したら良いのでは。」との2文で構成されているため、従来の形態素解析では、「××」と「良い」との係り受け関係は抽出できるが、これらの表現と「○○」との関係性は抽出されない。本実施形態に係る文書データ解析処理によれば、1文中の形態素の係り受けだけでなく、文の前後関係を考慮した分析、人の行動や感情等の特徴的表現を取り入れた分析、が可能となる。
【0051】
なお、抽出処理は、定義辞書で定義された順に行われる。また、マッチングの結果一致した検索キーの数が多い検索結果や、各項間の出現位置の距離が短い検索結果が優先的に抽出される。また、属性に優先順位を設定し、この優先順位に従って抽出が行われても善い。例えば、属性のうち「クレーム」に「意見要望」よりも高い優先順位を設定し、クレームを優先的に抽出することとしてもよい。なお、本実施形態では、ステップS203における検索結果と、関係辞書とを対比する事で、関係辞書の各レコードに含まれる複数の検索キーが、対象ケースに同時に含まれているか否かを判定することとしているが、このような方法に代えて、関係辞書に含まれる検索キーで対象ケースを直接検索することで、関係辞書の各レコードに含まれる複数の検索キーが、対象ケースに同時に含まれているか否かを判定することとしてもよい。意味内容の判定が終了すると、処理はステップS205へ進む。
【0052】
ステップS205では、対象ケースにおける索出文字列間の関係が、関係辞書を用いて抽出されたか否かが判定される。判定部25は、ステップS203で索出された複数の索出文字列間の関係が、ステップS204における関係辞書を用いた意味内容の抽出処理で
抽出されたか否かを判定する。換言すると、判定部25は、対象ケースにおける索出文字列の関係が、関係辞書に存在するか否かを判定する。対象ケースにおける索出文字列間の関係が、関係辞書を用いて抽出された場合、処理はステップS207へ進む。対象ケースにおける索出文字列間の関係が、関係辞書を用いて抽出されなかった場合、処理はステップS206へ進む。
【0053】
ステップS206では、データクラスタリングの結果に基づいて、対象ケースの意味内容が抽出される。情報取得/推定部27は、データクラスタリングの結果(リアルタイム辞書)を参照することで、対象ケース(複数の索出文字列の組み合わせ)のパターンに近い類似ケースの属性情報を取得し、この属性情報を、対象ケースの属性情報(意味内容)として抽出する(図10を参照)。ここで、補完の優先順位は、重心に最も近い代表ケースが最も優先順位が高く、重心から距離が遠くなる順に優先順位が低くなる。なお、データクラスタリングの結果から抽出される属性情報は、対象ケース(または対象ケースにおいて索出された検索キー関係)が属するグループの代表ケースの属性情報であってもよいし、代表ケースから属性情報が得られない場合には、同一グループ内の他のケースの属性情報であってもよい。また、情報取得/推定部27は、対象ケースに関連する情報として、対象ケースまたは該対象ケースの検索キー関係が属するグループの代表ケースに関連する情報全般(即ち、属性情報に限られず、検索キーや索出文字列等の広範な情報)を取得してもよい。これによって、対象ケースに関連する情報の置換や補充等が可能となり、対象ケースの検索キーを詳細に推定すること、検索キーを具体化、詳細化または統一化すること、が可能となる。その後、処理はステップS207へ進む。
【0054】
ステップS207では、パターン抽出が行われる。パターン抽出部26は、ステップS203におけるベース辞書に基づく索出結果、ステップS204における関係辞書に基づく索出結果、およびステップS206における意味内容の推定結果、に基づいて、受付ログに含まれるケースのパターン抽出を行う。
【0055】
図11は、本実施形態におけるパターン抽出処理の結果を示す図である。本実施形態では、各ケースが有するパターンとして、ケースに含まれる検索キー、および属性を抽出する。また、抽出されたケースを集計することで、受付ログに含まれる検索キー関係の出現頻度および出現率等を算出する。また、パターン抽出は、ステップS206までに索出等された関係について、出現頻度または出現率(出現ケース数/全ケース数)、文字長の割合(正規表現該当文字数/1文書文字数)を予め指定された閾値と比較することで絞り込むことで行われる。閾値を用いた絞り込みによって、閾値に満たないパターンをベース辞書および関係辞書からの削除候補として示したり、閾値以上であるが辞書に定義されていないパターンをベース辞書および関係辞書への追加候補として示したりすることが出来る。パターン抽出が完了すると、処理はステップS208へ進む。
【0056】
ステップS208では、抽出されたパターンが出力される。出力部23は、ステップS207で抽出されたパターンおよび算出された集計結果等を、表示装置15へ出力することで表示させ、ユーザに提供する。出力部23は、キー関係の出現頻度や出現率、検索キーの出現頻度や出現率の多いものが上位に来るように出力する。更に、出力部23は、出現頻度や出現率の低いパターンを、辞書からの削除候補として提示し、また、現在は異なるパターンとして辞書に定義されているが類似度が所定の閾値以上であるパターンを、辞書内の1エントリとしてまとめられる候補として提示する。ユーザは、出力された情報を参照して、ベース辞書や関係辞書等の正規表現辞書を作成、更新、削除する。その後、本フローチャートに示された処理は終了する。
【0057】
なお、本実施形態では、ユーザに対する出力の方法として、表示装置15を用いた表示出力が用いられるが、表示出力以外の出力方法が採用されてもよい。例えば、プリンタを
用いた印刷出力によって、ユーザに対して情報が提供されてもよい。
【0058】
本実施形態に係る文書データ解析装置1によれば、従来のテキスト分析による知識獲得手法では抽出できなかった、複数の文で構成される文書から文の前後関係を考慮した形や人の直感的な言語の特徴表現も正規表現化して言語解析辞書に登録可能となり、分析の幅が広がり、アンケートなど省略形の多い文書の分析・分類・知識獲得にも対応することが可能となる。また、本実施形態に係る文書データ解析装置は、正規表現の特徴パターンによる文書解析機能を備えているため、従来の形態素に細かく区切られた後に抽出された係り受け関係のパターン分析よりも、実表記パターンの関係をより的確に抽出し、人による直感的な表現パターンを容易に抽出することを可能としている。
【符号の説明】
【0059】
1 文書データ解析装置
22 保持部
24 検索部
25 判定部
26 パターン抽出部
27 情報取得/推定部
28 クラスタリング部
29 表記統制部
【特許請求の範囲】
【請求項1】
複数の対象データを含む文書データを解析するための文書データ解析装置であって、
正規表現を用いて定義された複数の検索キーを保持する保持手段と、
前記保持手段によって保持された前記複数の検索キーを用いて前記複数の対象データを検索する検索手段と、
前記検索手段による検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリング手段と、
対象データの属性情報として、前記クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報推定手段と、
を備える文書データ解析装置。
【請求項2】
前記検索手段による検索の結果を参照することで、前記対象データが、夫々、関連する検索キーの組み合わせとして予め定義された検索キー関係を含むか否かを判定する判定手段と、
前記判定手段によって、前記対象データが前記検索キー関係を含むと判定された場合に、前記検索キー関係に予め関連付けられた属性情報を、該対象データの属性情報として取得する属性取得手段と、を更に備え、
前記情報推定手段は、前記判定手段および属性取得手段によって属性情報が取得されなかった対象データについて、前記クラスタリング処理の結果に基づいて属性情報を取得する、
請求項1に記載の文書データ解析装置。
【請求項3】
前記情報推定手段は、更に、前記対象データに関連する情報として、前記クラスタリング手段によってグループ化されたグループのうち、該対象データに含まれる検索キー関係が属するグループの、代表検索キー関係に関連する情報を取得する、
請求項1に記載の文書データ解析装置。
【請求項4】
複数の対象データを含む文書データを解析するための文書データ解析方法であって、コンピュータに、
正規表現を用いて定義された複数の検索キーを保持する保持ステップと、
前記保持ステップにおいて保持された前記複数の検索キーを用いて前記複数の対象データを検索する検索ステップと、
前記検索ステップにおける検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリングステップと、
対象データの属性情報として、前記クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報推定ステップと、
を実行させる文書データ解析方法。
【請求項5】
前記コンピュータに、
前記検索ステップにおける検索の結果を参照することで、前記対象データが、夫々、関連する検索キーの組み合わせとして予め定義された検索キー関係を含むか否かを判定する判定ステップと、
前記判定ステップにおいて、前記対象データが前記検索キー関係を含むと判定された場合に、前記検索キー関係に予め関連付けられた属性情報を、該対象データの属性情報として取得する属性取得ステップと、を更に実行させ、
前記情報推定ステップでは、前記判定ステップおよび属性取得ステップにおいて属性情報が取得されなかった対象データについて、前記クラスタリング処理の結果に基づいて属性情報が取得される、
請求項4に記載の文書データ解析方法。
【請求項6】
前記情報推定ステップでは、更に、前記対象データに関連する情報として、前記クラスタリングステップにおいてグループ化されたグループのうち、該対象データに含まれる検索キー関係が属するグループの、代表検索キー関係に関連する情報が取得される、
請求項4に記載の文書データ解析方法。
【請求項7】
複数の対象データを含む文書データを解析するための文書データ解析プログラムであって、コンピュータを、
正規表現を用いて定義された複数の検索キーを保持する保持手段と、
前記保持手段によって保持された前記複数の検索キーを用いて前記複数の対象データを検索する検索手段と、
前記検索手段による検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリング手段と、
対象データの属性情報として、前記クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報推定手段と、
として機能させる文書データ解析プログラム。
【請求項8】
前記コンピュータを、
前記検索手段による検索の結果を参照することで、前記対象データが、夫々、関連する検索キーの組み合わせとして予め定義された検索キー関係を含むか否かを判定する判定手段と、
前記判定手段によって、前記対象データが前記検索キー関係を含むと判定された場合に、前記検索キー関係に予め関連付けられた属性情報を、該対象データの属性情報として取得する属性取得手段と、として更に機能させ、
前記情報推定手段は、前記判定手段および属性取得手段によって属性情報が取得されなかった対象データについて、前記クラスタリング処理の結果に基づいて属性情報を取得する、
請求項7に記載の文書データ解析プログラム。
【請求項9】
前記情報推定手段は、更に、前記対象データに関連する情報として、前記クラスタリング手段によってグループ化されたグループのうち、該対象データに含まれる検索キー関係が属するグループの、代表検索キー関係に関連する情報を取得する、
請求項7に記載の文書データ解析プログラム。
【請求項1】
複数の対象データを含む文書データを解析するための文書データ解析装置であって、
正規表現を用いて定義された複数の検索キーを保持する保持手段と、
前記保持手段によって保持された前記複数の検索キーを用いて前記複数の対象データを検索する検索手段と、
前記検索手段による検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリング手段と、
対象データの属性情報として、前記クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報推定手段と、
を備える文書データ解析装置。
【請求項2】
前記検索手段による検索の結果を参照することで、前記対象データが、夫々、関連する検索キーの組み合わせとして予め定義された検索キー関係を含むか否かを判定する判定手段と、
前記判定手段によって、前記対象データが前記検索キー関係を含むと判定された場合に、前記検索キー関係に予め関連付けられた属性情報を、該対象データの属性情報として取得する属性取得手段と、を更に備え、
前記情報推定手段は、前記判定手段および属性取得手段によって属性情報が取得されなかった対象データについて、前記クラスタリング処理の結果に基づいて属性情報を取得する、
請求項1に記載の文書データ解析装置。
【請求項3】
前記情報推定手段は、更に、前記対象データに関連する情報として、前記クラスタリング手段によってグループ化されたグループのうち、該対象データに含まれる検索キー関係が属するグループの、代表検索キー関係に関連する情報を取得する、
請求項1に記載の文書データ解析装置。
【請求項4】
複数の対象データを含む文書データを解析するための文書データ解析方法であって、コンピュータに、
正規表現を用いて定義された複数の検索キーを保持する保持ステップと、
前記保持ステップにおいて保持された前記複数の検索キーを用いて前記複数の対象データを検索する検索ステップと、
前記検索ステップにおける検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリングステップと、
対象データの属性情報として、前記クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報推定ステップと、
を実行させる文書データ解析方法。
【請求項5】
前記コンピュータに、
前記検索ステップにおける検索の結果を参照することで、前記対象データが、夫々、関連する検索キーの組み合わせとして予め定義された検索キー関係を含むか否かを判定する判定ステップと、
前記判定ステップにおいて、前記対象データが前記検索キー関係を含むと判定された場合に、前記検索キー関係に予め関連付けられた属性情報を、該対象データの属性情報として取得する属性取得ステップと、を更に実行させ、
前記情報推定ステップでは、前記判定ステップおよび属性取得ステップにおいて属性情報が取得されなかった対象データについて、前記クラスタリング処理の結果に基づいて属性情報が取得される、
請求項4に記載の文書データ解析方法。
【請求項6】
前記情報推定ステップでは、更に、前記対象データに関連する情報として、前記クラスタリングステップにおいてグループ化されたグループのうち、該対象データに含まれる検索キー関係が属するグループの、代表検索キー関係に関連する情報が取得される、
請求項4に記載の文書データ解析方法。
【請求項7】
複数の対象データを含む文書データを解析するための文書データ解析プログラムであって、コンピュータを、
正規表現を用いて定義された複数の検索キーを保持する保持手段と、
前記保持手段によって保持された前記複数の検索キーを用いて前記複数の対象データを検索する検索手段と、
前記検索手段による検索の結果得られた情報を変数として設定して、類似する対象データ同士をグループ化するクラスタリング処理を行うクラスタリング手段と、
対象データの属性情報として、前記クラスタリング処理の結果において同一グループに属する他の対象データに設定されている属性情報を取得する、情報推定手段と、
として機能させる文書データ解析プログラム。
【請求項8】
前記コンピュータを、
前記検索手段による検索の結果を参照することで、前記対象データが、夫々、関連する検索キーの組み合わせとして予め定義された検索キー関係を含むか否かを判定する判定手段と、
前記判定手段によって、前記対象データが前記検索キー関係を含むと判定された場合に、前記検索キー関係に予め関連付けられた属性情報を、該対象データの属性情報として取得する属性取得手段と、として更に機能させ、
前記情報推定手段は、前記判定手段および属性取得手段によって属性情報が取得されなかった対象データについて、前記クラスタリング処理の結果に基づいて属性情報を取得する、
請求項7に記載の文書データ解析プログラム。
【請求項9】
前記情報推定手段は、更に、前記対象データに関連する情報として、前記クラスタリング手段によってグループ化されたグループのうち、該対象データに含まれる検索キー関係が属するグループの、代表検索キー関係に関連する情報を取得する、
請求項7に記載の文書データ解析プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−81495(P2011−81495A)
【公開日】平成23年4月21日(2011.4.21)
【国際特許分類】
【出願番号】特願2009−231525(P2009−231525)
【出願日】平成21年10月5日(2009.10.5)
【出願人】(000003687)東京電力株式会社 (2,580)
【Fターム(参考)】
【公開日】平成23年4月21日(2011.4.21)
【国際特許分類】
【出願日】平成21年10月5日(2009.10.5)
【出願人】(000003687)東京電力株式会社 (2,580)
【Fターム(参考)】
[ Back to top ]