情報処理装置、データベース更新方法およびデータベース更新用プログラム
【課題】データベースの最適化に係る作業を効率化し、ユーザの負担を軽減することを課題とする。
【解決手段】文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続される情報処理装置に、データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出部25と、単位解析キーを用いて、データベースに含まれる解析キーの構成を把握する構成把握部26と、構成把握部26によって把握された構成に従って、単位解析キーに関連づけられた情報を用いて、データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新部29と、を備えた。
【解決手段】文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続される情報処理装置に、データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出部25と、単位解析キーを用いて、データベースに含まれる解析キーの構成を把握する構成把握部26と、構成把握部26によって把握された構成に従って、単位解析キーに関連づけられた情報を用いて、データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新部29と、を備えた。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書データを解析する際に用いられる解析キーを更新するための技術に関する。
【背景技術】
【0002】
従来、受け付けた階層型分類辞書に対する更新提案を提案履歴記憶部に格納するとともに、受け付けた更新提案と近似する近似提案を提案履歴記憶部に格納されている過去の更新提案を検索して抽出し、抽出された近似提案を提示する分類辞書更新方法がある(特許文献1を参照)。
【0003】
また、入力されたテキスト情報からキーワードを抽出するキーワード抽出部、キーワードの出現に関する統計量を求めるキーワード統計部、キーワードの出現に関する統計量に基づいて抽出されたキーワードの評価値を算出するキーワード評価値算出部、算出された評価値に基づいてこのキーワードを登録するか否かまたは削除するか否かを判定する判定部、判定部が行った判定の結果によって辞書データベースに対してキーワードの登録または削除を行う辞書登録削除部、および辞書データベースを備える辞書作成装置がある(特許文献2を参照)。
【0004】
更に、自然言語解析技術に関し、特に、自然言語からなる文の各単語に対して、文脈に合った意味を示す意味タグや該当する意味に対応する概念を示す意味クラスなどを付与する単語意味付与装置がある(特許文献3を参照)。その他、辞書を構築または更新するための技術が種々提案されている(特許文献4および5を参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−309446号公報
【特許文献2】再表2005/066837号公報
【特許文献3】特開2009−181408号公報
【特許文献4】特開2008−234429号公報
【特許文献5】特開2005−174116号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来、辞書データを用いて文書データ等の対象データを解析するための技術がある。このような技術を用いて精度の高い解析結果を得るには、辞書データが含まれるデータベース(辞書)のメンテナンスが必要である。しかし、データベースを整理し、最適化する場合には、ユーザがデータベースの構造および整理の対象となる各データを意識する必要があり、辞書データの最適化作業は、煩雑でユーザへの負担が大きいものであった。
【0007】
本発明は、上記した問題に鑑み、データベースの最適化に係る作業を効率化し、ユーザの負担を軽減することを課題とする。
【課題を解決するための手段】
【0008】
本発明は、以下の構成を備えることで、上記した課題を解決することとした。即ち、本発明は、文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続される情報処理装置であって、前記データベースから、解析キーの構成を把握
するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出手段と、前記単位解析キーを用いて、前記データベースに含まれる解析キーの構成を把握する構成把握手段と、前記構成把握手段によって把握された構成に従って、前記単位解析キーに関連づけられた情報を用いて、前記データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新手段と、を備える情報処理装置である。
【0009】
ここで、解析キーとは、文書データを解析するためのキーとなる情報であり、例えば、文書データの文字列を検索する際の検索キーとして用いられる情報である。解析用データは、解析キーを含み、更に当該解析キーに関連する情報(解析キーの属性情報や意味情報等)を含み得る。
【0010】
また、解析キーは、他の解析キーを包含し得る。このため、本発明に係る情報処理装置は、解析キーの構成を把握するための基準となる解析キーを、単位解析キーとして抽出し、この単位解析キーを用いて、単位解析キーを包含する解析キーの構成を把握する。そして、本発明は、このようにして把握された構成に従ってデータベースを更新することで、データベースの最適化に係る作業を効率化し、ユーザの負担を軽減することを可能とした。
【0011】
また、前記単位解析キー抽出手段は、前記データベースから、自身を検索キーとして用いた場合にのみ索出される解析キーを、前記単位解析キーとして抽出してもよい。
【0012】
換言すれば、前記単位解析キー抽出手段は、前記データベースから、自身以外の解析キーを検索キーとして用いた場合には索出されない解析キーを、前記単位解析キーとして抽出することが出来る。このような単位解析キーは、他の解析キーを包含しないため、解析キーの構成を把握するための最小単位として用いることが出来る。
【0013】
また、前記情報処理装置は、前記データベースに蓄積されている解析キーを用いて、該データベースを検索するデータベース検索手段を更に備え、前記単位解析キー抽出手段は、前記データベース検索手段による検索の結果、自身を検索キーとして用いた場合にのみ索出される解析キーを、前記単位解析キーとして抽出してもよい。
【0014】
また、前記情報処理装置は、前記構成把握手段によって把握された構成において、前記単位解析キーの何れにも該当しない文字列を、追加単位解析キーとして更に抽出する追加単位解析キー抽出手段を更に備えてもよい。
【0015】
このような追加単位解析キー抽出手段を更に備えることで、検索等の方法によって抽出されなかった単位解析キーを抽出することが可能となる。なお、この際、文字列自体として意味を有さない文字列(例えば、接続詞「が」や「は」等)については、追加単位解析キーとして抽出する対象から除外されてもよい。
【0016】
また、前記情報処理装置は、前記追加単位解析キーの意味情報として、前記単位解析キーの何れにも該当しない文字列に基づいて生成された意味情報を設定する、追加単位解析キー設定手段を更に備えてもよい。
【0017】
また、前記データベース更新手段は、前記単位解析キーに関連づけられた、該単位解析キーの意味情報を用いて、前記データベースに含まれる解析キーに関連づけられる、該解析キーの意味情報を更新してもよい。
【0018】
また、前記解析キーは、正規表現を用いて定義されてもよい。正規表現で定義された解析キーが用いられることによって、解析キーを用いて文書データ等の対象データの解析を
行う場合に、対象データの表記揺れに影響されずに必要な特徴部分を索出することが出来る。なお、このような特徴部分の索出をより正確に行うために、解析キーには、口語体や主語の省略等の表記揺れに影響されない特徴を正規表現化したものが用いられることが好ましい。
【0019】
更に、本発明は、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【0020】
本発明によれば、データベースの最適化に係る作業を効率化し、ユーザの負担を軽減することが可能となる。
【図面の簡単な説明】
【0021】
【図1】実施形態に係る文書データ解析装置のハードウェア構成を示す図である。
【図2】実施形態に係る文書データ解析装置の概念的構成を示す図である。
【図3】実施形態に係る文書データ解析装置の機能構成の概略を示す図である。
【図4】実施形態に係る辞書データテーブルの構成を示す図である。
【図5】実施形態に係る単位解析キーテーブルの構成を示す図である。
【図6】実施形態に係る文書データ解析処理の流れを示すフローチャートである。
【図7】実施形態における、辞書データテーブルを用いた検索処理の結果を示す図である。
【図8A】実施形態に係るデータベース更新処理の流れを示すフローチャートAである。
【図8B】実施形態に係るデータベース更新処理の流れを示すフローチャートBである。
【図8C】実施形態に係るデータベース更新処理の流れを示すフローチャートCである。
【図9】実施形態に係る適合程度判定部による判定結果と、それに対応する処理の内容と、の関係を示す表である。
【図10】実施形態に係るデータベース更新処理を実行した場合に、更新用データテーブルに含まれる更新用データを用いて辞書データベース内の各テーブルが更新される様子を示す図である。
【図11】実施形態に係るデータベース最適化処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明に係る情報処理装置を、文書データ解析装置1として実施する場合の実施の形態について、図面に基づいて説明する。本実施形態に係る文書データ解析装置1は、例えば、コールセンタにおいてオペレータが入力し蓄積された受付ログの解析に用いることが出来る。コールセンタでは、顧客からの問い合わせ等の電話が受け付けられ、オペレータは、顧客対応の記録をコンピュータに入力する。オペレータによって入力され、蓄積される受付ログは、一部が文章で入力されている。但し、本実施形態に係る文書データ解析装置1は、コールセンタの受付ログ以外にも、様々な文章(例えば、アンケート結果等)を解析する目的で用いることが出来る。
【0023】
但し、本発明に係る情報処理装置は、文書データ解析装置1に限定されない。本発明に
係る情報処理装置は、文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続される情報処理装置であればよい。
【0024】
<システムの構成>
図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としてのキーボードやマウス等を備えるコンピュータ(情報処理装置)である。また、文書データ解析装置1は、辞書データベースに接続される。
【0025】
図2は、本実施形態に係る文書データ解析装置1の概念的構成を示す図である。本実施形態に係る文書データ解析装置1によれば、従来のテキスト分析による知識獲得手法では抽出できなかった、複数の文で構成される文書から文の前後関係を考慮した形や人の直感的な言語の特徴表現も正規表現化して言語解析辞書に登録可能となり、分析の幅が広がり、アンケートなど省略形の多い文書の分析・分類・知識獲得にも対応することが可能となる。また、本実施形態に係る文書データ解析装置1は、正規表現の特徴パターンによる文書解析機能を備えているため、従来の形態素に細かく区切られた後に抽出された係り受け関係のパターン分析よりも、実表記パターンの関係をより的確に抽出し、人による直感的な表現パターンを容易に抽出することを可能としている。本実施形態の説明では、このような文書データ解析装置1に、データベース更新処理およびデータベース最適化処理を適用した場合の処理の詳細について説明する。
【0026】
図3は、本実施形態に係る文書データ解析装置1の機能構成の概略を示す図である。図1に示された構成を有するコンピュータは、補助記憶装置14に記録されているプログラムが、RAM13に読み出され、CPU11によって実行されることによって、更新用解析キー取得部21、データベース検索部22、適合程度判定部23、更新処理内容決定部24、単位解析キー抽出部25、構成把握部26、追加単位解析キー抽出部27、追加単位解析キー設定部28、データベース更新部29および文書データ解析部30を備える文書データ解析装置1として機能する。
【0027】
また、辞書データベースは、通常の文字列または正規表現を用いて予め定義された複数の解析キー、解析キーに対応する属性情報、および解析キー自体の意味を示す意味情報、を含む各種テーブル(解析キーが属性毎にまとめられたテーブル、および単位解析キーテーブル等)を保持する。なお、辞書は、分野ごとに異なるものが用意され、文書データの属する分野に応じて適切な分野の辞書が優先的に用いられることが好ましい。
【0028】
図4は、本実施形態に係る辞書データテーブルの構成を示す図である。辞書データテーブルは、解析キーを識別するための解析キーIDと、通常の文字列または正規表現による文字列で定義された1の解析キーと、この解析キーに対応する属性情報と、この解析キー自体の意味を示す意味情報と、を有するパターンが蓄積された辞書データであり、解析対象の文書データの分野毎に異なるものが用意されることが好ましい。原則として、解析キーは正規表現で定義されており、この正規表現にマッチする文章の属性情報が、夫々の解析キーに関連付けられている。例えば、「.*知り(たい|たかった)」という正規表現にマ
ッチする文章は、応対および意見に分類され、その文章の意味は「知りたい」である。このため、解析キー「.*知り(たい|たかった)」には、属性情報1「応対」、属性情報2「
意見」および意味情報「知りたい」が関連付けられる。
【0029】
更新用解析キー取得部21は、辞書データベースの更新に用いられる解析キーである更新用解析キーを含む更新用データを取得する。なお、本実施形態において、解析キーは、正規表現を用いて定義される。更新用データの具体例については、図10を参照。
【0030】
データベース検索部22は、所定の検索キーを用いて辞書データベースを検索する。ここで用いられる検索キーとしては、例えば、更新用解析キーの他、同一の辞書データベースに蓄積されている解析キーが挙げられる。
【0031】
適合程度判定部23は、解析用データに含まれる情報と、更新用解析キーに関連付けられた情報との適合程度を判定する。より具体的には、適合程度判定部23は、データベース検索部22によって、辞書データベースから、更新用解析キーを含む解析用データが索出されなかった場合に、適合程度を判定する。なお、適合程度判定部23は、解析用データに含まれる解析キー、当該解析キーの属性情報および意味情報の少なくとも何れかと、更新用解析キーに関連付けられた解析キー、当該解析キーの属性情報および意味情報の少なくとも何れかとの適合程度を判定する。なお、判定の結果は、「完全一致」、「部分一致」、「不一致」および「判定不要」等を示す情報を用いて保持される。図9に示された表では、完全一致は「○」、部分一致は「△」、不一致は「×」、判定不要は「?」の記号をもって表示されている。
【0032】
更新処理内容決定部24は、適合程度判定部23による判定結果に応じて、更新用解析キーを用いて辞書データベースを更新する際の更新処理の内容を決定する。ここで決定される更新処理の内容としては、例えば、更新用解析キーを辞書データベースに追加する際の追加位置が挙げられる。なお、適合程度判定部23による判定結果および判定結果に対応する処理内容については、図9を参照。なお、図9は、2つの属性情報を有する解析キーの更新処理を例示しているが、属性情報の数は、2つに限定されない。
【0033】
単位解析キー抽出部25は、辞書データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する。本実施形態では、単位解析キー抽出部25は、データベース検索部22による検索の結果、自身を検索キーとして用いた場合にのみ索出される解析キーを、単位解析キーとして抽出する。ここで、自身を検索キーとして用いた場合にのみ索出される解析キーとは、換言すれば、自身以外の解析キーを検索キーとして用いた場合には索出されない解析キーである。
【0034】
図5は、本実施形態に係る単位解析キーテーブルの構成を示す図である。単位解析キー抽出部25は、図4に示された辞書から、解析キーの構成を把握するための基準となる解析キーを抽出する。そして、単位解析キー抽出部25によって抽出された解析キーは、単位解析キーとして、図5に示される単位解析キーテーブルに登録される。
【0035】
構成把握部26は、単位解析キーを用いて、辞書データベースに含まれる解析キーの構成を把握する。
【0036】
追加単位解析キー抽出部27は、構成把握部26によって把握された構成において、単位解析キーの何れにも該当しない文字列を、追加単位解析キーとして更に抽出する。
【0037】
追加単位解析キー設定部28は、構成把握部26によって把握された構成における、単位解析キーの何れにも該当しない文字列に基づいて、追加単位解析キーの意味情報を生成し、設定する。
【0038】
データベース更新部29は、更新処理内容決定部24によって決定された更新処理の内容に従って、更新用解析キーおよび当該更新用解析キーに関連付けられた情報をもって、
辞書データベースを更新する。例えば、データベース更新部29は、更新処理内容決定部24によって決定された追加位置に、更新用解析キーおよび当該更新用解析キーに関連付けられた情報を含む解析用データを追加することで、辞書データベースを更新する。
【0039】
また、データベース更新部29は、構成把握部26によって把握された構成に従って、単位解析キーに関連づけられた情報を用いて、辞書データベースに含まれる解析キーに関連づけられる情報を更新する。例えば、データベース更新部29は、単位解析キーに関連づけられた、当該単位解析キーの意味情報を用いて、辞書データベースに含まれる解析キーに関連づけられる、当該解析キーの意味情報を更新する。
【0040】
文書データ解析部30は、辞書データベースに蓄積された解析キーを用いて、文書データを解析し、文書データに関連する属性情報や意味情報等を取得する。
【0041】
<処理の流れ>
次に、本実施形態に係る文書データ解析装置1によって実行される処理の流れを説明する。なお、本実施形態において示される処理の順序および具体的な処理内容は、本発明を実施するうえで採用できる一例であり、実際の処理順序および具体的な処理内容には、本発明を実施するために当業者が採用可能な様々な処理順序および具体的な処理内容が採用されてよい。
【0042】
図6は、本実施形態に係る文書データ解析処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによる文書データ解析処理の実行の指示が受け付けられたことを契機として開始される。但し、本フローチャートに示された処理は、予め設定されたスケジュールに従って、または定期的に実行されてもよい。
【0043】
ステップS101では、文書データの入力が受け付けられる。文書データ解析部30は、LAN等のネットワークや、USBメモリ、CD−ROM等の可搬記録媒体等を介して文書データの入力を受け付ける。本実施形態において処理の対象となる文書データは、例えば、コールセンタにおける受付ログであり、受付ログには、コール単位、または一連の案件単位で、オペレータが入力した文章が文字コードを用いたデータとして含まれる。以下、受付ログに含まれるコール単位又は案件単位のデータを、「ケース」と称する。
【0044】
各ケースには、ケースを識別するためのケースID、及びオペレータによって入力されたケースの属性情報が含まれる。属性情報とは、ケースの属性を示すための情報であり、例えば、「クレーム」、「意見要望」、「おほめ」等、ケースに係るコール又は案件の意味内容を判断可能とするために、電話対応を行ったオペレータによって設定される情報である。但し、属性情報は、必ずしも全てのケースに設定されているものではなく、受付ログ中には、オペレータによる設定忘れ等の原因で、属性情報が設定されていないケースも存在し得る。入力された文書データがRAMに記録され、入力受付が完了すると、処理はステップS102へ進む。
【0045】
ステップS102では、文書における表記が統制される。文書データ解析部30は、表記統制用辞書(図示は省略する)を用いた検索・置換処理を実行することで、文書における表記を統制する。表記統制用辞書には、表記の揺れや頻出する誤記を定義した解析キーが、通常の文字列または正規表現文字列で含まれており、また、この解析キーに対応する置換文字列、即ち表記統制後の文字列が含まれている。このような表記統制用辞書を用いて、文書データに対して検索・置換処理が適用されることで、文書中の表記が統制され、表記揺れや誤字のない(または、表記揺れや誤字が低減された)文書データが生成される。
【0046】
ここで、統制とは、文章中で用いられる表現を一定の基準の下に画一化することをいう。具体的には、誤記の修正、複数の表記方法がある語句の統一(例えば、「ファックス」、「ファクシミリ」等の文字列を全て「FAX」に置換する)、同義語の統制(例えば、「手早く」、「素早く」、「迅速に」等の文字列を「すぐに」に置換する)、接頭語の削除、もってまわった言い回しの補正、である調への統一、簡素化、意味を持たない文末の削除および補正、等が行われる。表記の統制が終了すると、処理はステップS103へ進む。
【0047】
ステップS103では、辞書データテーブルを用いた検索処理が行われる。文書データ解析部30は、ステップS102で生成された、表記統制済みの文書データを、辞書データテーブルに含まれる解析キーで検索し、索出された文字列(以下、「索出文字列」という)、索出文字列が含まれる対象ケースのケースID、文書中の索出文字列の位置、索出に係る解析キー、索出文字列の属性情報、意味情報等を夫々関連付けて、解析結果としてRAMに保持する。その後、本フローチャートに示された処理は終了する。
【0048】
図7は、本実施形態における、辞書データテーブルを用いた検索処理の結果を示す図である。なお、正規表現による検索の場合、システムに指定された区切り文字をデータの区切りとして、正規表現と一致する文字列を発見することで検索が行われる。区切り文字は自由に指定可能であり、例えば、「。」や改行を区切り文字として指定できる。また、索出文字列の位置は、文書の先頭からの文字数、バイト数や論理行数等を用いて特定することが出来る。
【0049】
以下、図6および図7を用いて説明した文書データ解析処理において用いられる、辞書データテーブルのメンテナンスのために実行されるデータベース更新処理およびデータベース最適化処理について、図8Aから図11を用いて説明する。
【0050】
図8Aから図8Cは、本実施形態に係るデータベース更新処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによって作成された辞書データベースへ統合される更新用データテーブルが、文書データ解析装置1に入力され、ユーザによる、更新用データテーブルの辞書データベースへの統合指示が受け付けられたことを契機として開始される。但し、本フローチャートに示された処理は、予め設定されたスケジュールに従って、または定期的に実行されてもよい。なお、本フローチャートに示された処理は、更新用データテーブルに含まれる更新用データ毎に実行される。
【0051】
ステップS201以降に示された処理の実行に先立って、更新用解析キー取得部21は、LAN等のネットワークや、USBメモリ、CD−ROM等の可搬記録媒体等を介して、更新用解析キーを含む更新用データテーブルを取得する。更新用データテーブルは、予めユーザによって作成された、更新用解析データの集合である。但し、本実施形態によれば、以下に説明するデータベース更新処理において、適切な更新処理の内容が判定されるため、ユーザは、辞書データベースの構成や現在の内容を気にすることなく、更新用データを作成することが出来る。
【0052】
ステップS201およびステップS202では、更新用データの内容が整理される。ここで、更新用データとは、辞書データベースへのデータの追加または辞書データベース内の情報の上書き等に用いられるデータである。更新用解析キー取得部21は、更新用データに含まれる解析キーがNULLであるデータを削除し(ステップS201)、解析キーが完全に重複するデータを、最後に追加された1データを残して削除する(ステップS202)ことによって、更新用データの内容を整理する。
【0053】
この際、後述する検索の精度を向上させるために、更新用データに係る書式や表現、デ
ータの保持順序等を、所定のルールに従って整理し、画一化する統制処理が行われてもよい。例えば、本実施形態において、解析キーは正規表現を用いて定義されているが、正規表現で記述された解析キーの表現を、所定のルールに従って統制することによって、より精度の高い検索結果を得ることが可能な解析キーとすることが出来る。より具体的には、OR条件で結合される文字列の指定順序を、所定のルールに従った順序とすることによって、「.*知り(たい|たかった)」と「.*知り(たかった|たい)」が一致すべき解析キーであることを明らかにし、後の検索によって正しい検索結果が索出されるようにすることが出来る。
【0054】
ステップS203およびステップS204では、更新用データに含まれる解析キー(以下、「更新用解析キー」と称する)を用いた、適合程度の判定および更新処理内容の決定が行われる。適合程度判定部23は、更新用解析キーを用いて、データベース検索部22に辞書データベースに蓄積された全てのデータに含まれる解析キーを検索させ、解析用データに含まれる情報と更新用データに含まれる情報との適合程度を判定する(ステップS203)。ここでは、更新用解析キーの文字列(例えば、「.*知り(たい|たかった)」)
を用いた検索が行われ、データベース検索部22は、完全一致する解析キーのみ索出する。なお、ここで「完全一致」とは、比較対象となる情報同士が、過不足なく一致していることを指す。
【0055】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS204)。完全一致する解析キーが索出された場合、処理はステップS205へ進む。更新用解析キーに完全一致しない(不一致である)解析キーに関する処理は、ステップS209へ進む。例えば、更新用解析キーが「.*知り(たい|たかった)」であった場合、解
析キー「.*知り(たい|たかった)」のみが完全一致する解析キーとして索出される。その
他の解析キー(例えば、「.*説明(が|は)?((ない|なし)」や「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((ない|なし)」)は、完全一致とはみなされない。
【0056】
ステップS205およびステップS206では、属性情報および意味情報が比較される。適合程度判定部23は、更新用解析キーに完全一致した解析キーを有するデータに含まれる属性情報および意味情報が、更新用データの属性情報および意味情報に一致するか否かを判定する(ステップS205)。適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS206)。属性情報および意味情報が、更新用データの属性情報および意味情報に一致すると判定された場合、処理はステップS207へ進む。一方、属性情報および意味情報が、更新用データの属性情報および意味情報に一致しない(即ち、属性情報および意味情報の少なくとも一方が更新用データに含まれるものと異なる)場合、処理はステップS208へ進む(ステップS206)。
【0057】
ステップS207では、辞書データベースへの更新用データの追加がキャンセルされる。データベース更新部29は、ステップS205において、属性情報および意味情報が、更新用データの属性情報および意味情報に一致すると判定された更新用データを、辞書データベースに追加することなく、破棄または放置する。即ち、ステップS204において辞書データベースから完全一致する解析キーが索出され、ステップS205において属性情報および意味情報が、更新用データの属性情報および意味情報に一致すると判定された更新用データは、同一のデータが既に辞書データベースに登録済みであるため、辞書データベースへの追加が行われない。その後、本フローチャートに示された処理は終了する。
【0058】
図9は、本実施形態に係る適合程度判定部23による判定結果と、それに対応する処理の内容と、の関係を示す表である。図9には、適合程度判定部23による判定結果に対応
してステップS207において実行される処理(更新用データを「登録しない」こと、即ち、辞書データベースへの更新用データの追加がキャンセルされること)が、表のNo.0の行に示されている。なお、図9には、属性情報が「属性1」および「属性2」の2つのみ示されているが、属性情報の数は、2つに限定されない。これは、図10についても同様である。
【0059】
また、図10は、本実施形態に係るデータベース更新処理を実行した場合に、更新用データテーブルに含まれる更新用データを用いて辞書データベース内の各テーブルが更新される様子を示す図である。図10を参照すると、図9の表のNo.0に相当する更新用データであるID1のデータが、辞書データベースに既に存在するデータと完全に一致しているため、登録されないことが分かる。
【0060】
ステップS208では、更新用データの内容を用いて、辞書データベースに登録済みのデータが更新される。データベース更新部29は、ステップS205において、属性情報および意味情報が、更新用データの属性情報および意味情報に一致しないと判定されたデータの属性情報および意味情報をもって、ステップS204で索出された登録済みのデータの属性情報および意味情報を上書き更新する。但し、更新用データの属性情報および意味情報がNULLである場合には、更新用データの属性情報および意味情報は、登録済みのデータの属性情報および意味情報に上書きされない。その後、本フローチャートに示された処理は終了する。
【0061】
なお、図9には、適合程度判定部23による判定結果に対応してステップS208において実行される処理(登録済みのデータの上書き更新)が、表のNo.1の行に示されている。また、図10を参照すると、図9の表のNo.1に相当する更新用データであるID2および3のデータが、辞書データベース登録済みのデータに対して上書きされることが分かる。
【0062】
ステップS209およびステップS210では、更新用データに含まれる属性情報(以下、「更新用属性情報」と称する)を用いた、辞書データベースの検索が行われる。適合程度判定部23は、更新用データに含まれる更新用属性情報を用いて、データベース検索部22に辞書データベース内のデータ(但し、ステップS204の処理において完全一致したデータは除く)に含まれる属性情報を検索させ、解析用データに含まれる情報と更新用データに含まれる情報との適合程度を判定する(ステップS209)。ここでは、更新用属性情報の文字列(例えば、「意見」)を用いた検索が行われ、データベース検索部22は、一致する属性情報を1つ以上有するデータを索出する。
【0063】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS210)。一致する属性情報を1つ以上有するデータが索出された場合、処理はステップS211へ進む。更新用属性情報に一致する属性情報を有するデータが索出されなかった場合、処理はステップS219へ進む。例えば、更新用属性情報1が「応対」であり、更新用属性情報2が「意見」であった場合、属性情報1または属性情報2の少なくとも一方が「応対」または「意見」であるデータが索出される。その後、処理はステップS211へ進む。
【0064】
ステップS211およびステップS212では、更新用データの意味情報を用いた、適合程度の判定および更新処理内容の決定が行われる。適合程度判定部23は、データベース検索部22に、ステップS209において索出された、完全一致する属性情報を1つ以上有するデータ群から、更新用データの意味情報に文字列として最長一致する意味情報を有するデータを索出させることで、解析用データに含まれる情報と更新用データに含まれ
る情報との適合程度を判定する(ステップS211)。
【0065】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS212)。索出されたデータの意味情報が、更新用データの意味情報に完全一致している場合、処理はステップS213へ進む。索出されたデータの意味情報が、更新用データの意味情報に部分一致している場合、処理はステップS214へ進む。一方、更新用データの意味情報に一致する意味情報を含むデータが索出されなかった(不一致であった)場合、処理はステップS215へ進む。
【0066】
ここで、部分一致とは、索出されたデータの意味情報と、更新用データの意味情報との間で、複数ある意味情報のうち全ては一致していないが1以上が一致している場合の他、完全一致はしていないが所定の下限長(閾値)以上の文字数一致している場合を含む。また、不一致とは、索出されたデータの意味情報と、更新用データの意味情報との間で、一致する意味情報が1つもない場合の他、所定の下限長(閾値)未満の文字列のみ一致している場合を含む。
【0067】
ステップS213では、更新用データが辞書データベースに追加される。データベース更新部29は、索出されたデータの意味情報が、更新用データの意味情報に完全一致している場合、更新用データを、ステップS211において索出された、意味情報が完全一致するデータ群の末尾に追加する。その後、本フローチャートに示された処理は終了する。
【0068】
なお、図9には、適合程度判定部23による判定結果に対応してステップS213において実行される処理(更新用データが、意味情報が完全一致するデータ群の末尾に追加されること)が、表のNo.2、3、8、9、14および15の行に示されている。また、図10を参照すると、図9の表のNo.2、3、8、9、14および15に相当する更新用データであるID4、5、10、11、16および17のデータが、意味情報が完全一致するデータ群の末尾に追加されることが分かる。
【0069】
ステップS214では、更新用データが辞書データベースに追加される。データベース更新部29は、索出されたデータの意味情報が、更新用データの意味情報に部分一致している場合、更新用データを、ステップS211において索出された、意味情報が部分一致するデータ群の末尾に追加する。その後、本フローチャートに示された処理は終了する。
【0070】
なお、図9には、適合程度判定部23による判定結果に対応してステップS214において実行される処理(更新用データが、意味情報が部分一致するデータ群の末尾に追加されること)が、表のNo.4、5、10、11、16および17の行に示されている。また、図10を参照すると、図9の表のNo.4、5、10、11、16および17に相当する更新用データであるID6、7、12、13、18および19のデータが、意味情報が部分一致するデータ群の末尾に追加されることが分かる。
【0071】
ステップS215およびステップS216では、同一属性情報内で「解析キー」が比較される。適合程度判定部23は、ステップS209において索出された、完全一致する属性情報を1つ以上有するデータに含まれる解析キーと、更新用解析キーとを比較することで、解析用データに含まれる情報と更新用データに含まれる情報との適合程度を判定する(ステップS215)。
【0072】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS216)。比較の結果、ステップS209において索出されたデータに、更新用解析キ
ーに部分一致する解析キーがある場合、処理はステップS217へ進む。一方、比較の結果、ステップS209において索出されたデータに、更新用解析キーに一致する解析キーがない場合、処理はステップS218へ進む。
【0073】
ステップS217では、更新用データが辞書データベースに追加される。データベース更新部29は、ステップS209において索出されたデータに、更新用解析キーに部分一致する解析キーがある場合、更新用データを、部分一致に係るデータ群の末尾に追加する(ステップS217)。その後、本フローチャートに示された処理は終了する。
【0074】
なお、図9には、適合程度判定部23による判定結果に対応してステップS217において実行される処理(更新用データが、部分一致に係るデータ群の末尾に追加されること)が、表のNo.6、12および18の行に示されている。また、図10を参照すると、図9の表のNo.6、12および18に相当する更新用データであるID8、14および20のデータが、辞書データベース内の更新用解析キーが部分一致するデータ群の末尾に追加されることが分かる。
【0075】
ステップS218では、更新用データが辞書データベースに追加される。データベース更新部29は、ステップS209において索出されたデータに、更新用解析キーに一致する解析キーがない場合、更新用データを、同一の属性情報を有するデータ群の末尾に追加する(ステップS218)。その後、本フローチャートに示された処理は終了する。
【0076】
なお、図9には、適合程度判定部23による判定結果に対応してステップS218において実行される処理(更新用データが、同一の属性情報を有するデータ群の末尾に追加されること)が、表のNo.7、13および19の行に示されている。また、図10を参照すると、図9の表のNo.7、13および19に相当する更新用データであるID9、15および21のデータが、辞書データベース内の同一の属性情報を有するデータ群の末尾に追加されることが分かる。
【0077】
ステップS219およびステップS220では、更新用データに含まれる意味情報(以下、「更新用意味情報」と称する)を用いた、適合程度の判定および更新処理内容の決定が行われる。適合程度判定部23は、更新用データに含まれる更新用意味情報を用いて、データベース検索部22に、辞書データベース内のデータ(但し、ステップS204の処理において完全一致したデータは除く)に含まれる意味情報を検索させ、解析用データに含まれる情報と更新用データに含まれる情報との適合程度を判定する(ステップS219)。ここでは、更新用意味情報の文字列(例えば、「知りたい」)を用いた検索が行われる。
【0078】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS220)。索出されたデータの意味情報が、更新用データの意味情報に完全一致している場合、処理はステップS221へ進む。索出されたデータの意味情報が、更新用データの意味情報に部分一致している場合、処理はステップS222へ進む。一方、更新用データの意味情報に一致する意味情報を含むデータが索出されなかった(不一致)場合、処理はステップS223へ進む。
【0079】
ステップS221からステップS223では、更新用データが辞書データベースに追加される。なお、ステップS221およびステップS222に係る処理の内容はステップS213およびステップS214と概略同様であるため、説明を省略する。
【0080】
なお、図9には、適合程度判定部23による判定結果に対応してステップS221にお
いて実行される処理(更新用データが、意味情報が完全一致するデータ群の末尾に追加されること)が、表のNo.20および21の行に示されており、適合程度判定部23による判定結果に対応してステップS222において実行される処理(更新用データが、意味情報が部分一致するデータ群の末尾に追加されること)が、表のNo.22および23の行に示されている。また、図10を参照すると、図9の表のNo.20および21に相当する更新用データであるID22および23のデータが、意味情報が完全一致するデータ群の末尾に追加され、図9の表のNo.22および23に相当する更新用データであるID24および25のデータが、意味情報が部分一致するデータ群の末尾に追加されることが分かる。
【0081】
ステップS223では、更新用データが辞書データベースに追加される。データベース更新部29は、索出されたデータの意味情報が、更新用データの意味情報に一致していない場合、更新用データを、辞書データベース内の最後のテーブルの末尾に追加する(ステップS223)。即ち、本実施形態では、分類不能である解析キーを含むデータを蓄積するためのテーブルとして、辞書データベース内の最後のテーブルが用いられる。
【0082】
なお、図9には、適合程度判定部23による判定結果に対応してステップS223において実行される処理(更新用データが最後のテーブルの末尾に追加されること)が、表のNo.24および25の行に示されている。また、図10を参照すると、図9の表のNo.24および25に相当する更新用データであるID26および27のデータが、辞書データベース内の最後のテーブルの末尾に追加されることが分かる。
【0083】
本実施形態に係る文書データ解析装置1によれば、更新用データに含まれる情報と、更新の対象である辞書データベースに含まれる内容とのパターン一致から、辞書データの追加・更新に係る位置を特定し、辞書データベースを更新することが出来る。なお、本実施形態では、図8Aから図8Cのフローチャートに示された処理を実行することによって更新処理の内容が決定されるが、このような方法に代えて、属性情報、意味情報、および解析キーについて適合程度の判定を行い、図9に示されたような表を参照することによって、更新処理の内容を判定する方法が採用されてもよい。
【0084】
図11は、本実施形態に係るデータベース最適化処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによるデータベース最適化処理の実行の指示が受け付けられたことを契機として開始される。但し、本フローチャートに示された処理は、予め設定されたスケジュールに従って、または定期的に実行されてもよい。
【0085】
ステップS301では、辞書データベースに含まれる解析キーを用いて、辞書データベースが検索される。データベース検索部22は、辞書データベースに蓄積されている解析キーを用いて、辞書データベースを検索することで、検索に用いられる解析キー(以下、「検索用解析キー」とも称する)を含む解析キーを抽出する。データベース検索部22は、辞書データベースに含まれる全ての解析キーについて、検索用解析キーの選択と検索を繰り返す。このため、データベース検索部22は、ステップS301における処理の結果、辞書データベースに含まれる全ての解析キーについて、解析キー毎に、辞書データベースの検索結果を得る。その後、処理はステップS302へ進む。
【0086】
ステップS302では、単位解析キーが抽出される。単位解析キー抽出部25は、ステップS301における検索の結果、自身を検索キーとして用いた場合にのみ索出された1または複数の解析キーを、単位解析キーとして抽出する。ここで、自身を検索キーとして用いた場合にのみ索出される解析キーとは、換言すれば、自身以外の解析キーを検索キーとして用いた場合には索出されない解析キーである。単位解析キーは、解析キーの構成を把握するための基準となる解析キーであり、他の解析キーを包含しないため、解析キーの
構成を把握するための最小単位として用いることが出来る。抽出された単位解析キーはテーブルにまとめられ、単位解析キーテーブル(単位解析キー辞書、最小単位辞書)が生成される。
【0087】
ステップS303では、単位解析キーに基づいて、解析キーの構成が把握される。構成把握部26は、単位解析キーを用いて辞書データベース内を検索し、辞書データベースに含まれる解析キーの構成を把握する。換言すれば、構成把握部26は、辞書データベースに含まれる解析キー毎に、単位解析キーの使用パターンを把握する。ここで、使用パターンとは、解析キーにおける、単位解析キーの一致の状況(完全一致、部分一致および部分一致する箇所)を示す情報である。例えば、解析キーが「.*知り(たい|たかった).*(が|
のに).*説明(が|は)?((ない|なし)」である場合、構成把握部26は、単位解析キーを用
いた検索によって、解析キー「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((ない|なし)」が、単位解析キー「.*知り(たい|たかった)」、単位解析キー「.*(が|のに)」および単位解析キー「.*説明(が|は)?((ない|なし)」の3つの単位解析キーによって構成されていることを把握する。把握された構成は、単位解析キーの識別情報の組み合わせによって管理することが出来る。その後、処理はステップS304へ進む。
【0088】
ステップS304では、追加単位解析キーが抽出および設定される。追加単位解析キー抽出部27は、ステップS302において生成された単位解析キーテーブルに含まれる単位解析キーの何れにも該当しない文字列を、追加単位解析キーとして抽出する。ここで、追加単位解析キー抽出部27は、このような解析キーを抽出するために、ステップS303において把握された解析キー構成を参照する。例えば、解析キーが「.*知り(たい|たかった).*(電話した).*説明(が|は)?(ない|なし)」であり、単位解析キー「.*知り(たい|たかった)」および単位解析キー「.*説明(が|は)?(ない|なし)」は単位解析キーテーブルに存在するが、「.*(電話した)」という単位解析キーが存在しない場合、追加単位解析キー抽出部27は、「.*(電話した)」を、追加単位解析キーとして新たに抽出する。
【0089】
そして、追加単位解析キー設定部28は、解析キー中の、単位解析キーの何れにも該当しない文字列から意味情報を生成し、これを新たに抽出された追加単位解析キーの意味情報として設定する。例えば、解析キー中の、単位解析キーの何れにも該当しない文字列が「.*(電話した)」である場合、追加単位解析キーの意味情報として、正規表現のための表現を除いた文字列「電話した」が生成され、設定される。
【0090】
但し、解析キー中の、単位解析キーの何れにも該当しない文字列が、接続詞「が」や「は」等、文字列自体として意味を有さない(直接意味を持たない)文字列である場合がある。本実施形態では、このような場合、追加単位解析キー抽出部27は、単位解析キーを情報の記述の単位(最小単位)とするために、このような文字列を追加単位解析キーとして抽出しない。
【0091】
なお、解析キーに含まれる単位解析キーの使用頻度が所定の閾値よりも低い場合には、このような解析キー全体を追加単位解析キーとして抽出することとしてもよい。この場合、追加単位解析キー抽出部27は、ステップS302において生成された単位解析キーテーブルに含まれる単位解析キーの何れにも該当しない文字列を含む解析キーを、追加単位解析キーとして抽出する。例えば、解析キーが「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((ない|なし)」であり、単位解析キー「.*知り(たい|たかった)」および単位
解析キー「.*説明(が|は)?((ない|なし)」は単位解析キーテーブルに存在するが、「.*(
が|のに)」という単位解析キーが存在しない場合、「.*(が|のに)」は、文字列自体とし
て意味を有さない文字列である。但し、単位解析キー「.*知り(たい|たかった)」および
単位解析キー「.*説明(が|は)?((ない|なし)」の使用頻度が所定の閾値よりも低い場合、追加単位解析キー抽出部27は、「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((
ない|なし)」を、追加単位解析キーとして新たに抽出してもよい。
【0092】
そして、単位解析キーの何れにも該当しない文字列を含む解析キーが追加単位解析キーとして抽出された場合、追加単位解析キー設定部28は、新たに抽出された追加単位解析キーの意味情報として、追加単位解析キーに含まれる他の単位解析キーの意味情報を設定する。例えば、追加単位解析キーが「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((ない|なし)」であり、単位解析キー「.*知り(たい|たかった)」および単位解析キー「.*説明(が|は)?((ない|なし)」を含む場合、追加単位解析キーの意味情報として、これら
の単位解析キーの意味情報「知りたい」および「説明がない」が設定される。
【0093】
ステップS305では、辞書データベースが更新される。データベース更新部29は、辞書データベースに含まれる解析キーの意味情報を、ステップS303において把握された構成に含まれる単位解析キーに関連づけられた意味情報を用いて更新する。例えば、解析キーが「.*知り(たい|たかった).*説明(が|は)?((ない|なし)」であり、単位解析キー
「.*知り(たい|たかった)」および単位解析キー「.*説明(が|は)?((ない|なし)」を含む
場合、解析キーの意味情報として、これらの単位解析キーの意味情報「知りたい」および「説明がない」が追加または上書きされる。その後、本フローチャートに示された処理は終了する。
【0094】
本実施形態に係る文書データ解析装置1によれば、情報の記述の単位(最小単位)である単位解析キーとその意味情報を取得し、解析キーを、単位解析キーの意味情報で表現し構造化することによって、意味情報に基づいた辞書の最適化が行われる。このため、本実施形態に係る文書データ解析装置1によれば、意味構造的な見地から最適化された正規表現辞書の構築が可能となり、辞書メンテナンスに関わる作業を効率化することが出来る。また、本実施形態に係る文書データ解析装置1によれば、辞書管理者は、正規表現辞書の登録内容の追加、修正、更新に関わる作業において、辞書内容の意味を容易に理解出来る。
【符号の説明】
【0095】
1 文書データ解析装置
23 適合程度判定部
24 更新処理内容決定部
25 単位解析キー抽出部
26 構成把握部
29 データベース更新部
30 文書データ解析部
【技術分野】
【0001】
本発明は、文書データを解析する際に用いられる解析キーを更新するための技術に関する。
【背景技術】
【0002】
従来、受け付けた階層型分類辞書に対する更新提案を提案履歴記憶部に格納するとともに、受け付けた更新提案と近似する近似提案を提案履歴記憶部に格納されている過去の更新提案を検索して抽出し、抽出された近似提案を提示する分類辞書更新方法がある(特許文献1を参照)。
【0003】
また、入力されたテキスト情報からキーワードを抽出するキーワード抽出部、キーワードの出現に関する統計量を求めるキーワード統計部、キーワードの出現に関する統計量に基づいて抽出されたキーワードの評価値を算出するキーワード評価値算出部、算出された評価値に基づいてこのキーワードを登録するか否かまたは削除するか否かを判定する判定部、判定部が行った判定の結果によって辞書データベースに対してキーワードの登録または削除を行う辞書登録削除部、および辞書データベースを備える辞書作成装置がある(特許文献2を参照)。
【0004】
更に、自然言語解析技術に関し、特に、自然言語からなる文の各単語に対して、文脈に合った意味を示す意味タグや該当する意味に対応する概念を示す意味クラスなどを付与する単語意味付与装置がある(特許文献3を参照)。その他、辞書を構築または更新するための技術が種々提案されている(特許文献4および5を参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−309446号公報
【特許文献2】再表2005/066837号公報
【特許文献3】特開2009−181408号公報
【特許文献4】特開2008−234429号公報
【特許文献5】特開2005−174116号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来、辞書データを用いて文書データ等の対象データを解析するための技術がある。このような技術を用いて精度の高い解析結果を得るには、辞書データが含まれるデータベース(辞書)のメンテナンスが必要である。しかし、データベースを整理し、最適化する場合には、ユーザがデータベースの構造および整理の対象となる各データを意識する必要があり、辞書データの最適化作業は、煩雑でユーザへの負担が大きいものであった。
【0007】
本発明は、上記した問題に鑑み、データベースの最適化に係る作業を効率化し、ユーザの負担を軽減することを課題とする。
【課題を解決するための手段】
【0008】
本発明は、以下の構成を備えることで、上記した課題を解決することとした。即ち、本発明は、文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続される情報処理装置であって、前記データベースから、解析キーの構成を把握
するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出手段と、前記単位解析キーを用いて、前記データベースに含まれる解析キーの構成を把握する構成把握手段と、前記構成把握手段によって把握された構成に従って、前記単位解析キーに関連づけられた情報を用いて、前記データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新手段と、を備える情報処理装置である。
【0009】
ここで、解析キーとは、文書データを解析するためのキーとなる情報であり、例えば、文書データの文字列を検索する際の検索キーとして用いられる情報である。解析用データは、解析キーを含み、更に当該解析キーに関連する情報(解析キーの属性情報や意味情報等)を含み得る。
【0010】
また、解析キーは、他の解析キーを包含し得る。このため、本発明に係る情報処理装置は、解析キーの構成を把握するための基準となる解析キーを、単位解析キーとして抽出し、この単位解析キーを用いて、単位解析キーを包含する解析キーの構成を把握する。そして、本発明は、このようにして把握された構成に従ってデータベースを更新することで、データベースの最適化に係る作業を効率化し、ユーザの負担を軽減することを可能とした。
【0011】
また、前記単位解析キー抽出手段は、前記データベースから、自身を検索キーとして用いた場合にのみ索出される解析キーを、前記単位解析キーとして抽出してもよい。
【0012】
換言すれば、前記単位解析キー抽出手段は、前記データベースから、自身以外の解析キーを検索キーとして用いた場合には索出されない解析キーを、前記単位解析キーとして抽出することが出来る。このような単位解析キーは、他の解析キーを包含しないため、解析キーの構成を把握するための最小単位として用いることが出来る。
【0013】
また、前記情報処理装置は、前記データベースに蓄積されている解析キーを用いて、該データベースを検索するデータベース検索手段を更に備え、前記単位解析キー抽出手段は、前記データベース検索手段による検索の結果、自身を検索キーとして用いた場合にのみ索出される解析キーを、前記単位解析キーとして抽出してもよい。
【0014】
また、前記情報処理装置は、前記構成把握手段によって把握された構成において、前記単位解析キーの何れにも該当しない文字列を、追加単位解析キーとして更に抽出する追加単位解析キー抽出手段を更に備えてもよい。
【0015】
このような追加単位解析キー抽出手段を更に備えることで、検索等の方法によって抽出されなかった単位解析キーを抽出することが可能となる。なお、この際、文字列自体として意味を有さない文字列(例えば、接続詞「が」や「は」等)については、追加単位解析キーとして抽出する対象から除外されてもよい。
【0016】
また、前記情報処理装置は、前記追加単位解析キーの意味情報として、前記単位解析キーの何れにも該当しない文字列に基づいて生成された意味情報を設定する、追加単位解析キー設定手段を更に備えてもよい。
【0017】
また、前記データベース更新手段は、前記単位解析キーに関連づけられた、該単位解析キーの意味情報を用いて、前記データベースに含まれる解析キーに関連づけられる、該解析キーの意味情報を更新してもよい。
【0018】
また、前記解析キーは、正規表現を用いて定義されてもよい。正規表現で定義された解析キーが用いられることによって、解析キーを用いて文書データ等の対象データの解析を
行う場合に、対象データの表記揺れに影響されずに必要な特徴部分を索出することが出来る。なお、このような特徴部分の索出をより正確に行うために、解析キーには、口語体や主語の省略等の表記揺れに影響されない特徴を正規表現化したものが用いられることが好ましい。
【0019】
更に、本発明は、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【0020】
本発明によれば、データベースの最適化に係る作業を効率化し、ユーザの負担を軽減することが可能となる。
【図面の簡単な説明】
【0021】
【図1】実施形態に係る文書データ解析装置のハードウェア構成を示す図である。
【図2】実施形態に係る文書データ解析装置の概念的構成を示す図である。
【図3】実施形態に係る文書データ解析装置の機能構成の概略を示す図である。
【図4】実施形態に係る辞書データテーブルの構成を示す図である。
【図5】実施形態に係る単位解析キーテーブルの構成を示す図である。
【図6】実施形態に係る文書データ解析処理の流れを示すフローチャートである。
【図7】実施形態における、辞書データテーブルを用いた検索処理の結果を示す図である。
【図8A】実施形態に係るデータベース更新処理の流れを示すフローチャートAである。
【図8B】実施形態に係るデータベース更新処理の流れを示すフローチャートBである。
【図8C】実施形態に係るデータベース更新処理の流れを示すフローチャートCである。
【図9】実施形態に係る適合程度判定部による判定結果と、それに対応する処理の内容と、の関係を示す表である。
【図10】実施形態に係るデータベース更新処理を実行した場合に、更新用データテーブルに含まれる更新用データを用いて辞書データベース内の各テーブルが更新される様子を示す図である。
【図11】実施形態に係るデータベース最適化処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明に係る情報処理装置を、文書データ解析装置1として実施する場合の実施の形態について、図面に基づいて説明する。本実施形態に係る文書データ解析装置1は、例えば、コールセンタにおいてオペレータが入力し蓄積された受付ログの解析に用いることが出来る。コールセンタでは、顧客からの問い合わせ等の電話が受け付けられ、オペレータは、顧客対応の記録をコンピュータに入力する。オペレータによって入力され、蓄積される受付ログは、一部が文章で入力されている。但し、本実施形態に係る文書データ解析装置1は、コールセンタの受付ログ以外にも、様々な文章(例えば、アンケート結果等)を解析する目的で用いることが出来る。
【0023】
但し、本発明に係る情報処理装置は、文書データ解析装置1に限定されない。本発明に
係る情報処理装置は、文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続される情報処理装置であればよい。
【0024】
<システムの構成>
図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としてのキーボードやマウス等を備えるコンピュータ(情報処理装置)である。また、文書データ解析装置1は、辞書データベースに接続される。
【0025】
図2は、本実施形態に係る文書データ解析装置1の概念的構成を示す図である。本実施形態に係る文書データ解析装置1によれば、従来のテキスト分析による知識獲得手法では抽出できなかった、複数の文で構成される文書から文の前後関係を考慮した形や人の直感的な言語の特徴表現も正規表現化して言語解析辞書に登録可能となり、分析の幅が広がり、アンケートなど省略形の多い文書の分析・分類・知識獲得にも対応することが可能となる。また、本実施形態に係る文書データ解析装置1は、正規表現の特徴パターンによる文書解析機能を備えているため、従来の形態素に細かく区切られた後に抽出された係り受け関係のパターン分析よりも、実表記パターンの関係をより的確に抽出し、人による直感的な表現パターンを容易に抽出することを可能としている。本実施形態の説明では、このような文書データ解析装置1に、データベース更新処理およびデータベース最適化処理を適用した場合の処理の詳細について説明する。
【0026】
図3は、本実施形態に係る文書データ解析装置1の機能構成の概略を示す図である。図1に示された構成を有するコンピュータは、補助記憶装置14に記録されているプログラムが、RAM13に読み出され、CPU11によって実行されることによって、更新用解析キー取得部21、データベース検索部22、適合程度判定部23、更新処理内容決定部24、単位解析キー抽出部25、構成把握部26、追加単位解析キー抽出部27、追加単位解析キー設定部28、データベース更新部29および文書データ解析部30を備える文書データ解析装置1として機能する。
【0027】
また、辞書データベースは、通常の文字列または正規表現を用いて予め定義された複数の解析キー、解析キーに対応する属性情報、および解析キー自体の意味を示す意味情報、を含む各種テーブル(解析キーが属性毎にまとめられたテーブル、および単位解析キーテーブル等)を保持する。なお、辞書は、分野ごとに異なるものが用意され、文書データの属する分野に応じて適切な分野の辞書が優先的に用いられることが好ましい。
【0028】
図4は、本実施形態に係る辞書データテーブルの構成を示す図である。辞書データテーブルは、解析キーを識別するための解析キーIDと、通常の文字列または正規表現による文字列で定義された1の解析キーと、この解析キーに対応する属性情報と、この解析キー自体の意味を示す意味情報と、を有するパターンが蓄積された辞書データであり、解析対象の文書データの分野毎に異なるものが用意されることが好ましい。原則として、解析キーは正規表現で定義されており、この正規表現にマッチする文章の属性情報が、夫々の解析キーに関連付けられている。例えば、「.*知り(たい|たかった)」という正規表現にマ
ッチする文章は、応対および意見に分類され、その文章の意味は「知りたい」である。このため、解析キー「.*知り(たい|たかった)」には、属性情報1「応対」、属性情報2「
意見」および意味情報「知りたい」が関連付けられる。
【0029】
更新用解析キー取得部21は、辞書データベースの更新に用いられる解析キーである更新用解析キーを含む更新用データを取得する。なお、本実施形態において、解析キーは、正規表現を用いて定義される。更新用データの具体例については、図10を参照。
【0030】
データベース検索部22は、所定の検索キーを用いて辞書データベースを検索する。ここで用いられる検索キーとしては、例えば、更新用解析キーの他、同一の辞書データベースに蓄積されている解析キーが挙げられる。
【0031】
適合程度判定部23は、解析用データに含まれる情報と、更新用解析キーに関連付けられた情報との適合程度を判定する。より具体的には、適合程度判定部23は、データベース検索部22によって、辞書データベースから、更新用解析キーを含む解析用データが索出されなかった場合に、適合程度を判定する。なお、適合程度判定部23は、解析用データに含まれる解析キー、当該解析キーの属性情報および意味情報の少なくとも何れかと、更新用解析キーに関連付けられた解析キー、当該解析キーの属性情報および意味情報の少なくとも何れかとの適合程度を判定する。なお、判定の結果は、「完全一致」、「部分一致」、「不一致」および「判定不要」等を示す情報を用いて保持される。図9に示された表では、完全一致は「○」、部分一致は「△」、不一致は「×」、判定不要は「?」の記号をもって表示されている。
【0032】
更新処理内容決定部24は、適合程度判定部23による判定結果に応じて、更新用解析キーを用いて辞書データベースを更新する際の更新処理の内容を決定する。ここで決定される更新処理の内容としては、例えば、更新用解析キーを辞書データベースに追加する際の追加位置が挙げられる。なお、適合程度判定部23による判定結果および判定結果に対応する処理内容については、図9を参照。なお、図9は、2つの属性情報を有する解析キーの更新処理を例示しているが、属性情報の数は、2つに限定されない。
【0033】
単位解析キー抽出部25は、辞書データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する。本実施形態では、単位解析キー抽出部25は、データベース検索部22による検索の結果、自身を検索キーとして用いた場合にのみ索出される解析キーを、単位解析キーとして抽出する。ここで、自身を検索キーとして用いた場合にのみ索出される解析キーとは、換言すれば、自身以外の解析キーを検索キーとして用いた場合には索出されない解析キーである。
【0034】
図5は、本実施形態に係る単位解析キーテーブルの構成を示す図である。単位解析キー抽出部25は、図4に示された辞書から、解析キーの構成を把握するための基準となる解析キーを抽出する。そして、単位解析キー抽出部25によって抽出された解析キーは、単位解析キーとして、図5に示される単位解析キーテーブルに登録される。
【0035】
構成把握部26は、単位解析キーを用いて、辞書データベースに含まれる解析キーの構成を把握する。
【0036】
追加単位解析キー抽出部27は、構成把握部26によって把握された構成において、単位解析キーの何れにも該当しない文字列を、追加単位解析キーとして更に抽出する。
【0037】
追加単位解析キー設定部28は、構成把握部26によって把握された構成における、単位解析キーの何れにも該当しない文字列に基づいて、追加単位解析キーの意味情報を生成し、設定する。
【0038】
データベース更新部29は、更新処理内容決定部24によって決定された更新処理の内容に従って、更新用解析キーおよび当該更新用解析キーに関連付けられた情報をもって、
辞書データベースを更新する。例えば、データベース更新部29は、更新処理内容決定部24によって決定された追加位置に、更新用解析キーおよび当該更新用解析キーに関連付けられた情報を含む解析用データを追加することで、辞書データベースを更新する。
【0039】
また、データベース更新部29は、構成把握部26によって把握された構成に従って、単位解析キーに関連づけられた情報を用いて、辞書データベースに含まれる解析キーに関連づけられる情報を更新する。例えば、データベース更新部29は、単位解析キーに関連づけられた、当該単位解析キーの意味情報を用いて、辞書データベースに含まれる解析キーに関連づけられる、当該解析キーの意味情報を更新する。
【0040】
文書データ解析部30は、辞書データベースに蓄積された解析キーを用いて、文書データを解析し、文書データに関連する属性情報や意味情報等を取得する。
【0041】
<処理の流れ>
次に、本実施形態に係る文書データ解析装置1によって実行される処理の流れを説明する。なお、本実施形態において示される処理の順序および具体的な処理内容は、本発明を実施するうえで採用できる一例であり、実際の処理順序および具体的な処理内容には、本発明を実施するために当業者が採用可能な様々な処理順序および具体的な処理内容が採用されてよい。
【0042】
図6は、本実施形態に係る文書データ解析処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによる文書データ解析処理の実行の指示が受け付けられたことを契機として開始される。但し、本フローチャートに示された処理は、予め設定されたスケジュールに従って、または定期的に実行されてもよい。
【0043】
ステップS101では、文書データの入力が受け付けられる。文書データ解析部30は、LAN等のネットワークや、USBメモリ、CD−ROM等の可搬記録媒体等を介して文書データの入力を受け付ける。本実施形態において処理の対象となる文書データは、例えば、コールセンタにおける受付ログであり、受付ログには、コール単位、または一連の案件単位で、オペレータが入力した文章が文字コードを用いたデータとして含まれる。以下、受付ログに含まれるコール単位又は案件単位のデータを、「ケース」と称する。
【0044】
各ケースには、ケースを識別するためのケースID、及びオペレータによって入力されたケースの属性情報が含まれる。属性情報とは、ケースの属性を示すための情報であり、例えば、「クレーム」、「意見要望」、「おほめ」等、ケースに係るコール又は案件の意味内容を判断可能とするために、電話対応を行ったオペレータによって設定される情報である。但し、属性情報は、必ずしも全てのケースに設定されているものではなく、受付ログ中には、オペレータによる設定忘れ等の原因で、属性情報が設定されていないケースも存在し得る。入力された文書データがRAMに記録され、入力受付が完了すると、処理はステップS102へ進む。
【0045】
ステップS102では、文書における表記が統制される。文書データ解析部30は、表記統制用辞書(図示は省略する)を用いた検索・置換処理を実行することで、文書における表記を統制する。表記統制用辞書には、表記の揺れや頻出する誤記を定義した解析キーが、通常の文字列または正規表現文字列で含まれており、また、この解析キーに対応する置換文字列、即ち表記統制後の文字列が含まれている。このような表記統制用辞書を用いて、文書データに対して検索・置換処理が適用されることで、文書中の表記が統制され、表記揺れや誤字のない(または、表記揺れや誤字が低減された)文書データが生成される。
【0046】
ここで、統制とは、文章中で用いられる表現を一定の基準の下に画一化することをいう。具体的には、誤記の修正、複数の表記方法がある語句の統一(例えば、「ファックス」、「ファクシミリ」等の文字列を全て「FAX」に置換する)、同義語の統制(例えば、「手早く」、「素早く」、「迅速に」等の文字列を「すぐに」に置換する)、接頭語の削除、もってまわった言い回しの補正、である調への統一、簡素化、意味を持たない文末の削除および補正、等が行われる。表記の統制が終了すると、処理はステップS103へ進む。
【0047】
ステップS103では、辞書データテーブルを用いた検索処理が行われる。文書データ解析部30は、ステップS102で生成された、表記統制済みの文書データを、辞書データテーブルに含まれる解析キーで検索し、索出された文字列(以下、「索出文字列」という)、索出文字列が含まれる対象ケースのケースID、文書中の索出文字列の位置、索出に係る解析キー、索出文字列の属性情報、意味情報等を夫々関連付けて、解析結果としてRAMに保持する。その後、本フローチャートに示された処理は終了する。
【0048】
図7は、本実施形態における、辞書データテーブルを用いた検索処理の結果を示す図である。なお、正規表現による検索の場合、システムに指定された区切り文字をデータの区切りとして、正規表現と一致する文字列を発見することで検索が行われる。区切り文字は自由に指定可能であり、例えば、「。」や改行を区切り文字として指定できる。また、索出文字列の位置は、文書の先頭からの文字数、バイト数や論理行数等を用いて特定することが出来る。
【0049】
以下、図6および図7を用いて説明した文書データ解析処理において用いられる、辞書データテーブルのメンテナンスのために実行されるデータベース更新処理およびデータベース最適化処理について、図8Aから図11を用いて説明する。
【0050】
図8Aから図8Cは、本実施形態に係るデータベース更新処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによって作成された辞書データベースへ統合される更新用データテーブルが、文書データ解析装置1に入力され、ユーザによる、更新用データテーブルの辞書データベースへの統合指示が受け付けられたことを契機として開始される。但し、本フローチャートに示された処理は、予め設定されたスケジュールに従って、または定期的に実行されてもよい。なお、本フローチャートに示された処理は、更新用データテーブルに含まれる更新用データ毎に実行される。
【0051】
ステップS201以降に示された処理の実行に先立って、更新用解析キー取得部21は、LAN等のネットワークや、USBメモリ、CD−ROM等の可搬記録媒体等を介して、更新用解析キーを含む更新用データテーブルを取得する。更新用データテーブルは、予めユーザによって作成された、更新用解析データの集合である。但し、本実施形態によれば、以下に説明するデータベース更新処理において、適切な更新処理の内容が判定されるため、ユーザは、辞書データベースの構成や現在の内容を気にすることなく、更新用データを作成することが出来る。
【0052】
ステップS201およびステップS202では、更新用データの内容が整理される。ここで、更新用データとは、辞書データベースへのデータの追加または辞書データベース内の情報の上書き等に用いられるデータである。更新用解析キー取得部21は、更新用データに含まれる解析キーがNULLであるデータを削除し(ステップS201)、解析キーが完全に重複するデータを、最後に追加された1データを残して削除する(ステップS202)ことによって、更新用データの内容を整理する。
【0053】
この際、後述する検索の精度を向上させるために、更新用データに係る書式や表現、デ
ータの保持順序等を、所定のルールに従って整理し、画一化する統制処理が行われてもよい。例えば、本実施形態において、解析キーは正規表現を用いて定義されているが、正規表現で記述された解析キーの表現を、所定のルールに従って統制することによって、より精度の高い検索結果を得ることが可能な解析キーとすることが出来る。より具体的には、OR条件で結合される文字列の指定順序を、所定のルールに従った順序とすることによって、「.*知り(たい|たかった)」と「.*知り(たかった|たい)」が一致すべき解析キーであることを明らかにし、後の検索によって正しい検索結果が索出されるようにすることが出来る。
【0054】
ステップS203およびステップS204では、更新用データに含まれる解析キー(以下、「更新用解析キー」と称する)を用いた、適合程度の判定および更新処理内容の決定が行われる。適合程度判定部23は、更新用解析キーを用いて、データベース検索部22に辞書データベースに蓄積された全てのデータに含まれる解析キーを検索させ、解析用データに含まれる情報と更新用データに含まれる情報との適合程度を判定する(ステップS203)。ここでは、更新用解析キーの文字列(例えば、「.*知り(たい|たかった)」)
を用いた検索が行われ、データベース検索部22は、完全一致する解析キーのみ索出する。なお、ここで「完全一致」とは、比較対象となる情報同士が、過不足なく一致していることを指す。
【0055】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS204)。完全一致する解析キーが索出された場合、処理はステップS205へ進む。更新用解析キーに完全一致しない(不一致である)解析キーに関する処理は、ステップS209へ進む。例えば、更新用解析キーが「.*知り(たい|たかった)」であった場合、解
析キー「.*知り(たい|たかった)」のみが完全一致する解析キーとして索出される。その
他の解析キー(例えば、「.*説明(が|は)?((ない|なし)」や「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((ない|なし)」)は、完全一致とはみなされない。
【0056】
ステップS205およびステップS206では、属性情報および意味情報が比較される。適合程度判定部23は、更新用解析キーに完全一致した解析キーを有するデータに含まれる属性情報および意味情報が、更新用データの属性情報および意味情報に一致するか否かを判定する(ステップS205)。適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS206)。属性情報および意味情報が、更新用データの属性情報および意味情報に一致すると判定された場合、処理はステップS207へ進む。一方、属性情報および意味情報が、更新用データの属性情報および意味情報に一致しない(即ち、属性情報および意味情報の少なくとも一方が更新用データに含まれるものと異なる)場合、処理はステップS208へ進む(ステップS206)。
【0057】
ステップS207では、辞書データベースへの更新用データの追加がキャンセルされる。データベース更新部29は、ステップS205において、属性情報および意味情報が、更新用データの属性情報および意味情報に一致すると判定された更新用データを、辞書データベースに追加することなく、破棄または放置する。即ち、ステップS204において辞書データベースから完全一致する解析キーが索出され、ステップS205において属性情報および意味情報が、更新用データの属性情報および意味情報に一致すると判定された更新用データは、同一のデータが既に辞書データベースに登録済みであるため、辞書データベースへの追加が行われない。その後、本フローチャートに示された処理は終了する。
【0058】
図9は、本実施形態に係る適合程度判定部23による判定結果と、それに対応する処理の内容と、の関係を示す表である。図9には、適合程度判定部23による判定結果に対応
してステップS207において実行される処理(更新用データを「登録しない」こと、即ち、辞書データベースへの更新用データの追加がキャンセルされること)が、表のNo.0の行に示されている。なお、図9には、属性情報が「属性1」および「属性2」の2つのみ示されているが、属性情報の数は、2つに限定されない。これは、図10についても同様である。
【0059】
また、図10は、本実施形態に係るデータベース更新処理を実行した場合に、更新用データテーブルに含まれる更新用データを用いて辞書データベース内の各テーブルが更新される様子を示す図である。図10を参照すると、図9の表のNo.0に相当する更新用データであるID1のデータが、辞書データベースに既に存在するデータと完全に一致しているため、登録されないことが分かる。
【0060】
ステップS208では、更新用データの内容を用いて、辞書データベースに登録済みのデータが更新される。データベース更新部29は、ステップS205において、属性情報および意味情報が、更新用データの属性情報および意味情報に一致しないと判定されたデータの属性情報および意味情報をもって、ステップS204で索出された登録済みのデータの属性情報および意味情報を上書き更新する。但し、更新用データの属性情報および意味情報がNULLである場合には、更新用データの属性情報および意味情報は、登録済みのデータの属性情報および意味情報に上書きされない。その後、本フローチャートに示された処理は終了する。
【0061】
なお、図9には、適合程度判定部23による判定結果に対応してステップS208において実行される処理(登録済みのデータの上書き更新)が、表のNo.1の行に示されている。また、図10を参照すると、図9の表のNo.1に相当する更新用データであるID2および3のデータが、辞書データベース登録済みのデータに対して上書きされることが分かる。
【0062】
ステップS209およびステップS210では、更新用データに含まれる属性情報(以下、「更新用属性情報」と称する)を用いた、辞書データベースの検索が行われる。適合程度判定部23は、更新用データに含まれる更新用属性情報を用いて、データベース検索部22に辞書データベース内のデータ(但し、ステップS204の処理において完全一致したデータは除く)に含まれる属性情報を検索させ、解析用データに含まれる情報と更新用データに含まれる情報との適合程度を判定する(ステップS209)。ここでは、更新用属性情報の文字列(例えば、「意見」)を用いた検索が行われ、データベース検索部22は、一致する属性情報を1つ以上有するデータを索出する。
【0063】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS210)。一致する属性情報を1つ以上有するデータが索出された場合、処理はステップS211へ進む。更新用属性情報に一致する属性情報を有するデータが索出されなかった場合、処理はステップS219へ進む。例えば、更新用属性情報1が「応対」であり、更新用属性情報2が「意見」であった場合、属性情報1または属性情報2の少なくとも一方が「応対」または「意見」であるデータが索出される。その後、処理はステップS211へ進む。
【0064】
ステップS211およびステップS212では、更新用データの意味情報を用いた、適合程度の判定および更新処理内容の決定が行われる。適合程度判定部23は、データベース検索部22に、ステップS209において索出された、完全一致する属性情報を1つ以上有するデータ群から、更新用データの意味情報に文字列として最長一致する意味情報を有するデータを索出させることで、解析用データに含まれる情報と更新用データに含まれ
る情報との適合程度を判定する(ステップS211)。
【0065】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS212)。索出されたデータの意味情報が、更新用データの意味情報に完全一致している場合、処理はステップS213へ進む。索出されたデータの意味情報が、更新用データの意味情報に部分一致している場合、処理はステップS214へ進む。一方、更新用データの意味情報に一致する意味情報を含むデータが索出されなかった(不一致であった)場合、処理はステップS215へ進む。
【0066】
ここで、部分一致とは、索出されたデータの意味情報と、更新用データの意味情報との間で、複数ある意味情報のうち全ては一致していないが1以上が一致している場合の他、完全一致はしていないが所定の下限長(閾値)以上の文字数一致している場合を含む。また、不一致とは、索出されたデータの意味情報と、更新用データの意味情報との間で、一致する意味情報が1つもない場合の他、所定の下限長(閾値)未満の文字列のみ一致している場合を含む。
【0067】
ステップS213では、更新用データが辞書データベースに追加される。データベース更新部29は、索出されたデータの意味情報が、更新用データの意味情報に完全一致している場合、更新用データを、ステップS211において索出された、意味情報が完全一致するデータ群の末尾に追加する。その後、本フローチャートに示された処理は終了する。
【0068】
なお、図9には、適合程度判定部23による判定結果に対応してステップS213において実行される処理(更新用データが、意味情報が完全一致するデータ群の末尾に追加されること)が、表のNo.2、3、8、9、14および15の行に示されている。また、図10を参照すると、図9の表のNo.2、3、8、9、14および15に相当する更新用データであるID4、5、10、11、16および17のデータが、意味情報が完全一致するデータ群の末尾に追加されることが分かる。
【0069】
ステップS214では、更新用データが辞書データベースに追加される。データベース更新部29は、索出されたデータの意味情報が、更新用データの意味情報に部分一致している場合、更新用データを、ステップS211において索出された、意味情報が部分一致するデータ群の末尾に追加する。その後、本フローチャートに示された処理は終了する。
【0070】
なお、図9には、適合程度判定部23による判定結果に対応してステップS214において実行される処理(更新用データが、意味情報が部分一致するデータ群の末尾に追加されること)が、表のNo.4、5、10、11、16および17の行に示されている。また、図10を参照すると、図9の表のNo.4、5、10、11、16および17に相当する更新用データであるID6、7、12、13、18および19のデータが、意味情報が部分一致するデータ群の末尾に追加されることが分かる。
【0071】
ステップS215およびステップS216では、同一属性情報内で「解析キー」が比較される。適合程度判定部23は、ステップS209において索出された、完全一致する属性情報を1つ以上有するデータに含まれる解析キーと、更新用解析キーとを比較することで、解析用データに含まれる情報と更新用データに含まれる情報との適合程度を判定する(ステップS215)。
【0072】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS216)。比較の結果、ステップS209において索出されたデータに、更新用解析キ
ーに部分一致する解析キーがある場合、処理はステップS217へ進む。一方、比較の結果、ステップS209において索出されたデータに、更新用解析キーに一致する解析キーがない場合、処理はステップS218へ進む。
【0073】
ステップS217では、更新用データが辞書データベースに追加される。データベース更新部29は、ステップS209において索出されたデータに、更新用解析キーに部分一致する解析キーがある場合、更新用データを、部分一致に係るデータ群の末尾に追加する(ステップS217)。その後、本フローチャートに示された処理は終了する。
【0074】
なお、図9には、適合程度判定部23による判定結果に対応してステップS217において実行される処理(更新用データが、部分一致に係るデータ群の末尾に追加されること)が、表のNo.6、12および18の行に示されている。また、図10を参照すると、図9の表のNo.6、12および18に相当する更新用データであるID8、14および20のデータが、辞書データベース内の更新用解析キーが部分一致するデータ群の末尾に追加されることが分かる。
【0075】
ステップS218では、更新用データが辞書データベースに追加される。データベース更新部29は、ステップS209において索出されたデータに、更新用解析キーに一致する解析キーがない場合、更新用データを、同一の属性情報を有するデータ群の末尾に追加する(ステップS218)。その後、本フローチャートに示された処理は終了する。
【0076】
なお、図9には、適合程度判定部23による判定結果に対応してステップS218において実行される処理(更新用データが、同一の属性情報を有するデータ群の末尾に追加されること)が、表のNo.7、13および19の行に示されている。また、図10を参照すると、図9の表のNo.7、13および19に相当する更新用データであるID9、15および21のデータが、辞書データベース内の同一の属性情報を有するデータ群の末尾に追加されることが分かる。
【0077】
ステップS219およびステップS220では、更新用データに含まれる意味情報(以下、「更新用意味情報」と称する)を用いた、適合程度の判定および更新処理内容の決定が行われる。適合程度判定部23は、更新用データに含まれる更新用意味情報を用いて、データベース検索部22に、辞書データベース内のデータ(但し、ステップS204の処理において完全一致したデータは除く)に含まれる意味情報を検索させ、解析用データに含まれる情報と更新用データに含まれる情報との適合程度を判定する(ステップS219)。ここでは、更新用意味情報の文字列(例えば、「知りたい」)を用いた検索が行われる。
【0078】
適合程度判定部23による適合程度の判定が行われると、更新処理内容決定部24は、適合程度の判定結果に応じて、辞書データベースの更新処理の内容を決定する(ステップS220)。索出されたデータの意味情報が、更新用データの意味情報に完全一致している場合、処理はステップS221へ進む。索出されたデータの意味情報が、更新用データの意味情報に部分一致している場合、処理はステップS222へ進む。一方、更新用データの意味情報に一致する意味情報を含むデータが索出されなかった(不一致)場合、処理はステップS223へ進む。
【0079】
ステップS221からステップS223では、更新用データが辞書データベースに追加される。なお、ステップS221およびステップS222に係る処理の内容はステップS213およびステップS214と概略同様であるため、説明を省略する。
【0080】
なお、図9には、適合程度判定部23による判定結果に対応してステップS221にお
いて実行される処理(更新用データが、意味情報が完全一致するデータ群の末尾に追加されること)が、表のNo.20および21の行に示されており、適合程度判定部23による判定結果に対応してステップS222において実行される処理(更新用データが、意味情報が部分一致するデータ群の末尾に追加されること)が、表のNo.22および23の行に示されている。また、図10を参照すると、図9の表のNo.20および21に相当する更新用データであるID22および23のデータが、意味情報が完全一致するデータ群の末尾に追加され、図9の表のNo.22および23に相当する更新用データであるID24および25のデータが、意味情報が部分一致するデータ群の末尾に追加されることが分かる。
【0081】
ステップS223では、更新用データが辞書データベースに追加される。データベース更新部29は、索出されたデータの意味情報が、更新用データの意味情報に一致していない場合、更新用データを、辞書データベース内の最後のテーブルの末尾に追加する(ステップS223)。即ち、本実施形態では、分類不能である解析キーを含むデータを蓄積するためのテーブルとして、辞書データベース内の最後のテーブルが用いられる。
【0082】
なお、図9には、適合程度判定部23による判定結果に対応してステップS223において実行される処理(更新用データが最後のテーブルの末尾に追加されること)が、表のNo.24および25の行に示されている。また、図10を参照すると、図9の表のNo.24および25に相当する更新用データであるID26および27のデータが、辞書データベース内の最後のテーブルの末尾に追加されることが分かる。
【0083】
本実施形態に係る文書データ解析装置1によれば、更新用データに含まれる情報と、更新の対象である辞書データベースに含まれる内容とのパターン一致から、辞書データの追加・更新に係る位置を特定し、辞書データベースを更新することが出来る。なお、本実施形態では、図8Aから図8Cのフローチャートに示された処理を実行することによって更新処理の内容が決定されるが、このような方法に代えて、属性情報、意味情報、および解析キーについて適合程度の判定を行い、図9に示されたような表を参照することによって、更新処理の内容を判定する方法が採用されてもよい。
【0084】
図11は、本実施形態に係るデータベース最適化処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザによるデータベース最適化処理の実行の指示が受け付けられたことを契機として開始される。但し、本フローチャートに示された処理は、予め設定されたスケジュールに従って、または定期的に実行されてもよい。
【0085】
ステップS301では、辞書データベースに含まれる解析キーを用いて、辞書データベースが検索される。データベース検索部22は、辞書データベースに蓄積されている解析キーを用いて、辞書データベースを検索することで、検索に用いられる解析キー(以下、「検索用解析キー」とも称する)を含む解析キーを抽出する。データベース検索部22は、辞書データベースに含まれる全ての解析キーについて、検索用解析キーの選択と検索を繰り返す。このため、データベース検索部22は、ステップS301における処理の結果、辞書データベースに含まれる全ての解析キーについて、解析キー毎に、辞書データベースの検索結果を得る。その後、処理はステップS302へ進む。
【0086】
ステップS302では、単位解析キーが抽出される。単位解析キー抽出部25は、ステップS301における検索の結果、自身を検索キーとして用いた場合にのみ索出された1または複数の解析キーを、単位解析キーとして抽出する。ここで、自身を検索キーとして用いた場合にのみ索出される解析キーとは、換言すれば、自身以外の解析キーを検索キーとして用いた場合には索出されない解析キーである。単位解析キーは、解析キーの構成を把握するための基準となる解析キーであり、他の解析キーを包含しないため、解析キーの
構成を把握するための最小単位として用いることが出来る。抽出された単位解析キーはテーブルにまとめられ、単位解析キーテーブル(単位解析キー辞書、最小単位辞書)が生成される。
【0087】
ステップS303では、単位解析キーに基づいて、解析キーの構成が把握される。構成把握部26は、単位解析キーを用いて辞書データベース内を検索し、辞書データベースに含まれる解析キーの構成を把握する。換言すれば、構成把握部26は、辞書データベースに含まれる解析キー毎に、単位解析キーの使用パターンを把握する。ここで、使用パターンとは、解析キーにおける、単位解析キーの一致の状況(完全一致、部分一致および部分一致する箇所)を示す情報である。例えば、解析キーが「.*知り(たい|たかった).*(が|
のに).*説明(が|は)?((ない|なし)」である場合、構成把握部26は、単位解析キーを用
いた検索によって、解析キー「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((ない|なし)」が、単位解析キー「.*知り(たい|たかった)」、単位解析キー「.*(が|のに)」および単位解析キー「.*説明(が|は)?((ない|なし)」の3つの単位解析キーによって構成されていることを把握する。把握された構成は、単位解析キーの識別情報の組み合わせによって管理することが出来る。その後、処理はステップS304へ進む。
【0088】
ステップS304では、追加単位解析キーが抽出および設定される。追加単位解析キー抽出部27は、ステップS302において生成された単位解析キーテーブルに含まれる単位解析キーの何れにも該当しない文字列を、追加単位解析キーとして抽出する。ここで、追加単位解析キー抽出部27は、このような解析キーを抽出するために、ステップS303において把握された解析キー構成を参照する。例えば、解析キーが「.*知り(たい|たかった).*(電話した).*説明(が|は)?(ない|なし)」であり、単位解析キー「.*知り(たい|たかった)」および単位解析キー「.*説明(が|は)?(ない|なし)」は単位解析キーテーブルに存在するが、「.*(電話した)」という単位解析キーが存在しない場合、追加単位解析キー抽出部27は、「.*(電話した)」を、追加単位解析キーとして新たに抽出する。
【0089】
そして、追加単位解析キー設定部28は、解析キー中の、単位解析キーの何れにも該当しない文字列から意味情報を生成し、これを新たに抽出された追加単位解析キーの意味情報として設定する。例えば、解析キー中の、単位解析キーの何れにも該当しない文字列が「.*(電話した)」である場合、追加単位解析キーの意味情報として、正規表現のための表現を除いた文字列「電話した」が生成され、設定される。
【0090】
但し、解析キー中の、単位解析キーの何れにも該当しない文字列が、接続詞「が」や「は」等、文字列自体として意味を有さない(直接意味を持たない)文字列である場合がある。本実施形態では、このような場合、追加単位解析キー抽出部27は、単位解析キーを情報の記述の単位(最小単位)とするために、このような文字列を追加単位解析キーとして抽出しない。
【0091】
なお、解析キーに含まれる単位解析キーの使用頻度が所定の閾値よりも低い場合には、このような解析キー全体を追加単位解析キーとして抽出することとしてもよい。この場合、追加単位解析キー抽出部27は、ステップS302において生成された単位解析キーテーブルに含まれる単位解析キーの何れにも該当しない文字列を含む解析キーを、追加単位解析キーとして抽出する。例えば、解析キーが「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((ない|なし)」であり、単位解析キー「.*知り(たい|たかった)」および単位
解析キー「.*説明(が|は)?((ない|なし)」は単位解析キーテーブルに存在するが、「.*(
が|のに)」という単位解析キーが存在しない場合、「.*(が|のに)」は、文字列自体とし
て意味を有さない文字列である。但し、単位解析キー「.*知り(たい|たかった)」および
単位解析キー「.*説明(が|は)?((ない|なし)」の使用頻度が所定の閾値よりも低い場合、追加単位解析キー抽出部27は、「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((
ない|なし)」を、追加単位解析キーとして新たに抽出してもよい。
【0092】
そして、単位解析キーの何れにも該当しない文字列を含む解析キーが追加単位解析キーとして抽出された場合、追加単位解析キー設定部28は、新たに抽出された追加単位解析キーの意味情報として、追加単位解析キーに含まれる他の単位解析キーの意味情報を設定する。例えば、追加単位解析キーが「.*知り(たい|たかった).*(が|のに).*説明(が|は)?((ない|なし)」であり、単位解析キー「.*知り(たい|たかった)」および単位解析キー「.*説明(が|は)?((ない|なし)」を含む場合、追加単位解析キーの意味情報として、これら
の単位解析キーの意味情報「知りたい」および「説明がない」が設定される。
【0093】
ステップS305では、辞書データベースが更新される。データベース更新部29は、辞書データベースに含まれる解析キーの意味情報を、ステップS303において把握された構成に含まれる単位解析キーに関連づけられた意味情報を用いて更新する。例えば、解析キーが「.*知り(たい|たかった).*説明(が|は)?((ない|なし)」であり、単位解析キー
「.*知り(たい|たかった)」および単位解析キー「.*説明(が|は)?((ない|なし)」を含む
場合、解析キーの意味情報として、これらの単位解析キーの意味情報「知りたい」および「説明がない」が追加または上書きされる。その後、本フローチャートに示された処理は終了する。
【0094】
本実施形態に係る文書データ解析装置1によれば、情報の記述の単位(最小単位)である単位解析キーとその意味情報を取得し、解析キーを、単位解析キーの意味情報で表現し構造化することによって、意味情報に基づいた辞書の最適化が行われる。このため、本実施形態に係る文書データ解析装置1によれば、意味構造的な見地から最適化された正規表現辞書の構築が可能となり、辞書メンテナンスに関わる作業を効率化することが出来る。また、本実施形態に係る文書データ解析装置1によれば、辞書管理者は、正規表現辞書の登録内容の追加、修正、更新に関わる作業において、辞書内容の意味を容易に理解出来る。
【符号の説明】
【0095】
1 文書データ解析装置
23 適合程度判定部
24 更新処理内容決定部
25 単位解析キー抽出部
26 構成把握部
29 データベース更新部
30 文書データ解析部
【特許請求の範囲】
【請求項1】
文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続される情報処理装置であって、
前記データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出手段と、
前記単位解析キーを用いて、前記データベースに含まれる解析キーの構成を把握する構成把握手段と、
前記構成把握手段によって把握された構成に従って、前記単位解析キーに関連づけられた情報を用いて、前記データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新手段と、
を備える情報処理装置。
【請求項2】
前記単位解析キー抽出手段は、前記データベースから、自身を検索キーとして用いた場合にのみ索出される解析キーを、前記単位解析キーとして抽出する、
請求項1に記載の情報処理装置。
【請求項3】
前記データベースに蓄積されている解析キーを用いて、該データベースを検索するデータベース検索手段を更に備え、
前記単位解析キー抽出手段は、前記データベース検索手段による検索の結果、自身を検索キーとして用いた場合にのみ索出される解析キーを、前記単位解析キーとして抽出する、
請求項2に記載の情報処理装置。
【請求項4】
前記構成把握手段によって把握された構成において、前記単位解析キーの何れにも該当しない文字列を、追加単位解析キーとして更に抽出する追加単位解析キー抽出手段を更に備える、
請求項1から3の何れか一項に記載の情報処理装置。
【請求項5】
前記追加単位解析キーの意味情報として、前記単位解析キーの何れにも該当しない文字列に基づいて生成された意味情報を設定する、追加単位解析キー設定手段を更に備える、
請求項4に記載の情報処理装置。
【請求項6】
前記データベース更新手段は、前記単位解析キーに関連づけられた、該単位解析キーの意味情報を用いて、前記データベースに含まれる解析キーに関連づけられる、該解析キーの意味情報を更新する、
請求項1から5の何れか一項に記載の情報処理装置。
【請求項7】
前記解析キーは、正規表現を用いて定義される、請求項1から6の何れか一項に記載の情報処理装置。
【請求項8】
文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続されるコンピュータが、
前記データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出ステップと、
前記単位解析キーを用いて、前記データベースに含まれる解析キーの構成を把握する構成把握ステップと、
前記構成把握ステップにおいて把握された構成に従って、前記単位解析キーに関連づけられた情報を用いて、前記データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新ステップと、
を実行するデータベース更新方法。
【請求項9】
文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続されるコンピュータに、
前記データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出ステップと、
前記単位解析キーを用いて、前記データベースに含まれる解析キーの構成を把握する構成把握ステップと、
前記構成把握ステップにおいて把握された構成に従って、前記単位解析キーに関連づけられた情報を用いて、前記データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新ステップと、
を実行させるためのデータベース更新用プログラム。
【請求項1】
文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続される情報処理装置であって、
前記データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出手段と、
前記単位解析キーを用いて、前記データベースに含まれる解析キーの構成を把握する構成把握手段と、
前記構成把握手段によって把握された構成に従って、前記単位解析キーに関連づけられた情報を用いて、前記データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新手段と、
を備える情報処理装置。
【請求項2】
前記単位解析キー抽出手段は、前記データベースから、自身を検索キーとして用いた場合にのみ索出される解析キーを、前記単位解析キーとして抽出する、
請求項1に記載の情報処理装置。
【請求項3】
前記データベースに蓄積されている解析キーを用いて、該データベースを検索するデータベース検索手段を更に備え、
前記単位解析キー抽出手段は、前記データベース検索手段による検索の結果、自身を検索キーとして用いた場合にのみ索出される解析キーを、前記単位解析キーとして抽出する、
請求項2に記載の情報処理装置。
【請求項4】
前記構成把握手段によって把握された構成において、前記単位解析キーの何れにも該当しない文字列を、追加単位解析キーとして更に抽出する追加単位解析キー抽出手段を更に備える、
請求項1から3の何れか一項に記載の情報処理装置。
【請求項5】
前記追加単位解析キーの意味情報として、前記単位解析キーの何れにも該当しない文字列に基づいて生成された意味情報を設定する、追加単位解析キー設定手段を更に備える、
請求項4に記載の情報処理装置。
【請求項6】
前記データベース更新手段は、前記単位解析キーに関連づけられた、該単位解析キーの意味情報を用いて、前記データベースに含まれる解析キーに関連づけられる、該解析キーの意味情報を更新する、
請求項1から5の何れか一項に記載の情報処理装置。
【請求項7】
前記解析キーは、正規表現を用いて定義される、請求項1から6の何れか一項に記載の情報処理装置。
【請求項8】
文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続されるコンピュータが、
前記データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出ステップと、
前記単位解析キーを用いて、前記データベースに含まれる解析キーの構成を把握する構成把握ステップと、
前記構成把握ステップにおいて把握された構成に従って、前記単位解析キーに関連づけられた情報を用いて、前記データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新ステップと、
を実行するデータベース更新方法。
【請求項9】
文書データを解析するための解析キーを含む解析用データが蓄積されるデータベースに接続されるコンピュータに、
前記データベースから、解析キーの構成を把握するための基準となる1または複数の解析キーを、単位解析キーとして抽出する単位解析キー抽出ステップと、
前記単位解析キーを用いて、前記データベースに含まれる解析キーの構成を把握する構成把握ステップと、
前記構成把握ステップにおいて把握された構成に従って、前記単位解析キーに関連づけられた情報を用いて、前記データベースに含まれる解析キーに関連づけられる情報を更新するデータベース更新ステップと、
を実行させるためのデータベース更新用プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【図10】
【図11】
【公開番号】特開2012−208754(P2012−208754A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−74229(P2011−74229)
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000003687)東京電力株式会社 (2,580)
【Fターム(参考)】
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000003687)東京電力株式会社 (2,580)
【Fターム(参考)】
[ Back to top ]