IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社半導体エネルギー研究所の特許一覧

特許7453987文書データ処理方法、及び、文書データ処理システム
<>
  • 特許-文書データ処理方法、及び、文書データ処理システム 図1
  • 特許-文書データ処理方法、及び、文書データ処理システム 図2
  • 特許-文書データ処理方法、及び、文書データ処理システム 図3
  • 特許-文書データ処理方法、及び、文書データ処理システム 図4
  • 特許-文書データ処理方法、及び、文書データ処理システム 図5
  • 特許-文書データ処理方法、及び、文書データ処理システム 図6
  • 特許-文書データ処理方法、及び、文書データ処理システム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-12
(45)【発行日】2024-03-21
(54)【発明の名称】文書データ処理方法、及び、文書データ処理システム
(51)【国際特許分類】
   G06F 16/33 20190101AFI20240313BHJP
【FI】
G06F16/33
【請求項の数】 12
(21)【出願番号】P 2021550716
(86)(22)【出願日】2020-09-22
(86)【国際出願番号】 IB2020058810
(87)【国際公開番号】W WO2021064510
(87)【国際公開日】2021-04-08
【審査請求日】2023-08-25
(31)【優先権主張番号】P 2019182802
(32)【優先日】2019-10-03
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000153878
【氏名又は名称】株式会社半導体エネルギー研究所
(72)【発明者】
【氏名】山本 一宇
(72)【発明者】
【氏名】東 和樹
(72)【発明者】
【氏名】道前 芳隆
【審査官】早川 学
(56)【参考文献】
【文献】特開2019-082931(JP,A)
【文献】本間幸徳ほか,文書構造を考慮した部分文書検索手法の提案,情報処理学会研究報告 [online],情報処理学会,2017年05月11日,Vol.2017-NL-231,pp.1-6,[検索日 2017.05.11], Internet<URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=178816&file_id=1&file_no=1>
【文献】PADIGELA, H. ET AL.,Investigating the successes and failures of BERT for passage re-ranking,2019年05月05日,pp.1-5,[検索日 2024.01.12], Internet <URL:http://arxiv.org/abs/1905.01758>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
複数の対象文書を読み取る文書読取部、
前記複数の対象文書のそれぞれを複数のブロックに分割する文書分割部、
前記ブロック毎に単語の分散表現を取得する第1の分散表現取得部、
前記第1の分散表現取得部において取得した分散表現を、前記対象文書毎、かつ、前記ブロック毎に格納する第1の分散表現保持部、
クエリ文章を読み取るクエリ文章読み取り部、
前記クエリ文章に含まれる単語を抽出し、前記クエリ文章に含まれる単語の分散表現を取得する第2の分散表現取得部、
前記第2の分散表現取得部において取得した分散表現を格納する第2の分散表現保持部、及び、
前記クエリ文章に含まれる単語の分散表現と、前記複数のブロックのそれぞれに含まれる単語の分散表現と、を比較し、前記ブロック毎の類似度を算出する類似度算出部、
を含む文書データ処理システムであり、
前記類似度算出部は、前記ブロックに含まれる単語の中から、前記クエリ文章に含まれる単語と一致する単語を検索し、一致した単語について、前記ブロックにおける単語の分散表現と、前記クエリ文章における単語の分散表現との類似度を算出する、文書データ処理システム。
【請求項2】
請求項1において、
前記複数のブロックは、それぞれ、前記対象文書の1つまたは複数の段落を含む、文書データ処理システム。
【請求項3】
請求項1において、
前記複数のブロックは、それぞれ、1つまたは複数の文を含む、文書データ処理システム。
【請求項4】
請求項1において、
前記類似度の算出は所定の品詞に対してのみ行う、文書データ処理システム。
【請求項5】
請求項1において、
前記類似度の算出はコサイン類似度の算出により行う、文書データ処理システム。
【請求項6】
請求項1において、
前記類似度算出部は、前記クエリ文章と前記ブロックで一致する単語が複数ある場合、それぞれの単語についての分散表現の類似度の和を前記ブロックのスコアとする、文書データ処理システム。
【請求項7】
複数の対象文書を読み取るステップ、
前記複数の対象文書のそれぞれを複数のブロックに分割するステップ、
前記ブロック毎に単語の分散表現を取得するステップ、
クエリ文章を読み取るステップ、
前記クエリ文章に含まれる単語を抽出し、前記クエリ文章に含まれる単語の分散表現を取得するステップ、及び、
前記クエリ文章に含まれる単語の分散表現と、前記複数のブロックのそれぞれに含まれる単語の分散表現を比較し、前記ブロック毎の類似度を算出するステップ、
を含む、文書データ処理システムが実行する文書データ処理方法であり、
前記ブロック毎の類似度を算出するステップでは、前記ブロックに含まれる単語の中から、前記クエリ文章に含まれる単語と一致する単語を検索し、一致した単語について、前記ブロックにおける単語の分散表現と、前記クエリ文章における単語の分散表現との類似度を算出する、文書データ処理システムが実行する文書データ処理方法。
【請求項8】
請求項7において、
前記複数のブロックは、それぞれ、前記対象文書の1つまたは複数の段落を含む、文書データ処理システムが実行する文書データ処理方法。
【請求項9】
請求項7において、
前記複数のブロックは、それぞれ、1つまたは複数の文を含む、文書データ処理システムが実行する文書データ処理方法。
【請求項10】
請求項7において、
前記類似度の算出は、所定の品詞に対してのみ行う、文書データ処理システムが実行する文書データ処理方法。
【請求項11】
請求項7において、
前記類似度の算出はコサイン類似度の算出により行う、文書データ処理システムが実行する文書データ処理方法。
【請求項12】
請求項7において、
前記クエリ文章と前記ブロックで一致する単語が複数ある場合、それぞれの単語についての分散表現の類似度の和を前記ブロックのスコアとする、文書データ処理システムが実行する文書データ処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一態様は、文書データの処理方法、及び、文書データの処理システムに関する。本発明の一態様は、文書の検索方法及び文書の検索システム、並びに、文書の読解支援方法及び文書の読解支援システムに関する。
【背景技術】
【0002】
一般に、大量の文書の中から、ユーザが求める情報に最も関連する文書を特定する場合や、その情報を記載した文章や段落を特定する場合、テキストを利用した検索が行われることがある。また、特許文献における国際特許分類のように文書の分類情報なども利用して検索が行われることがある。このような検索を適宜利用し、ある程度の件数に文書の数を絞り込んだ後に人力により内容の精査が行われることがある。電子化された文書であれば、キーワードとなる単語による検索を行いながら文書を閲覧して、所望の情報を見つける方法もある。また、設定された規則に従って文書の構造解析を行う方法が提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-219833号公報
【非特許文献】
【0004】
【文献】BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding,Devlin et al.(Submitted on 11 Oct 2018(v1),last revised 24 May 2019(this version,v2))、[online]、インターネット<URL:https://arxiv.org/abs/1810.04805v2>
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のようにキーワードや分類を利用した一次検索により一定数に絞り込んだ複数の文書の中から目的とする情報を記載した文書を特定すること、及び、複数の文書から関連度の高い箇所を特定することは労力の要る作業である。このような作業において、キーワードでテキスト検索することで、文書全体からキーワードを含む文や段落を探す方法もあるが、効率よく所望の情報を見つけられない場合もある。効率よく見つけられない原因としては、キーワードでヒットする箇所が多すぎて欲しい情報に辿りつくまでに時間がかかり過ぎる、適当なキーワードが見つけられない、などが挙げられる。また、規則に従って文書の構造解析を行う場合は、読み取り対象の構造が制限されるため、様々な構造を持った文書に対応することが難しい。本発明の一態様は、これらの問題の少なくとも一つを解決するものである。
【0006】
本発明の一態様は、クエリ文章として自然言語の入力を可能とし、複数の文書に対する検索を可能とし、入力された文章と関連の高い箇所を読み手に提示する文書データの処理システムまたは文書データの処理方法を提供することを課題の一つとする。
【0007】
なお、これらの課題の記載は、他の課題の存在を妨げるものではない。本発明の一態様は、必ずしも、これらの課題の全てを解決する必要はないものとする。明細書、図面、請求項の記載から、これら以外の課題を抽出することが可能である。
【課題を解決するための手段】
【0008】
本発明の一態様は、複数の対象文書を読み取る文書読取部、複数の対象文書のそれぞれを複数のブロックに分割する文書分割部、ブロック毎に単語の分散表現を取得する第1の分散表現取得部、第1の分散表現取得部において取得した分散表現を、対象文書毎、かつ、ブロック毎に格納する第1の分散表現保持部、クエリ文章を読み取るクエリ文章読み取り部、クエリ文章に含まれる単語を抽出し、クエリ文章に含まれる単語の分散表現を取得する第2の分散表現取得部、第2の分散表現取得部において取得した分散表現を格納する第2の分散表現保持部、及び、クエリ文章に含まれる単語の分散表現と、複数のブロックのそれぞれに含まれる単語の分散表現と、を比較し、ブロック毎の類似度を算出する類似度算出部、を含む文書データ処理システムであり、類似度算出部は、ブロックに含まれる単語の中から、クエリ文章に含まれる単語と一致する単語を検索し、一致した単語について、ブロックにおける単語の分散表現と、クエリ文章における単語の分散表現との類似度を算出する、文書データ処理システムである。
【0009】
本発明の一態様は、複数の対象文書を読み取るステップ、複数の対象文書のそれぞれを複数のブロックに分割するステップ、ブロック毎に単語の分散表現を取得するステップ、クエリ文章を読み取るステップ、クエリ文章に含まれる単語を抽出し、クエリ文章に含まれる単語の分散表現を取得するステップ、及び、クエリ文章に含まれる単語の分散表現と、複数のブロックのそれぞれに含まれる単語の分散表現を比較し、ブロック毎の類似度を算出するステップ、を含む文書データ処理方法であり、ブロック毎の類似度を算出するステップでは、ブロックに含まれる単語の中から、クエリ文章に含まれる単語と一致する単語を検索し、一致した単語について、ブロックにおける単語の分散表現と、クエリ文章における単語の分散表現との類似度を算出する、文書データ処理方法である。
【0010】
類似度を算出した結果のスコアの表示方法は、作業の目的により適宜決定することができる。たとえば、類似度の高いブロック順に文章を画面に表示することができる。これは、複数の対象文書全体の中から最も関連する一つまたは複数の文書を探したい時に有用である。もしくは、複数の対象文書それぞれを評価したい場合は、対象文書のそれぞれにおける、類似度の最も高いブロックを表示する、または、類似度の高い上位の所定の数のブロックを表示することも可能である。
【0011】
複数のブロックは、それぞれ、対象文書の1つまたは複数の段落を含んでいてもよい。
【0012】
複数のブロックは、それぞれ、1つまたは複数の文を含むことができる。
【0013】
類似度の算出は所定の品詞に対してのみ行ってもよい。
【0014】
類似度の算出はコサイン類似度の算出により行ってもよい。
【0015】
クエリ文章とブロックで一致する単語が複数ある場合、それぞれの単語についての分散表現の類似度の和を当該ブロックのスコアとしてもよい。
【発明の効果】
【0016】
本発明の一態様により、クエリ文章として自然言語の入力を可能とし、複数の文書の中から、入力された文章と関連の高い箇所を読み手に提示する文書データの処理方法及び文書データの処理システムを提供できる。
【0017】
なお、これらの効果の記載は、他の効果の存在を妨げるものではない。本発明の一態様は、必ずしも、これらの効果の全てを有する必要はない。明細書、図面、請求項の記載から、これら以外の効果を抽出することが可能である。
【図面の簡単な説明】
【0018】
図1は、文書データ処理システムの一例を示す図である。
図2は、文書データ処理方法の一例を示すフローチャートである。
図3は、文書データ処理方法の一例を示すフローチャートである。
図4は、単語の分散表現を説明する図である。
図5は、類似度の算出方法の一例を説明する図である。
図6は、文書データ処理システムのハードウェアの一例を示す図である。
図7は、文書データ処理システムのハードウェアの一例を示す図である。
【発明を実施するための形態】
【0019】
実施の形態について、図面を用いて詳細に説明する。但し、本発明は以下の説明に限定されず、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。
【0020】
なお、以下に説明する発明の構成において、同一部分または同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、その繰り返しの説明は省略する。また、同様の機能を指す場合には、ハッチパターンを同じくし、特に符号を付さない場合がある。
【0021】
また、図面において示す各構成の、位置、大きさ、範囲などは、理解の簡単のため、実際の位置、大きさ、範囲などを表していない場合がある。このため、開示する発明は、必ずしも、図面に開示された位置、大きさ、範囲などに限定されない。
【0022】
(実施の形態1)
本実施の形態では、本発明の一態様の文書データ処理システム及び文書データ処理方法について図1図5を用いて説明する。
【0023】
本実施の形態の文書データ処理方法では、まず、処理の対象となる複数の文書(対象文書)を取得する。複数の文書としては、何らかの方法で集められた文書であり、取得方法は、特定の方法や手段に限定されるものではない。たとえば、一般の検索サービスを利用して収集した文書でもよいし、ユーザが独自の方法で収集した文書を対象としてもよい。また、対象とする文書の数は、処理を行うコンピュータやメモリの容量や負荷を考慮して、ユーザが適宜決めることができる。対象文書のそれぞれは複数のブロック(例えば段落)で区切り、ブロックごとに単語の分散表現を取得する。これにより各文書についてブロック毎の単語の分散表現を持ったデータが作られる。
【0024】
一方で、ユーザの関心のある情報を得るためのクエリ文章を取得し、更にクエリ文章に含まれる単語の分散表現を取得する。
【0025】
次に、ブロックに含まれる単語の中から、クエリ文章に含まれる単語と一致する単語を検索する。そして、一致した単語について、ブロックにおける単語の分散表現と、クエリ文章における単語の分散表現との類似度(例えばコサイン類似度)を算出する。一致した単語が複数ある場合、それぞれの単語についての分散表現の類似度の和をブロックのスコアとする。スコアが相対的に高いブロックは、クエリ文章に対する関連度が高いと考えられる。これにより、当該情報と関係性または類似性が高いブロックをデータ全体の中から特定することができる。例えば、スコアの高い順にブロックを並べ、関連度の高い順にブロックをユーザの利用する画面に表示することができる。
【0026】
本実施の形態の文書データ処理方法では、自然文による質問文の入力により、複数の対象文書の中から、その質問文に関連する箇所を提示することができる。同じ単語であっても文章により異なる分散表現が使われるため、質問文と関係性または類似性のより高いブロックを提示することができる。これにより、例えば、キーワードや分類を利用した一次検索により集合を作った後に、当該集合に含まれる文書を対象に処理することで効率的な読解や検索を行うことが可能となる。つまり、本実施の形態の文書データ処理システム及び文書データ処理方法は、文書の検索や、文書の読解支援等に用いることができる。
【0027】
質問文は、1つまたは複数の文を含むことができる。検索に用いるキーワードの選定が不要であるため、ユーザは、少ない負担で、所望の情報を文書から探し出すことができる。
【0028】
本明細書等において特に記載が無い場合、文書とは自然言語による事象の記述であり、電子化されて機械可読である。文書は、例えば、特許出願書類、判例、契約書、約款、製品マニュアル、小説、刊行物、白書、技術文書などであるが、これらに限定されない。また、本明細書等において、文章とは、1つまたは複数の文を含む。
【0029】
本明細書等において、単語は、言語音と意味と文法上の機能を持つ最小の言語単位である。ただし、単語を更に分割したサブワードに対して分散表現を求めてもよい。例えば、英語の”transformer”という単語は、”transform”と”er”のサブワードに分解し、それぞれに分散表現を与えることも可能である。もしくは、2個以上の単語のつながったフレーズに対して分散表現を与えることも可能である。本明細書等では、単語を分割したサブワードに対しても単語と呼ぶ。本明細書等において、分散表現を与えたフレーズ、単語またはサブワードをトークンとも呼ぶ場合がある。
【0030】
本実施の形態において、単語の分散表現は、同じ単語であっても、周囲の単語の分布もしくは文脈により異なる分散表現が得られる言語モデルを用いて取得する。もしくは、同じ単語であっても文脈により異なる分散表現が得られる言語モデルを用いて取得する。また、単語の分散表現として、文章における単語の位置とセグメント(文のつながりの情報)とトークンの情報を埋め込んだ分散表現が得られる言語モデルを用いてもよい。また、セルフアテンション機能を有し文章の双方向から学習を行って分散表現を取得する言語モデルを用いてもよい。同じ単語であっても、周囲の単語の分布もしくは文脈により異なる分散表現が得られる言語モデルの一例としてBERT(Bidirectional Encoder Representations from Transformers)(非特許文献1参照)を挙げることができる。
【0031】
図4は、“carbon”を含む6個の英語の文章について、それぞれの文章における“carbon”に対してBERTによって取得した分散表現をXY座標にプロットしたものである。左半分の3つのプロット(四角)は材料の不純物として“carbon”が含まれる文章であり、右半分の3つのプロット(ひし形)は負極材料としての“carbon”についての文章である。図4は、同一の“carbon”であっても、文脈や文章によって異なる分散表現が得られることが示される例である。
【0032】
同じ単語であっても、含まれる文章によって、異なる単語の分散表現が得られる言語モデルを用いることで、ユーザが必要としている情報と関連度の高いブロックを、高い精度で探し出すことができる。例えば、クエリ文章に負極材料としての“carbon”が含まれていた場合、負極材料としての“carbon”が含まれているブロックのスコアが相対的に高くなり、不純物としての“carbon”が含まれているブロックのスコアは相対的に低くなると考えられる。
【0033】
[文書データ処理システム]
図1は、文書データ処理システム100の構成を示すブロック図である。
【0034】
文書データ処理システム100は、ユーザが利用するパーソナルコンピュータなどの情報処理装置に設けられていてもよい。もしくは、サーバに文書データ処理システム100の処理部を設け、クライアントPCからネットワーク経由でアクセスして利用する構成としてもよい。
【0035】
文書データ処理システム100は、文書読取部101、質問文入力部102、文書分割部103、分散表現取得部104a、分散表現取得部104b、分散表現保持部105a、分散表現保持部105b、単語選択部106、類似度算出部107、スコア表示部108、及び文章表示部109を備える。
【0036】
文書読取部101は、読解対象の複数の文書を読み取る。
【0037】
文書読取部101で読み取る複数の文書は、何らかの方法で収集した文書の集合である。例えば、インターネットを経由して収集した文書の集合でもよい。また、ユーザが利用するパーソナルコンピュータに保存された文書でもよく、ネットワークで接続されたストレージに保存されている文書であってもよい。
【0038】
質問文入力部102は、ユーザが検索用に指定する文章を入力する部分である。
【0039】
質問文(クエリ文章ともいう)の入力方法としては、任意の文章を直接入力する、もしくは、文書ファイルからテキストをコピーしたものを貼り付けてもよい。また、文書読取部101で読み取った文書の一部をユーザが任意に指定して質問文入力部102に読み込ませる仕組みでもよい。
【0040】
文書分割部103は、文書読取部101が読み取った複数の文書のそれぞれを複数のブロックに分割する。
【0041】
一段落を一ブロックとして、句点やピリオドで分けられる一つの文を一ブロックとして、もしくは所定数の段落または所定数の文を一ブロックとして、分割してもよい。書類によっては、はじめから段落番号が文書に含まれた形式の文書があり、その段落番号に従ってブロックに分割してもよい。
【0042】
分散表現取得部104aは、文書読取部101で読み取った各文書をブロックごとに処理し、ブロックに含まれる単語の分散表現を取得する。
【0043】
分散表現取得部104bは、質問文入力部102に入力した文章に含まれる単語の分散表現を取得する。
【0044】
分散表現取得部104aと分散表現取得部104bは基本的には同じ言語モデルを用いることが好ましい。
【0045】
分散表現保持部105aと分散表現保持部105bは、取得した分散表現をデータとして保持する。分散表現保持部105aの保持部のデータ構造を表1に示し、分散表現保持部105bの保持部のデータ構造を表2に示す。
【0046】
【表1】
【0047】
【表2】
【0048】
分散表現保持部105aでは複数の文書毎にデータ領域があり、更にブロック毎のデータ領域がある。各ブロックのデータ領域には、それぞれのブロックが持つ文章から抽出された単語と、その単語に対応する分散表現が保存されている。分散表現保持部105bでは単一のクエリ文章を想定したデータ構造を示すが、複数のクエリ文章を入力し、それぞれの文章における単語の分散表現を保持してもよい。
【0049】
単語選択部106は入力した質問文に含まれる単語のうち、類似度算出に使う単語を選択する部分である。
【0050】
全ての単語を選択、名詞など所定の品詞を選択、もしくは、ユーザが自由に単語を選択できるようにしてもよい。選択する単語は最低一つであり、一つの場合でも、文章や文脈により異なる分散表現が得られるため、スコアリングは可能である。
【0051】
類似度算出部107は、分散表現取得部104a及び分散表現取得部104bで得られた単語の分散表現を用いて、ブロック毎に、質問文に対する類似度を算出する。
【0052】
スコア表示部108は、類似度算出部107で算出されたスコアを表示することができる。
【0053】
文章表示部109は、文書読取部101で読み取った文書を表示することができる。文章表示部109は、さらに、質問文入力部102に入力された文章を表示してもよい。
【0054】
スコア表示部108と文章表示部109は同期していることが好ましい。例えば、スコアが高い順に文章のブロックを並べ替える、スコアが所定の値以上のブロックのみを表示する等、スコアの値に基づき対象文書の表示方法が変更できてもよい。
【0055】
[文書データ処理方法]
図2及び図3は、それぞれ、文書データ処理システム100が実行する処理の流れを説明するフローチャートである。つまり、図2及び図3は、それぞれ、本発明の一態様の文書データ処理方法の一例を示すフローチャートであるともいえる。
【0056】
[ステップS1:複数の対象文書を取得する]
まず、読解対象となる複数の文書を文書データ処理システム100の文書読取部101にて読み込む。
【0057】
[ステップS2:対象文書を複数のブロックに分割する]
次に、文書分割部103にて、複数の対象文書のそれぞれを複数のブロックに分割する。
【0058】
[ステップS3:ブロック毎に、単語の分散表現を取得する]
次に、分散表現取得部104aに、ブロック毎に文章を入力し、単語の分散表現を取得する。具体的には、対象文書をブロック毎にBERTなどの言語モデルに入力し、単語の分散表現を取得する。分散表現取得部104aにおいて取得した分散表現は、対象文書毎、かつ、ブロック毎に、分散表現保持部105aに格納される。
【0059】
[ステップS4:クエリ文章を取得する]
さらに、文書データ処理システム100の質問文入力部102にてクエリ文章を取得する。クエリ文章はユーザが任意で入力する文章であってもよく、対象文書のユーザの関心が高い箇所の文章であってもよい。図2では、ステップS3のあとにステップS4及びステップS5を行う例を示すが、図3に示すように、ステップS1~ステップS3と、ステップS4及びステップS5とは、それぞれ独立に行うことができ、順序は問わない。
【0060】
[ステップS5:クエリ文章に含まれる単語の分散表現を取得する]
次に、分散表現取得部104bに、クエリ文章を入力し、単語の分散表現を取得する。具体的には、クエリ文章をBERTなどの言語モデルに入力し、単語の分散表現を取得する。分散表現取得部104bにおいて取得した分散表現は、分散表現保持部105bに格納される。
【0061】
[ステップS6:ブロックのスコアを算出する]
次に、類似度算出部107にて、各ブロックに含まれる単語とクエリ文章に含まれる単語の間で一致する単語を探し、単語が一致した場合のみ、一致した単語の分散表現の間でコサイン類似度を算出し、ブロック内でコサイン類似度の和を算出することでブロックのスコアを得る。
【0062】
単語選択部106にて、クエリ文章に含まれる単語のうち、類似度算出に使う単語を選択し、選択された単語に対してのみ、類似度の算出を行ってもよい。
【0063】
なお、本実施の形態ではコサイン類似度を用いて類似度を算出する例を示すが、他の類似度算出方法を用いてもよい。
【0064】
図5を用いてブロック毎にスコアを算出する方法を説明する。図5では、クエリ文章に対して、対象文書1及び対象文書2のブロック1、ブロック2、ブロック3、及びブロック4を比較する例を示す。まず、対象文書の各ブロックで、クエリ文章の単語と一致する単語を検索し、一致した単語に対してのみ、その単語の分散表現のコサイン類似度を算出する。1つのブロック中に一致した単語が複数ある場合は、各単語におけるコサイン類似度を加算することで、当該ブロックのスコアを算出する。例えば、図5に示す対象文書1のブロック1では、クエリ文章の単語W1と単語W2の2単語が一致する。この場合、対象文書1のブロック1のスコアは単語W1のコサイン類似度と単語W2のコサイン類似度の和となる。
【0065】
[ステップS7:算出したスコアを出力する]
そして、算出したスコアの高いブロックを、求めている情報を含む可能性が高いブロックとして、ユーザに提示することができる。提示の方法としては、所定の閾値を設定し、閾値を超えたブロックを提示する方法、各文書におけるスコアの最大値を持つブロックを提示する方法、もしくは、複数のブロック全体の中で上位のスコアを持つ所定の数のブロックを提示する方法などが挙げられる。また、これらの方法を適宜組み合わせてもよい。
【0066】
以上のように、本実施の形態の文書データ処理システム及び文書データ処理方法では、ユーザから、読解したい文書の集合と、必要としている情報に関連する文章とが供給されると、当該文書の集合中の、ユーザが必要としている情報と関連度の高いブロックを提示することができる。ユーザは、キーワードの選定が不要となり、所望の情報を文書から探し出すことが容易となる。
【0067】
本実施の形態の文書データ処理システム及び文書データ処理方法では、同じ単語であっても、含まれる文章によって、異なる単語の分散表現が得られる言語モデルを用いる。これにより、ユーザが必要としている情報と関連度の高いブロックを、高い精度で探し出すことができる。
【0068】
本実施の形態は、他の実施の形態と適宜組み合わせることができる。また、本明細書において、1つの実施の形態の中に、複数の構成例が示される場合は、構成例を適宜組み合わせることが可能である。
【0069】
(実施の形態2)
本実施の形態では、本発明の一態様の文書データ処理システムについて図6及び図7を用いて説明する。
【0070】
本実施の形態の文書データ処理システムは、実施の形態1に示す文書データ処理方法を用いて、文書から所望の情報を容易に検索及び取得することができる。
【0071】
<文書データ処理システムの構成例1>
図6に、文書データ処理システム200のブロック図を示す。なお、本明細書に添付した図面では、構成要素を機能ごとに分類し、互いに独立したブロックとしてブロック図を示しているが、実際の構成要素は機能ごとに完全に切り分けることが難しく、一つの構成要素が複数の機能に係わることもあり得る。また、一つの機能が複数の構成要素に係わることもあり得、例えば、処理部120で行われる処理は、処理によって異なるサーバで実行されることがある。
【0072】
文書データ処理システム200は、少なくとも、処理部120を有する。図6に示す文書データ処理システム200は、さらに、入力部110、記憶部130、データベース140、表示部150、及び伝送路160を有する。
【0073】
[入力部110]
入力部110には、文書データ処理システム200の外部から質問文(クエリ文章)が供給される。また、入力部110には、文書データ処理システム200の外部から対象文書の集合が供給されてもよい。入力部110に供給された対象文書の集合及びクエリ文章は、それぞれ、伝送路160を介して、処理部120、記憶部130、またはデータベース140に供給される。
【0074】
対象文書及びクエリ文章は、例えば、テキストデータ、音声データ、または画像データとして入力される。対象文書は、テキストデータとして入力されることが好ましい。
【0075】
クエリ文章の入力方法としては、例えば、キーボード、タッチパネルなどを用いたキー入力、マイクを用いた音声入力、記録媒体からの読み込み、スキャナ、カメラなどを用いた画像入力、通信を用いた取得等が挙げられる。
【0076】
文書データ処理システム200は、音声データをテキストデータに変換する機能を有していてもよい。例えば、処理部120が当該機能を有していてもよい。または、文書データ処理システム200が、さらに、当該機能を有する音声変換部を有していてもよい。
【0077】
文書データ処理システム200は、光学文字認識(OCR)機能を有していてもよい。これにより、画像データに含まれる文字を認識し、テキストデータを作成することができる。例えば、処理部120が当該機能を有していてもよい。または、文書データ処理システム200が、さらに、当該機能を有する文字認識部を有していてもよい。
【0078】
[処理部120]
処理部120は、入力部110、記憶部130、データベース140などから供給されたデータを用いて、演算を行う機能を有する。処理部120は、演算結果を、記憶部130、データベース140、表示部150などに供給することができる。
【0079】
処理部120は、文書を複数のブロックに分割する機能を有する。例えば、文書を、章ごと、段落ごと、所定の数の文ごと、などの複数のブロックに分割する機能を有していてもよい。
【0080】
処理部120は、単語の分散表現を取得する機能を有する。例えば、対象文書のブロックに含まれる単語や、クエリ文章に含まれる単語の分散表現を取得することができる。
【0081】
処理部120は、クエリ文章から単語を抽出する機能を有する。これにより、クエリ文章に含まれる単語のうち、類似度算出に使う単語を選択することができる。
【0082】
処理部120は、単語の分散表現の間の類似度を算出する機能を有する。
【0083】
処理部120には、チャネル形成領域に金属酸化物を有するトランジスタを用いてもよい。当該トランジスタはオフ電流が極めて低いため、当該トランジスタを記憶素子として機能する容量素子に流入した電荷(データ)を保持するためのスイッチとして用いることで、データの保持期間を長期にわたり確保することができる。この特性を、処理部120が有するレジスタ及びキャッシュメモリのうち少なくとも一方に用いることで、必要なときだけ処理部120を動作させ、他の場合には直前の処理の情報を当該記憶素子に待避させることにより処理部120をオフにすることができる。すなわち、ノーマリーオフコンピューティングが可能となり、文書データ処理システムの低消費電力化を図ることができる。
【0084】
なお、本明細書等において、チャネル形成領域に酸化物半導体を用いたトランジスタをOxide Semiconductorトランジスタ、あるいはOSトランジスタと呼ぶ。OSトランジスタのチャネル形成領域は、金属酸化物を有することが好ましい。
【0085】
チャネル形成領域が有する金属酸化物はインジウム(In)を含むことが好ましい。チャネル形成領域が有する金属酸化物がインジウムを含む金属酸化物の場合、OSトランジスタのキャリア移動度(電子移動度)が高くなる。また、チャネル形成領域が有する金属酸化物は、元素Mを含む酸化物半導体であると好ましい。元素Mは、アルミニウム(Al)、ガリウム(Ga)、またはスズ(Sn)であることが好ましい。元素Mに適用可能な他の元素としては、ホウ素(B)、シリコン(Si)、チタン(Ti)、鉄(Fe)、ニッケル(Ni)、ゲルマニウム(Ge)、イットリウム(Y)、ジルコニウム(Zr)、モリブデン(Mo)、ランタン(La)、セリウム(Ce)、ネオジム(Nd)、ハフニウム(Hf)、タンタル(Ta)、タングステン(W)などがある。ただし、元素Mとして、前述の元素を複数組み合わせても構わない場合がある。元素Mは、例えば、酸素との結合エネルギーが高い元素である。例えば、酸素との結合エネルギーがインジウムよりも高い元素である。また、チャネル形成領域が有する金属酸化物は、亜鉛(Zn)を含むことが好ましい。亜鉛を含む金属酸化物は結晶化しやすくなる場合がある。
【0086】
チャネル形成領域が有する金属酸化物は、インジウムを含む金属酸化物に限定されない。半導体層は、例えば、亜鉛スズ酸化物、ガリウムスズ酸化物などの、インジウムを含まず、亜鉛を含む金属酸化物、ガリウムを含む金属酸化物、スズを含む金属酸化物などであっても構わない。
【0087】
また、処理部120には、チャネル形成領域にシリコンを含むトランジスタを用いてもよい。
【0088】
また、処理部120には、チャネル形成領域に酸化物半導体を含むトランジスタと、チャネル形成領域にシリコンを含むトランジスタと、を組み合わせて用いてもよい。
【0089】
処理部120は、例えば、演算回路または中央演算装置(CPU:Central Processing Unit)等を有する。
【0090】
処理部120は、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)等のマイクロプロセッサを有していてもよい。マイクロプロセッサは、FPGA(Field Programmable Gate Array)、FPAA(Field Programmable Analog Array)等のPLD(Programmable Logic Device)によって実現された構成であってもよい。処理部120は、プロセッサにより種々のプログラムからの命令を解釈し実行することで、各種のデータ処理及びプログラム制御を行うことができる。プロセッサにより実行しうるプログラムは、プロセッサが有するメモリ領域及び記憶部130のうち少なくとも一方に格納される。
【0091】
処理部120はメインメモリを有していてもよい。メインメモリは、RAM等の揮発性メモリ、及びROM等の不揮発性メモリのうち少なくとも一方を有する。
【0092】
RAMとしては、例えばDRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等が用いられ、処理部120の作業空間として仮想的にメモリ空間が割り当てられ利用される。記憶部130に格納されたオペレーティングシステム、アプリケーションプログラム、プログラムモジュール、プログラムデータ、及びルックアップテーブル等は、実行のためにRAMにロードされる。RAMにロードされたこれらのデータ、プログラム、及びプログラムモジュールは、それぞれ、処理部120に直接アクセスされ、操作される。
【0093】
ROMには、書き換えを必要としない、BIOS(Basic Input/Output System)及びファームウェア等を格納することができる。ROMとしては、マスクROM、OTPROM(One Time Programmable Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)等が挙げられる。EPROMとしては、紫外線照射により記憶データの消去を可能とするUV-EPROM(Ultra-Violet Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ等が挙げられる。
【0094】
[記憶部130]
記憶部130は、処理部120が実行するプログラムを記憶する機能を有する。また、記憶部130は、例えば、処理部120が生成した演算結果、及び、入力部110に入力されたデータを記憶する機能を有していてもよい。具体的には、記憶部130は、処理部120で取得した単語の分散表現を記憶する機能を有することが好ましい。
【0095】
記憶部130は、揮発性メモリ及び不揮発性メモリのうち少なくとも一方を有する。記憶部130は、例えば、DRAM、SRAMなどの揮発性メモリを有していてもよい。記憶部130は、例えば、ReRAM(Resistive Random Access Memory、抵抗変化型メモリともいう)、PRAM(Phase change Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory、磁気抵抗型メモリともいう)、またはフラッシュメモリなどの不揮発性メモリを有していてもよい。また、記憶部130は、ハードディスクドライブ(Hard Disc Drive:HDD)及びソリッドステートドライブ(Solid State Drive:SSD)等の記録メディアドライブを有していてもよい。
【0096】
[データベース140]
文書データ処理システムは、データベース140を有していてもよい。例えば、データベース140は、複数の文書を記憶する機能を有する。例えば、データベース140に保存された文書の集合を対象として、本発明の一態様の文書データ処理方法を用いてもよい。なお、記憶部130及びデータベース140は互いに分離されていなくてもよい。例えば、文書データ処理システムは、記憶部130及びデータベース140の双方の機能を有する記憶ユニットを有していてもよい。
【0097】
なお、処理部120、記憶部130、及びデータベース140が有するメモリは、それぞれ、非一時的コンピュータ可読記憶媒体の一例ということができる。
【0098】
[表示部150]
表示部150は、処理部120における演算結果を表示する機能を有する。また、表示部150は、対象文書を表示する機能を有する。また、表示部150は、クエリ文章を表示する機能を有していてもよい。
【0099】
なお、文書データ処理システム200は、出力部を有していてもよい。出力部は、外部にデータを供給する機能を有する。
【0100】
[伝送路160]
伝送路160は、各種データを伝達する機能を有する。入力部110、処理部120、記憶部130、データベース140、及び表示部150の間のデータの送受信は、伝送路160を介して行うことができる。例えば、対象文書などのデータが、伝送路160を介して、送受信される。
【0101】
<文書データ処理システムの構成例2>
図7に、文書データ処理システム210のブロック図を示す。文書データ処理システム210は、サーバ220と、端末230(パーソナルコンピュータなど)と、を有する。
【0102】
サーバ220は、通信部161a、伝送路162、処理部120、及び記憶部170を有する。図7では図示しないが、さらに、サーバ220は入出力部などを有していてもよい。
【0103】
端末230は、通信部161b、伝送路164、処理部180、記憶部130、及び表示部150を有する。図7では図示しないが、端末230は、さらに、データベースなどを有していてもよい。
【0104】
文書データ処理システム210のユーザは、端末230の入力部110に、質問文(クエリ文章)を入力する。質問文は、端末230の通信部161bからサーバ220の通信部161aに送信される。
【0105】
通信部161aが受信した質問文は、伝送路162を介して、記憶部170に保存される。または、質問文は、通信部161aから、直接、処理部120に供給されてもよい。
【0106】
実施の形態1で説明した、文書分割、分散表現取得、及び類似度算出は、それぞれ、高い処理能力が求められる。サーバ220が有する処理部120は、端末230が有する処理部180に比べて処理能力が高い。したがって、これらの処理は、それぞれ、処理部120で行われることが好ましい。
【0107】
そして、処理部120によりブロックのスコアが算出される。スコアは、伝送路162を介して、記憶部170に保存される。または、スコアは、処理部120から、直接、通信部161aに供給されてもよい。スコアは、サーバ220の通信部161aから端末230の通信部161bに送信される。スコアは、端末230の表示部150に表示される。
【0108】
[伝送路162及び伝送路164]
伝送路162及び伝送路164は、データを伝達する機能を有する。通信部161a、処理部120、及び記憶部170の間のデータの送受信は、伝送路162を介して行うことができる。入力部110、通信部161b、処理部180、記憶部130、及び表示部150の間のデータの送受信は、伝送路164を介して行うことができる。
【0109】
[処理部120及び処理部180]
処理部120は、通信部161a及び記憶部170などから供給されたデータを用いて、演算を行う機能を有する。処理部180は、通信部161b、記憶部130、及び表示部150などから供給されたデータを用いて、演算を行う機能を有する。処理部120及び処理部180は、処理部120の説明を参照できる。処理部120は、処理部180に比べて処理能力が高いことが好ましい。
【0110】
[記憶部130]
記憶部130は、処理部180が実行するプログラムを記憶する機能を有する。また、記憶部130は、処理部180が生成した演算結果、通信部161bに入力されたデータ、及び入力部110に入力されたデータなどを記憶する機能を有する。
【0111】
[記憶部170]
記憶部170は、複数の文書、処理部120が生成した演算結果、及び通信部161aに入力されたデータなどを記憶する機能を有する。
【0112】
[通信部161a及び通信部161b]
通信部161a及び通信部161bを用いて、サーバ220と端末230との間で、データの送受信を行うことができる。通信部161a及び通信部161bとしては、ハブ、ルータ、モデムなどを用いることができる。データの送受信には、有線を用いても無線(例えば、電波、赤外線など)を用いてもよい。
【0113】
なお、サーバ220と端末230との通信は、World Wide Web(WWW)の基盤であるインターネット、イントラネット、エクストラネット、PAN(Personal Area Network)、LAN(Local Area Network)、CAN(Campus Area Network)、MAN(Metropolitan Area Network)、WAN(Wide Area Network)、GAN(Global Area Network)等のコンピュータネットワークに接続することで行ってもよい。
【0114】
本実施の形態は、他の実施の形態と適宜組み合わせることができる。
【符号の説明】
【0115】
W1:単語、W2:単語、1:ブロック、2:ブロック、3:ブロック、4:ブロック、100:文書データ処理システム、101:文書読取部、102:質問文入力部、103:文書分割部、104a:分散表現取得部、104b:分散表現取得部、105a:分散表現保持部、105b:分散表現保持部、106:単語選択部、107:類似度算出部、108:スコア表示部、109:文章表示部、110:入力部、120:処理部、130:記憶部、140:データベース、150:表示部、160:伝送路、161a:通信部、161b:通信部、162:伝送路、164:伝送路、170:記憶部、180:処理部、200:文書データ処理システム、210:文書データ処理システム、220:サーバ、230:端末
図1
図2
図3
図4
図5
図6
図7