(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023120824
(43)【公開日】2023-08-30
(54)【発明の名称】文書分析システム、文書分析方法、及びプログラム
(51)【国際特許分類】
G06F 16/38 20190101AFI20230823BHJP
G06F 40/30 20200101ALI20230823BHJP
【FI】
G06F16/38
G06F40/30
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022023903
(22)【出願日】2022-02-18
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】石田 修一
(72)【発明者】
【氏名】井奥 章
(72)【発明者】
【氏名】尾崎 太亮
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091AA15
5B091CA02
5B091CA12
5B091EA01
5B091EA02
5B175DA01
5B175FB03
(57)【要約】
【課題】文書中に記述されている語の意味を精度よく推定し、文書の分析に有用な情報を提供する。
【解決手段】文書分析装置は、プロセッサ及び記憶装置を有する情報処理装置を用いて構成され、分析対象の文書である対象文書を記憶し、対象文書に記述されているフレーズにかかる語である機能語の一つ以上の代替語を推定し、推定した代替語に基づき機能語の意味を推定し、推定した機能語の意味に基づき、フレーズの文書における位置づけを特定する。文書分析装置は、機能語の一つ以上の代替語の推定は、ルールベースによる処理又は機械学習モデルを用いた処理により行う。また、文書分析装置は、フレーズの特定した位置づけに関する情報を生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサ及び記憶装置を有する情報処理装置を用いて構成され、
分析対象の文書である対象文書を記憶し、
前記対象文書に記述されているフレーズにかかる語である機能語の一つ以上の代替語を推定し、
推定した前記代替語に基づき前記機能語の意味を推定し、
推定した前記機能語の意味に基づき、前記フレーズの前記文書における位置づけを特定する、
文書分析システム。
【請求項2】
請求項1に記載の文書分析システムであって、
前記機能語ごとに、意味と当該意味に対応する代替語である推定基準語とを対応づけた情報である機能語意味推定ルールを記憶し、
前記機能語について推定した前記代替語に対応する意味を前記機能語意味推定ルールから取得することにより前記機能語の意味を推定する、
文書分析システム。
【請求項3】
請求項2に記載の文書分析システムであって、
前記機能語意味推定ルールを編集するためのユーザインタフェースを提供する、
文書分析システム。
【請求項4】
請求項1に記載の文書分析システムであって、
前記機能語の意味と一つ以上の前記代替語とを対応づけたデータを学習データとして学習した機械学習モデルである機能語意味推定モデルを記憶し、
推定した前記代替語を前記機能語意味推定モデルに入力することにより前記推定を行う、
文書分析システム。
【請求項5】
請求項4に記載の文書分析システムであって、
前記学習データを編集するためのユーザインタフェースを提供する、
文書分析システム。
【請求項6】
請求項1に記載の文書分析システムであって、
前記機能語の一つ以上の代替語の推定を、ルールベースによる処理又は機械学習モデルを用いた処理により行う、
文書分析システム。
【請求項7】
請求項6に記載の文書分析システムであって、
前記機械学習モデルはBERT(Bidirectional Encoder Representations from Transformers)である、
文書分析システム。
【請求項8】
請求項1に記載の文書分析システムであって、
前記フレーズの特定した前記位置づけに関する情報を生成する、
文書分析システム。
【請求項9】
請求項8に記載の文書分析システムであって、
前記位置づけに関する情報は、前記対象文書において前記フレーズが関係する他のフレーズを示す情報である、
文書分析システム。
【請求項10】
プロセッサ及び記憶装置を有する情報処理装置が、
分析対象の文書である対象文書を記憶するステップ、
前記対象文書に記述されているフレーズにかかる語である機能語の一つ以上の代替語を推定するステップ、
推定した前記代替語に基づき前記機能語の意味を推定するステップ、
推定した前記機能語の意味に基づき、前記フレーズの前記文書における位置づけを特定するステップ、
を実行する、文書分析方法。
【請求項11】
請求項10に記載の文書分析方法であって、
前記情報処理装置が、
前記機能語ごとに、意味と当該意味に対応する代替語である推定基準語とを対応づけた情報である機能語意味推定ルールを記憶するステップ、及び、
前記機能語について推定した前記代替語に対応する意味を前記機能語意味推定ルールから取得することにより前記機能語の意味を推定するステップ、
を更に実行する、文書分析方法。
【請求項12】
請求項10に記載の文書分析方法であって、
前記情報処理装置が、
前記機能語の意味と一つ以上の前記代替語とを対応づけたデータを学習データとして学習した機械学習モデルである機能語意味推定モデルを記憶するステップ、及び、
推定した前記代替語を前記機能語意味推定モデルに入力することにより前記推定を行うステップ、
を更に実行する、文書分析システム。
【請求項13】
請求項10に記載の文書分析方法であって、
前記情報処理装置が、
前記機能語の一つ以上の代替語の推定を、ルールベースによる処理又は機械学習モデルを用いた処理により行うステップ、
を更に実行する、文書分析システム。
【請求項14】
請求項10に記載の文書分析方法であって、
前記情報処理装置が、前記フレーズの特定した前記位置づけに関する情報を生成する、ステップ、
を更に実行する、文書分析システム。
【請求項15】
プロセッサ及び記憶装置を有する情報処理装置に、
分析対象の文書である対象文書を記憶する機能、
前記対象文書に記述されているフレーズにかかる語である機能語の一つ以上の代替語を推定する機能、
推定した前記代替語に基づき前記機能語の意味を推定する機能、及び、
推定した前記機能語の意味に基づき、前記フレーズの前記文書における位置づけを特定する機能、
を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書分析システム、文書分析方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、提案書や仕様書等の文書内で複数の 意味が割り当てられた多義語を
抽出する際、テキストデータに含まれる多義語の語義を特定することを目的として構成された語義特定装置について記載されている。語義特定装置は、複数の語義を含む単語と、上記単語の各語義の説明とを含む情報を受け付け、受け付けた上記情報に基づき、当該情報に含まれる単語の語義ごとに、上記語義に対する他の単語の共起情報を生成し、上記情報に含まれる単語の語義に、生成した上記共起情報を対応づける情報を生成する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
多義語のように複数の語義を有する語は、それが用いられる文書によって意味(機能、作用)が異なることがある。例えば、助詞の「より」という語(多義語)は、「やむをえない理由により参加できない場合」との文書において「原因」を意味し、「電子申請により手続きを行う」との文書においては「手段」を意味し、「午前10時より開始する」との文書においては「起点」を意味する。この場合、多義語である「より」の意味を精度よく推定することができれば、各文書におけるフレーズ「やむをえない理由」、「電子申請」、「午前10時」の各文書における位置づけを特定することができ、文書の構造を分析することができる。
【0005】
上記の特許文献1に記載の仕組みは文書に含まれている語の語義を特定するものであるが、当該語の文書中における意味や、当該語がかかるフレーズの位置づけについては特定することができない。また、特許文献1に記載の仕組みでは、多義語の語義と共起する単語の関係や共起率等の膨大な情報を用意しなければならず、実施に際して多大な労力とコストが必要になる。
【0006】
本発明は、文書中に記述されている語の意味を精度よく推定し、文書の分析に有用な情報を提供することが可能な、文書分析システム、文書分析方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するための本発明の一つは、文書分析装置であって、プロセッサ及び記憶装置を用いて構成され、分析対象の文書である対象文書を記憶し、前記対象文書に記述されているフレーズにかかる語である機能語の一つ以上の代替語を推定し、推定した前記代替語に基づき前記機能語の意味を推定し、推定した前記機能語の意味に基づき、前記フレーズの前記文書における位置づけを特定する。
【0008】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【0009】
本発明によれば、文書中に記述されている語の意味を精度よく推定し、文書の分析に有用な情報を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】文書分析システムの概略を説明する図である。
【
図5A】機能語意味推定処理(ルールベース)に用いる機能語意味推定ルールの一例である。
【
図5B】機能語意味推定処理(機械学習ベース)に用いる学習データの一例である。
【
図7】文書分析処理を説明するフローチャートである。
【
図8A】機能語意味推定処理(ルールベース)を説明するフローチャートである。
【
図8B】機能語意味推定処理(機械学習ベース)を説明するフローチャートである。
【
図9A】機能語意味推定ルール登録画面の一例である。
【
図9B】機能語意味推定ルール管理画面の一例である。
【
図11】文書分析システムの実現に用いる情報処理装置のハードウェア構成例である。
【発明を実施するための形態】
【0011】
以下、図面を適宜参照しつつ本発明の一実施形態について説明する。
【0012】
尚、以下の説明において、同一の又は類似する構成について重複した説明を省略することがある。また、以下の説明において、符号の前に付した「S」の文字は処理ステップの意味である。
【0013】
また、以下の説明において、「文書」は、文字を用いて記述された情報(文、文書等)を意味する。また、「文書」は、情報処理装置が読み込むことが可能な所定のデータ型式(テキストデータや文書作成アプリケーションソフトウェアが取り扱い可能な各種データ型式等)で記述されたデータとして管理される。
【0014】
また、「フレーズ」とは、まとまった意味を表わすひとつづきの言葉(句、成句、言い回し、一つ以上の単語の集まり)を意味する。
【0015】
図1は、本発明の一実施形態として示す情報処理システム(以下、「文書分析システム1」と称する。)の概略を示すシステムフロー図である。
【0016】
文書分析システム1は、分析対象となる文書(以下、「対象文書111」と称する。)に記述されている所定のフレーズ(以下、「対象フレーズ112」と称する。)について、当該対象フレーズ112にかかる語を選択し、選択した語(以下、「機能語」と称する。)の対象文書111における意味(機能、作用)を推定し、推定した意味に基づき、対象文書111における対象フレーズ112の位置づけを特定する。
【0017】
文書分析システム1は、例えば、文法的機能を示す語(助詞、助動詞、接続詞等)を機
能語として選択する。例えば、対象文書111が「やむを得ない理由により参加できない場合」であり、対象フレーズ112が「やむをえない理由」である場合、文書分析システム1は、機能語として「より」を選択して当該機能語の意味を推定する。そして文書分析システム1は、推定した上記機能語の意味に基づき、対象フレーズ112「やむをえない理由」の対象文書111「やむを得ない理由により参加できない場合」における位置づけを特定する。
【0018】
文書分析システム1は、多様な目的や用途で広く利用されることが想定される。一例として、製品の製造部門において、製造する製品に関する法令の調査に際し、法令中の文書に含まれている機能語の意味を推定し、推定した機能語の意味を用いて文書中の所定のフレーズの位置づけを特定し、特定した位置づけを手がかりとして法令を構造化したデータを生成し、当該製品に関連する法令の該当箇所を抽出する場合がある。また、他の一例として、契約書に含まれている機能語の意味を推定し、推定した機能語の意味を用いて契約書中の所定のフレーズの位置付けを特定し、特定した位置づけを手がかりとして契約書を構造化したデータを生成し、当該データを契約書の検索や管理に利用する場合がある。
【0019】
同図に示すように、文書分析システム1は、対象選択部123、機能語選択部125、代替語推定部130、機能語意味推定部135、対象フレーズ位置づけ管理部140、及びデータ管理部150の各機能を有する。また、文書分析システム1は、対象文書111、対象フレーズ112、機能語選択済文114、代替語推定モデル115、代替語推定リスト116、機能語意味推定ルール117、機能語意味推定モデル118、及び機能語の意味119の各情報(データ)を記憶する。
【0020】
上記機能のうち、対象選択部123は、対象文書111から対象フレーズ112を選択する。対象選択部123は、例えば、自然言語処理やルールベースの処理を行うことにより、対象文書111から対象フレーズ112を選択する。また、対象選択部123は、ユーザインタフェースを介してユーザに対象文書111を提示しつつ対象フレーズ112の指定をユーザから受け付けることにより、対象フレーズ112を選択する。
【0021】
図1に示す機能語選択部125は、対象文書111から機能語を選択し、選択した機能語を特定可能な情報を付加した対象文書111を機能語選択済文114として生成する。
【0022】
図2は、機能語選択部125が行う処理(以下、「機能語選択処理S211」と称する。)を説明する図である。同図の例では、機能語選択部125は、対象文書111「やむを得ない理由により参加できない場合」から、対象フレーズ112「やむを得ない理由」にかかる助詞「より」を機能語として選択し、選択した機能語を特定可能な情報を付加した対象文書111を機能語選択済文114として生成している。
【0023】
尚、同図には、対象文書111において機能語である助詞「より」を強調表示(同図では「[]」記号付で表示)して示した機能語選択済文114と、対象文書111において当該助詞「より」の部分を「*」記号で置換した(「*」以外の記号や空白で置換してもよい。)機能語選択済文114の二つの例を示している。後者の機能語選択済文114は、例えば、後述する代替語推定処理S212において代替語推定モデル115としてBERT(Bidirectional Encoder Representations from Transformers)を用いる場合に用
いられる。
【0024】
同図の例では、「やむを得ない理由」には「に」がかかり、更に「に」に「より」がかかる構造であるが、このような複数段の係り受けが存在し機能語が連続している場合、機能語選択部125は複数段先の機能語「より」を選択する。こうした係り受け関係(構造)の取得は、例えば、形態素解析や係り受け解析を行う既存のソフトウェアを用いて実現
される。対象文書111が日本語である場合、形態素解析を行うソフトウェアとして、例えば、「MeCab」や「JUMAN」が、また、係り受け解析を行うソフトウェアとして、例えば、「GiNZA」や「CaboCha」等のオープンソースソフトウェアがある。
【0025】
図1に示す代替語推定部130は、機能語選択済文114に特定されている機能語の代替語を推定し、推定した代替語を記載した代替語推定リスト116を生成する。代替語推定部130は、例えば、予め用意された辞書や機械学習モデル(BERT等)を用いることにより上記推定を行う。尚、機能語が多義語である場合、代替語として推定される語には多義語の意味によって傾向が存在することが確認されている。
【0026】
図3は、代替語推定部130が行う処理(以下、「代替語推定処理S212」と称する。)を説明する図である。同図には代替語推定モデル115としてBERTを用いた場合を示している。本例では、代替語推定部130は、機能語選択済文114「やむを得ない理由に*参加できない場合」を代替語推定モデル115に入力し、代替語推定モデル115が出力した代替語「'よって', 'よる', 'より', 'ついて', '対する', '関する','必要な', 'つき', '対して', '関して', 'おける', '係る','伴う', '、', '代わる', 'なる','加え', '応じて', 'して', '代 わって',~」を記載した代替語推定リスト116を生成している。
【0027】
図1に示す機能語意味推定部135は、代替語推定部130が取得した代替語推定リスト116に基づき機能語の意味119を推定(判定、取得)する。
【0028】
図4は、機能語意味推定部135が行う処理(以下、「機能語意味推定処理S213」と称する。)を説明する図である。機能語意味推定部135は、代替語推定リスト116に基づき、例えば、機能語意味推定ルール117を用いたルールベースの仕組みや機能語意味推定モデル118を用いた機械学習ベースの仕組みにより、機能語の意味を推定する。
【0029】
同図の例では、機能語意味推定部135は、代替語推定リスト116「'よって', 'よ
る', 'より', 'ついて', '対する', '関する','必要な', 'つき', '対して', '関して', 'おける', '係る','伴う', '、', '代わる', 'なる','加え', '応じて', 'して', '代 わって',~」に基づき、機能語「より」の意味として「原因」を推定している。
【0030】
図5Aは、ルールベースによる機能語意味推定処理S213に用いる機能語意味推定ルール117の一例である。例示する機能語意味推定ルール117は、機能語1171、意味1172、及び推定基準語1173の各項目を有する。
【0031】
上記項目のうち、機能語1171には、機能語が格納される。また、意味1172には、推定結果となる当該機能語の意味が格納される。推定基準語1173には、対応する意味であるか否かの推定に用いる一つ以上の代替語(以下、「推定基準語」と称する。)が格納される。機能語意味推定部135は、例えば、機能語1171について推定された代替語のリスト(一覧)である代替語推定リスト116に推定基準語が一つでも含まれていれば、当該推定基準語に対応する意味1172の内容を当該機能語の意味として推定する。尚、機能語の意味の推定方法はここに例示したものに限定されない。
【0032】
図5Bは、機械学習ベースによる機能語意味推定処理S213に用いる機能語意味推定モデル118の学習に用いるデータ(以下、「学習データ118a」と称する。)の一例である。同図に示すように、例示する学習データ118aは、意味1181a及び候補語1181bの各項目を有する。
【0033】
上記項目のうち、意味1181aには、推定結果となる意味が格納される。候補語1181bには、対応する意味であるか否かの推定に用いる一つ以上の語(代替語推定リスト116に含まれている可能性のある語。以下、「候補語」と称する。)が格納される。尚、機械学習の種類は必ずしも限定されないが、例えば、DNN(Deep Neural Network)
、RNN(Recurrent Neural Network)を用いることができる。
【0034】
図5Cに、機能語意味推定部135が、代替語推定リスト116に基づき、機能語の意味119(「より」の意味)を推定したいくつかの事例を示す。例えば、同図に示す事例ID「1」の例では、代替語推定リスト116に「から」、「以後」、「以降」といった推定基準語1173が含まれているため、機能語意味推定部135は、機能語の意味119を「起点」と推定している。また、事例ID「2」の例では、代替語推定リスト116に「から」、「要件」、「原因」といった推定基準語1173が含まれているため、機能語意味推定部135は、機能語の意味119を「原因」と推定している。また、事例ID「3」の例では、代替語推定リスト116に「から」、「利用」といった推定基準語1173が含まれているため、機能語意味推定部135は、機能語の意味119を「手段」と推定している。
【0035】
図1に示す対象フレーズ位置づけ管理部140は、機能語意味推定部135が推定した機能語の意味119に基づき、対象フレーズ112の位置づけを特定する。例えば、対象フレーズ位置づけ管理部140は、機能語意味推定部135が推定した機能語の意味119を、対象フレーズ112の位置づけとして特定する。対象フレーズ位置づけ管理部140は、特定した位置づけや当該位置づけに基づき生成した情報を、フレーズ位置づけ管理情報120として管理(記憶)する。
【0036】
図6は、フレーズ位置づけ管理情報120の一例である。同図に示すように、例示するフレーズ位置づけ管理情報120は、文書ID1121、文書内の位置1122、機能語の意味1123、関係元フレーズ1124、及び関係先フレーズ1125の各項目を有する一つ以上のレコードで構成される。フレーズ位置づけ管理情報120の一つのレコードは、関係元フレーズ1124(対象フレーズ)の一つに対応している。
【0037】
上記項目のうち、文書ID1121には、当該対象フレーズ(関係元フレーズ1124)の抽出元の文書(以下、「抽出元文書」と称する。)の識別子である文書IDが格納される。文書内の位置1122には、抽出元文書における当該対象フレーズの位置を示す情報(頁番号、行番号等で特定される情報)が格納される。機能語の意味1123には、当該対象フレーズについて対象フレーズ位置づけ管理部140が特定した位置づけを示す情報(「原因」、「手段」、「目的」、「理由」等)が格納される。本例では、機能語の意味1123に、機能語意味推定処理S213において推定された機能語の意味119が格納される。関係元フレーズ1124には、当該対象フレーズが格納される。関係先フレーズ1125には、抽出元文書において当該対象フレーズと機能語の意味1123の関係を有する、抽出元文書に記述されている他のフレーズ(以下、「関係先フレーズ」と称する。)が格納される。文書分析システム1は、例えば、自然言語処理(構文解析等)により上記関係を特定する。
【0038】
尚、同図に示したフレーズ位置づけ管理情報120は、例えば、対象文書111の構造化に利用することができる。
【0039】
図1に示すデータ管理部150は、文書分析システム1において取り扱われる各種の情報(機能語意味推定ルール117、機能語意味推定モデル118等)の管理を行う。データ管理部150の詳細については後述する。
【0040】
続いて、文書分析システム1が行う処理についてフローチャートとともに説明する。
【0041】
図7は、文書分析システム1が対象文書111の分析に際して行う処理(以下、「文書分析処理S700」と称する。)を説明するフローチャートである。以下、同図とともに文書分析処理S700について説明する。
【0042】
まず、対象選択部123が、対象文書111に含まれるフレーズから対象フレーズ112を1つ選択する(S711)。
【0043】
続いて、機能語選択部125が、選択中の対象フレーズ112について機能語を選択し、機能語選択済文114を生成して記憶する(S712)。
【0044】
続いて、文書分析システム1は、選択中の機能語が多義語であるか否かを判定する(S713)。文書分析システム1は、例えば、選択中の機能語が、機能語意味推定ルール117に機能語1171として定義されているか否かを判定することにより当該機能語は多義語であると判定する。文書分析システム1が選択中の機能語が多義語であると判定した場合(S713:YES)、処理はS714に進む。文書分析システム1が選択中の機能語が多義語でないと判定した場合(S713:NO)、処理はS719に進む。
【0045】
S714では、代替語推定部130が、選択中の機能語の代替語を推定して代替語推定リスト116を生成する。
【0046】
続いて、機能語意味推定部135が、代替語推定リスト116に基づき機能語の意味を推定する処理(以下、「機能語意味推定処理S715」と称する。)を実行する。機能語意味推定処理S715の詳細については後述する。
【0047】
機能語意味推定処理S715の実行後、文書分析システム1は、機能語意味推定処理S715の戻り値が「推定不可」であるか否かを判定する(S716)。文書分析システム1が上記戻り値が「推定不可」であると判定した場合(S716:YES)、処理はS719に進む。この場合、文書分析システム1が、S712で選択中の機能語が推定不可であることを示す情報を出力してユーザ等に知らせるようにしてもよい。文書分析システム1が上記戻り値が「推定不可」でないと判定した場合(S716:NO)、処理はS717に進む。
【0048】
S717では、対象フレーズ位置づけ管理部140が、機能語意味推定処理S715の戻り値をS712で選択中の機能語の意味として取得し、取得した意味に基づき対象フレーズ112の位置づけを特定する。
【0049】
続いて、対象フレーズ位置づけ管理部140が、特定した対象フレーズ112の位置づけや当該対象フレーズ112の位置づけに基づき生成した情報を、フレーズ位置づけ管理情報120として管理(記憶)する(S718)。
【0050】
S719では、文書分析システム1は、対象文書111から対象フレーズ112を全て選択済であるか否かを判定する。文書分析システム1が対象文書111から対象フレーズ112を全て選択済かであると判定した場合(S719:YES)、文書分析処理S700は終了する。文書分析システム1が対象文書111から対象フレーズ112を全て選択済でない(未選択の対象フレーズ112がある)と判定した場合(S719:NO)、処理はS711に戻る。
【0051】
図8Aは、
図7の機能語意味推定処理S715の一例(機能語の意味の推定をルールベ
ースで行う場合)を説明するフローチャートである。以下、同図とともに説明する。
【0052】
まず、機能語意味推定部135は、代替語推定リスト116から語を1つ選択する(S811)。
【0053】
続いて、機能語意味推定部135は、機能語意味推定ルール117のS712で選択中の機能語のレコードの中に、S811で選択中の語を推定基準語1173として含むレコードが存在するか否かを判定する(S812)。機能語意味推定部135が上記のレコードが存在すると判定した場合(S812:YES)、処理はS813に進む。機能語意味推定部135が上記のレコードが存在しないと判定した場合(S812:NO)、処理はS814に進む。
【0054】
S813では、機能語意味推定部135は、選択中の語を推定基準語として含むレコードの意味1172の内容をS712で選択中の機能語の意味として戻り値に設定し、機能語意味推定処理S715を終了する。その後、処理は
図7のS716に進む。
【0055】
S814では、機能語意味推定部135は、代替語推定リスト116に記載されている語を全て選択済であるか否かを判定する。機能語意味推定部135が、代替語推定リスト116の語を全て選択済であると判定した場合(S814:YES)、処理はS815に進む。機能語意味推定部135が、代替語推定リスト116の語を全て選択済でないと判定した場合(S814:NO)、処理はS811に戻る。
【0056】
S815では、機能語意味推定部135は、「推定不可」を戻り値に設定し、機能語意味推定処理S715を終了する。その後、処理は
図7のS716に進む。
【0057】
図8Bは、
図7の機能語意味推定処理S715の他の一例(機能語の意味の推定を機械学習ベースで行った場合)を説明するフローチャートである。以下、同図とともに説明する。
【0058】
まず、機能語意味推定部135は、代替語推定リスト116の内容を機能語意味推定モデル118に入力し、機能語意味推定モデル118の出力をS712で選択中の機能語の意味として取得する(S851)。
【0059】
続いて、機能語意味推定部135は、S851で取得した意味をS712で選択中の機能語の意味として戻り値に設定する(S852)。その後、処理は
図7のS716に進む。尚、例えば、機能語意味推定モデル118による推定精度が予め設定した閾値よりも低い場合に機能語意味推定部135が戻り値に「推定不可」を設定するようにしてもよい。
【0060】
<データ管理機能>
データ管理部150は、文書分析システム1において取り扱われる各種情報(機能語意味推定ルール117、機能語意味推定モデル118等)を管理(登録、編集、削除、検索等)するためのユーザインタフェースを提供する。
【0061】
図9Aは、データ管理部150が、ユーザから機能語意味推定ルール117の内容を受け付ける際に表示する画面の一例(以下、「機能語意味推定ルール登録画面910」と称する。)である。同図に示すように、機能語意味推定ルール登録画面910は、機能語の入力欄911、意味の入力欄912、推定基準語の入力欄913、登録ボタン915、及びキャンセルボタン916を有する。
【0062】
ユーザが、機能語の入力欄911、意味の入力欄912、及び推定基準語の入力欄91
3に内容を入力して登録ボタン915を操作すると、データ管理部150は、各入力欄に入力された内容を機能語意味推定ルール117として登録する。
【0063】
図9Bは、データ管理部150が、ユーザが機能語意味推定ルール117の内容を管理する際に表示する画面の一例(以下、「機能語意味推定ルール管理画面920」と称する。)である。同図に示すように、機能語意味推定ルール管理画面920は、機能語の入力欄921、表示ボタン922、内容表示欄930、追加ボタン941、及び戻るボタン942を有する。また、内容表示欄930は、意味の表示欄931、推定基準語の表示欄932、及び削除ボタン933を有する。
【0064】
ユーザが、機能語の入力欄921に機能語を入力して表示ボタン922を操作すると、データ管理部150は、入力された機能語に対応する機能語意味推定ルール117の登録内容を内容表示欄930に表示する。ユーザは、内容表示欄930を参照することで、機能語意味推定ルール117の内容を容易に確認することができる。
【0065】
ユーザが削除ボタン933を操作すると、データ管理部150は、不要になった登録内容を機能語意味推定ルール117から削除(もしくは無効化)する。
【0066】
ユーザが追加ボタン941を操作すると、データ管理部150は、
図9Aに示す機能語意味推定ルール登録画面910(機能語の入力欄921の内容を機能語の入力欄911に表示した機能語意味推定ルール登録画面910)を表示する。ユーザは、表示された機能語意味推定ルール登録画面910を利用することで効率よく機能語意味推定ルール117に新たな機能語意味推定ルールを登録することができる。
【0067】
図10Aは、データ管理部150が、ユーザから学習データ118aの内容を受け付ける際に表示する画面の一例(以下、「学習データ登録画面1010」と称する。)である。同図に示すように、学習データ登録画面1010は、意味の入力欄1011、候補語の入力欄1012、登録ボタン1015、及びキャンセルボタン1016を有する。
【0068】
ユーザが、意味の入力欄1011と候補語の入力欄1012に内容を入力して登録ボタン1015を操作すると、データ管理部150は、入力された内容を学習データ118aとして登録する。
【0069】
図10Bは、データ管理部150が、ユーザが学習データ118aの内容を管理する際に表示する画面の一例(以下、「学習データ管理画面1020」と称する。)である。同図に示すように、学習データ管理画面1020は、学習データの表示欄1030、追加ボタン1041、及び戻るボタン1042を有する。また、学習データの表示欄1030は、学習データ118aごと(同図に示すレコードごと)に設けられた、意味の表示欄1031、候補語の表示欄1032、編集ボタン1033、及び削除ボタン1034を有する。
【0070】
ユーザが、学習データの表示欄1030のあるレコードの編集ボタン1033を操作すると、データ管理部150は、当該レコードの内容を記載した学習データ登録画面1010を表示する。ユーザは、表示された学習データ登録画面1010を利用して学習データ118aの内容を効率よく編集することができる。例えば、機能語の意味の推定に誤りがあった場合、ユーザは本機能を利用して学習データ118aを編集(正しく意味を推定できるような学習データを新たに追加する等)することができる。また、過去の候補語と選択された意味をユーザが俯瞰することで、新たな意味の追加などの検討に役立てることができる。
【0071】
ユーザが、学習データの表示欄1030のあるレコードの削除ボタン1034を操作すると、データ管理部150は、当該レコードの学習データを学習データ118aから削除(もしくは無効化)する。
【0072】
ユーザが追加ボタン1041を操作すると、データ管理部150は、学習データ登録画面1010を表示する。ユーザは、表示された学習データ登録画面1010を利用して効率よく学習データを学習データ118aに登録(追加)することができる。
【0073】
<小括>
以上詳細に説明したように、本実施形態の文書分析システム1は、機能語の代替語を推定し、推定した代替語(代替語推定リスト116)に基づき、ルールベースや機械学習ベースで機能語の意味を精度よく推定することができる。また、文書分析システム1は、対象フレーズ112の文書における位置づけを特定し、特定した位置づけや当該位置づけに基づく情報をユーザに提供するので、ユーザは、文書の分析に有用な情報を効率よく取得することができる。また、機能語の意味を推定するために多義語の辞書等の膨大な情報を予め用意しておく必要がなく、本実施形態の文書分析システム1は、実施に際しユーザの作業負荷やコスト負担が少ない。
【0074】
<ハードウェア>
図11は、以上に説明した文書分析システム1の実現に用いる情報処理装置(コンピュータ)のハードウェア構成の一例である。
【0075】
例示する情報処理装置10は、プロセッサ11、主記憶装置12(メモリ)、補助記憶装置13(外部記憶装置)、入力装置14、出力装置15、及び通信装置16を備える。これらはバスや通信ケーブル等を介して通信可能に接続されている。情報処理装置10の例として、パーソナルコンピュータ、サーバ装置、スマートフォン、タブレット、オフィスコンピュータ、汎用機(メインフレーム)等がある。
【0076】
情報処理装置10は、その全部又は一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、情報処理装置10によって提供される機能の全部又は一部は、例えば、クラウドシステムがAPI(Application Programming Interface)等を介して提供するサービスによって実現してもよい。また
、情報処理装置10によって提供される機能の全部又は一部は、例えば、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure
as a Service)等を利用して実現されるものであってもよい。
【0077】
プロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable
Gate Array)、ASIC(Application Specific Integrated Circuit)、AI(Artificial Intelligence)チップ等を用いて構成されている。
【0078】
主記憶装置12は、プロセッサ11がプログラムを実行する際に利用する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。文書分析システム1において実現される各種の機能は、夫々のプロセッサ11が、補助記憶装置13に格納(記憶)されているプログラムやデータを主記憶装置12に読み出して実行することにより実現される。
【0079】
補助記憶装置13は、プログラムやデータを記憶する装置であり、例えば、SSD(Solid State Drive)、ハードディスクドライブ、光学式記憶装置(CD(Compact Disc)
、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の非一時的な記録媒体の読取/書込装置、クラウドサーバの非一時的な記憶領域等で構成することができる。補助記憶装置13には、記録媒体の読取装置や通信装置16を介して、非一時的な記録媒体や非一時的な記憶装置を備えた他の情報処理装置からプログラムやデータを読み込むことができる。補助記憶装置13に格納(記憶)されているプログラムやデータは主記憶装置12に随時読み込まれる。
【0080】
入力装置14は、外部からの情報の入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。
【0081】
出力装置15は、処理経過や処理結果等の各種情報を外部に出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
【0082】
入力装置14と出力装置15は、ユーザとの間での対話処理(情報の受け付け、情報の提供等)を実現するユーザインタフェースを構成する。
【0083】
通信装置16は、他の装置との間の通信を実現する装置である。通信装置16は、通信媒体5を介して他の装置との間の通信を実現する、有線方式又は無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。
【0084】
情報処理装置10には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
【0085】
以上、実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、様々な変形例が含まれ、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることや、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【0086】
例えば、対象文書111の記述言語の種類は必ずしも限定されず、英語等の他の言語で記述されたものであってもよい。対象文書111の記述言語が、例えば、英語である場合、単語間が既にスペースで区切られているため、単語の区切りを検出する処理を省略することができる。また、英語で記述された文書についても形態素解析や係り受け解析を行うソフトウェアは日本語と同様に存在するので、それらを利用することで本発明の仕組みを実現することが可能である。
【符号の説明】
【0087】
1 文書分析システム、10 情報処理装置、11 プロセッサ、12 主記憶装置、111 対象文書、112 対象フレーズ、114 機能語選択済文、115 代替語推定モデル、116 代替語推定リスト、117 機能語意味推定ルール、118 機能語意味推定モデル、118a 学習データ、119 機能語の意味、120 フレーズ位置づけ管理情報、123 対象選択部、125 機能語選択部、130 代替語推定部、135 機能語意味推定部、140 対象フレーズ位置づけ管理部、150 データ管理部、
S211 機能語選択処理、S212 代替語推定処理、S213 機能語意味推定処理、S700 文書分析処理、S715 機能語意味推定処理、910 機能語意味推定ルール登録画面、920 機能語意味推定ルール管理画面、1010 学習データ登録画面、1020 学習データ管理画面