本明細書では、単語辞書DB(Database)に対するメンテナンス例と、単語辞書DBへの単語の追加登録例と、に分けて説明する。単語辞書DBに対するメンテナンス例については、図1~図20を用い、単語辞書DBへの単語の追加登録例については、図21~図24を用いて説明する。
[1.単語辞書DBに対するメンテナンス例]
図1は、データベースのメンテナンス例1を示す説明図である。図1では、単語辞書DB101に対するメンテナンスについて説明する。単語辞書DB101は、1以上の単語グループを記憶する。単語グループは、所定の属性によりグループ化された単語群である。所定の属性とは、その単語グループが示す特徴である。所定の属性とは、具体的には、たとえば、日本語の文において主語の助詞が「が」格となる動詞や、特定の副詞と共起する動詞が挙げられる。そのほか、同義語や類義語であったり、特定の分野(投資、医療など)に用いられる単語であってもよい。図1では、一例として、単語グループGaは、「suppres」、「decrease」を含む同義語グループとする。
ルールDB102は、ルールを示す木構造パターンを記憶するデータベースである。木構造パターンは、文中の単語間の文の要素に関する関係を示す木構造データについて単語グループを用いて抽象化したデータである。文の要素とは、たとえば、主語、述語、目的語である。木構造データは、たとえば、形態素解析および句構造解析(以下、構文解析)により句構造規則にしたがって生成される構文木である。図1のルールRaは、主語(ワイルドカード)、述語、および目的語(ワイルドカード)の語順であり、述語を構成する動詞が単語グループGaである木構造パターンとする。
データストア103は、各種文(たとえば、学術論文や書籍内の文、新聞雑誌内の文、Webページに記述された文など)のテキストデータを記憶する。
(A)ルールRaの木構造パターンでデータストア103が検索されると(S11)、検索結果111が得られる。検索結果111内の文は、いずれもルールRaを満たすテキストデータである。ここで、(A)において、単語辞書DB101に対するメンテナンスにより、単語グループGaに「reduce」が追加されて(B)の状態になったとする。(B)ルールRaの木構造パターンでデータストア103が検索されると(S12)、検索結果112が得られる。単語グループGaに「reduce」が追加された場合でも、ルールRaを修正することなく、検索が可能である。
この場合、検索結果112内の文は、いずれもルールRaを満たすテキストデータであり、かつ、検索結果111にさらに「reduce」を含む「Z reduces D.」、「X is going to reduce E.」が追加される。このように、単語辞書DB101をメンテナンスするだけで、ルールDB102をメンテナンスしなくても単語辞書DB101のメンテナンス結果を充足した検索が可能となる。
また、(B)において、単語辞書DB101に対するメンテナンスにより、単語グループGaから「reduce」が削除されて(A)の状態になったとする。(A)ルールRaの木構造パターンでデータストア103が検索されると、検索結果111が得られる。単語グループGaから「reduce」が削除された場合でも、ルールRaを修正することなく、検索が可能である。
この場合、検索結果111内の文は、いずれもルールRaを満たすテキストデータであり、かつ、検索結果112において「reduce」を含む「Z reduces D.」、「X is going to reduce E.」が検索されない。なお、単語の変更については、上述した単語の削除および追加を実行すればよい。たとえば、(B)において、「reduce」を「drop」に変更する場合は、単語グループGaから「reduce」を削除して「drop」を追加すればよい。このように、単語辞書DB101をメンテナンスするだけで、ルールDB102をメンテナンスしなくても単語辞書DB101のメンテナンス結果を充足した検索が可能となる。
図2は、データベースのメンテナンス例2を示す説明図である。図2では、ルールDB102に対するメンテナンスについて説明する。(A)は、図1の(A)と同様である。(B)は、新たに追加されたルールRbを示す。ルールRbは、主語(ワイルドカード)、述語(助動詞(ワイルドカード)および動詞)、および目的語(ワイルドカード)の語順であり、動詞が単語グループGaである木構造パターンとする。すなわち、ルールRbは、ルールRaに助動詞が追加された木構造パターンである。
(B)ルールRbの木構造パターンでデータストア103が検索されると(S13)、検索結果210が得られる。検索結果210内の文は、いずれもルールRbを満たすテキストデータである。また、ルールを削除する場合も、ルールDB102からルールRbを削除するだけでよく、単語辞書DB101をメンテナンスする必要がない。ルールの変更については、上述したルールの削除および追加を実行すればよい。たとえば、ルールRaをルールRbに変更する場合は、ルールRaを呼び出して、助動詞(ワイルドカード)を動詞(単語グループGa)の前に追加すればよい。このように、ルールDB102をメンテナンスするだけで、単語辞書DB101をメンテナンスしなくてもルールDB102のメンテナンス結果を充足した検索が可能となる。
図3は、データベースのメンテナンス例3を示す説明図である。図3では、ルールDB102に対するメンテナンスについて説明する。ルールに単語グループが用いられている場合、単語グループ内の単語ごとにルールをルールDB102に登録しておく必要がない。たとえば、ルールRaは、単語グループGaを用いているため、動詞ごとのルールRa1、Ra2をルールDB102に登録する必要がない。これにより、ルールの重複を抑制し、ルールDB102の省メモリ化を図ることができる。
<情報処理システムのハードウェア構成例>
つぎに、情報処理システムを構成する1以上のコンピュータ400のハードウェア構成例について説明する。
図4は、コンピュータのハードウェア構成例を示すブロック図である。コンピュータ400は、プロセッサ401と、記憶デバイス402と、入力デバイス403と、出力デバイス404と、通信インターフェース(通信IF405)と、を有する。プロセッサ401、記憶デバイス402、入力デバイス403、出力デバイス404、および通信IF405は、バス406により接続される。プロセッサ401は、コンピュータ400を制御する。記憶デバイス402は、プロセッサ401の作業エリアとなる。また、記憶デバイス402は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス402としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス403は、データを入力する。入力デバイス403としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス404は、データを出力する。出力デバイス404としては、たとえば、ディスプレイ、プリンタがある。通信IF405は、ネットワークと接続し、データを送受信する。
<データベースの記憶内容例>
つぎに、上述した単語辞書DB101、ルールDB102、およびデータストア103の記憶内容例について説明する。単語辞書DB101、ルールDB102、およびデータストア103は、図4に示したコンピュータ400内の記憶デバイス402により実現されてもよく、通信IF405を介してアクセス可能な他のコンピュータで実現されてもよい。なお、以降のデータベースまたはテーブルの説明において、AAフィールドbbb(AAはフィールド名、bbbは符号)の値を、AAbbbと表記する場合がある。たとえば、グループIDフィールド501の値を、グループID501と表記する。
図5は、単語辞書DB101の記憶内容例を示す説明図である。単語辞書DB101は、グループIDフィールド501と、属性フィールド502と、単語フィールド503と、品詞フィールド504と、を有する。同一行の各フィールド501~504の値の組み合わせが1つの単語グループを示すエントリを規定する。グループIDフィールド501は、グループIDを格納する記憶領域である。グループID501は、単語グループを一意に特定する識別情報である。
属性フィールド502は、属性を格納する記憶領域である。属性502は、その単語グループが示す特徴である。たとえば、日本語の文において主語の助詞が「が」格となる動詞や、特定の副詞と共起する動詞が挙げられる。そのほか、同義語や類義語であったり、特定の分野(投資、医療など)に用いられる単語であってもよい。
単語フィールド503は、単語を格納する記憶領域である。単語503は、その単語グループに属する単語である。操作者(使用者または管理者)は、単語フィールド503に対して、単語503の追加、変更、削除が可能である。
品詞フィールド504は、品詞を格納する記憶領域である。品詞504は、単語グループに所属する単語を形態と役割によって分類した種別である。なお、品詞504において、単語の形態を指定してもよい。英単語の場合、動詞は、たとえば、原型(現在形)や過去形、過去分詞形、現在進行形、から指定され、名詞は、たとえば、不可算名詞、加算名詞、単数形、複数形から指定され、形容詞や副詞は、たとえば、原型、比較級、最上級から指定される。単に品詞のみ指定された場合(形態が指定されていない場合)は、その品詞504のすべての形態が包含されることとしてもよい。
図6は、ルールDB102の記憶内容例を示す説明図である。ルールDB102は、ルールIDフィールド601と、木構造パターンフィールド602と、を有する。同一行の各フィールド601、602の値の組み合わせが1つのルールを示すエントリを規定する。ルールIDフィールド601は、ルールIDを格納する記憶領域である。ルールID601は、ルールを一意に特定する識別情報である。木構造パターンフィールド602は、木構造パターンを格納する記憶領域である。操作者は、木構造パターンフィールド602に対して、木構造パターン602の追加、変更、削除が可能である。なお、図1~図3では、木構造パターン602内の動詞を単語グループとし主語や目的語をワイルドカードとしたルールを示したが、木構造パターン602において主語や目的語など述語以外の語句に単語グループを適用し、それ以外の語句をワイルドカードとしてもよい。また、1つの木構造パターン602に複数の単語グループを適用したルールとしてもよい。
図7は、データストア103の記憶内容例を示す説明図である。データストア103は、見出し語フィールド701と、本文フィールド702と、木構造データフィールド703と、を有する。同一行の各フィールド701~703の値の組み合わせが1つの文に関するエントリを規定する。
見出し語フィールド701は、見出し語を格納する記憶領域であり、インデックス検索に利用される。見出し語フィールド701は、複数の注釈フィールド(図7では、注釈a0フィールド710~注釈a2フィールド712の3個)を有する。注釈a0フィールド710は、注釈a0としてあらかじめ設定された見出し語701を格納する記憶領域である。注釈a1フィールド711および注釈a2フィールド712は、注釈a1および注釈a2となる見出し語701を格納する記憶領域である。注釈a1フィールド711および注釈a2フィールド712は、初期状態ではブランクであり、後述のインデックス更新により注釈a1および注釈a2が追加される。
本文フィールド702は、本文を格納する記憶領域である。本文702とは、木構造データ703の解析元となるテキストデータである。木構造データフィールド703は、本文を句構造規則にしたがって構文解析した木構造データを格納する記憶領域である。
<各種データの例>
図8は、本文702の一例を示す説明図である。図8では、英語の本文st1の一例を示したが、英語に限らず日本語など他の言語でもよい。
図9は、木構造データおよび木構造パターンの一例を示す説明図である。木構造データtr1は、図8の本文st1を句構造規則にしたがって構文解析した構文木である。木構造データtr1において、「POS」は品詞、「ROOT」は構文木の根を示す。1文字~3文字の大文字アルファベット列は、品詞の種類(名詞、動詞など)を示す。木構造パターンtp1は、操作者が木構造データtr1から不要な情報を削除して編集したパターンである。この木構造パターンtp1は、主語がワイルドカード、述語が動詞の「spin off」、目的語がワイルドカードとなる語順のルールを示す。
図10は、パターン表現の一例を示す説明図である。パターン表現1000は、情報処理システムが情報処理を実行する際に用いられる。また、操作者は、パターン表現1000を認識することで、木構造データ703を編集して木構造パターン602を生成することができる。パターン表現1000において、「_」はリーフノード(構文木の葉)の判定、「|」は選択肢、「#」はサブツリー(構文木内の部分木)抽出、「!」は否定、「*」は0回以上のサブツリーの出現、「+」は1回以上の出現を示す。なお、図10に示したパターン表現1000は一例である。
図11は、図10に示したパターン表現を用いた変換例を示す説明図である。木構造データtr11において、品詞(POS)が動詞(VP)であるincreaseまたはcauseの選択が、affectというグループID501の単語グループの呼び出し(\dic.)に変換されている。これにより、単語グループを含む木構造パターンtp11が生成される。なお、このような変換は、操作者の編集操作により実行される。
<情報処理手順例>
図12は、情報処理システムによる情報処理手順例を示すフローチャートである。情報処理システムは、メンテナンス要求を待ち受ける(ステップS1201:No)。メンテナンス要求は、プロセッサ401からの指示、端末から通信IF405を介して、または入力デバイス403から与えられる。メンテナンス要求があった場合(ステップS1201:Yes)、情報処理システムは、メンテナンス要求が単語に関するメンテナンス要求であるかルール(木構造パターン)に関するメンテナンス要求であるかを、メンテナンス要求に含まれている情報により判断する(ステップS1202)。
単語に関するメンテナンス要求である場合(ステップS1202:単語)、情報処理システムは、単語に関するメンテナンス要求が単語の追加であるか削除であるかを、単語に関するメンテナンス要求に含まれている情報により判断する(ステップS1203)。単語の追加である場合(ステップS1203:追加)、情報処理システムは、追加先の単語グループを単語辞書DB101から特定する(ステップS1204)。具体的には、たとえば、情報処理システムは、単語に関するメンテナンス要求に追加先のグループIDが含まれている場合、単語に関するメンテナンス要求に含まれている追加対象の単語の追加先として、当該グループID501で指定された単語グループを特定する。
また、単語に関するメンテナンス要求に追加先のグループIDが含まれてない場合、情報処理システムは、自動的に追加先の単語グループを特定してもよい。たとえば、追加対象の単語が、単語に関するメンテナンス要求に含まれている本文702から抽出した単語である場合、情報処理システムは、当該本文の特徴に該当する属性の単語グループを単語辞書DB101から特定する。そして、情報処理システムは、特定した追加先の単語グループに、追加対象の単語を追加して(ステップS1205)、ステップS1201に戻る。
また、ステップS1203において、単語の削除である場合(ステップS1203:削除)、情報処理システムは、単語辞書DB101の削除対象の単語グループから、単語に関するメンテナンス要求に含まれている削除対象の単語を削除して(ステップS1206)、ステップS1201に戻る。削除対象の単語グループとは、たとえば、単語に関するメンテナンス要求にグループID501が指定されていなければ、単語辞書DB101の全エントリであり、グループID501が指定されていれば、当該グループID501で指定されたエントリである。
また、ステップS1202において、ルールに関するメンテナンス要求である場合(ステップS1202:ルール)、情報処理システムは、ルールに関するメンテナンス要求がルールの追加であるか削除であるかを、ルールに関するメンテナンス要求に含まれている情報により判断する(ステップS1207)。ルールの追加である場合(ステップS1207:追加)、情報処理システムは、ルールDB102に、ルールに関するメンテナンス要求に含まれている追加対象のルールを追加して(ステップS1205)、ステップS1201に戻る。
また、ステップS1207において、ルールの削除である場合(ステップS1207:削除)、情報処理システムは、ルールDB102から、ルールに関するメンテナンス要求に含まれているルールID601のエントリを削除して(ステップS1209)、ステップS1201に戻る。
<情報処理システムの利用例>
図13は、情報処理システムの利用例を示す説明図である。(1)情報処理システムは、データストア103から本文stc1を取得する。(1)では、情報処理システムは、文stc1を直接指定して取得してもよく、見出し語701を用いたインデックス検索により、文stc1を取得してもよい。(2)情報処理システムは、構文解析により、取得した文stc1を木構造データtrcに変換する。(2)では、情報処理システムが構文解析を実行してもよく、情報処理システムが他のコンピュータに文stc1を送信して、当該他のコンピュータが構文解析を実行して木構造データtrcを情報処理システムに返してもよい。また、木構造データtrcがすでに生成済みであれば、情報処理システムは、データストア103から本文stc1に関連付けられている木構造データtrcを呼び出す。
(3)情報処理システムは、操作者の編集操作により、木構造データtrcから木構造パターンを生成し、ルールRcとする。ここでは、ルールRcの述語には、動詞の単語グループGbが適用されたこととする。
(4)情報処理システムは、ルールRcの木構造パターンから注釈a1として、文stc1の主語である「X」を抽出し、注釈a2として、文stc1の目的語である「A」を抽出して、表示画面に表示する。
(5)情報処理システムは、ルールRcをルールDB102に登録する。なお、同一内容のルールが登録済みである場合は、情報処理システムは、ルールRcをルールDB102に登録しない。
(6)情報処理システムは、(2)の木構造データtrcと(4)の注釈a1,a2とを、データストア103の文stc1のエントリに登録する。これにより、取得した本文stc1の見出し語701を自動生成することができ、これ以降のインデックス検索の効率化を図ることができる。
(7)情報処理システムは、データストア103の文stc1以外の他の本文をサーチしてルールRcに該当する本文stc2を特定し、本文stc2のエントリの主語である「J」を注釈a1、目的語である「K」を注釈a2として登録する(インデックス更新)。これにより、他の本文stc2にも波及して見出し語701を自動生成することができ、これ以降のインデックス検索の効率化を図ることができる。
つぎに、図13に示した利用例での表示画面例について図14~図19を用いて説明する。図14~図19の表示画面は、情報処理システム内のあるコンピュータ400で表示される表示画面である。
図14は、情報処理システムの表示画面例1を示す説明図である。表示画面1400は、サンプルタブ1401、バリデートタブ1402、およびインデックスタブ1403を有する。図14では、サンプルタブ1401が表示される。サンプルタブ1401は、検索キーワード入力欄1411、検索ボタン1412、および保存ボタン1415を有する。検索キーワード入力欄1411は、操作者が検索キーワードを入力する入力欄である。検索ボタン1412は、操作者の操作により、データストア103の見出し語701をインデックス検索し、対応する本文702を抽出するためのボタンである。なお、本例では、インデックス検索として説明するが本文702の全文検索でもよい。
図14では、検索キーワード入力欄1411に「spin off」が入力されて検索ボタン1412が押下されたとする。これにより、図13の(1)に示したように、データストア103の見出し語701がインデックス検索され、対応する本文702が検索結果1413として表示される。検索結果1413の各本文は、チェックボックス1414を有し、情報処理システムは、操作者がチェックボックス1414にチェックを入れられた本文を選択する。図14では、本文st1が選択されたものとする。保存ボタン1415は、検索結果1413からチェックボックス1414で選択された本文を保存するためのボタンである。保存ボタン1415の押下により、チェックボックス1414にチェックを入れられた本文st1がデータストア103に保存される。
図15は、情報処理システムの表示画面例2を示す説明図である。表示画面例2は、図14の表示画面例1でチェックボックス1414にチェックを入れた状態で、バリデートタブ1402を選択した場合の表示画面例である。バリデートタブ1402は、確認領域1501と、コピー領域1502と、解析ボタン1503と、注釈ボタン1504と、追加ボタン1505と、編集領域1506と、を有する。確認領域1501は、選択文表示領域1510と、注釈a1表示領域1511と、注釈a2表示領域1512と、を有する。選択文表示領域1510は、図14の表示画面例1でチェックボックス1414にチェックを入れられたことで選択された本文を表示する。注釈a1表示領域1511は、注釈a1(主語)を表示する領域である。注釈a2表示領域1512は、注釈a2(目的語)を表示する領域である。
表示画面例2では、注釈a1表示領域1511は、注釈a1用テキスト入力欄1513を有する。操作者は、選択文表示領域1510の本文st1を参照して、注釈a1用テキスト入力欄1513に、注釈a1(主語)に相当する語句(たとえば、「Nichiritsu」)を入力する。注釈a2表示領域1512は、注釈a2用テキスト入力欄1514を有する。操作者は、選択文表示領域1510の本文st1を参照して、注釈a2用テキスト入力欄1514に、注釈a2(目的語)に相当する語句(たとえば、「home appliance」)を入力する。
確認領域1501に表示された本文st1と、注釈a1用テキスト入力欄1513に入力された語句「Nichiritsu」と、注釈a2用テキスト入力欄1514に入力された語句「home appliance」との組み合わせを、確認用データセット1500と称す。
コピーボタン1515は、操作者の操作により、選択文表示領域1510の本文をコピー領域1502にコピーするためのボタンである。コピー領域1502は、コピーボタン1515の押下により、選択文表示領域1510の本文st1をコピーして表示する領域である。解析ボタン1503は、コピー領域1502にコピーされた本文st1を構文解析するためのボタンである(図13の(2)に対応)。注釈ボタン1504は、編集領域1506で編集された木構造パターンから本文st1の注釈を抽出するためのボタンである(図13の(4)に対応)。追加ボタン1505は、編集領域1506で編集された木構造パターンをルールDB102にルールとして追加するためのボタンである(図13の(5)に対応)。
図16は、情報処理システムの表示画面例3を示す説明図である。表示画面例3は、図15の表示画面例2でコピーボタン1515および解析ボタン1503を押下した場合の表示画面例である。操作者の操作により、コピーボタン1515が押下されると、コピー領域1502に選択した本文st1がコピーされる。次に、操作者の操作により、解析ボタン1503が押下されると、選択した本文st1を構文解析した木構造データtr1が編集領域1506に表示される(図13の(2)に対応)。
図17は、情報処理システムの表示画面例4を示す説明図である。表示画面例4は、図16の表示画面例3で編集領域1506内の木構造データtr1を編集した場合の表示画面例である。たとえば、操作者の操作により、情報処理システムは、注釈として抽出させる単語に注釈を示す「a0」,「a1」,「a2」を付与する。「a0」,「a1」,「a2」は、ルールを定義する。注釈a0は、他の注釈a1,a2の抽出基準となる抽出対象外の注釈である。すなわち、注釈a0が単語であれば、他の本文と一致する抽出対象外の単語であり、注釈a0が単語グループであれば、他の本文の単語を包含する抽出対象外の単語グループである。注釈a1は木構造パターンtp1で注釈a0に対する主語(名詞句(NP))として定義され、注釈a2は木構造パターンtp1で注釈a0に対する目的語(名詞句(NP))で定義されているため、他の本文からルールに該当する名詞句が抽出される。
また、操作者の操作により、操作者の主観で重要でないサブツリーや「lemmma」(単語の基本形)が削除される。また、図11に示したように、木構造データtr1で定義されている単語が、当該単語を含む単語グループの呼び出しの記述に変更される場合もある。
図18は、情報処理システムの表示画面例5を示す説明図である。表示画面例5は、図17の表示画面例4で注釈ボタン1504を押下した場合の表示画面例である。操作者の操作により注釈ボタン1504が押下されると、情報処理システムは、編集領域1506で編集された木構造パターンtp1(ルール)に該当する注釈a1,a2に該当する文字列を、コピー画面の選択した本文st1から抽出し、抽出結果1800を表示する(図13の(4)に対応)。この場合、注釈a1の名詞句として、「Japanese electronics maker Nichiritsu」が抽出され、注釈a2の名詞句として「its home appliance and industrial equipment divisions」が抽出される。また、抽出された注釈a1,a2の名詞句はそれぞれ、注釈a1表示領域1511と注釈a2表示領域1512とに表示される。
これにより、操作者は、注釈a1用テキスト入力欄1513に入力した語句「Nichiritsu」と、ルールに従って抽出された注釈a1の名詞句「Japanese electronics maker Nichiritsu」とを比較して、ルールの確からしさを確認することができる。同様に、操作者は、注釈a2用テキスト入力欄1514に入力した語句「home appliance」と、ルールに従って抽出された注釈a2の名詞句「its home appliance and industrial equipment divisions」とを比較して、ルールの確からしさを確認することができる。
また、追加ボタン1505が押下されることで、編集領域1506内の文字列(編集された木構造データtr1)が木構造パターンtp1となって、ルールとしてルールDB102に登録される(図13の(5)に対応)。
図19は、情報処理システムの表示画面例6を示す説明図である。表示画面例6は、図18の表示画面例5でインデックスタブ1403を選択した場合の表示画面例である。インデックスタブ1403は、更新ボタン1900を有する。操作者の操作により、更新ボタン1900が押下されると、情報処理システムは、選択した本文st1について、木構造データtr1と、注釈a1の名詞句「Japanese electronics maker Nichiritsu」と、注釈a2の名詞句「its home appliance and industrial equipment divisions」を関連付けてデータストア103に登録することで、選択した本文st1のエントリをインデックス更新する(図13の(6)に対応)。
同様に、情報処理システムは、他の本文について、木構造パターンtp1のルールに該当する注釈a1の名詞句および注釈a2の名詞句を、当該他の本文に関連付けてデータストア103に登録することで、当該他の本文のエントリをインデックス更新する(図13の(7)に対応)。
<情報処理システムの利用例における処理手順例>
図20は、情報処理システムの利用例における処理手順例を示すフローチャートである。情報処理システムは、図14に示したように、検索キーワード入力欄1411への検索キーワードの入力を受け付け(ステップS2001)、検索ボタン1412の押下により、入力された検索キーワードによるインデックス検索を実行する(ステップS2002)。情報処理システムは、図14に示したように、操作者の操作によって選択された本文を保存する(ステップS2003)。
つぎに、情報処理システムは、図15に示したように、操作者の操作により、確認用データセット1500を設定する(ステップS2004)。そして、情報処理システムは、図16に示したように、選択した本文st1の構文解析により、木構造データtr1を取得する(ステップS2005)。また、情報処理システムは、操作者による追加ボタン1505の押下により、木構造データtr1から編集された木構造パターンtp1をルールDB102に登録する(ステップS2006)。追加ボタン1505の押下は、図12のステップS1207:追加に対応し、木構造パターンtp1の登録は、図12のステップS1208に対応する。
そして、情報処理システムは、図18に示したように、操作者の操作により、注釈ボタン1504が押下されることで、木構造パターンtp1のルールに従って、選択された本文st1から注釈a1の語句および注釈a2の語句を抽出して、抽出結果1800として表示する(ステップS2007)。
なお、操作者は、木構造パターンtp1の編集を繰り返しおこなうことができ、情報処理システムは、その都度、木構造パターンtp1をルールとして登録してもよい。この場合、ステップS2007において、情報処理システムは、木構造パターンtp1ごとに、選択本文から注釈を抽出することになる。このあと、情報処理システムは、図19に示したように、抽出した注釈をデータストア103にインデックス更新する(ステップS2008)。
このように、上述した情報処理システムは、単語辞書DB101と、ルールDB102と、を有し、プロセッサ401は、メンテナンス要求を受け付ける受付処理と、受付処理によって受け付けられたメンテナンス要求が単語に関するメンテナンス要求である場合、単語が所属する単語グループに対するメンテナンスを単語辞書DB101に対して行い、メンテナンス要求が木構造パターンに関するメンテナンス要求である場合、木構造パターンのメンテナンスをルールDB102に対して行うメンテナンス処理と、を実行する。
これにより、単語辞書DB101とルールDB102とを各々独立してメンテナンスが可能となる。換言すれば、情報処理システムは、単語辞書DB101とルールDB102のうち、いずれか一方のデータベースのみメンテナンスする。したがって、単語辞書DB101内のある単語グループをメンテナンスしても、当該単語グループを用いるルールをルールDB102でメンテナンスする必要はない。逆に、ルールDB102内のあるルールをメンテナンスしても、当該ルールに用いられる単語グループをメンテナンスする必要はない。したがって、データベースのメンテナンスの容易化を図ることができる。
また、プロセッサ401は、単語に関するメンテナンス要求が単語の追加要求である場合、単語に基づいて単語が所属すべき単語グループの属性を特定する特定処理を実行し、メンテナンス処理では、プロセッサ401は、特定処理によって特定された属性の単語グループに単語を追加する。
これにより、単語の追加要求があった場合、単語辞書DB101内の該当する単語グループに当該単語を追加登録するが、当該単語グループを用いるルールをルールDB102でメンテナンスする必要はない。したがって、単語登録の際のメンテナンスの容易化を図ることができる。
また、メンテナンス処理では、プロセッサ401は、単語に関するメンテナンス要求が単語の削除要求である場合、単語が所属する単語グループから単語を削除する。
これにより、単語の削除要求があった場合、単語辞書DB101内の該当する単語グループから当該単語を削除するが、当該単語グループを用いるルールをルールDB102でメンテナンスする必要はない。したがって、単語削除の際のメンテナンスの容易化を図ることができる。
また、メンテナンス処理では、プロセッサ401は、木構造パターンに関するメンテナンス要求が木構造パターンの追加要求である場合、ルールDB102に木構造パターンが存在しなければ木構造パターンをルールDB102に登録する。
これにより、木構造パターンの追加要求があった場合、ルールDB102に当該木構造パターンを新規なルールとして追加登録するが、当該新規なルールに用いられる単語グループを単語辞書DB101でメンテナンスする必要はない。したがって、木構造パターン登録の際のメンテナンスの容易化を図ることができる。
また、メンテナンス処理では、プロセッサ401は、木構造パターンに関するメンテナンス要求が木構造パターンの削除要求である場合、木構造パターンをルールDB102から削除する。
これにより、木構造パターンの削除要求があった場合、ルールDB102から当該木構造パターンを削除するが、当該木構造パターンに用いられる単語グループを単語辞書DB101でメンテナンスする必要はない。したがって、木構造パターン登録の際のメンテナンスの容易化を図ることができる。
また、プロセッサ401は、複数の文を記憶するデータストア103にアクセス可能であり、複数の文のうち特定の単語を含むデータストア103内の特定の文の解析結果である特定の木構造データを、特定の単語を含む特定の単語グループを用いて抽象化した特定の木構造パターンを取得する取得処理と、特定の木構造データから、取得処理によって取得された特定の木構造パターンにおいて特定の単語グループと共起する語句(たとえば、特定の単語グループが述語動詞である場合の主語や目的語)に包含される単語を抽出する抽出処理と、抽出処理によって抽出された単語を表示画面に表示可能に出力する出力処理と、を実行し、メンテナンス処理では、プロセッサ401は、特定の木構造パターンに関するメンテナンス要求が特定の木構造パターンの追加要求である場合(たとえば、追加ボタン1505の押下)、特定の木構造パターンをルールDB102に登録する。
これにより、特定の木構造パターンに該当する単語を特定の文の注釈として表示することができる。したがって、たとえば、特定の文について、あらかじめ特定の単語グループと共起する語句を操作者が選択していた場合、当該選択していた単語と注釈とを比較することにより、特定の木構造パターンの確からしさを確認して、ルールDB102に登録することができる。
また、プロセッサ401は、複数の文を記憶するデータストア103にアクセス可能であり、複数の文のうち特定の単語を含むデータストア103内の特定の文の解析結果である特定の木構造データを、特定の単語を含む特定の単語グループを用いて抽象化した特定の木構造パターンを取得する取得処理と、特定の木構造データから、取得処理によって取得された特定の木構造パターンにおいて特定の単語グループと共起する語句に包含される単語を抽出する抽出処理と、抽出処理によって抽出された単語を特定の文に関連付けることによりデータストア103を更新する更新処理と、を実行し、メンテナンス処理では、プロセッサ401は、特定の木構造パターンに関するメンテナンス要求が特定の木構造パターンの追加要求である場合、特定の木構造パターンをルールDB102に登録する。
これにより、特定の木構造パターンに該当する単語を特定の文の注釈として関連付けて登録するとともに、当該関連付けに用いられた特定の木構造パターンをルールとしてルールDB102に登録することができる。またこれにより、たとえば、データストア103を検索したい場合に、関連付けられた注釈を見出し語としてインデックス検索することにより、データストア103から特定の文を抽出することができる。
また、プロセッサ401は、複数の文のうち特定の文以外の他の文の解析結果である他の木構造データから、特定の木構造パターンにおいて特定の単語グループと共起する語句に包含される他の単語を抽出し、抽出処理によって抽出された他の単語を他の文に関連付けることによりデータストア103を更新する。
これにより、データストア103の他の文についても、特定の木構造パターンに該当する他の単語を他の文の注釈として関連付けて登録することができ、特定の木構造パターンで規定されるルールを他の文にまで波及することができる。
[2.単語辞書DB101への単語の追加登録例]
上述したように、情報処理システムは、文法構造を表す木構造パターンをルールとして規定するルールDB102と関係を表す語を収集した単語辞書DB101とを有する。これらにより、情報処理システムは、文の要素のような関係について、文法的な構造を定義し、テキストデータから関係アノテーションとして注釈a0~a2を抽出する。情報処理システムは、ルールDB102および単語辞書DB101を比較し、ルールDB102と単語辞書DB101の両方に合致する語を抽出する。このように、多くの関係情報を抽出できるようにするためには、単語辞書DB101への単語の追加が必要となる。
しかしながら、単語辞書DB101内の単語を増やすことが困難であるという課題がある。上記特許文献1は、キーワード検索のみで抽出したい関係を含む例文を検索していたため、木構造ルールに合致しない例文も検索されてしまう。したがって、新たな例文を追加する際にはルールDB102と単語辞書DB101の両方を編集する必要がある。
このため、情報処理システムは、抽出結果である関係アノテーション(たとえば、主語および目的語に該当する単語の組み合わせ)およびルールDB102内の木構造パターンが示すルール(たとえば、文の要素(たとえば、主語、述語、目的語)の組み合わせ)を用いることで大量のテキストデータから登録対象候補(たとえば、述語)を取得する。これにより得られる登録候補を含む例文は、木構造パターンが示すルールと合致していることが保証されるため、獲得された登録候補を単語辞書DB101に追加するだけで、その例文から新たに関係抽出が可能となる。
したがって、ルールDB102の編集を行わずとも、単語辞書DB101だけを更新することで情報処理システムの性能向上が可能となる。ルールDB102の編集には文法構造に対する一定の理解が必要となるため、訓練した人材でないと編集が難しいが、単語辞書DB101は動詞などの語の列挙からなるもので扱いやすい。実際の運用の際には、たとえば、ルールDB102の開発に慣れた人材が一定量のルールDB102を作成し、単語辞書DB101の更新のみを行う人材が情報処理システムにより単語辞書DB101の更新を行うといった作業分担が考えられる。
なお、本例では、上述した[1.単語辞書DBに対するメンテナンス例]において、ルールDB102が構築され、データストア内103の本文702について見出し語701(注釈a0~a2)が付与されているものとする。また、単語辞書DB内の単語グループの1つとして、“enter”が登録済みとする。“enter”は、「参入する」、「参画する」を含む単語グループである。
また、本例では、単語グループを述語の単語グループとし、例文内の主語、述語、および目的語の関係から新たな述語の単語を単語辞書DB101に追加登録する例について説明する。しかし、単語辞書DB101への追加登録は、単語グループに対応する単語であれば、その単語についての文の要素は述語に限られない。なお、例文では英文、日本語文と分かれて記載されているが、これらの別は問わない。
<単語追加登録例>
図21は、単語追加登録例を示す説明図であり、図22は、単語登録処理手順例を示すフローチャートである。
(1)情報処理システムは、注釈a1および注釈a2が規定されたルールR1、R2、…(以下、これらを区別しない場合、ルールRと表記)のいずれかに該当する例文2001を検索する(ステップS2201)。本例では、検索された例文2001において、「様々な企業」が注釈a1に該当し、「小売市場に」が注釈a2に該当する。
なお、例文2001は、情報処理システム外のネットワーク上(たとえば、インターネットのウェブページやデータベースサーバ内の文書データ)に存在するテキストデータである。また、例文は、データストア102内で見出し語701が付与されていない本文702でもよい。
(2)情報処理システムは、(1)で検索された例文2001を構文解析して、木構造データ2002を生成する(ステップS2202)。木構造データ2002は、たとえば、構文解析(形態素解析および句構造解析)により句構造規則にしたがって生成される構文木である(図9を参照)。なお、(3)以降の処理精度の向上のため、ユーザは、図9に示したように、木構造データ2002を木構造パターンに編集してもよい。
(3)情報処理システムは、(2)で得られた木構造データ2002と、ルールDB102内のルールRと、を比較する(ステップS2203)。この際、情報処理システムは、(3)において単語辞書DB101を非適用にするため、注釈a0の条件Cを当該比較に使用しない。具体的には、たとえば、情報処理システムは、条件CをルールRから外す。
たとえば、ルールR1の場合、条件Cは、単語グループの“enter”を規定する。したがって、“enter”に該当する「¥dic.enter」(すなわち、「参入する」および「参画する」)がルールR1から外される。
(4)情報処理システムは、(3)の比較により、例文2001から抽出結果2003を得る(ステップS2204)。たとえば、ルールR1と比較したことにより、情報処理システムは、ルールRの注釈a1の条件に該当する主語「様々な企業が」を例文2001から抽出結果2003として抽出する。
また、情報処理システムは、ルールRの注釈a2の条件に該当する目的語「小売企業に」を例文2001から抽出結果2003として抽出する。また、上記(2)で注釈a0の条件Cを除外したため、情報処理システムは、条件C(「参入する」および「参画する」)に該当しない述語「登場している」を抽出結果2003として抽出することができる。この条件Cが除外されて抽出された述語「登場している」という動詞の原形「登場する」が単語辞書DB101への登録候補となる。これにより、未登録単語を効率的に収集することができる。なお、抽出結果2003は、少なくとも登録候補が含まれていればよい。
(5)情報処理システムは、(4)の抽出結果2003の登録候補「登場する」が、単語辞書DB101に新規追加可能か否かを確認する(ステップS2205)。具体的には、たとえば、情報処理システムは、抽出結果2003に該当する本文702がデータストア内に存在するか否かを判断する。
抽出結果2003に該当する本文702が存在する場合、抽出結果2003の登録候補「登場する」は、すでに単語辞書DB101において登録済みである。したがって、登録候補「登場する」の登録必要性がないことになり(ステップS2206:No)、情報処理システムは、つぎの(6)の処理(ステップS2207)を実行しない。
一方、抽出結果2003に該当する本文702が存在しない場合、抽出結果2003の登録候補「登場する」は、単語辞書DB101において未登録な述語となる。登録候補「登場する」の登録必要性がある(ステップS2006:Yes)。したがって、情報処理システムは、つぎの(6)の処理(ステップS2207)を実行する。
(6)情報処理システムは、抽出結果2003の登録候補「登場する」を単語辞書DB101に追加登録する(ステップS2207)。この追加登録では、上述したように、情報処理システムは、(5)を実行せずに登録候補を追加登録してもよい。既登録の述語と一致する場合は、上書きされるだけであるため、(5)の処理(ステップS2205)を実行しなくても問題はない。
ただし、(5)を実行しない場合、データストア103に例文2001の注釈a1および注釈a2に該当する本文が存在しなくても、登録候補「登場する」が単語辞書DB101に追加登録される場合がある。このように、(5)の処理(ステップS2205)を実行して(6)の処理(ステップS2207)を実行することにより、単語辞書DB101への新規登録の高精度化(誤登録の抑制)を図ることができる。
また、(6)の処理(ステップS2207)において、(5)の処理(ステップS2205)の実行、不実行にかかわらず、情報処理システムは、登録候補「登場する」を、ユーザが操作するコンピュータ400の表示画面に表示させ、ユーザの操作により、ユーザに登録可否を促してもよい。これにより、追加登録前にユーザは追加登録すべきか否かを確認することができる。
このように、情報処理システムは、ルールRに合致する例文2001のみを収集することができ、単語辞書DB101の拡張の効率化を図ることができる。また、ルールDB102を更新せずに、単語辞書DB101を拡張することができる。
<画面遷移例>
つぎに、上述した単語追加登録例における表示画面の画面遷移について説明する。
図23は、情報処理システムの表示画面例7を示す説明図である。図24は、情報処理システムの表示画面例8を示す説明図である。表示画面1400において単語追加登録に用いるタブは、INVESTIGATEタブ2300とDICTタブ2400である。
図23は、上述した(1)の処理(ステップS2401)での表示画面例を示す。図23において、ユーザは、INVESTIGATEタブ2300を選択する。これにより、表示画面1400は、図23に示す画面になる。ユーザは、「Select Annotator」プルダウンから対象の関係の種類(例として「penalize」)を選択して、SEARCHボタン2302をクリックすると、情報処理システムは、既存のルールRと単語辞書DB101によって「penalize」の関係を示す例文2302A,2302Bを検索し、検索結果2303を表示画面1400に表示する。
なお「Please Input keyword」欄2304に絞り込み用の語を入力しておくと、その語を文中に含む例文2302A,2302Bのみが検索、表示される。ユーザは、「penalize」の関係を正しく抽出できている例文2302A,2302Bについて検索結果2303の左端のチェックボックス2305にチェック入力し、STOREボタン2306をクリックして一時保存する。このあと、ユーザは、DICTタブ2400を選択する。これにより、表示画面1400は、図24に示す表示画面になる。
図24は、上述した(2)~(7)の処理(ステップS2402~S2407)での表示画面例を示す。図24において、ユーザは、SEARCHボタン2401をクリックして述語候補を検索する。これにより、抽出結果2402として述語候補2402A,2402Bが例文2302A,2302Bとともに表示される。例文2302A,2302Bは、抽出される注釈a0~a2の文字列が強調表示される。
抽出に用いられたルールRを示す木構造パターン2403A,2403Bの名称も表示される。ここでは、単語辞書DB101に登録されていない登録候補が優先的に表示される。既に単語辞書DB101に登録されている登録候補も該当の単語辞書DB101の名称2404とともに表示される。ユーザは、表示された登録候補を確認し、適切な登録候補を対応する木構造パターン2403A,2403Bが呼び出している単語辞書DB101に追加する。図24では、「科す」という語が新たに追加登録される。
これにより、単語辞書DB101が拡張され、より多くの関係が抽出できるようになる。加えて、単語辞書DB101を拡張した後に、インデックスタブ1403の更新ボタン1900をクリックすることで、情報処理システム内の表示画面1400が表示されたコンピュータ400から、データストア103にアクセス可能なコンピュータ400に注釈a0~a2の書き込み指示を送信する。
データストア103にアクセス可能なコンピュータ400は、データストア103に格納された例文2302A,2302Bに注釈a0~a2を書き込む。これにより、抽出結果2402に該当する例文2302A,2302Bの見出し語701が更新される。このような操作を繰り返すことで、より多くの抽出結果2402を単語追加登録に用いることができるため、更に多くの単語候補を収集することができ、単語辞書DB101に登録される語が増加する。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。