JP2020115303A - 自然言語の解析システム、解析方法およびプログラム - Google Patents

自然言語の解析システム、解析方法およびプログラム Download PDF

Info

Publication number
JP2020115303A
JP2020115303A JP2019006592A JP2019006592A JP2020115303A JP 2020115303 A JP2020115303 A JP 2020115303A JP 2019006592 A JP2019006592 A JP 2019006592A JP 2019006592 A JP2019006592 A JP 2019006592A JP 2020115303 A JP2020115303 A JP 2020115303A
Authority
JP
Japan
Prior art keywords
dag
data
clause
unit
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019006592A
Other languages
English (en)
Other versions
JP7095874B2 (ja
Inventor
利充 荒牧
Toshimitsu Aramaki
利充 荒牧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HARDIS SYSTEM DESIGN CO Ltd
Original Assignee
HARDIS SYSTEM DESIGN CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HARDIS SYSTEM DESIGN CO Ltd filed Critical HARDIS SYSTEM DESIGN CO Ltd
Priority to JP2019006592A priority Critical patent/JP7095874B2/ja
Publication of JP2020115303A publication Critical patent/JP2020115303A/ja
Application granted granted Critical
Publication of JP7095874B2 publication Critical patent/JP7095874B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

【課題】検索用語と直接関連のない情報を取得することに有用なDAGデータを生成する解析システム、解析方法およびプログラムを提供する。【解決手段】解析システムは、解析対象となる解析対象文を取得する文章取得部10と、解析対象文を文節または複文節に分解した文節データを生成する文節分解部20と、文節データの構文解析のために、文節または複文節からDAGデータを生成するDAG生成部40とを備える。解析方法は、解析対象となる解析対象文を取得する段階と、解析対象文を文節または複文節に分解した文節データを生成する段階と、文節データの構文解析のために、文節または複文節からDAGデータを生成する段階とを備える。【選択図】図1

Description

本発明は、自然言語の解析システム、解析方法およびプログラムに関する。
従来、統計や確率などの数理的な言語解析手法による形態素解析と、構文木や抽象構文木などの構文解析を用いてデータ構造を生成することが知られている(例えば、特許文献1参照)。
特許文献1 特開2017−191457号公報
しかしながら、従来の構文木や抽象構文木を用いた解析システムでは、得られたデータ構造から、検索用語と直接関連のない情報を取得することが困難であるという課題がある。
本発明の第1の態様においては、解析対象となる解析対象文を取得する文章取得部と、解析対象文を文節または複文節に分解した文節データを生成する文節分解部と、文節データの構文解析のために、文節または複文節から有向非循環グラフ(DAG:Directed Acyclic Graph)のデータ構造を生成するDAG生成部とを備える解析システムを提供する。
本発明の第2の態様においては、解析対象となる解析対象文を取得する段階と、解析対象文を文節または複文節に分解した文節データを生成する段階と、文節データの構文解析のために、文節または複文節からDAGデータを生成する段階とを備える解析方法を提供する。
本発明の第3の態様においては、本発明の第2の態様に係る解析方法をコンピュータに実行させるためのプログラムを提供する。
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
解析システム100の構成の概要を示す。 情報取得処理を実行するためのフローチャートの一例である。 DAG生成処理を実行するためのフローチャートの一例である。 DAG生成部40が生成したDAGの一例を示す概念図である。 より具体的な解析システム100の構成の一例を示す。 単語分解テーブルの一例を示す。 助詞テーブルの一例を示す。 文節組立テーブルの一例を示す。 接続パターンテーブルの一例を示す。 重複単語テーブルの一例を示す。 ノードテーブルの一例を示す。 リンクテーブルの一例を示す。 解析システム100で用いられるGUI画面の一例を示す。 解析システム100をハードウェアとして実現する場合の構成の一例である。 DAG生成部40が生成したDAGの一例を示す概念図である。 DAG生成部40が生成したDAGの一例を示す概念図である。 解析システム100として機能するコンピュータ1900のハードウェア構成の一例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、解析システム100の構成の概要を示す。解析システム100は、文章取得部10と、文節分解部20と、助詞テーブル設定部30と、DAG生成部40と、出力部50と、DAG構造情報取得部60と、重複単語設定部70とを備える。
文章取得部10は、解析対象となる解析対象文を取得する。文章取得部10は、複数の解析対象文を取得してもよい。解析対象文は、文章毎に入力されてもよいし、段落毎に入力されてもよい。解析対象文は、ユーザによってキーボードから入力されてもよいし、音声入力等の他の入力方法により入力されてもよい。例えば、解析対象文は、医療分野においては、各病気の症状等に関する情報を含む。
文節分解部20は、解析対象文を文節または複文節に分解した文節データを生成する。一例において、文節分解部20は、解析対象文を単語に分解して、単語のそれぞれを予め定められたカテゴリに分類する。そして、文節分解部20は、分解された単語を連結することにより、文節または複文節を生成する。例えば、文節分解部20は、解析対象文を漢字、ひらがな、カタカナ、数字、アルファベットおよび特殊文字等の単語に分割する。文節分解部20は、後述する助詞テーブルに基づいて、分解された単語を連結して文節データを生成する。
助詞テーブル設定部30は、カテゴリ毎に予め定められた識別符号と、単語とが対応付けられた助詞テーブルを作成する。助詞テーブルは、事前に登録されてよい。助詞テーブルは、文節分解部20により参照される。助詞テーブルについては後述する。
DAG生成部40は、文節データの構文解析のために、分解された文節または複文節からDAGデータを生成する。本例のDAG生成部40は、文節あるいは複文節を識別符号のパターンに基づいてDAGデータを作成する。本例のDAGは、文章を構成する文節または複文節をノードとして、関連付けられたものである。
出力部50は、DAG生成部40が生成したDAGデータを出力する。出力部50は、解析システム100の外部の装置にDAGデータを出力してもよいし、ディスプレイ等の表示部にDAGデータを出力して表示させてもよい。
DAG構造情報取得部60は、DAG構造情報を取得する。DAG構造情報とは、解析対象文を解析することにより生成した、過去のDAGデータの構造に関する情報である。DAG構造情報取得部60は、DAG構造情報をDAG生成部40に入力する。DAG生成部40は、DAG構造情報に基づいてDAGデータを生成する。このように、DAG生成部40は、既存のDAG構造情報と、解析対象文の文節データとを組み合わせて、DAGデータを生成することができる。
重複単語設定部70は、DAGデータの共有ノードを許可する重複単語を設定する。共有ノードとは、異なる解析対象文で重複する文節のノードを共有したものである。重複単語設定部70は、重複単語を検索して重複単語テーブルを生成する。例えば、重複単語設定部70は、複数回、発現する単語を調べてリストに表示する。重複単語設定部70は、複数回、発現する単語の中で共有する対象の単語を追加、修正および削除して重複単語テーブルを作成してもよい。また、重複単語設定部70は、文章の段落の中で複数回、発現する単語を調べてリストに表示する重複単語検索機能を有してもよい。
DAG生成部40は、DAGデータに、設定された重複単語と一致する場合に、ノードを共有する。このように、重複単語を共有することにより、異なる解析対象文であっても、DAGデータにおいて関連付けることができる。
本例の解析システム100は、解析対象文に応じたDAGデータを出力することができる。例えば、解析システム100は、解析対象文が医療に関する文章である場合、病気の症状についてのデータ構造を生成することができる。この場合、症状に関するキーワードで検索することにより、DAGデータから症状と関連する病気を検索することができる。
図2Aは、情報取得処理を実行するためのフローチャートの一例である。解析システム100は、解析対象文を解析する前に、解析に必要な情報を取得する。本例の解析システム100は、ステップS200およびステップS202により、過去のDAG構造情報に基づいて各テーブルを取得する。本例のフローチャートは、情報取得処理の一例であり、これに限定されない。
ステップS200において、解析システム100は、過去のDAG構造情報を取得する。過去のDAG構造情報とは、過去に解析システム100が解析対象文を解析したときに取得されたDAGの構造データである。但し、解析システム100は、過去のDAG構造情報を取得せずに解析対象文の解析を開始してもよい。
ステップS202において、解析システム100は、助詞テーブルや重複単語テーブル等の各テーブルを取得する。解析システム100が記憶するテーブルについては後述する。これらのステップを通じて、解析システム100は、文章の解析に必要な情報を事前に取得しておく。
図2Bは、DAG生成処理を実行するためのフローチャートの一例である。解析システム100は、ステップS204〜ステップS210により、入力された解析対象文を解析してDAGデータをする。本例のフローチャートは、DAG生成処理の一例であり、これに限定されない。
ステップS204において、解析対象文を取得する。一例において、解析対象文は、文章取得部10により取得される。例えば、解析対象文は、ユーザにより直接入力されてもよいし、他の装置から入力されてもよい。解析対象文は、通信回路を介して入力されてもよい。検索キーワードでWEBを検索して関連する複数の文献をプログラムにより自動的に取得し、解析対象文としてもよい。
ステップS206において、文節データを生成する。例えば、文節分解部20は、解析対象文を単語に分解して、単語分解テーブルを作成する。次に、文節分解部20は、助詞テーブルを参照して単語に識別符号を付与する。次に、識別符号の付与されていない単語を結合して文節組立テーブルを作成する。
ステップS208において、DAGデータを生成する。例えば、DAGデータは、DAG生成部40により、文節データに基づいて生成される。
ステップS204〜ステップS208は、入力された解析対象文に応じて繰り返されてよい。例えば、解析システム100は、入力された解析対象文の数だけ、ステップS204〜ステップS208を繰り返す。ステップS204〜ステップS208は、文章の数だけループされてもよいし、段落数分だけループされてもよい。ステップS204〜ステップS208は、解析対象文が全て解析されるまで繰り返されてよい。
ステップS210において、DAGデータが出力される。例えば、DAGデータは、出力部50により出力される。DAGデータは、後述するノードテーブルやリンクテーブルを含んでよい。
なお、ステップS200〜ステップS210は、解析システム100を構成する各ハードウェアによって実行されてよい。また、ステップS200〜ステップS210は、プログラムによって、コンピュータに実行されてもよい。
図3は、DAG生成部40が生成したDAGの一例を示す概念図である。本例のDAG生成部40は、風邪とインフルエンザの症状に関する解析対象文からDAGを作成している。(A−1)〜(G−1)は、各ノードのノード番号を示す。
文章取得部10は、複数の解析対象文を取得している。例えば、文章取得部10は、第1の解析対象文として、「一般的な風邪の症状は、鼻みず、咳、頭痛などである。」を取得する。また、文章取得部10は、第2の解析対象文として、「インフルエンザの症状は、頭痛、筋肉痛、高熱などである。」を取得する。
文節分解部20は、解析対象文を文節または複文節に分解する。本例の文節分解部20は、「一般的な風邪の症状は、鼻みず、咳、頭痛などである。」を、「一般的な」、「風邪の症状は」、「鼻みず」、「咳」、「頭痛」、「などである。」にそれぞれ分解している。また、文節分解部20は、「インフルエンザの症状は、頭痛、筋肉痛、高熱などである。」を、「インフルエンザの症状は」、「頭痛」、「筋肉痛」、「高熱」、「などである。」にそれぞれ分解している。即ち、本例では、後述の通り、助詞テーブルには、「な」、「は」、「など」が登録されている。
DAG生成部40は、第1の解析対象文について、各文節にノード番号を付している。例えば、ノード(A−1)は、「一般的な」という文節に対応する。ノード(B−1)は、「風邪の症状は」という文節に対応する。ノード(C−1)は、「鼻みず」という文節に対応する。ノード(C−2)は、「咳」という文節に対応する。ノード(C−3)は、「頭痛」という文節に対応する。ノード(D−1)は、「などである。」という文節に対応する。
また、DAG生成部40は、第2の解析対象文についても同様に、各文節にノード番号を付している。例えば、ノード(E−1)は、「インフルエンザの症状は」という文節に対応する。ノード(F−2)は、「筋肉痛」という文節に対応する。ノード(F−3)は、「高熱」という文節に対応する。ノード(G−1)は、「などである。」という文節に対応する。このように、副助詞の「など」は、並列に接続されたノードを次のノードで集約している。
本例の解析システム100は、リンクするパターンを直列か並列のいずれかに設定することにより、DAGを生成している。各ノードの接続を直列とするか、並列とするかは、助詞や副助詞に応じて決定されてよい。例えば、ノード(C−1)〜(C−3)は、「は」と「などである。」に挟まれているので、並列に接続されている。また、ノード(C−3)、(F−2)および(F−3)も、「は」と「などである。」に挟まれているので、並列に接続されている。
重複単語設定部70は、重複単語テーブルに「頭痛」を登録している。よって、DAG生成部40は、ノード(C−3)の「頭痛」を共有している。これにより、第1の解析対象文および第2解析対象文は、ノード(C−3)の「頭痛」によって関連付けられている。一方、重複単語設定部70は、重複単語テーブルに「などである。」という文節を登録していない。よって、DAG生成部40は、「などである。」を示すノード(D−1)および(G−1)を共有していない。
以上の通り、解析システム100は、ノードを共有することにより、異なる解析対象文をDAGの形式で関連付けている。つまり、風邪とインフルエンザが別の病気であるものの、共通の症状である「頭痛」により、2つの病気がDAGで関連付けられている。解析システム100は、大規模な複数の文献の関連であっても、DAGによって表すことができる。そして、解析システム100は、文献を解析してDAGに追加することにより、自動的にDAGを成長させることができる。このように、解析システム100は、AIの学習エンジンとしても応用することができる。
図4は、より具体的な解析システム100の構成の一例を示す。解析システム100の各手段は、任意のハードウェア構成により実現されてよく、プログラムによって実現されてもよい。
文節分解部20は、単語分解手段22と、単語分類手段24と、文節組立手段26とを有する。単語分解手段22は、解析対象文を単語に分解する。
単語分類手段24は、分解された単語を予め定められたカテゴリに分類する。例えば、カテゴリには、漢字、ひらがな、順接の接続助詞、並列の接続助詞、読点、副助詞、句点等が含まれる。そして、単語分類手段24は、カテゴリに対応して、分解された単語に識別符号を付してよい。例えば、単語分類手段24は、ひらがなのうち、順接に用いる助詞「は」、並列の「や」、副助詞の「など」、句読点の「、」および「。」に一致する単語に識別符号を付与する。
文節組立手段26は、識別符号に基づいて、文節を組み立てる。文節組立手段26は、識別符号が付与されていない単語を、それに続く識別符号の付与された単語が登場するまで連結する。これにより、文節または連文節が組み立てられる。
助詞テーブル設定部30は、助詞テーブル取得手段32および助詞テーブル記憶手段34を有する。助詞テーブル取得手段32は、後述する助詞テーブルを取得する。助詞テーブル記憶手段34は、助詞テーブルを記憶する。助詞テーブルは、単語分類手段24によって、助詞テーブル記憶手段34から読み出される。
DAG生成部40は、DAG作成手段42と、ノード結合手段44と、閉ループチェック手段46とを有する。DAG作成手段42は、解析対象文からDAGを作成する。ノード結合手段44は、生成されたDAGのノードを、他のDAGのノードと結合する。閉ループチェック手段46は、ノード結合手段44が生成したDAGの閉ループをチェックする。
また、DAG生成部40は、トポロジカル・ソートによるリンクの閉ループを修正する機能を有してもよい。DAG生成部40は、Kahnの手法とTarjanの手法を組み合わせることで、閉ループの原因となるノードとリンクを調べることができる。DAG生成部40は、ループがあった場合、該当するリンクのリンク先ノードを新たに作成してリンク先を修正することにより閉ループを回避する。
重複単語設定部70は、重複単語テーブル取得手段72および重複単語テーブル記憶手段74を有する。重複単語テーブル取得手段72は、後述する重複単語テーブルを取得する。重複単語テーブル記憶手段74は、重複単語テーブル取得手段72が取得した重複単語テーブルを記憶する。重複単語テーブル記憶手段74は、記憶した重複単語テーブルをノード結合手段44に出力してもよい。
図5Aは、単語分解テーブルの一例を示す。本例の単語分解テーブルは、図3のDAGを生成するために用いられてよい。本例の単語分解テーブルは、番号、単語、分類、識別符号の欄を有する。各単語には、分類および識別符号が付されている。
文節分解部20は、分解された単語のそれぞれを予め定められたカテゴリに分類する。例えば、カテゴリには、漢字、ひらがな、順接の接続助詞、並列の接続助詞、読点、副助詞、句点等が含まれる。但し、単語の分類方法は、本例に限られない。
文節の組立てに用いられる単語には、分類のカテゴリに対応した識別符号が付されている。一例において、文節分解部20は、単語分解テーブルの表のひらがなのうち、予め定められたものに識別符号を付与する。例えば、順接の接続助詞である「な」および「は」には、識別符号として「2」を付与する。並列の接続助詞である「や」には、識別符号として「3」を付与する。並列の接続をひとつに纏める副助詞である「などである」には、識別符号として「5」を付与する。読点「、」には、識別符号として「4」を付与する。句点「。」には、識別符号として「13」を付与する。
なお、文節分解部20は、文節の組立に用いない単語には識別符号を付与しなくてもよい。本例の文節分解部20は、文節の組立に用いない単語には、識別符号として「0」を付与している。
図5Bは、助詞テーブルの一例を示す。本例の助詞テーブルは、図3のDAGを生成するために用いられてよい。
助詞テーブルは、分類ごとに対応する助詞を保存している。例えば、順接には、助詞の「な」および「は」が含まれており、「2」の識別符号がそれぞれ対応付けられている。並列には、助詞の「や」が含まれており、「3」の識別符号が対応付けられている。複数順接には、助詞の「など」が含まれており、「5」の識別符号が対応付けられている。
図5Cは、文節組立テーブルの一例を示す。本例の文節組立テーブルは、図3のDAGを生成するために用いられてよい。文節組立テーブルは、例えば、番号、文節や複文節、分類、区分および識別符号の欄を有する。各文節や複文節には、分類、区分および識別符号が付されている。
文節分解部20は、識別符号の付いていない単語は連結して文節あるいは連文節にする。これにより、DAGのノードとなる文字列がなるべく意味のある塊となるので扱いやすくなる。例えば、「一般的な」の文節は、「一般的」の識別符号が「0」であり、「な」の識別符号が「2」であることから連結されている。そして、「一般的な」の文節は、助詞である「な」と同様に、区分が順接の接続助詞となっており、識別符号として「2」が付与されている。
同様に、「風邪の症状は」の文節は、「風邪」、「の」および「症状」の識別符号が「0」であり、「は」の識別符号が「2」であることから連結されている。そして、「風邪の症状は」の文節は、助詞である「は」と同様に、区分が順接の接続助詞となっており、識別符号として「2」が付与されている。
図5Dは、接続パターンテーブルの一例を示す。本例の接続パターンテーブルは、図3のDAGを生成するために用いられてよい。接続パターンテーブルには、解析対象文の一連の文節に付された識別符号のパターンが保存されている。DAG生成部40は、接続パターンテーブルに保存された識別符号のパターンを用いて一連鎖のDAGを作成する。
一例において、DAG生成部40は、文節組立テーブルのパターン2−2−3−4−4−5に基づいて、一連鎖のDAGを作成する。例えば、パターン2−2は直列の接続を示す。パターン2―3において、2は分岐の始まりのノードを示す。パターン3−4−4は、並列のリンクを示す。パターン5は、並列の接続が収斂するノードを示す。これにより、DAG生成部40は、(A−1)→(B−1)と、(B−1)→(C−1)と、(B−1)→(C−2)と、(B−1)→(C−3)と、(C−1)→(D−1)と、(C−2)→(D−1)と、(C−3)→(D−1)と、リンク付けることができる。
図5Eは、重複単語テーブルの一例を示す。本例の重複単語テーブルは、図3のDAGを生成するために用いられてよい。重複単語テーブルには、DAGの作成時に共有するための重複単語が登録されている。本例の重複単語テーブルには、「頭痛」および「高熱」が登録されている。したがって、DAGのノードに「頭痛」または「高熱」が存在する場合は、共有ノードとしてDAGが作成される。これにより、解析システム100は、解析対象文毎に一連鎖のDAGを作成するが、DAG間に重複した単語が存在する場合、重複単語として接続することで段落間の関連性をとることができる。
なお、閉ループチェック手段46は、ノードが共有された場合に、閉ループをチェックしてよい。DAG生成部40は、閉ループが存在する場合に、新たにノードを作成して、閉ループを解除する。
図5Fは、ノードテーブルの一例を示す。ノードテーブルは、DAG構造情報の一例である。本例のノードテーブルは、図3のDAGを生成するために用いられてよい。ノードテーブルには、ノード番号と、ノード番号に対応する内容が登録されている。
具体的には、ノード(A−1)に対して「一般的な」という内容が登録されている。ノード(B−1)に対して「風邪の症状は」という内容が登録されている。ノード(C−1)に対して「鼻みず」という内容が登録されている。ノード(C−2)に対して「咳」という内容が登録されている。ノード(C−3)に対して「頭痛」という内容が登録されている。ノード(D−1)に対して「などである。」という内容が登録されている。
図5Gは、リンクテーブルの一例を示す。リンクテーブルは、DAG構造情報の一例である。本例のリンクテーブルは、図3のDAGを生成するために用いられてよい。リンクテーブルには、ノードのリンク元と、そのリンク先が登録されている。ノードのリンク元と、そのリンク先は、接続パターンテーブルに基づいて決定されてよい。
具体的には、「文節組立テーブル」の「番号1」の情報から「ノードテーブル」の(A−1)のノードを作成する。「文節組立テーブル」の「番号1」の識別符号は「2」なので順接を表す。また、「文節組立テーブル」の「番号2」の識別符号は「2」なので直列のリンクとなる。よって、リンク元のノード(A−1)に対して、リンク先にはノード(B−1)が登録されている。
次に、「文節組立テーブル」の「番号3」の識別符号が「3」であり、「番号4」および「番号5」の識別符号が「4」なので並列を示す。「番号2」の識別符号は「2」であるから、「番号2」の次の文節から並列が始まる。「番号6」の識別符号は「5」であるから、「番号6」の文節で先の並列の文節が収斂する。よって、リンク元のノード(B−1)に対して、リンク先にはノード(C−1)〜(C−3)が登録されている。また、リンク先のノード(D−1)に対して、リンク元にはノード(C−1)〜(C−3)が登録されている。
DAG生成部40は、ノードテーブルおよびリンクテーブルを用いてノードを接続することにより、DAGを作成することができる。DAG生成部40は、ノードテーブルと並行してリンクテーブルを作成してもよい。出力部50は、DAGデータとして、ノードテーブルおよびリンクテーブルを出力してもよい。
図6は、解析システム100で用いられるGUI画面の一例を示す。本例のGUI画面では、ユーザによって、解析対象文の入力欄に解析対象文が入力される。解析対象文は、キーボードから入力されてもよいし、音声入力等の他の入力方法により入力されてもよい。また、文章取得部10は、解析対象文をデジタルデータで作成されたメディアから取得してもよい。文章取得部10は、インターネットにおいてリンクで関連付けされた各HTML文書プログラムで読み込んでもよい。解析システム100は、解析対象文の入力後に解析実行ボタンがクリックされることにより、解析対象文の解析を実行する。なお、GUI画面は、これに限定されない。
図7は、解析システム100をハードウェアとして実現する場合の構成の一例である。解析システム100は、CPU110と、主メモリ120と、HDD130と、入力デバイス140と、ディスプレイ150とを備える。本例のハードウェア構成は、一例であり、これに限定されない。
CPU110は、文章取得部10、文節分解部20およびDAG生成部40を実現するための各種演算処理を実行する。例えば、CPU110は、主メモリ120により読み出されたプログラムを参照して、プログラムで示される手順に従い各種演算処理を実行する。
主メモリ120は、解析対象文の取得プログラム、文節分解プログラムおよびDAG生成プログラムを格納している。主メモリ120は、その他のプログラムを適宜格納していてもよい。また、主メモリ120には、複数のアドレスが割り当てられてよい。CPU110は、アドレスを特定し格納されているデータにアクセスすることにより、データを用いた演算処理を実行することができる。
HDD130は、各テーブルを記憶するための記憶部として動作する。例えば、HDD130は、DAG構造情報、単語分解テーブル、文節組立テーブルおよび助詞テーブルを記憶している。また、HDD130には、複数のアドレスが割り当てられてよい。
入力デバイス140は、文章を入力するためのユーザ入力装置である。例えば、入力デバイス140は、キーボード等の入力デバイスである。
ディスプレイ150は、解析対象文を入力するためのGUI画面を表示する。ディスプレイ150は、解析システム100の動作に必要な情報を適宜表示してよい。また、ディスプレイ150は、解析システム100の解析結果を表示してもよい。
なお、解析システム100のハードウェア構成は、「システムバス」などのデータ通信経路によって相互に接続されてよい。これにより、各ハードウェア間で情報の送受信や処理を実行する。
ここで、解析システム100は、解析対象文を自動解析することによって、DAG構造情報を生成して、HDD130に記録する。例えば、ユーザが文章を入力すると、CPU110は、文節分解プログラムを実行し、テーブルを生成してHDD130に記録する。
例えば、CPU110は、解析対象文として、「一般的な風邪の症状は、鼻みず、咳、頭痛などである。」などの文章を取得すると、当該文章に対して単語分解処理を実行して、「単語分解テーブル」を作成する。CPU110は、HDD130から主メモリ120に読み込んでおいた「助詞テーブル」を用いて「単語分解テーブル」の識別符号を付与する。その後、CPU110は、文節組立処理を実行して、「文節組立テーブル」を作成してHDD130に記録する。
その後、CPU110は、DAG生成プログラムを実行して、「文節組立テーブル」の識別符号のパターンを解釈する。そして、CPU110は、「ノードテーブル」および「リンクテーブル」を作成する。そして、CPU110は、DAGデータ出力プログラムを解釈し、「ノードテーブル」および「リンクテーブル」を出力する。
図8は、DAG生成部40が生成したDAGの一例を示す概念図である。本例の解析システム100は、文章を追加することによりDAG構造情報にデータを追加する。
文章取得部10は、解析対象文として、第1の解析対象文である「インフルエンザの症状は、頭痛、筋肉痛、高熱などである。」と、第2の解析対象文である「高熱の場合は解熱剤の投与が必要である。」を取得する。なお、本例では、助詞テーブルには、「は」および「など」が登録されている。また、重複単語テーブルには、「高熱」が登録されている。
解析システム100は、第1の解析対象文から、DAGデータ(D−1、E−1、E−2、E−3、F−1)を作成している。ここで、第2の解析対象文を追加する場合に「高熱」が一致し、且つ重複単語テーブルに「高熱」が登録されているので、ノード(E−3)が共有され、ノード(F−2)がノード(E−3)にリンクされる。
なお、本例の解析システム100は、後述する一致率の計算方法を用いて、「高熱」と「高熱の場合には」を一致するものとして認定している。そして、解析システム100は、「高熱」と「高熱の場合には」を一致するものと判断して、DAG構造情報にデータを追加している。
図9は、DAG生成部40が生成したDAGの一例を示す概念図である。なお、本例では、助詞テーブルには、「は」および「が」が登録されている。
文章取得部10は、解析対象文として、第1の解析対象文である「インフルエンザの処方は日本ではA薬が投与される。」と、第2の解析対象文である「インフルエンザの処方箋はアメリカではB薬が投与される。」を取得する。
解析システム100は、第1の解析対象文からDAGデータ(A−1、B−1、C−1)を作成している。解析システム100は、第1の解析対象文のDAGデータに、第2の解析対象文のDAGデータを追加している。
本例のDAG生成部40は、解析対象文の文節あるいは複文節に含まれる単語と、他の解析対象文の文節あるいは複文節に含まれる単語との一致率を算出する。DAG生成部40は、一致率が予め定められた閾値以上の場合に、ノードを共有する。
ノード結合手段44は、「インフルエンザの処方」に含まれる単語と、「インフルエンザの処方箋」に含まれる単語の一致率を算出する。例えば、ノード結合手段44は、第1の解析対象文のノード(A−1)の「インフルエンザの処方」の単語「インフルエンザ」、「処方」と、第2の解析対象文の「インフルエンザの処方箋」の単語「インフルエンザ」、「処方箋」を比較する。
例えば、「インフルエンザ」が一致するので100%、「処方」と「処方箋」は2/3文字が一致するので66%、合わせて166/200=83%の一致率となる。解析システム100は、共有するための一致率を80%以上と設定した場合には「インフルエンザの処方」と「インフルエンザの処方箋」の文節が一致すると判断して、ノードを共有する。一方、ノード(B−1)とノード(B−2)の一致率は0%であるのでノードは新たに追加される。また、ノード(C−1)の一致率は100%なので共有される。よって、解析システム100は、第2の解析対象文について、(A−1)−(B−2)−(C−1)のようにリンクすることができる。
以上の通り、解析システム100は、自然言語処理とDAGを用いて解析対象文を解析することにより、ビッグデータの文献を意味解析して、文脈を解析することができる。即ち、解析システム100は、検索キーワードと直接関連のない症状や病気の因果関係を考慮したデータ解析を実現することができる。
また、解析システム100は、単に、自然言語処理において翻訳や文章の特徴を抜き出すことにとどまらず、DAGのデータ構造を用いて解析する。そのため、解析システム100は、機械の故障や病気の診断などの大規模な文献を解析する際に重要な因果関係を正しくデータとして保存することができる。よって、解析システム100は、因果関係に着目して文献を文節に分解したDAGのデータ構造を得ることができる。
なお、解析システム100は、日本語に限られず、他の言語にも同様に適用することができる。この場合、各言語に特有のテーブルを各種記憶しておくことにより、各言語の文法や単語に応じた態様で日本語以外の言語にも適用できる。
図10は、解析システム100として機能するコンピュータ1900のハードウェア構成の一例を示す。また、複数のコンピュータが協働して解析システム100として機能してもよい。
実施例に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、および表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、およびDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、および入出力チップ2070を有するレガシー入出力部と、を備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000およびグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010およびRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラムおよびデータを格納する。DVDドライブ2060は、DVD−ROM2095からプログラムまたはデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、および入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、および/または、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラムまたはデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD−ROM2095、またはICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。プログラムは、コンピュータ1900にインストールされ、コンピュータ1900を、解析システム100の各構成として機能させる。
プログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である文章取得部10、文節分解部20、助詞テーブル設定部30、DAG生成部40、出力部50、DAG構造情報取得部60および重複単語設定部70の少なくとも一部として機能する。そして、この具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の解析システム100が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、またはDVD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置または通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、DVDドライブ2060(DVD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、および/または記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(または不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD−ROM2095の他に、DVD、Blu−ray(登録商標)、またはCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10・・・文章取得部、20・・・文節分解部、22・・・単語分解手段、24・・・単語分類手段、26・・・文節組立手段、30・・・助詞テーブル設定部、32・・・助詞テーブル取得手段、34・・・助詞テーブル記憶手段、40・・・DAG生成部、42・・・DAG作成手段、44・・・ノード結合手段、46・・・閉ループチェック手段、50・・・出力部、60・・・DAG構造情報取得部、70・・・重複単語設定部、72・・・重複単語テーブル取得手段、74・・・重複単語テーブル記憶手段、100・・・解析システム、110・・・CPU、120・・・主メモリ、130・・・HDD、140・・・入力デバイス、150・・・ディスプレイ、1900・・・コンピュータ、2000・・・CPU、2010・・・ROM、2020・・・RAM、2030・・・通信インターフェイス、2040・・・ハードディスクドライブ、2050・・・フレキシブルディスク・ドライブ、2060・・・DVDドライブ、2070・・・入出力チップ、2075・・・グラフィック・コントローラ、2080・・・表示装置、2082・・・ホスト・コントローラ、2084・・・入出力コントローラ、2090・・・フレキシブルディスク、2095・・・DVD−ROM

Claims (8)

  1. 解析対象となる解析対象文を取得する文章取得部と、
    前記解析対象文を文節または複文節に分解した文節データを生成する文節分解部と、
    前記文節データの構文解析のために、前記文節または複文節からDAGデータを生成するDAG生成部と
    を備える解析システム。
  2. 前記文節分解部は、前記解析対象文を単語に分解して、前記単語のそれぞれを予め定められたカテゴリに分類する
    請求項1に記載の解析システム。
  3. 前記カテゴリ毎に予め定められた識別符号と、前記単語とが対応付けられた助詞テーブルを作成する助詞テーブル設定部をさらに備え、
    前記文節分解部は、前記助詞テーブルに基づいて、前記分解された単語を連結することにより、文節または複文節を生成する
    請求項2に記載の解析システム。
  4. 過去のDAGデータの構造データを含むDAG構造情報を取得するDAG構造情報取得部を更に備え、
    前記DAG生成部は、前記DAG構造情報に基づいて、前記DAGデータを生成する
    請求項1から3のいずれか一項に記載の解析システム。
  5. 前記DAGデータの共有ノードを許可する重複単語が登録された重複単語テーブルを有する重複単語設定部をさらに備え、
    前記DAG生成部は、前記DAGデータの内容が、前記重複単語テーブルに登録された前記重複単語と一致する場合に、前記内容に対応するノードを共有ノードに設定する
    請求項1から4のいずれか一項に記載の解析システム。
  6. 前記DAG生成部は、前記解析対象文の文節あるいは複文節に含まれる単語と、他の解析対象文の文節あるいは複文節に含まれる単語との一致率を算出して、前記一致率が予め定められた閾値以上の場合に、ノードを共有する
    請求項1から5のいずれか一項に記載の解析システム。
  7. 解析対象となる解析対象文を取得する段階と、
    前記解析対象文を文節または複文節に分解した文節データを生成する段階と、
    前記文節データの構文解析のために、前記文節または複文節からDAGデータを生成する段階と
    を備える解析方法。
  8. 請求項7に記載の解析方法をコンピュータに実行させるためのプログラム。
JP2019006592A 2019-01-18 2019-01-18 自然言語の解析システム、解析方法およびプログラム Active JP7095874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019006592A JP7095874B2 (ja) 2019-01-18 2019-01-18 自然言語の解析システム、解析方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019006592A JP7095874B2 (ja) 2019-01-18 2019-01-18 自然言語の解析システム、解析方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2020115303A true JP2020115303A (ja) 2020-07-30
JP7095874B2 JP7095874B2 (ja) 2022-07-05

Family

ID=71778576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019006592A Active JP7095874B2 (ja) 2019-01-18 2019-01-18 自然言語の解析システム、解析方法およびプログラム

Country Status (1)

Country Link
JP (1) JP7095874B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560441A (zh) * 2020-12-22 2021-03-26 东北大学 自下而上规则结合神经网络的成分句法分析树构造方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04264972A (ja) * 1991-02-20 1992-09-21 Sharp Corp 自然言語処理装置及びそれを利用した動画形成装置
JP2013246522A (ja) * 2012-05-23 2013-12-09 Hitachi Ltd 構造化文書検索装置及びプログラム
JP2018067199A (ja) * 2016-10-20 2018-04-26 日本電信電話株式会社 要約生成装置、テキスト変換装置、方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04264972A (ja) * 1991-02-20 1992-09-21 Sharp Corp 自然言語処理装置及びそれを利用した動画形成装置
JP2013246522A (ja) * 2012-05-23 2013-12-09 Hitachi Ltd 構造化文書検索装置及びプログラム
JP2018067199A (ja) * 2016-10-20 2018-04-26 日本電信電話株式会社 要約生成装置、テキスト変換装置、方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560441A (zh) * 2020-12-22 2021-03-26 东北大学 自下而上规则结合神经网络的成分句法分析树构造方法
CN112560441B (zh) * 2020-12-22 2024-02-09 东北大学 自下而上规则结合神经网络的成分句法分析树构造方法

Also Published As

Publication number Publication date
JP7095874B2 (ja) 2022-07-05

Similar Documents

Publication Publication Date Title
US10169337B2 (en) Converting data into natural language form
Padró et al. Freeling 3.0: Towards wider multilinguality
US8484238B2 (en) Automatically generating regular expressions for relaxed matching of text patterns
JP5746286B2 (ja) コプロセッサを使った高性能のデータメタタグ付けおよびデータ索引付けの方法およびシステム
US20180260474A1 (en) Methods for extracting and assessing information from literature documents
US6965857B1 (en) Method and apparatus for deriving information from written text
KR101120798B1 (ko) 텍스트로부터 세만틱 구조들을 식별하기 위한 방법 및장치
CN110347598B (zh) 一种测试脚本生成方法、装置、服务器及存储介质
US20050137853A1 (en) Machine translation
US7779049B1 (en) Source level optimization of regular expressions
US20170286103A1 (en) Identifying and correlating semantic bias for code evaluation
JP2003141115A (ja) 単語間の翻訳関係を計算する方法
US8996357B2 (en) Method for generating diagrams, and information processing apparatus for same
JP7095874B2 (ja) 自然言語の解析システム、解析方法およびプログラム
US9002772B2 (en) Scalable rule-based processing system with trigger rules and rule evaluator
JP2019021194A (ja) 情報処理システムおよび情報処理方法
Körner et al. Semantic enriching of natural language texts with automatic thematic role annotation
JP6835755B2 (ja) 日本語名詞句抽出装置、日本語名詞句抽出方法および日本語名詞句抽出プログラム
CN1717680A (zh) 文本分析的系统和方法
JP3236027B2 (ja) 機械翻訳装置
JP4588417B2 (ja) 翻訳装置
Cimini A declarative validator for GSOS languages
WO2024102449A1 (en) Systems and methods for enhanced machine learning techniques for knowledge map generation and user interface presentation
KR20230000008A (ko) 빅데이터 기반의 컨텐츠 퍼블리싱 자동화 시스템
CN116541071A (zh) 一种基于提示学习的应用编程接口迁移方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220616

R150 Certificate of patent or registration of utility model

Ref document number: 7095874

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150