(57)【要約】      （修正有）【課題】検索用語と直接関連のない情報を取得することに有用なＤＡＧデータを生成する解析システム、解析方法およびプログラムを提供する。【解決手段】解析システムは、解析対象となる解析対象文を取得する文章取得部１０と、解析対象文を文節または複文節に分解した文節データを生成する文節分解部２０と、文節データの構文解析のために、文節または複文節からＤＡＧデータを生成するＤＡＧ生成部４０とを備える。解析方法は、解析対象となる解析対象文を取得する段階と、解析対象文を文節または複文節に分解した文節データを生成する段階と、文節データの構文解析のために、文節または複文節からＤＡＧデータを生成する段階とを備える。【選択図】図１
2020115303.tif 000002
【特許請求の範囲】
【請求項１】
解析対象となる解析対象文を取得する文章取得部と、
前記解析対象文を文節または複文節に分解した文節データを生成する文節分解部と、
前記文節データの構文解析のために、前記文節または複文節からＤＡＧデータを生成するＤＡＧ生成部と
を備える解析システム。
【請求項２】
前記文節分解部は、前記解析対象文を単語に分解して、前記単語のそれぞれを予め定められたカテゴリに分類する
請求項１に記載の解析システム。
【請求項３】
前記カテゴリ毎に予め定められた識別符号と、前記単語とが対応付けられた助詞テーブルを作成する助詞テーブル設定部をさらに備え、
前記文節分解部は、前記助詞テーブルに基づいて、前記分解された単語を連結することにより、文節または複文節を生成する
請求項２に記載の解析システム。
【請求項４】
過去のＤＡＧデータの構造データを含むＤＡＧ構造情報を取得するＤＡＧ構造情報取得部を更に備え、
前記ＤＡＧ生成部は、前記ＤＡＧ構造情報に基づいて、前記ＤＡＧデータを生成する
請求項１から３のいずれか一項に記載の解析システム。
【請求項５】
前記ＤＡＧデータの共有ノードを許可する重複単語が登録された重複単語テーブルを有する重複単語設定部をさらに備え、
前記ＤＡＧ生成部は、前記ＤＡＧデータの内容が、前記重複単語テーブルに登録された前記重複単語と一致する場合に、前記内容に対応するノードを共有ノードに設定する
請求項１から４のいずれか一項に記載の解析システム。
【請求項６】
前記ＤＡＧ生成部は、前記解析対象文の文節あるいは複文節に含まれる単語と、他の解析対象文の文節あるいは複文節に含まれる単語との一致率を算出して、前記一致率が予め定められた閾値以上の場合に、ノードを共有する
請求項１から５のいずれか一項に記載の解析システム。
【請求項７】
解析対象となる解析対象文を取得する段階と、
前記解析対象文を文節または複文節に分解した文節データを生成する段階と、
前記文節データの構文解析のために、前記文節または複文節からＤＡＧデータを生成する段階と
を備える解析方法。
【請求項８】
請求項７に記載の解析方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語の解析システム、解析方法およびプログラムに関する。
【背景技術】
【０００２】
従来、統計や確率などの数理的な言語解析手法による形態素解析と、構文木や抽象構文木などの構文解析を用いてデータ構造を生成することが知られている（例えば、特許文献１参照）。
特許文献１  特開２０１７−１９１４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の構文木や抽象構文木を用いた解析システムでは、得られたデータ構造から、検索用語と直接関連のない情報を取得することが困難であるという課題がある。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、解析対象となる解析対象文を取得する文章取得部と、解析対象文を文節または複文節に分解した文節データを生成する文節分解部と、文節データの構文解析のために、文節または複文節から有向非循環グラフ（ＤＡＧ：Ｄｉｒｅｃｔｅｄ  Ａｃｙｃｌｉｃ  Ｇｒａｐｈ）のデータ構造を生成するＤＡＧ生成部とを備える解析システムを提供する。
【０００５】
本発明の第２の態様においては、解析対象となる解析対象文を取得する段階と、解析対象文を文節または複文節に分解した文節データを生成する段階と、文節データの構文解析のために、文節または複文節からＤＡＧデータを生成する段階とを備える解析方法を提供する。
【０００６】
本発明の第３の態様においては、本発明の第２の態様に係る解析方法をコンピュータに実行させるためのプログラムを提供する。
【０００７】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００８】
【図１】解析システム１００の構成の概要を示す。
【図２Ａ】情報取得処理を実行するためのフローチャートの一例である。
【図２Ｂ】ＤＡＧ生成処理を実行するためのフローチャートの一例である。
【図３】ＤＡＧ生成部４０が生成したＤＡＧの一例を示す概念図である。
【図４】より具体的な解析システム１００の構成の一例を示す。
【図５Ａ】単語分解テーブルの一例を示す。
【図５Ｂ】助詞テーブルの一例を示す。
【図５Ｃ】文節組立テーブルの一例を示す。
【図５Ｄ】接続パターンテーブルの一例を示す。
【図５Ｅ】重複単語テーブルの一例を示す。
【図５Ｆ】ノードテーブルの一例を示す。
【図５Ｇ】リンクテーブルの一例を示す。
【図６】解析システム１００で用いられるＧＵＩ画面の一例を示す。
【図７】解析システム１００をハードウェアとして実現する場合の構成の一例である。
【図８】ＤＡＧ生成部４０が生成したＤＡＧの一例を示す概念図である。
【図９】ＤＡＧ生成部４０が生成したＤＡＧの一例を示す概念図である。
【図１０】解析システム１００として機能するコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１０】
図１は、解析システム１００の構成の概要を示す。解析システム１００は、文章取得部１０と、文節分解部２０と、助詞テーブル設定部３０と、ＤＡＧ生成部４０と、出力部５０と、ＤＡＧ構造情報取得部６０と、重複単語設定部７０とを備える。
【００１１】
文章取得部１０は、解析対象となる解析対象文を取得する。文章取得部１０は、複数の解析対象文を取得してもよい。解析対象文は、文章毎に入力されてもよいし、段落毎に入力されてもよい。解析対象文は、ユーザによってキーボードから入力されてもよいし、音声入力等の他の入力方法により入力されてもよい。例えば、解析対象文は、医療分野においては、各病気の症状等に関する情報を含む。
【００１２】
文節分解部２０は、解析対象文を文節または複文節に分解した文節データを生成する。一例において、文節分解部２０は、解析対象文を単語に分解して、単語のそれぞれを予め定められたカテゴリに分類する。そして、文節分解部２０は、分解された単語を連結することにより、文節または複文節を生成する。例えば、文節分解部２０は、解析対象文を漢字、ひらがな、カタカナ、数字、アルファベットおよび特殊文字等の単語に分割する。文節分解部２０は、後述する助詞テーブルに基づいて、分解された単語を連結して文節データを生成する。
【００１３】
助詞テーブル設定部３０は、カテゴリ毎に予め定められた識別符号と、単語とが対応付けられた助詞テーブルを作成する。助詞テーブルは、事前に登録されてよい。助詞テーブルは、文節分解部２０により参照される。助詞テーブルについては後述する。
【００１４】
ＤＡＧ生成部４０は、文節データの構文解析のために、分解された文節または複文節からＤＡＧデータを生成する。本例のＤＡＧ生成部４０は、文節あるいは複文節を識別符号のパターンに基づいてＤＡＧデータを作成する。本例のＤＡＧは、文章を構成する文節または複文節をノードとして、関連付けられたものである。
【００１５】
出力部５０は、ＤＡＧ生成部４０が生成したＤＡＧデータを出力する。出力部５０は、解析システム１００の外部の装置にＤＡＧデータを出力してもよいし、ディスプレイ等の表示部にＤＡＧデータを出力して表示させてもよい。
【００１６】
ＤＡＧ構造情報取得部６０は、ＤＡＧ構造情報を取得する。ＤＡＧ構造情報とは、解析対象文を解析することにより生成した、過去のＤＡＧデータの構造に関する情報である。ＤＡＧ構造情報取得部６０は、ＤＡＧ構造情報をＤＡＧ生成部４０に入力する。ＤＡＧ生成部４０は、ＤＡＧ構造情報に基づいてＤＡＧデータを生成する。このように、ＤＡＧ生成部４０は、既存のＤＡＧ構造情報と、解析対象文の文節データとを組み合わせて、ＤＡＧデータを生成することができる。
【００１７】
重複単語設定部７０は、ＤＡＧデータの共有ノードを許可する重複単語を設定する。共有ノードとは、異なる解析対象文で重複する文節のノードを共有したものである。重複単語設定部７０は、重複単語を検索して重複単語テーブルを生成する。例えば、重複単語設定部７０は、複数回、発現する単語を調べてリストに表示する。重複単語設定部７０は、複数回、発現する単語の中で共有する対象の単語を追加、修正および削除して重複単語テーブルを作成してもよい。また、重複単語設定部７０は、文章の段落の中で複数回、発現する単語を調べてリストに表示する重複単語検索機能を有してもよい。
【００１８】
ＤＡＧ生成部４０は、ＤＡＧデータに、設定された重複単語と一致する場合に、ノードを共有する。このように、重複単語を共有することにより、異なる解析対象文であっても、ＤＡＧデータにおいて関連付けることができる。
【００１９】
本例の解析システム１００は、解析対象文に応じたＤＡＧデータを出力することができる。例えば、解析システム１００は、解析対象文が医療に関する文章である場合、病気の症状についてのデータ構造を生成することができる。この場合、症状に関するキーワードで検索することにより、ＤＡＧデータから症状と関連する病気を検索することができる。
【００２０】
図２Ａは、情報取得処理を実行するためのフローチャートの一例である。解析システム１００は、解析対象文を解析する前に、解析に必要な情報を取得する。本例の解析システム１００は、ステップＳ２００およびステップＳ２０２により、過去のＤＡＧ構造情報に基づいて各テーブルを取得する。本例のフローチャートは、情報取得処理の一例であり、これに限定されない。
【００２１】
ステップＳ２００において、解析システム１００は、過去のＤＡＧ構造情報を取得する。過去のＤＡＧ構造情報とは、過去に解析システム１００が解析対象文を解析したときに取得されたＤＡＧの構造データである。但し、解析システム１００は、過去のＤＡＧ構造情報を取得せずに解析対象文の解析を開始してもよい。
【００２２】
ステップＳ２０２において、解析システム１００は、助詞テーブルや重複単語テーブル等の各テーブルを取得する。解析システム１００が記憶するテーブルについては後述する。これらのステップを通じて、解析システム１００は、文章の解析に必要な情報を事前に取得しておく。
【００２３】
図２Ｂは、ＤＡＧ生成処理を実行するためのフローチャートの一例である。解析システム１００は、ステップＳ２０４〜ステップＳ２１０により、入力された解析対象文を解析してＤＡＧデータをする。本例のフローチャートは、ＤＡＧ生成処理の一例であり、これに限定されない。
【００２４】
ステップＳ２０４において、解析対象文を取得する。一例において、解析対象文は、文章取得部１０により取得される。例えば、解析対象文は、ユーザにより直接入力されてもよいし、他の装置から入力されてもよい。解析対象文は、通信回路を介して入力されてもよい。検索キーワードでＷＥＢを検索して関連する複数の文献をプログラムにより自動的に取得し、解析対象文としてもよい。
【００２５】
ステップＳ２０６において、文節データを生成する。例えば、文節分解部２０は、解析対象文を単語に分解して、単語分解テーブルを作成する。次に、文節分解部２０は、助詞テーブルを参照して単語に識別符号を付与する。次に、識別符号の付与されていない単語を結合して文節組立テーブルを作成する。
【００２６】
ステップＳ２０８において、ＤＡＧデータを生成する。例えば、ＤＡＧデータは、ＤＡＧ生成部４０により、文節データに基づいて生成される。
【００２７】
ステップＳ２０４〜ステップＳ２０８は、入力された解析対象文に応じて繰り返されてよい。例えば、解析システム１００は、入力された解析対象文の数だけ、ステップＳ２０４〜ステップＳ２０８を繰り返す。ステップＳ２０４〜ステップＳ２０８は、文章の数だけループされてもよいし、段落数分だけループされてもよい。ステップＳ２０４〜ステップＳ２０８は、解析対象文が全て解析されるまで繰り返されてよい。
【００２８】
ステップＳ２１０において、ＤＡＧデータが出力される。例えば、ＤＡＧデータは、出力部５０により出力される。ＤＡＧデータは、後述するノードテーブルやリンクテーブルを含んでよい。
【００２９】
なお、ステップＳ２００〜ステップＳ２１０は、解析システム１００を構成する各ハードウェアによって実行されてよい。また、ステップＳ２００〜ステップＳ２１０は、プログラムによって、コンピュータに実行されてもよい。
【００３０】
図３は、ＤＡＧ生成部４０が生成したＤＡＧの一例を示す概念図である。本例のＤＡＧ生成部４０は、風邪とインフルエンザの症状に関する解析対象文からＤＡＧを作成している。（Ａ−１）〜（Ｇ−１）は、各ノードのノード番号を示す。
【００３１】
文章取得部１０は、複数の解析対象文を取得している。例えば、文章取得部１０は、第１の解析対象文として、「一般的な風邪の症状は、鼻みず、咳、頭痛などである。」を取得する。また、文章取得部１０は、第２の解析対象文として、「インフルエンザの症状は、頭痛、筋肉痛、高熱などである。」を取得する。
【００３２】
文節分解部２０は、解析対象文を文節または複文節に分解する。本例の文節分解部２０は、「一般的な風邪の症状は、鼻みず、咳、頭痛などである。」を、「一般的な」、「風邪の症状は」、「鼻みず」、「咳」、「頭痛」、「などである。」にそれぞれ分解している。また、文節分解部２０は、「インフルエンザの症状は、頭痛、筋肉痛、高熱などである。」を、「インフルエンザの症状は」、「頭痛」、「筋肉痛」、「高熱」、「などである。」にそれぞれ分解している。即ち、本例では、後述の通り、助詞テーブルには、「な」、「は」、「など」が登録されている。
【００３３】
ＤＡＧ生成部４０は、第１の解析対象文について、各文節にノード番号を付している。例えば、ノード（Ａ−１）は、「一般的な」という文節に対応する。ノード（Ｂ−１）は、「風邪の症状は」という文節に対応する。ノード（Ｃ−１）は、「鼻みず」という文節に対応する。ノード（Ｃ−２）は、「咳」という文節に対応する。ノード（Ｃ−３）は、「頭痛」という文節に対応する。ノード（Ｄ−１）は、「などである。」という文節に対応する。
【００３４】
また、ＤＡＧ生成部４０は、第２の解析対象文についても同様に、各文節にノード番号を付している。例えば、ノード（Ｅ−１）は、「インフルエンザの症状は」という文節に対応する。ノード（Ｆ−２）は、「筋肉痛」という文節に対応する。ノード（Ｆ−３）は、「高熱」という文節に対応する。ノード（Ｇ−１）は、「などである。」という文節に対応する。このように、副助詞の「など」は、並列に接続されたノードを次のノードで集約している。
【００３５】
本例の解析システム１００は、リンクするパターンを直列か並列のいずれかに設定することにより、ＤＡＧを生成している。各ノードの接続を直列とするか、並列とするかは、助詞や副助詞に応じて決定されてよい。例えば、ノード（Ｃ−１）〜（Ｃ−３）は、「は」と「などである。」に挟まれているので、並列に接続されている。また、ノード（Ｃ−３）、（Ｆ−２）および（Ｆ−３）も、「は」と「などである。」に挟まれているので、並列に接続されている。
【００３６】
重複単語設定部７０は、重複単語テーブルに「頭痛」を登録している。よって、ＤＡＧ生成部４０は、ノード（Ｃ−３）の「頭痛」を共有している。これにより、第１の解析対象文および第２解析対象文は、ノード（Ｃ−３）の「頭痛」によって関連付けられている。一方、重複単語設定部７０は、重複単語テーブルに「などである。」という文節を登録していない。よって、ＤＡＧ生成部４０は、「などである。」を示すノード（Ｄ−１）および（Ｇ−１）を共有していない。
【００３７】
以上の通り、解析システム１００は、ノードを共有することにより、異なる解析対象文をＤＡＧの形式で関連付けている。つまり、風邪とインフルエンザが別の病気であるものの、共通の症状である「頭痛」により、２つの病気がＤＡＧで関連付けられている。解析システム１００は、大規模な複数の文献の関連であっても、ＤＡＧによって表すことができる。そして、解析システム１００は、文献を解析してＤＡＧに追加することにより、自動的にＤＡＧを成長させることができる。このように、解析システム１００は、ＡＩの学習エンジンとしても応用することができる。
【００３８】
図４は、より具体的な解析システム１００の構成の一例を示す。解析システム１００の各手段は、任意のハードウェア構成により実現されてよく、プログラムによって実現されてもよい。
【００３９】
文節分解部２０は、単語分解手段２２と、単語分類手段２４と、文節組立手段２６とを有する。単語分解手段２２は、解析対象文を単語に分解する。
【００４０】
単語分類手段２４は、分解された単語を予め定められたカテゴリに分類する。例えば、カテゴリには、漢字、ひらがな、順接の接続助詞、並列の接続助詞、読点、副助詞、句点等が含まれる。そして、単語分類手段２４は、カテゴリに対応して、分解された単語に識別符号を付してよい。例えば、単語分類手段２４は、ひらがなのうち、順接に用いる助詞「は」、並列の「や」、副助詞の「など」、句読点の「、」および「。」に一致する単語に識別符号を付与する。
【００４１】
文節組立手段２６は、識別符号に基づいて、文節を組み立てる。文節組立手段２６は、識別符号が付与されていない単語を、それに続く識別符号の付与された単語が登場するまで連結する。これにより、文節または連文節が組み立てられる。
【００４２】
助詞テーブル設定部３０は、助詞テーブル取得手段３２および助詞テーブル記憶手段３４を有する。助詞テーブル取得手段３２は、後述する助詞テーブルを取得する。助詞テーブル記憶手段３４は、助詞テーブルを記憶する。助詞テーブルは、単語分類手段２４によって、助詞テーブル記憶手段３４から読み出される。
【００４３】
ＤＡＧ生成部４０は、ＤＡＧ作成手段４２と、ノード結合手段４４と、閉ループチェック手段４６とを有する。ＤＡＧ作成手段４２は、解析対象文からＤＡＧを作成する。ノード結合手段４４は、生成されたＤＡＧのノードを、他のＤＡＧのノードと結合する。閉ループチェック手段４６は、ノード結合手段４４が生成したＤＡＧの閉ループをチェックする。
【００４４】
また、ＤＡＧ生成部４０は、トポロジカル・ソートによるリンクの閉ループを修正する機能を有してもよい。ＤＡＧ生成部４０は、Ｋａｈｎの手法とＴａｒｊａｎの手法を組み合わせることで、閉ループの原因となるノードとリンクを調べることができる。ＤＡＧ生成部４０は、ループがあった場合、該当するリンクのリンク先ノードを新たに作成してリンク先を修正することにより閉ループを回避する。
【００４５】
重複単語設定部７０は、重複単語テーブル取得手段７２および重複単語テーブル記憶手段７４を有する。重複単語テーブル取得手段７２は、後述する重複単語テーブルを取得する。重複単語テーブル記憶手段７４は、重複単語テーブル取得手段７２が取得した重複単語テーブルを記憶する。重複単語テーブル記憶手段７４は、記憶した重複単語テーブルをノード結合手段４４に出力してもよい。
【００４６】
図５Ａは、単語分解テーブルの一例を示す。本例の単語分解テーブルは、図３のＤＡＧを生成するために用いられてよい。本例の単語分解テーブルは、番号、単語、分類、識別符号の欄を有する。各単語には、分類および識別符号が付されている。
【００４７】
文節分解部２０は、分解された単語のそれぞれを予め定められたカテゴリに分類する。例えば、カテゴリには、漢字、ひらがな、順接の接続助詞、並列の接続助詞、読点、副助詞、句点等が含まれる。但し、単語の分類方法は、本例に限られない。
【００４８】
文節の組立てに用いられる単語には、分類のカテゴリに対応した識別符号が付されている。一例において、文節分解部２０は、単語分解テーブルの表のひらがなのうち、予め定められたものに識別符号を付与する。例えば、順接の接続助詞である「な」および「は」には、識別符号として「２」を付与する。並列の接続助詞である「や」には、識別符号として「３」を付与する。並列の接続をひとつに纏める副助詞である「などである」には、識別符号として「５」を付与する。読点「、」には、識別符号として「４」を付与する。句点「。」には、識別符号として「１３」を付与する。
【００４９】
なお、文節分解部２０は、文節の組立に用いない単語には識別符号を付与しなくてもよい。本例の文節分解部２０は、文節の組立に用いない単語には、識別符号として「０」を付与している。
【００５０】
図５Ｂは、助詞テーブルの一例を示す。本例の助詞テーブルは、図３のＤＡＧを生成するために用いられてよい。
【００５１】
助詞テーブルは、分類ごとに対応する助詞を保存している。例えば、順接には、助詞の「な」および「は」が含まれており、「２」の識別符号がそれぞれ対応付けられている。並列には、助詞の「や」が含まれており、「３」の識別符号が対応付けられている。複数順接には、助詞の「など」が含まれており、「５」の識別符号が対応付けられている。
【００５２】
図５Ｃは、文節組立テーブルの一例を示す。本例の文節組立テーブルは、図３のＤＡＧを生成するために用いられてよい。文節組立テーブルは、例えば、番号、文節や複文節、分類、区分および識別符号の欄を有する。各文節や複文節には、分類、区分および識別符号が付されている。
【００５３】
文節分解部２０は、識別符号の付いていない単語は連結して文節あるいは連文節にする。これにより、ＤＡＧのノードとなる文字列がなるべく意味のある塊となるので扱いやすくなる。例えば、「一般的な」の文節は、「一般的」の識別符号が「０」であり、「な」の識別符号が「２」であることから連結されている。そして、「一般的な」の文節は、助詞である「な」と同様に、区分が順接の接続助詞となっており、識別符号として「２」が付与されている。
【００５４】
同様に、「風邪の症状は」の文節は、「風邪」、「の」および「症状」の識別符号が「０」であり、「は」の識別符号が「２」であることから連結されている。そして、「風邪の症状は」の文節は、助詞である「は」と同様に、区分が順接の接続助詞となっており、識別符号として「２」が付与されている。
【００５５】
図５Ｄは、接続パターンテーブルの一例を示す。本例の接続パターンテーブルは、図３のＤＡＧを生成するために用いられてよい。接続パターンテーブルには、解析対象文の一連の文節に付された識別符号のパターンが保存されている。ＤＡＧ生成部４０は、接続パターンテーブルに保存された識別符号のパターンを用いて一連鎖のＤＡＧを作成する。
【００５６】
一例において、ＤＡＧ生成部４０は、文節組立テーブルのパターン２−２−３−４−４−５に基づいて、一連鎖のＤＡＧを作成する。例えば、パターン２−２は直列の接続を示す。パターン２―３において、２は分岐の始まりのノードを示す。パターン３−４−４は、並列のリンクを示す。パターン５は、並列の接続が収斂するノードを示す。これにより、ＤＡＧ生成部４０は、（Ａ−１）→（Ｂ−１）と、（Ｂ−１）→（Ｃ−１）と、（Ｂ−１）→（Ｃ−２）と、（Ｂ−１）→（Ｃ−３）と、（Ｃ−１）→（Ｄ−１）と、（Ｃ−２）→（Ｄ−１）と、（Ｃ−３）→（Ｄ−１）と、リンク付けることができる。
【００５７】
図５Ｅは、重複単語テーブルの一例を示す。本例の重複単語テーブルは、図３のＤＡＧを生成するために用いられてよい。重複単語テーブルには、ＤＡＧの作成時に共有するための重複単語が登録されている。本例の重複単語テーブルには、「頭痛」および「高熱」が登録されている。したがって、ＤＡＧのノードに「頭痛」または「高熱」が存在する場合は、共有ノードとしてＤＡＧが作成される。これにより、解析システム１００は、解析対象文毎に一連鎖のＤＡＧを作成するが、ＤＡＧ間に重複した単語が存在する場合、重複単語として接続することで段落間の関連性をとることができる。
【００５８】
なお、閉ループチェック手段４６は、ノードが共有された場合に、閉ループをチェックしてよい。ＤＡＧ生成部４０は、閉ループが存在する場合に、新たにノードを作成して、閉ループを解除する。
【００５９】
図５Ｆは、ノードテーブルの一例を示す。ノードテーブルは、ＤＡＧ構造情報の一例である。本例のノードテーブルは、図３のＤＡＧを生成するために用いられてよい。ノードテーブルには、ノード番号と、ノード番号に対応する内容が登録されている。
【００６０】
具体的には、ノード（Ａ−１）に対して「一般的な」という内容が登録されている。ノード（Ｂ−１）に対して「風邪の症状は」という内容が登録されている。ノード（Ｃ−１）に対して「鼻みず」という内容が登録されている。ノード（Ｃ−２）に対して「咳」という内容が登録されている。ノード（Ｃ−３）に対して「頭痛」という内容が登録されている。ノード（Ｄ−１）に対して「などである。」という内容が登録されている。
【００６１】
図５Ｇは、リンクテーブルの一例を示す。リンクテーブルは、ＤＡＧ構造情報の一例である。本例のリンクテーブルは、図３のＤＡＧを生成するために用いられてよい。リンクテーブルには、ノードのリンク元と、そのリンク先が登録されている。ノードのリンク元と、そのリンク先は、接続パターンテーブルに基づいて決定されてよい。
【００６２】
具体的には、「文節組立テーブル」の「番号１」の情報から「ノードテーブル」の（Ａ−１）のノードを作成する。「文節組立テーブル」の「番号１」の識別符号は「２」なので順接を表す。また、「文節組立テーブル」の「番号２」の識別符号は「２」なので直列のリンクとなる。よって、リンク元のノード（Ａ−１）に対して、リンク先にはノード（Ｂ−１）が登録されている。
【００６３】
次に、「文節組立テーブル」の「番号３」の識別符号が「３」であり、「番号４」および「番号５」の識別符号が「４」なので並列を示す。「番号２」の識別符号は「２」であるから、「番号２」の次の文節から並列が始まる。「番号６」の識別符号は「５」であるから、「番号６」の文節で先の並列の文節が収斂する。よって、リンク元のノード（Ｂ−１）に対して、リンク先にはノード（Ｃ−１）〜（Ｃ−３）が登録されている。また、リンク先のノード（Ｄ−１）に対して、リンク元にはノード（Ｃ−１）〜（Ｃ−３）が登録されている。
【００６４】
ＤＡＧ生成部４０は、ノードテーブルおよびリンクテーブルを用いてノードを接続することにより、ＤＡＧを作成することができる。ＤＡＧ生成部４０は、ノードテーブルと並行してリンクテーブルを作成してもよい。出力部５０は、ＤＡＧデータとして、ノードテーブルおよびリンクテーブルを出力してもよい。
【００６５】
図６は、解析システム１００で用いられるＧＵＩ画面の一例を示す。本例のＧＵＩ画面では、ユーザによって、解析対象文の入力欄に解析対象文が入力される。解析対象文は、キーボードから入力されてもよいし、音声入力等の他の入力方法により入力されてもよい。また、文章取得部１０は、解析対象文をデジタルデータで作成されたメディアから取得してもよい。文章取得部１０は、インターネットにおいてリンクで関連付けされた各ＨＴＭＬ文書プログラムで読み込んでもよい。解析システム１００は、解析対象文の入力後に解析実行ボタンがクリックされることにより、解析対象文の解析を実行する。なお、ＧＵＩ画面は、これに限定されない。
【００６６】
図７は、解析システム１００をハードウェアとして実現する場合の構成の一例である。解析システム１００は、ＣＰＵ１１０と、主メモリ１２０と、ＨＤＤ１３０と、入力デバイス１４０と、ディスプレイ１５０とを備える。本例のハードウェア構成は、一例であり、これに限定されない。
【００６７】
ＣＰＵ１１０は、文章取得部１０、文節分解部２０およびＤＡＧ生成部４０を実現するための各種演算処理を実行する。例えば、ＣＰＵ１１０は、主メモリ１２０により読み出されたプログラムを参照して、プログラムで示される手順に従い各種演算処理を実行する。
【００６８】
主メモリ１２０は、解析対象文の取得プログラム、文節分解プログラムおよびＤＡＧ生成プログラムを格納している。主メモリ１２０は、その他のプログラムを適宜格納していてもよい。また、主メモリ１２０には、複数のアドレスが割り当てられてよい。ＣＰＵ１１０は、アドレスを特定し格納されているデータにアクセスすることにより、データを用いた演算処理を実行することができる。
【００６９】
ＨＤＤ１３０は、各テーブルを記憶するための記憶部として動作する。例えば、ＨＤＤ１３０は、ＤＡＧ構造情報、単語分解テーブル、文節組立テーブルおよび助詞テーブルを記憶している。また、ＨＤＤ１３０には、複数のアドレスが割り当てられてよい。
【００７０】
入力デバイス１４０は、文章を入力するためのユーザ入力装置である。例えば、入力デバイス１４０は、キーボード等の入力デバイスである。
【００７１】
ディスプレイ１５０は、解析対象文を入力するためのＧＵＩ画面を表示する。ディスプレイ１５０は、解析システム１００の動作に必要な情報を適宜表示してよい。また、ディスプレイ１５０は、解析システム１００の解析結果を表示してもよい。
【００７２】
なお、解析システム１００のハードウェア構成は、「システムバス」などのデータ通信経路によって相互に接続されてよい。これにより、各ハードウェア間で情報の送受信や処理を実行する。
【００７３】
ここで、解析システム１００は、解析対象文を自動解析することによって、ＤＡＧ構造情報を生成して、ＨＤＤ１３０に記録する。例えば、ユーザが文章を入力すると、ＣＰＵ１１０は、文節分解プログラムを実行し、テーブルを生成してＨＤＤ１３０に記録する。
【００７４】
例えば、ＣＰＵ１１０は、解析対象文として、「一般的な風邪の症状は、鼻みず、咳、頭痛などである。」などの文章を取得すると、当該文章に対して単語分解処理を実行して、「単語分解テーブル」を作成する。ＣＰＵ１１０は、ＨＤＤ１３０から主メモリ１２０に読み込んでおいた「助詞テーブル」を用いて「単語分解テーブル」の識別符号を付与する。その後、ＣＰＵ１１０は、文節組立処理を実行して、「文節組立テーブル」を作成してＨＤＤ１３０に記録する。
【００７５】
その後、ＣＰＵ１１０は、ＤＡＧ生成プログラムを実行して、「文節組立テーブル」の識別符号のパターンを解釈する。そして、ＣＰＵ１１０は、「ノードテーブル」および「リンクテーブル」を作成する。そして、ＣＰＵ１１０は、ＤＡＧデータ出力プログラムを解釈し、「ノードテーブル」および「リンクテーブル」を出力する。
【００７６】
図８は、ＤＡＧ生成部４０が生成したＤＡＧの一例を示す概念図である。本例の解析システム１００は、文章を追加することによりＤＡＧ構造情報にデータを追加する。
【００７７】
文章取得部１０は、解析対象文として、第１の解析対象文である「インフルエンザの症状は、頭痛、筋肉痛、高熱などである。」と、第２の解析対象文である「高熱の場合は解熱剤の投与が必要である。」を取得する。なお、本例では、助詞テーブルには、「は」および「など」が登録されている。また、重複単語テーブルには、「高熱」が登録されている。
【００７８】
解析システム１００は、第１の解析対象文から、ＤＡＧデータ（Ｄ−１、Ｅ−１、Ｅ−２、Ｅ−３、Ｆ−１）を作成している。ここで、第２の解析対象文を追加する場合に「高熱」が一致し、且つ重複単語テーブルに「高熱」が登録されているので、ノード（Ｅ−３）が共有され、ノード（Ｆ−２）がノード（Ｅ−３）にリンクされる。
【００７９】
なお、本例の解析システム１００は、後述する一致率の計算方法を用いて、「高熱」と「高熱の場合には」を一致するものとして認定している。そして、解析システム１００は、「高熱」と「高熱の場合には」を一致するものと判断して、ＤＡＧ構造情報にデータを追加している。
【００８０】
図９は、ＤＡＧ生成部４０が生成したＤＡＧの一例を示す概念図である。なお、本例では、助詞テーブルには、「は」および「が」が登録されている。
【００８１】
文章取得部１０は、解析対象文として、第１の解析対象文である「インフルエンザの処方は日本ではＡ薬が投与される。」と、第２の解析対象文である「インフルエンザの処方箋はアメリカではＢ薬が投与される。」を取得する。
【００８２】
解析システム１００は、第１の解析対象文からＤＡＧデータ（Ａ−１、Ｂ−１、Ｃ−１）を作成している。解析システム１００は、第１の解析対象文のＤＡＧデータに、第２の解析対象文のＤＡＧデータを追加している。
【００８３】
本例のＤＡＧ生成部４０は、解析対象文の文節あるいは複文節に含まれる単語と、他の解析対象文の文節あるいは複文節に含まれる単語との一致率を算出する。ＤＡＧ生成部４０は、一致率が予め定められた閾値以上の場合に、ノードを共有する。
【００８４】
ノード結合手段４４は、「インフルエンザの処方」に含まれる単語と、「インフルエンザの処方箋」に含まれる単語の一致率を算出する。例えば、ノード結合手段４４は、第１の解析対象文のノード（Ａ−１）の「インフルエンザの処方」の単語「インフルエンザ」、「処方」と、第２の解析対象文の「インフルエンザの処方箋」の単語「インフルエンザ」、「処方箋」を比較する。
【００８５】
例えば、「インフルエンザ」が一致するので１００％、「処方」と「処方箋」は２／３文字が一致するので６６％、合わせて１６６／２００＝８３％の一致率となる。解析システム１００は、共有するための一致率を８０％以上と設定した場合には「インフルエンザの処方」と「インフルエンザの処方箋」の文節が一致すると判断して、ノードを共有する。一方、ノード（Ｂ−１）とノード（Ｂ−２）の一致率は０％であるのでノードは新たに追加される。また、ノード（Ｃ−１）の一致率は１００％なので共有される。よって、解析システム１００は、第２の解析対象文について、（Ａ−１）−（Ｂ−２）−（Ｃ−１）のようにリンクすることができる。
【００８６】
以上の通り、解析システム１００は、自然言語処理とＤＡＧを用いて解析対象文を解析することにより、ビッグデータの文献を意味解析して、文脈を解析することができる。即ち、解析システム１００は、検索キーワードと直接関連のない症状や病気の因果関係を考慮したデータ解析を実現することができる。
【００８７】
また、解析システム１００は、単に、自然言語処理において翻訳や文章の特徴を抜き出すことにとどまらず、ＤＡＧのデータ構造を用いて解析する。そのため、解析システム１００は、機械の故障や病気の診断などの大規模な文献を解析する際に重要な因果関係を正しくデータとして保存することができる。よって、解析システム１００は、因果関係に着目して文献を文節に分解したＤＡＧのデータ構造を得ることができる。
【００８８】
なお、解析システム１００は、日本語に限られず、他の言語にも同様に適用することができる。この場合、各言語に特有のテーブルを各種記憶しておくことにより、各言語の文法や単語に応じた態様で日本語以外の言語にも適用できる。
【００８９】
図１０は、解析システム１００として機能するコンピュータ１９００のハードウェア構成の一例を示す。また、複数のコンピュータが協働して解析システム１００として機能してもよい。
【００９０】
実施例に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、および表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、およびＤＶＤドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、および入出力チップ２０７０を有するレガシー入出力部と、を備える。
【００９１】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００およびグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０およびＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００９２】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラムおよびデータを格納する。ＤＶＤドライブ２０６０は、ＤＶＤ−ＲＯＭ２０９５からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００９３】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、および入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、および／または、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００９４】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＤＶＤ−ＲＯＭ２０９５、またはＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。プログラムは、コンピュータ１９００にインストールされ、コンピュータ１９００を、解析システム１００の各構成として機能させる。
【００９５】
プログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である文章取得部１０、文節分解部２０、助詞テーブル設定部３０、ＤＡＧ生成部４０、出力部５０、ＤＡＧ構造情報取得部６０および重複単語設定部７０の少なくとも一部として機能する。そして、この具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の解析システム１００が構築される。
【００９６】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、またはＤＶＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置または通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００９７】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０（ＤＶＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、および／または記憶装置に含まれるものとする。
【００９８】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（または不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００９９】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【０１００】
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＤＶＤ−ＲＯＭ２０９５の他に、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）、またはＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１０１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１０２】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１０３】
１０・・・文章取得部、２０・・・文節分解部、２２・・・単語分解手段、２４・・・単語分類手段、２６・・・文節組立手段、３０・・・助詞テーブル設定部、３２・・・助詞テーブル取得手段、３４・・・助詞テーブル記憶手段、４０・・・ＤＡＧ生成部、４２・・・ＤＡＧ作成手段、４４・・・ノード結合手段、４６・・・閉ループチェック手段、５０・・・出力部、６０・・・ＤＡＧ構造情報取得部、７０・・・重複単語設定部、７２・・・重複単語テーブル取得手段、７４・・・重複単語テーブル記憶手段、１００・・・解析システム、１１０・・・ＣＰＵ、１２０・・・主メモリ、１３０・・・ＨＤＤ、１４０・・・入力デバイス、１５０・・・ディスプレイ、１９００・・・コンピュータ、２０００・・・ＣＰＵ、２０１０・・・ＲＯＭ、２０２０・・・ＲＡＭ、２０３０・・・通信インターフェイス、２０４０・・・ハードディスクドライブ、２０５０・・・フレキシブルディスク・ドライブ、２０６０・・・ＤＶＤドライブ、２０７０・・・入出力チップ、２０７５・・・グラフィック・コントローラ、２０８０・・・表示装置、２０８２・・・ホスト・コントローラ、２０８４・・・入出力コントローラ、２０９０・・・フレキシブルディスク、２０９５・・・ＤＶＤ−ＲＯＭ
【図１】
2020115303.tif 000003
【図２Ａ】
2020115303.tif 000004
【図２Ｂ】
2020115303.tif 000005
【図３】
2020115303.tif 000006
【図４】
2020115303.tif 000007
【図５Ａ】
2020115303.tif 000008
【図５Ｂ】
2020115303.tif 000009
【図５Ｃ】
2020115303.tif 000010
【図５Ｄ】
2020115303.tif 000011
【図５Ｅ】
2020115303.tif 000012
【図５Ｆ】
2020115303.tif 000013
【図５Ｇ】
2020115303.tif 000014
【図６】
2020115303.tif 000015
【図７】
2020115303.tif 000016
【図８】
2020115303.tif 000017
【図９】
2020115303.tif 000018
【図１０】
2020115303.tif 000019