(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-31
(45)【発行日】2024-08-08
(54)【発明の名称】計算機システム及び文書の要約生成方法
(51)【国際特許分類】
G06F 16/33 20190101AFI20240801BHJP
G06F 40/56 20200101ALI20240801BHJP
G06F 40/44 20200101ALI20240801BHJP
【FI】
G06F16/33
G06F40/56
G06F40/44
(21)【出願番号】P 2020077696
(22)【出願日】2020-04-24
【審査請求日】2022-12-27
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】是枝 祐太
(72)【発明者】
【氏名】間瀬 久雄
(72)【発明者】
【氏名】尾崎 太亮
(72)【発明者】
【氏名】加嶋 亮平
【審査官】酒井 恭信
(56)【参考文献】
【文献】特開2011-238159(JP,A)
【文献】特開2011-103075(JP,A)
【文献】特開2002-259371(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
G06F 40/20 - 40/58
(57)【特許請求の範囲】
【請求項1】
第一文書を用いて、当該第一文書と任意の関係性を有する第二文書の要約を生成する計算機システムであって、
プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを有する少なくとも一つの計算機を備え、
前記第一文書及び前記第二文書は、複数のブロックに分割可能であって、
前記第二文書は、任意の調査目的を有するユーザにより特定された文書であって、
前記計算機システムは、
前記第一文書から調査の観点を表す観点
ベクトルを算出する観点抽出部と、
前記観点
ベクトルに基づいて前記第二文書の前記各ブロックの前記調査の観点の関連性を示すスコアを算出し、前記スコアに基づいて前記調査の観点との関連性が高い内容が記載された前記第二文書の前記ブロックを重要ブロックとして特定し、前記重要ブロックに基づいて前記第二文書の要約を生成する要約部と、を備え、
前記観点抽出部は、
前記ユーザが前記第二文書を検索するために用いた検索クエリを、前記第一文書から前記観点
ベクトルを算出するための参照情報として受け付け、
前記第一文書の前記各ブロックについて、前記検索クエリに基づいて生成される検索条件に合致する前記第一文書の検索要素の数を検索ヒット数として算出する処理と、前記第一文書に含まれる単語を要素とし、当該単語の出現頻度を要素の値とする第1ベクトルを算出する処理と、を実行し、
前記第一文書の前記各ブロックの前記検索ヒット数を重みとする、前記第1ベクトルの重み付き和を前記観点ベクトルとして算出し、
前記要約部は、
前記第二文書の前記各ブロックについて、前記第二文書に含まれる単語を要素とし、当該単語の出現頻度を要素の値とするブロックベクトルを算出し、
前記観点ベクトルと前記ブロックベクトルとの類似度を、前記スコアとして算出し、
前記スコアが所定の閾値より大きい前記第二文書の前記ブロックを、前記重要ブロックとして特定することを特徴とする計算機システム。
【請求項2】
計算機システムが実行する文書の要約生成方法であって、
前記計算機システムは、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを有する少なくとも一つの計算機を含み、
前記文書の要約生成方法は、
前記プロセッサが、複数のブロックに分割可能な第一文書と、任意の調査目的を有するユーザにより特定され、かつ、当該第一文書と任意の関係性を有し、複数のブロックに分割可能な第二文書と、を受け付ける第1のステップと、
前記プロセッサが、前記第一文書から調査の観点を表す観点ベクトルを算出する第2のステップと、
前記プロセッサが、前記観点ベクトルに基づいて前記第二文書の前記各ブロックの前記調査の観点の関連性を示すスコアを算出する第3のステップと、
前記プロセッサが、前記スコアに基づいて前記調査の観点との関連性が高い内容が記載された前記第二文書の前記ブロックを重要ブロックとして特定する第4のステップと、
前記プロセッサが、前記重要ブロックに基づいて前記第二文書の要約を生成する第5のステップと、を含み、
前記第2のステップは、
前記プロセッサが、前記ユーザが前記第二文書を検索するために用いた検索クエリを、前記第一文書から前記観点ベクトルを算出するための参照情報として受け付けるステップと、
前記プロセッサが、前記第一文書の前記各ブロックについて、前記検索クエリに基づいて生成される検索条件に合致する前記第一文書の検索要素の数を検索ヒット数として算出する処理と、前記第一文書に含まれる単語を要素とし、当該単語の出現頻度を要素の値とする第1ベクトルを算出する処理と、を実行するステップと、
前記プロセッサが、前記第一文書の前記各ブロックの前記検索ヒット数を重みとする、前記第1ベクトルの重み付き和を前記観点ベクトルとして算出するステップと、を含み、
前記第3のステップは、
前記プロセッサが、前記第二文書の前記各ブロックについて、前記第二文書に含まれる単語を要素とし、当該単語の出現頻度を要素の値とするブロックベクトルを算出するステップと、
前記プロセッサが、前記観点ベクトルと前記ブロックベクトルとの類似度を、前記スコアとして算出するステップと、を含み、
前記第4のステップは、前記プロセッサが、前記スコアが所定の閾値より大きい前記第二文書の前記ブロックを、前記重要ブロックとして特定するステップを含むことを特徴とする文書の要約生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、参照情報を用いて文書の要約を生成する計算機システム及び方法に関する。
【背景技術】
【0002】
文献調査は、何らかの参照情報を用いて行われる場合が多い。例えば、特許審査では、審査官は、審査対象の出願書類(例えば、明細書)を参照情報として用いて公知文献を検索し、閲読する。論文執筆における先行研究調査では、研究者は、執筆中の論文を参照情報として用いて先行研究に係る文献を調査する。また、保険業務では、保険会社の従業員は、レセプトに基づいて医療機関との契約内容を確認する。
【0003】
文献調査では大量の文献を閲読する必要があるため、文献調査の効率化のために、文献の要約を自動的に提示する技術が望まれている。これに対して、特許文献1に記載の技術が知られている。
【0004】
特許文献1には、「スニペット生成装置11では、クエリ解析部14が、与えられた文章を形態素解析して形態素に分解し、各形態素の活用語形を考慮したパターンを正規表現に変換し、重要文選択部16が、対象となる文書に対しパターン検索を行い、正規表現の出現頻度を計測し、正規表現の文書内出現頻度と文書出現頻度とに基づいて文書を構成する文のスコアを計算し、スコアの高い順に上位n個の文を選択し、文縮約部17が、n個の文から指定された文字数になるように不必要な部分を削除してスニペットとする。」ことが記載されている。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio、“Neural Machine Translation by Jointly Learning to Align and Translate”、[online]、2014年9月、[令和2年3月30日検索]、インターネット<URL:https://arxiv.org/abs/1409.0473v7>
【発明の概要】
【発明が解決しようとする課題】
【0007】
参照情報を用いて行われる文献調査では、参照情報を反映した要約を提示する必要があるため、一般的な文書の要約技術では対応できない。特許文献1に記載の手法では、キーワード等の短いテキストのみが参照情報として用いられており、文書を参照情報として扱うことができない。
【0008】
本発明は、参照情報を反映した要約対象文書の要約を自動的に生成するシステム及び方法を実現する。
【課題を解決するための手段】
【0009】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、第一文書を用いて、当該第一文書と任意の関係性を有する第二文書の要約を生成する計算機システムであって、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを有する少なくとも一つの計算機を備え、前記第一文書及び前記第二文書は、複数のブロックに分割可能であって、前記第二文書は、任意の調査目的を有するユーザにより特定された文書であって、前記計算機システムは、前記第一文書から調査の観点を表す観点ベクトルを算出する観点抽出部と、前記観点ベクトルに基づいて前記第二文書の前記各ブロックの前記調査の観点の関連性を示すスコアを算出し、前記スコアに基づいて前記調査の観点との関連性が高い内容が記載された前記第二文書の前記ブロックを重要ブロックとして特定し、前記重要ブロックに基づいて前記第二文書の要約を生成する要約部と、を備え、前記観点抽出部は、前記ユーザが前記第二文書を検索するために用いた検索クエリを、前記第一文書から前記観点ベクトルを算出するための参照情報として受け付け、前記第一文書の前記各ブロックについて、前記検索クエリに基づいて生成される検索条件に合致する前記第一文書の検索要素の数を検索ヒット数として算出する処理と、前記第一文書に含まれる単語を要素とし、当該単語の出現頻度を要素の値とする第1ベクトルを算出する処理と、を実行し、前記第一文書の前記各ブロックの前記検索ヒット数を重みとする、前記第1ベクトルの重み付き和を前記観点ベクトルとして算出し、前記要約部は、前記第二文書の前記各ブロックについて、前記第二文書に含まれる単語を要素とし、単語の出現頻度を要素の値とするブロックベクトルを算出し、前記観点ベクトルと前記ブロックベクトルとの類似度を、前記スコアとして算出し、前記スコアが所定の閾値より大きい前記第二文書の前記ブロックを、前記重要ブロックとして特定する。
【発明の効果】
【0010】
本発明の一形態によれば、参照情報として入力された文書(第一文書)を反映した、要約対象文書(第二文書)の要約を自動的に生成できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】実施例1の計算機システムの構成の一例を示す図である。
【
図2】実施例1の計算機が実行する観点抽出処理の一例を説明するフローチャートである。
【
図3】実施例1の計算機が実行する要約対象文書評価処理の一例を説明するフローチャートである。
【
図4】実施例1の計算機によって表示されるGUIの一例を示す図である。
【
図5】実施例1の計算機によって表示されるGUIの一例を示す図である。
【
図6】実施例2の計算機システムの構成の一例を示す図である。
【
図7】実施例2の計算機が実行するモデル生成処理の一例を説明するフローチャートである。
【
図8】実施例2の計算機が実行する前処理の一例を説明するフローチャートである。
【
図9】実施例2の学習処理の対象となるモデルの構造の一例を示す図である。
【
図10】実施例2の計算機が実行する観点抽出処理の一例を説明するフローチャートである。
【
図11】実施例2の計算機が実行する要約対象文書評価処理の一例を説明するフローチャートである。
【
図12】実施例3の学習処理の対象となるモデルの構造の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0013】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【0014】
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【0015】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【0016】
まず、本発明の概要について説明する。
【0017】
参照情報である文書(参照文書)に関連する文書を調査する場合、ユーザは、参照文書と共通又は類似する内容が記載された文書等、参照文書と何らかの関係性を有する文書を特定する。例えば、ユーザによって直接、調査対象の文書が特定(指定)され、又は、キーワード検索及び概念検索等を用いて調査対象の文書が特定される。このとき、調査対象の文書の内容を把握することによって、文書を用いた業務を効率的に行うことができる。文書の要約は、調査対象の文書の内容を把握するために有用な情報である。
【0018】
本発明の計算機システムは、参照文書からユーザの調査観点を示す情報を抽出し、当該情報に基づいて要約対象文書の要約を生成する。本発明の活用例としては、特許審査における公知文献調査が考えられる。
【実施例1】
【0019】
図1は、実施例1の計算機システムの構成の一例を示す図である。
【0020】
計算機システムは、参照文書及び検索クエリ(検索式)を用いて、検索クエリに基づいて検索された要約対象文書の要約を生成し、ユーザに提示する。実施例1では、参照文書が第一参照情報として入力され、検索クエリが第二参照情報として入力される。
【0021】
より具体的には、計算機システムは、検索クエリに基づいて、参照文書からユーザの調査観点を示す情報を抽出し、抽出された情報に基づいて要約対象文書の要約を生成する。参照文書及び要約対象文書は複数の文(文字列の集合)を含む。なお、参照文書及び要約対象文書には、図形等、文字列以外の要素が含まれてもよい。
【0022】
計算機システムは、少なくとも一つの計算機100から構成される。計算機システムが複数の計算機100から構成される場合、各計算機100はネットワークを介して互いに接続される。ネットワークは、例えば、LAN(Local Area Network)及びWAN(Wide Area Network)である。なお、本発明はネットワークの種別に限定されない。また、ネットワークの接続方式は有線及び無線のいずれでもよい。
【0023】
計算機100は、プロセッサ101、メモリ102、及びネットワークインタフェース103を有する。各ハードウェアは内部バスと介して互いに接続される。計算機100は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置、キーボード、マウス、及びタッチパネル等の入力装置、並びに、ディスプレイ等の出力装置を有してもよい。
【0024】
プロセッサ101は、メモリ102に格納されるプログラムを実行する。プロセッサ101がプログラムにしたがって処理を実行することによって、所定の機能を有する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ101が、当該機能部を実現するプログラムを実行していることを表す。
【0025】
メモリ102は、プロセッサ101が実行するプログラム及び当該プログラムに必要な情報を格納する。また、メモリ102は、プログラムが一時的に使用するワークエリアを含む。
【0026】
ネットワークインタフェース103は、ネットワークを介して他の装置と接続する。
【0027】
ここで、計算機100のメモリ102に格納されるプログラム及び情報について説明する。
【0028】
メモリ102は、観点抽出部111、要約部112、及び表示部113を実現するプログラムを格納する。
【0029】
観点抽出部111は、ユーザの調査観点を示す情報(観点情報)を抽出する。実施例1では、観点抽出部111は、参照文書及び調査対象の文書を特定するための検索クエリを受け付け、検索クエリに基づいて参照文書から観点情報を抽出する。検索クエリは、参照文書と何らかの関連性を有する文書(要約対象文書)を検索するためのクエリである。参照文書及び要約対象文書の関連性とは、記載内容が共通若しくは類似していること、又は、記載内容が相反することを示す。要約部112は、観点情報に基づいて要約対象文書の要約を生成する。表示部113は、要約をユーザに提示するためのデータを出力する。
【0030】
なお、観点抽出部111は、参照情報、要約対象文書、及びその他の情報の入力を受け付ける入力部としても機能する。
【0031】
なお、計算機システムは、計算機100にデータを入力し、また、計算機100からデータを取得するための端末等を含んでもよい。計算機100が有する機能は、複数の計算機100に分散配置してもよい。また、計算機100は、仮想化技術を利用して実現してもよい。
【0032】
図2は、実施例1の計算機100が実行する観点抽出処理の一例を説明するフローチャートである。
【0033】
計算機100は、参照文書(第一参照情報)及び検索クエリ(第二参照情報)を入力として受け付けた場合(ステップS201)、観点抽出部111に観点抽出処理の実行を指示する。
【0034】
観点抽出部111は、参照文書を、少なくとも一つの文から構成されるブロックに分割する(ステップS202)。
【0035】
例えば、観点抽出部111は参照文書を段落単位のブロックに分割する。なお、参照文書の分割の単位は任意に設定できる。例えば、文単位のブロックに参照文書が分割されてもよい。
【0036】
観点抽出部111は、ブロックのループ処理を開始する(ステップS203)。
【0037】
観点抽出部111は、複数のブロックの中から一つのターゲットブロックを選択する。ターゲットブロックは、出現順に選択されてもよいし、ランダムに選択されてもよい。
【0038】
観点抽出部111は、検索クエリに基づいて、ターゲットブロックに対するキーワード及び表現等の検索要素の数を、検索ヒット数としてカウントする(ステップS204)。
【0039】
例えば、観点抽出部111は、検索クエリに対応する検索式をor/andで複数の検索条件に分割し、各検索条件に合致する検索要素の総和を検索ヒット数として算出する。
【0040】
観点抽出部111は、ターゲットブロックに含まれる単語のtfベクトル(v)を算出する(ステップS205)。観点抽出部111は、ターゲットブロックの識別情報、検索ヒット数、及びtfベクトルを対応付けてワークエリアに格納する。
【0041】
tfベクトルは、参照文書に含まれる単語を要素とするベクトルであって、ターゲットブロック中の単語の出現回数が単語に対応する要素の値となる。なお、ターゲットブロックを単語単位に分割する方法は、分かち書き又はNgramのいずれの手法を用いてもよい。なお、単語の代わりに、文字又はバイト対符号化等を用いてもよい。
【0042】
観点抽出部111は、全てのブロックについて処理が完了したか否かを判定する(ステップS206)。
【0043】
全てのブロックについて処理が完了していない場合、観点抽出部111はステップS203に戻り、新たなブロックを選択する。
【0044】
全てのブロックについて処理が完了した場合、観点抽出部111は、検索ヒット数を重みとして用いたtfベクトルの重み付き和を、観点ベクトル(v~)として算出する(ステップS207)。その後、観点抽出部111は観点抽出処理を終了する。
【0045】
検索クエリは検索者の調査の意図、すなわち、ユーザの調査観点を含む情報として扱うことができる。観点抽出部111は、ユーザの調査観点に基づく参照文書のベクトル表現である観点ベクトルを観点情報として算出する。なお、検索クエリの代わりに、検索単語及び注目する段落等を入力してもよい。
【0046】
図3は、実施例1の計算機100が実行する要約対象文書評価処理の一例を説明するフローチャートである。
【0047】
計算機100は、検索クエリ、要約対象文書、及び観点情報を入力として受け付けた場合(ステップS301)、要約部112に要約対象文書評価処理の実行を指示する。
【0048】
要約部112は要約対象文書をブロックに分割する(ステップS302)。ステップS302の処理はステップS202の処理と同一である。
【0049】
要約部112は、ブロックのループ処理を開始する(ステップS303)。ステップS303の処理はステップS203の処理と同一である。
【0050】
要約部112は、ターゲットブロックに含まれる単語のtfベクトル(u)を算出する(ステップS304)。ステップS304の処理はステップS205の処理と同一である。
【0051】
要約部112は、観点ベクトル(v~)と、要約対象文書のターゲットブロックのtfベクトル(u)とを用いて、要約対象文書のターゲットブロックにおける観点の関連性を表すスコアを算出する(ステップS305)。
【0052】
例えば、要約部112は、式(1)を用いて算出される観点ベクトル(v~)及びtfベクトル(u)のコサイン類似度を、スコアとして算出する。
【0053】
【0054】
観点ベクトルはユーザの調査観点に基づく参照文書のベクトル表現であることから、式(1)で示すスコアはユーザの調査観点との関係性を評価するための指標として用いることができる。
【0055】
要約部112は、全てのブロックについて処理が完了したか否かを判定する(ステップS306)。
【0056】
全てのブロックについて処理が完了していない場合、要約部112はステップS303に戻り、新たなブロックを選択する。
【0057】
全てのブロックについて処理が完了した場合、要約部112は要約対象文書評価処理を終了する(ステップS307)。
【0058】
図4は、実施例1の計算機100によって表示されるGUI400の一例を示す図である。
【0059】
表示部113は、
図4に示すようなGUI400を表示するための情報を生成する。GUI400は、検索式欄401、要約対象文書欄402、及び参考文書欄403を含む。
【0060】
検索式欄401は、検索クエリに含まれる検索式を表示する欄である。
【0061】
要約対象文書欄402は、要約対象文書及び要約を表示する欄である。要約対象文書欄402は、拡大表示欄及び縮小表示欄を含む。拡大表示欄には要約対象文書の一部が表示される。拡大表示欄の左側にはスコアの大きさを示すアイコン405が表示される。拡大表示欄には表示されるマーカ404は検索クエリにヒットした単語等を示す。縮小表示欄には要約対象文書の全体と対応するアイコン405が縮小表示される。ユーザはアイコン406を操作することによって、拡大表示欄に表示する要約対象文書の箇所を変更できる。
【0062】
参考文書欄403は、参考文書を表示する欄である。参考文書欄403は、拡大表示欄及び縮小表示欄を含む。拡大表示欄にはマーカ404が表示される。縮小表示欄は、要約対象文書欄402の縮小表示欄と同一である。
【0063】
図5は、実施例1の計算機100によって表示されるGUI500の一例を示す図である。
【0064】
表示部113は、
図5に示すようなGUI500を表示するための情報を生成する。GUI500は、要約対象文書欄501、図面欄502、及び要約欄503を含む。
【0065】
要約対象文書欄501は、要約対象文書に関する情報を表示する欄である。要約対象文書欄501には要約対象文書そのものが表示されてもよいし、要約対象文書の書誌事項が表示されてもよい。図面欄502は、要約対象文書に含まれる図面を表示する欄である。図面欄502には、要約対象文書の代表的な図面のみが表示されてもよいし、要約対象文書に含まれる全ての図面が表示されてもよい。
【0066】
要約欄503は、要約対象文書の要約を示す情報が表示される。要約欄503には、スコアに基づいてソートされた段落(ブロック)の情報が表示される。要約欄503には、スコアが閾値より大きい段落(重要ブロック)のみが表示されてもよい。また、要約部112が、スコアが閾値より大きい段落から要約文を作成する場合、要約欄503に当該要約文を表示するようにしてもよい。
【0067】
特許審査における公知文献調査では、出願に係る明細書が参考文書に対応し、検索式によって検索された公知文献が要約対象文書に対応する。審査官は、公知文献の要約を参照することによって、特許審査を効率的に行うことができる。
【0068】
実施例1によれば、計算機システムは、参照文書から検索クエリに含まれる調査の観点を表す情報を抽出し、当該情報に基づいて、要約対象文書の要約を生成することができる。これによって、観点を反映した要約を自動的に生成することができる。
【実施例2】
【0069】
実施例2の計算機システムは、参照文書及び検索クエリ(検索式)を用いて、検索クエリに基づいて検索された要約対象文書の要約を生成し、ユーザに提示する。実施例2では、参照文書が第一参照情報として入力され、検索クエリが第二参照情報として入力される。
【0070】
実施例2では、観点抽出部111と要約部112の処理のパラメータを正解データから学習する点が実施例1と異なる。以下、実施例1との差異を中心に実施例2について説明する。
【0071】
図6は、実施例2の計算機システムの構成の一例を示す図である。
【0072】
計算機システムは、計算機100-1及び計算機100-2から構成される。計算機100-1及び計算機100-2はネットワーク120を介して互いに接続される。計算機100-1及び計算機100-2を区別しない場合、計算機100と記載する。
【0073】
実施例2の計算機100のハードウェア構成は、実施例1の計算機100と同一である。計算機100-1のソフトウェア構成は、実施例1の計算機100と同一である。ただし、観点抽出部111及び要約部112が実行する処理の内容が実施例1と異なる。
【0074】
計算機100-2のメモリ102は、学習部601を実現するプログラムを格納し、また、モデル情報602を格納する。
【0075】
モデル情報602は、観点抽出部111及び要約部112が使用するモデルの定義情報を格納する。学習部601は、モデルを生成するための学習処理を実行する。
【0076】
図7は、実施例2の計算機100-2が実行するモデル生成処理の一例を説明するフローチャートである。
図8は、実施例2の計算機100-2が実行する前処理の一例を説明するフローチャートである。
図9は、実施例2の学習処理の対象となるモデルの構造の一例を示す図である。
【0077】
計算機100-2は、参照文書及び要約対象文書のペアから構成されるペアデータと、正解データとを含む学習データの入力を受け付けた場合(ステップS701)、学習部601にモデル生成処理の実行を指示する。なお、計算機100-2には複数の学習データが入力される。特許審査の場合、審査対象の文書が参照文書として与えられ、引用文献が要約対象文書として与えられ、拒絶理由通知書が正解データとして与えられる。
【0078】
学習部601は、学習データのループ処理を開始する(ステップS702)。具体的には、学習部601は、複数の学習データから一つのターゲット学習データを選択する。ここで、学習データを識別する文字として添字iを用いる。
【0079】
なお、学習部601は、所定の規則に基づいてターゲット学習データを選択してもよし、ランダムにターゲット学習データを選択してもよい。
【0080】
学習部601は、ターゲット学習データの前処理を実行する(ステップS703)。ここで、
図8を用いて前処理について説明する。
【0081】
学習部601は、参照文書及び要約対象文書の各々を段落単位のブロックに分割する(ステップS801)。なお、分割する単位は段落以外の単位でもよい。
【0082】
学習部601は、参照文書のブロックのループ処理を開始する(ステップS802)。具体的には、参照文書のブロックから一つのターゲットブロックを選択する。ここで、参照文書の段落を識別する文字として添字lを、要約対象文書の段落を識別する文字として添字jを用いる。
【0083】
なお、学習部601は、出現順にターゲットブロックを選択してもよし、ランダムにターゲットブロックを選択してもよい。
【0084】
学習部601は、ターゲットブロックを表現する数値データを算出する(ステップS803)。
【0085】
文書を表現する数値データを算出する方法は公知の技術であるため、詳細な説明は省略するが、例えば、以下のような方法を用いてターゲット段落を表現するベクトルが算出される。
【0086】
学習部601は、ブロックに対応する文書を単語に分かち書きし、当該文書のk番目の単語を単語IDのone-hot表現rxi,l,kに変換する。学習部601は、各単語のone-hot表現rxi,l,kからターゲットブロックを表現する数値データを算出する。
【0087】
学習部601は、参照文書の全てのブロックについて処理が完了したか否かを判定する(ステップS804)。
【0088】
参照文書の全てのブロックについて処理が完了していない場合、学習部601は、ステップS802に戻り、新たなブロックを選択する。
【0089】
参照文書の全てのブロックについて処理が完了した場合、学習部601は、要約対象文書のブロックのループ処理を開始する(ステップS805)。具体的には、要約対象文書のブロックから一つのターゲットブロックを選択する。
【0090】
なお、学習部601は、出現順にターゲットブロックを選択してもよし、ランダムにターゲットブロックを選択してもよい。
【0091】
学習部601は、ターゲットブロックを表現する数値データを算出する(ステップS806)。ステップS806の処理はステップS803の処理と同様の処理であるため説明を省略する。
【0092】
学習部601は、要約対象文書の全てのブロックについて処理が完了したか否かを判定する(ステップS807)。
【0093】
要約対象文書の全てのブロックについて処理が完了していない場合、学習部601は、ステップS805に戻り、新たなブロックを選択する。
【0094】
要約対象文書の全てのブロックについて処理が完了した場合、学習部601は前処理を終了する。
【0095】
【0096】
学習部601は、ターゲット学習データの正解ラベルデータを生成する(ステップS704)。
【0097】
具体的には601は、要約対象文書を段落単位のブロックに分割し、各ブロックに正解ラベルとして「1」及び「0」のいずれかを設定する。「1」は要約となるブロックであることを示し、「0」は要約とならないブロックであることを示す。
【0098】
例えば、特許審査の場合、学習部601は、拒絶理由通知書に記載された引用文献の文献名及び公開番号等を取得し、また、拒絶理由に記載された段落に正解ラベル「1」を設定し、他の段落に正解ラベル「0」を設定する。学習部601は、i番目の要約対象文書のj段落目の正解ラベルyi,jを成分とするベクトルyiを正解ラベルデータとして生成する。
【0099】
学習部601は、全ての学習データの処理が完了したか否かを判定する(ステップS705)。
【0100】
全ての学習データの処理が完了していない場合、学習部601は、ステップS702に戻り、同様の処理を実行する。
【0101】
全ての学習データの処理が完了した場合、学習部601は学習処理を実行する(ステップS706)。
【0102】
学習部601は、
図9に示すようなニューラルネットワークの学習処理を実行する。上のオブジェクト901は要約対象文書を示し、下のオブジェクト902は参照文書を示す。
図9に示すニューラルネットワークでは、検索クエリに基づいて参照文書の各ブロックのユーザの調査観点の重要度を示す値が算出され、さらに、当該値に基づいて要約対象文書の各ブロックにおけるユーザの調査観点の関連性を表すスコアが算出される。ここで、
図9を用いて学習処理の具体的な処理内容について説明する。
【0103】
学習部601は、参照文書の各段落(ブロック)に含まれる単語rxi,l,kを単語表現rei,l,kに変換する(P903)。具体的には、式(2)に示すように、one-hot表現に対応する単語の分散表現である行列Eを単語rxi,l,kに作用させることによって、単語表現rei,l,kが得られる。
【0104】
【0105】
学習部601は、式(3)に示すように、Recurrent Neural Network(RNN)を単語表現rei,l,kにkの順番で適用して、段落の表現rui,l,kを算出する(P904)。ここで、kは式(4)で示す範囲である。
【0106】
【0107】
【0108】
なお、RNNの代わりに、LSTM(Long Short-Term Memory)及びGRU(Gated Recurrent Unit)、BERT(Bidirectional Encoder Representation from Transformers)等を用いてもよい。
【0109】
学習部601は、式(5)に示すように、RNNを表現rui,l,Nilにlの順番で適用して、段落表現rhi,lを算出する(P905)。ここで、lは式(6)で示す範囲である。
【0110】
【0111】
【0112】
学習部601は、各段落の検索クエリに含まれるキーワードのヒット回数si,lに基づいて、式(7)から式(9)の演算処理を実行して、観点ベクトルv~
iを算出する(P906)。
【0113】
【0114】
【0115】
【0116】
なお、ここでは、参照文書の各段落に対する検索クエリに含まれるキーワードのヒット回数を重みとして用いたが、検索クエリに含まれるキーワードに合致するか否かを示す二値、検索クエリに含まれるキーワードの単語分散表現を用いた類似度等を重みとしてもよい。
【0117】
学習部601は、要約対象文書についても(P903)、(P904)、(P905)の演算処理を実行して、段落表現thi,jを算出する。さらに、学習部601は、要約対象文書の段落表現thi,j及び観点ベクトルv~
iを用いて、式(10)、式(11)の演算処理を実行して、スコアy^i,jを算出する(P907)。
【0118】
【0119】
【0120】
ここで、式(10)の[;]はベクトルの結合を表す。
【0121】
学習部601は、正解ラベルyi,j及びスコアy^i,jが一致するように、既存の学習アルゴリズを用いて、学習対象のパラメータを決定する。学習部601は、決定されたパラメータをモデル情報602に格納する。
【0122】
例えば、学習部601は、最急降下法を用いて、式(12)で示す交差エントロピーLが最小となるようにパラメータを決定する。
【0123】
【0124】
なお、学習部601は、最急降下法の他に、準ニュートン方法、進化的計算、及びマルコフ連鎖モンテカルロ法等を用いてもよい。以上が学習処理の説明である。
【0125】
図10は、実施例2の計算機100が実行する観点抽出処理の一例を説明するフローチャートである。
【0126】
計算機100は、参照文書及(第一参照情報)び検索クエリ(第二参照情報)を入力として受け付けた場合(ステップS1001)、観点抽出部111に観点抽出処理の実行を指示する。
【0127】
観点抽出部111は参照文書をブロックに分割する(ステップS1002)。ステップS1002の処理はステップS202の処理と同一である。
【0128】
観点抽出部111は、ブロックのループ処理を開始する(ステップS1003)。ステップS1003の処理はステップS203の処理と同一である。
【0129】
観点抽出部111は、ターゲットブロックを表現する数値データを算出する(ステップS1004)。ステップS1004の処理はステップS806の処理と同一である。
【0130】
観点抽出部111は、全てのブロックの処理が完了したか否かを判定する(ステップS1005)。
【0131】
全てのブロックの処理が完了していない場合、観点抽出部111は、ステップS1003に戻り、新たなブロックを選択する。
【0132】
全てのブロックの処理が完了した場合、観点抽出部111は、モデル情報602を用いて観点ベクトルv~
iを観点情報として算出する(ステップS1006)。その後、観点抽出部111は観点抽出処理を終了する。観点抽出部111が実行する演算処理は、(P903)、(P904)、(P905)、(P906)と同一の処理である。
【0133】
図11は、実施例2の計算機100が実行する要約対象文書評価処理の一例を説明するフローチャートである。
【0134】
計算機100は、検索クエリ、要約対象文書、及び観点情報を入力として受け付けた場合(ステップS1101)、要約部112に要約対象文書評価処理の実行を指示する。
【0135】
要約部112は要約対象文書をブロックに分割する(ステップS1102)。ステップS1102の処理はステップS202の処理と同一である。
【0136】
要約部112は、ブロックのループ処理を開始する(ステップS1103)。ステップS1103の処理はステップS203の処理と同一である。
【0137】
要約部112は、ターゲットブロックを表現する数値データを算出する(ステップS1104)。ステップS1104の処理はステップS803の処理と同一である。
【0138】
要約部112は、モデル情報602を用いてスコアy^i,jを算出する(ステップS1105)。要約部112が実行する演算処理は、(P903)、(P904)、(P905)、(P907)と同一の処理である。
【0139】
要約部112は、全てのブロックの処理が完了したか否かを判定する(ステップS1106)。
【0140】
全てのブロックの処理が完了していない場合、要約部112は、ステップS1103に戻り、同様の処理を実行する。
【0141】
全てのブロックの処理が完了した場合、要約部112は要約対象文書評価処理を終了する。
【0142】
実施例2の表示部113が実行する処理は実施例1と同一であるため説明を省略する。
【0143】
実施例2によれば、計算機システムは、類似度等の明示的に現れない観点を取り込んだ観点情報を抽出するモデルを学習することによって、精度の高い要約対象文書の要約を生成することができる。
【実施例3】
【0144】
実施例3の計算機システムは、参照文書及び概念検索に基づいて検索された要約対象文書を用いて、要約対象文書の要約を生成する。実施例3では、参照文書が第一参照情報として入力され、要約対象文書が第二参照情報として入力される。
【0145】
実施例3では、第二参照情報として検索クエリ等の追加の情報を用いない点と、段落等のブロック単位の観点情報が生成される点が実施例1と異なる。以下、実施例1との差異を中心に実施例3について説明する。
【0146】
実施例3の計算機システムの構成は、実施例2の計算機システムの構成と同一である。実施例3のモデル生成処理は実施例2と同一である。実施例3の前処理は実施例2と同一である。
【0147】
ただし、実施例3では、アテンション値及びスコアを算出するためのモデルが実施例2と異なる。したがって、実施例3の学習処理は実施例2と異なる。ここで、実施例3のモデルの構造を用いて実施例3の学習処理について説明する。
【0148】
図12は、実施例3の学習処理の対象となるモデルの構造の一例を示す図である。
【0149】
学習部601は、
図12に示すようなニューラルネットワークの学習処理を実行する。上のオブジェクト1201は要約対象文書を示し、下のオブジェクト1202は参照文書を示す。
図12に示すニューラルネットワークでは、アテンション機構のアルゴリズムを用いて参照文書の各ブロックの重要度を示す値(アテンション値)が算出され、さらに、当該値に基づいて要約対象文書の各ブロックにおけるユーザの調査観点の関連性を表すスコアが算出される。
【0150】
学習部601は、参照文書の各段落(ブロック)に含まれる単語rxi,l,kを単語表現rei,l,kに変換する(P1203)。(P1203)は(P903)と同一の演算処理である。
【0151】
学習部601は、RNNを単語表現rei,l,kにkの順番で適用して、段落の表現rui,l,kを算出する(P1204)。(P1204)は(P904)と同一の演算処理である。
【0152】
学習部601は、RNNを表現rui,l,Nilにlの順番で適用して、段落表現rhi,lを算出する(P1205)。(P1205)は(P905)と同一の演算処理である。
【0153】
学習部601は、要約対象文書についても(P1203)、(P1204)、(P1205)の演算処理を実行して、段落表現thi,jを算出する。
【0154】
学習部601は、段落表現rhi,l及び段落表現thi,jを用いたアテンション機構(例えば、非特許文献1を参照)に基づく式(13)から式(18)の演算処理を実行して、要約対象文書のj段落に対する参照文書の観点ベクトルv~
i,jを観点情報として算出する(P1206)。
【0155】
【0156】
【0157】
【0158】
【0159】
【0160】
【0161】
ここで、ai,j,lは要約対象文書のj段落に対する参照文書のl段落のアテンション値を表す。
【0162】
要約対象文書はユーザの調査意図に基づいて特定された文書である。したがって、要約対象文書そのものをユーザの調査観点を含む情報として扱うことができる。アテンション値は、要約対象文書のブロックに含まれるユーザの調査観点に対する、参照文書のブロックの重要度を表す。観点ベクトルv~
i,jは、要約対象文書のブロックに含まれるユーザの調査観点に基づく、参照文書のブロックのベクトル表現である。なお、本実施例では要約対象文書がブロックに分割可能なことを利用して、要約対象文書の段落ごとに異なる観点ベクトルv~
i,jを導入したが、例えば式(13)のthi,jを、thi,jのjに関する平均値に置換することで、実施例2と同様に全ての段落jに共通の観点ベクトルv~
iを設けることも可能である。
【0163】
学習部601は、要約対象文書の段落表現thi,j及び観点ベクトルv~
i,jを用いて、式(19)、式(20)の演算処理を実行して、スコアy^i,jを算出する(P1207)。
【0164】
【0165】
【0166】
ここで、式(10)の[;]はベクトルの結合を表す記号である。
【0167】
学習部601は、正解ラベルyi,j及びスコアy^i,jが一致するように、既存の学習アルゴリズを用いて、学習対象のパラメータを決定する。学習部601は、決定されたパラメータをモデル情報602に格納する。
【0168】
例えば、学習部601は、最急降下法を用いて、式(21)で示す交差エントロピーLが最小となるようにパラメータを決定する。
【0169】
【0170】
なお、学習部601は、最急降下法の他に、準ニュートン方法、進化的計算、及びマルコフ連鎖モンテカルロ法等を用いてもよい。
【0171】
実施例3の観点抽出処理は、実施例2と同一である。ただし、ステップS1006では、観点抽出部111は、(P1203)、(P1204)、(P1205)、(P1206)の演算処理を実行する。
【0172】
実施例3の要約対象文書評価処理は、実施例2と同一である。ただし、ステップS1105では、要約部112は、(P1203)、(P1204)、(P1205)、(P1207)と同一の処理である。
【0173】
実施例3によれば、計算機システムは、類似度等の検索式に明示的に現れない観点を取り込んだ観点情報を抽出するモデルを用いることによって、精度の高い要約対象文書の要約を生成することができる。また、計算機システムは、類似度等の検索式に明示的に現れない観点を取り込んだ観点情報を抽出するモデルを用いることによって、検索クエリを伴わない概念検索や網羅的な調査においても要約対象文書の要約を生成することができる。
【0174】
実施例1から実施例3では、特許審査を一例として説明したが、本発明は、様々な分野に適用することができる。
【0175】
(適用例1)本発明は、診療報酬の審査支払機関におけるレセプト(診療報酬明細書等)の審査にも活用できる。
【0176】
小児科及び救命救急科等の医科ではしばしばレセプトだけでは診療の正当性が判断しにくい診療報酬請求がある。その場合、レセプトに添付された症状詳記をもとに請求を審査する必要がある。しかし、審査支払機関には膨大な数な請求が行われるため、症状詳記の閲読にはコストがかかるという問題がある。
【0177】
そこで、レセプトに記載の診療行為のうち、特に重要な(妥当性が疑わしい)診療行為に条件づけて症状詳記を要約することで症状詳記の閲読を効率化することができる。このとき、参照文書はレセプト、要約対象文書は症状詳記となる。観点情報を算出するために、参照文書(第一参照情報)とともに入力される第二参照情報としては、過去の審査において差戻及び査定された診療行為の記録、並びに、診療のガイドラインを用いることができる。
【0178】
(適用例2)本発明は、学術論文執筆時における先行研究調査にも活用できる。
【0179】
学術論文の公開にあたっては、先行研究に対する該論文の位置づけを明確にすることが知識の共有のために重要である。しかし、近年公開される論文の数が増大するにつれて先行研究調査が研究活動に占める工数が問題となっている。
【0180】
そこで、先行研究を執筆論文原稿に条件づけて要約することで、先行研究の閲読を効率することができる。このとき、参照文書は執筆中の論文原稿、要約対象文書は先行研究の論文となる。観点情報を算出するために、参照文書(第一参照情報)とともに入力される第二参照情報としては、先行研究調査における検索式等を用いることができる。
【0181】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0182】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0183】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0184】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0185】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0186】
100 計算機
101 プロセッサ
102 メモリ
103 ネットワークインタフェース
111 観点抽出部
112 要約部
113 表示部
120 ネットワーク
400、500 GUI
601 学習部
602 モデル情報