JP7272060B2 - 生成方法、学習方法、生成プログラム、及び生成装置 - Google Patents

生成方法、学習方法、生成プログラム、及び生成装置 Download PDF

Info

Publication number
JP7272060B2
JP7272060B2 JP2019068553A JP2019068553A JP7272060B2 JP 7272060 B2 JP7272060 B2 JP 7272060B2 JP 2019068553 A JP2019068553 A JP 2019068553A JP 2019068553 A JP2019068553 A JP 2019068553A JP 7272060 B2 JP7272060 B2 JP 7272060B2
Authority
JP
Japan
Prior art keywords
word
time
decoder
encoder
hidden state
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.)
Active
Application number
JP2019068553A
Other languages
English (en)
Other versions
JP2020166735A (ja
Inventor
拓哉 牧野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019068553A priority Critical patent/JP7272060B2/ja
Priority to US16/830,364 priority patent/US20200311350A1/en
Publication of JP2020166735A publication Critical patent/JP2020166735A/ja
Application granted granted Critical
Publication of JP7272060B2 publication Critical patent/JP7272060B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、生成方法、学習方法、生成プログラム、及び生成装置に関する。
新聞やWebサイト、電光掲示板などの文書から要約文を生成する自動要約にニューラルネットワークなどの機械学習が利用されることがある。例えば、入力文をベクトル化するRNN(Recurrent Neural Networks)エンコーダと、入力文のベクトルを参照して要約文の単語の生成を繰り返すRNNデコーダとが接続されたモデルが要約文の生成に用いられる。
この他、RNNとPointer機能を組み合わせることにより、RNNデコーダが要約文の単語を出力する際、入力文の単語を要約文の単語としてコピーすることができるPointer-Generatorも提案されている(Pointer Generator Networks)。
特開2009-48472号公報 特開2011-243166号公報
Abigail See, Peter J. Liu, Christopher D. Manning "Get To The Point: Summarization with Pointer-Generator Networks" ACL 2017
しかしながら、上記の技術では、依然として、未知語を適切な表現で要約文へ含めることが困難である。
あくまで一例として、Pointer-Generatorが組み合わされる場合の失敗事例を1つ挙げる。例えば、「Xxxxxx.com」といったフレーズの未知語が入力文に含まれる場合、未知語のフレーズのうち「.」だけが入力文から要約文の単語としてコピーされる事態が起こり得る。このように、入力文の未知語のフレーズのうち途中の単語だけが要約文の単語としてコピーされる結果、人にとって違和感のある要約文が生成されてしまう場合がある。
1つの側面では、本発明は、未知語を適切な表現で要約文へ含めることができる生成方法、学習方法、生成プログラム、及び生成装置を提供することを目的とする。
一態様では、入力文を取得し、前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、前記エンコーダにより出力される隠れ状態をデコーダへ入力し、前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、1つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出し、前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布を算出し、前記第1の確率分布および前記第2の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、処理をコンピュータが実行する。
未知語を適切な表現で要約文へ含めることができる。
図1は、実施例1に係るシステムに含まれる各装置の機能的構成を示すブロック図である。 図2は、記事要約ツールのユースケースの一例を示す図である。 図3は、モデル学習の一例を示す図である。 図4は、要約文生成の一例を示す図である。 図5は、入力文の一例を示す図である。 図6Aは、要約文の一例を示す図である。 図6Bは、要約文の一例を示す図である。 図7は、実施例1に係る学習処理の手順を示すフローチャートである。 図8は、実施例1に係る生成処理の手順を示すフローチャートである。 図9は、コンピュータのハードウェア構成例を示す図である。
以下に添付図面を参照して本願に係る生成方法、学習方法、生成プログラム、及び生成装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
図1は、実施例1に係るシステムに含まれる各装置の機能的構成を示すブロック図である。図1に示すシステム1では、学習用入力文および正解要約文を含む学習データを用いてモデルの機械学習を行う機械学習サービス、並びに、学習済みモデルを用いて入力文から要約文を生成する要約生成サービスが提供される。
図1に示すように、システム1には、学習装置10と、生成装置30とが含まれ得る。学習装置10で学習したモデルを受け取った生成装置30は、与えられた入力文に対応する要約文を生成する。
学習装置10は、上記の機械学習サービスを提供するコンピュータの一例に対応する。別の計算機に学習装置10と生成装置30を配置する際は、ネットワーク通信を介して、モデルを渡す。
一実施形態として、学習装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の機械学習サービスを実現する学習プログラムを任意のコンピュータにインストールさせることによって実装できる。このようにインストールされた学習プログラムをコンピュータに実行させることにより、コンピュータを学習装置10として機能させることができる。
あくまで一例として、学習装置10は、生成装置30をクライアントとして収容し、当該クライアントに上記の機械学習サービスを提供するサーバ装置として実装することができる。この場合、学習装置10は、上記の機械学習サービスを提供するサーバとしてオンプレミスに実装することとしてもよいし、上記の機械学習サービスをアウトソーシングで提供するクラウドとして実装することとしてもかまわない。
例えば、学習装置10は、複数の学習サンプルを含む学習データ、または、学習データをネットワーク通信もしくは記憶メディアを介して呼び出すことができる識別情報を入力とし、モデルの学習結果を生成装置30へ出力する。このとき、学習装置10は、一例として、RNNエンコーダ及びRNNデコーダが接続されたニューラルネットワークのモデルのパラメータを提供することができる。この他、学習装置10は、学習済みモデルを用いて実現される要約文の生成が機能として組み込まれたアプリケーションプログラムを提供することもできる。例えば、新聞や電光掲示板、Webサイトなどの各種の記事の原文から記事の見出しを要約文として生成したり、あるいは記事の原文から速報の記事を要約文として生成したりするアプリケーションプログラムを提供することができる。
この他、上記の機械学習サービスの提供形態は、あくまで一例に過ぎず、上記に挙げる例以外の提供形態で機械学習サービスが提供されることを妨げない。例えば、上記の機械学習サービスを実現する学習プログラムそのものをパッケージソフトウェアやオンラインソフトウェアとして提供することとしてもよいし、上記の学習プログラムが導入されたコンピュータを提供することとしてもかまわない。
生成装置30は、上記の要約生成サービスを提供するコンピュータの一例に対応する。
一実施形態として、生成装置30は、パッケージソフトウェアやオンラインソフトウェアとして上記の要約生成サービスを実現する生成プログラムを任意のコンピュータにインストールさせることによって実装できる。このようにインストールされた生成プログラムをコンピュータに実行させることにより、コンピュータを生成装置30として機能させることができる。
あくまで一例として、上記の要約生成サービスは、新聞や電光掲示板、Webサイトなどの各種のメディアを運営するメディア事業者向けに提供されるWebサービスのツールの1つ、例えば「記事要約ツール」として提供することができる。この場合、上記のWebサービスとして提供される機能のうち、原文の入力や要約文の表示等のフロントエンドの機能が記者や編集者等の端末装置に実装されると共に、要約文の生成などのバックエンドの機能が生成装置30に実装されることとしてもかまわない。
[記事要約ツールのユースケースの一例]
図2は、記事要約ツールのユースケースの一例を示す図である。図2には、メディア事業者の関係者により使用される端末装置に表示される記事要約画面20の遷移の一例が示されている。
図2に示す記事要約画面20Aは、各種の項目に対する入力が設定されていない初期状態で表示された画面の一例である。例えば、記事要約画面20Aには、原文入力エリア21、要約表示エリア22、プルダウンメニュー23、要約ボタン24、クリアボタン25などのGUI(Graphical User Interface)コンポーネントが含まれる。このうち、原文入力エリア21は、記事等の原文を入力するエリアに対応する。また、要約表示エリア22は、原文入力エリア21に入力された原文に対応する要約文を表示するエリアに対応する。また、プルダウンメニュー23は、要約文の上限文字数を指定するGUIコンポーネントの一例に対応する。また、要約ボタン24は、原文入力エリア21に入力された原文に対応する要約文を生成するコマンドの実行を受け付けるGUIコンポーネントの一例に対応する。また、クリアボタン25は、原文入力エリア21に入力された原文のテキストをクリアするGUIコンポーネントの一例に対応する。
図2に示すように、記事要約画面20Aの原文入力エリア21では、図示しないキーボード等の入力デバイスを介してテキストの入力を受け付けることができる。このように入力デバイスを介してテキストの入力を受け付ける他、原文入力エリア21では、ワープロソフトなどのアプリケーションにより作成された文書のファイルからテキストをインポートすることができる。
このように原文入力エリア21に原文のテキストが入力されることにより、端末装置の表示は、記事要約画面20Aから記事要約画面20Bへ遷移する(ステップS1)。例えば、原文入力エリア21に原文のテキストが入力された場合、要約ボタン24に対する操作を介して要約文を生成するコマンドの実行を受け付けることができる。また、クリアボタン25に対する操作を介して原文入力エリア21に入力されたテキストをクリアすることもできる。この他、プルダウンメニュー23を介して、複数の上限文字数の中からメディア事業者の関係者が希望する上限文字数の指定を受け付けることもできる。ここでは、新聞やニュースの記事の原文から電光掲示板の速報を要約文として生成する場面の一例として、電光掲示板に表示可能な上限文字数の一例に対応する80文字が指定された例が示されている。これはあくまで一例であり、新聞やWebサイトの記事から見出しを生成する場合、見出しに対応する上限文字数を選択することができる他、必ずしも上限文字数は指定されずともかまわない。
そして、原文入力エリア21に原文のテキストが入力された状態で要約ボタン24に対する操作が行われた場合、端末装置の表示は、記事要約画面20Bから記事要約画面20Cへ遷移する(ステップS2)。この場合、原文入力エリア21に入力された原文のテキストが入力文として学習済みモデルに入力されることによりその要約文が生成される。この要約文の生成は、メディア事業者の関係者の端末装置上で実行されることとしてもよいし、あるいはバックエンドのサーバ装置で実行されることとしてもかまわない。このように要約文が生成された後、記事要約画面20Cの要約表示エリア22には、学習済みモデルにより生成された要約文が表示される。
このように記事要約画面20Cの要約表示エリア22に表示された要約文のテキストには、図示しない入力デバイス等を介して編集を行うことができる。
以上のような記事要約ツールが提供されることで、記者や編集者等により行われる記事要約の作業を軽減することが可能になる。例えば、記事要約の作業は、メディアにニュースを配信するプロセス、例えば「配信記事の選定」や「メディア編集システムへの送信」、「記事要約」、「見出し作成」、「校閲」などの中でも相対的に労力が大きいという側面がある。例えば、記事要約が人手により行われる場合、記事の全体から重要な情報を選別し、文章を再構成するといった作業が必要となる。このことから、記事要約の作業が自動化または半自動化される技術的意義は大きい。
なお、ここでは、あくまで一例として、メディア事業者の関係者により記事要約ツールが利用されるユースケースを例に挙げたが、メディア事業者から記事の配信を受ける視聴者により記事要約ツールが利用されることとしてもかまわない。例えば、スマートスピーカ等で記事の全文を読み上げる代わりに要約文を読み上げる機能として記事要約ツールを利用することができる。
また、ここでは、あくまで一例として、生成装置30が上記の要約生成サービスを提供するコンピュータとして実装される例を挙げたが、これに限定されない。例えば、上記の学習済みモデルが組み込まれた生成プログラムが任意のコンピュータ、例えば記者や編集者等の端末装置で実行されるスタンドアローンのアプリケーションプログラムとして実装されることとしてもよい。
さらに、ここでは、上記の機械学習サービス及び上記の要約生成サービスが異なる事業主体で実行される例を挙げたが、これら2つのサービスが同一の事業者により提供されることとしてもかまわない。この場合、上記の学習プログラム及び上記の生成プログラムが同一のコンピュータもしくはコンピュータシステムにより実行されることとしてもかまわない。
[Pointer-Generator]
上記の学習装置10及び上記の生成装置30では、Pointer-Generatorが用いられる。このように、Pointer-Generatorは、RNNデコーダが要約文の単語を出力する際、入力文の単語を要約文の単語としてコピーすることができる。
[課題の一側面]
上記の背景技術の欄でも説明した通り、Pointer-Generatorであっても、依然として、未知語を適切な表現で要約文へ含めることが困難である。
例えば、「Xxxxxx.com」といったフレーズの未知語が入力文に含まれる場合、未知語のフレーズのうち「.」だけが入力文から要約文の単語としてコピーされる失敗事例が発生し得る。このように、入力文の未知語のフレーズのうち途中の単語だけが要約文の単語としてコピーされる結果、人にとって違和感のある要約文が生成されてしまう場合がある。
[課題解決のアプローチの一側面]
そこで、本実施例では、入力文の単語と固有表現のラベルで更新が繰り返された隠れ状態が入力されたデコーダで隠れ状態を1時刻前の単語と固有表現のラベルで更新しつつアテンション分布とボキャブラリ分布を算出して要約文の単語を出力する。
ここで言う「アテンション分布」とは、入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされる確率が算出された確率分布のことを指す。さらに、「ボキャブラリ分布」とは、モデルの辞書に含まれる単語ごとに当該単語が要約文の単語として生成される確率が算出された確率分布のことを指す。
これらアテンション分布及びボキャブラリ分布の算出には、デコーダが出力する要約文の単語列に対応する時刻ごとに1時刻前の単語と固有表現のラベルを足し合わせる更新が繰り返された隠れ状態が用いられる。
例えば、固有表現の単語には、あくまで例示として、B-XXXやI-XXXといったラベルが付与される一方で、固有表現でない単語には「OTHER」というラベルが付与される。なお、XXXの部分には、固有表現のカテゴリ、例えばCOUNTRYやORGANIZATIONなどが入る。
このように、NEラベルのベクトルを含む隠れ状態がアテンション分布及びボキャブラリ分布の算出に用いられることで、従来のPointer-Generatorではコピーに失敗する事例でもその失敗を回避できる可能性が高まる。すなわち、「Xxxxxx.com」といった固有表現のフレーズのうち固有表現の先頭でない単語「.」だけを抜粋して要約文の単語としてコピーされやすくなるアテンション分布が算出される事態を抑制できる。
さらに、RNNモデルの辞書にない未知語の大半が固有表現である可能性が高い。すなわち、膨大な語彙数のコーパスであっても固有名詞を始め、時間表現や数量、パーセンテージなどの数値表現を含む固有表現を網羅するのは困難である一方で、その他の単語の網羅は固有表現に比べれば容易であるからである。このため、入力文に含まれる固有表現を適切にコピーすることができれば、入力文に含まれる未知語の大半を適切にコピーすることができると予想できる。
したがって、本実施例によれば、未知語を適切な表現で要約文へ含めることが可能になる。
[学習装置10の構成]
図1に示すように、学習装置10は、学習データ記憶部11と、モデル記憶部12と、取得部13と、固有表現抽出部15と、エンコーダ実行部16Eと、デコーダ実行部16Dと、算出部17と、損失計算部18と、更新部19とを有する。なお、学習装置10は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
図1に示す取得部13、固有表現抽出部15、エンコーダ実行部16E、デコーダ実行部16D、算出部17、損失計算部18及び更新部19などの機能部は、あくまで例示として、下記のハードウェアプロセッサにより仮想的に実現される。このようなプロセッサの例として、DLU(Deep Learning Unit)を始め、GPGPU(General-Purpose computing on Graphics Processing Units)やGPUクラスタなどが挙げられる。この他、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などが挙げられる。すなわち、プロセッサがRAM(Random Access Memory)等のメモリ上に上記学習プログラムをプロセスとして展開することにより、上記の機能部が仮想的に実現される。ここでは、プロセッサの一例として、DLUやGPGPU、GPUクラスタ、CPU、MPUを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されることを妨げない。
また、図1に示す学習データ記憶部11及びモデル記憶部12などには、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などの記憶装置を採用できる。なお、記憶装置は、必ずしも補助記憶装置でなくともよく、各種の半導体メモリ素子、例えばRAM、EPPROMやフラッシュメモリなども採用できる。
学習データ記憶部11は、学習データを記憶する記憶部である。ここで、学習データには、一例として、J個の学習サンプル、いわゆる学習事例が含まれる。さらに、学習サンプルには、モデル学習に用いる入力文および正解の要約文のペアが含まれる。以下、モデルの学習時および要約文の生成時に入力される入力文のラベルを識別する側面から前者のことを「学習用入力文」と記載する場合がある。これはあくまでラベルの識別に過ぎず、両者が入力文の一例に対応することに変わりはない。さらに、モデルの学習時に正解として参照される要約文および入力文から生成される要約文のラベルを識別する側面から前者のことを「正解要約文」と記載する場合がある。
モデル記憶部12は、モデルに関する情報を記憶する記憶部である。
一実施形態として、モデル記憶部12には、RNNエンコーダ及びRNNデコーダが接続されたニューラルネットワークのモデルを形成する入力層、隠れ層及び出力層の各層のニューロンやシナプスなどのモデルの層構造を始め、各層の重みやバイアスなどのモデルのパラメータを含むモデル情報が記憶される。ここで、モデル学習が実行される前の段階では、モデル記憶部12には、モデルのパラメータの一例として、乱数により初期設定されたパラメータが記憶される。また、モデル学習が実行された後の段階では、モデル記憶部12には、学習済みモデルのパラメータが保存される。
取得部13は、学習サンプルを取得する処理部である。
一実施形態として、取得部13は、モデル学習のリクエストを受け付けた場合に処理を起動する。この場合、取得部13は、モデル学習の初期設定を行う。例えば、取得部13は、学習サンプルをカウントするループカウンタjの値を初期化する。続いて、取得部13は、学習データ記憶部11に記憶されたJ個の学習サンプルのうちループカウンタjに対応する学習サンプルを取得する。その後、取得部13は、ループカウンタjをインクリメントし、ループカウンタjの値が学習サンプルの総数Jと等しくなるまで、学習データ記憶部11から学習サンプルを取得する処理を繰り返し実行する。
なお、ここでは、学習装置10内部ストレージに保存された学習データを取得する例を挙げたが、学習データの情報ソースは内部ストレージに限定されない。例えば、外部のコンピュータ、例えばファイルサーバの他、リムーバブルメディア等から学習データが取得されることとしてもかまわない。また、ここでは、モデルが生成する要約文に上限文字数を設けない例を挙げたが、要約文の生成時に上限文字数を設定することとしてもかまわない。
固有表現抽出部15は、固有表現を抽出する処理部である。
一実施形態として、固有表現抽出部15は、学習サンプルに含まれる学習用入力文や正解要約文から固有表現を抽出する。例えば、固有表現抽出部15は、学習用入力文や正解要約文のテキストに形態素解析を実行する。この形態素解析の結果を用いて、固有表現抽出部15は、学習用入力文や正解要約文のテキストに含まれる単語ごとに当該単語の位置に対応する固有表現(NE:Named Entity)に関するラベルを付与するラベリング処理を実行する。以下、固有表現のラベルのことをNEラベルと記載する場合がある。例えば、入力文の単語列のうち、固有表現の単語には、あくまで例示として、B-XXXやI-XXXといったラベルが付与される一方で、固有表現でない単語には「OTHER」というラベルが付与される。なお、XXXの部分には、固有表現のカテゴリ、例えばCOUNTRYやORGANIZATIONなどが入る。このラベリング処理には、任意の固有表現抽出のエンジンを用いることができ、オープンソースのソフトウェアであってかまわない。
エンコーダ実行部16Eは、RNNエンコーダを実行する処理部である。下記のLSTMは、「Long Short-Term Memory」の略称である。
一実施形態として、エンコーダ実行部16Eは、モデル記憶部12に記憶されたモデル情報にしたがって、学習用入力文の単語数Mに対応するM個のLSTMのセルをワークエリア上に展開する。これによって、M個のLSTMのセルをRNNエンコーダとして機能させる。以下、学習用入力文の単語列に対応するエンコーダ時刻のことを時系列に、t、t、t、・・・、tと識別し、エンコーダ時刻tに対応するLSTMのセルのことを「LSTM16E-t」と識別することとする。
例えば、エンコーダ実行部16Eは、学習用入力文の先頭の単語から順に、単語列の先頭からm番目の単語やその単語に付与されたNEラベルをベクトル化し、m番目の単語のベクトル及びNEラベルのベクトルをLSTM16E-tへ入力する。さらに、エンコーダ実行部16Eは、LSTM16E-tm-1により出力される出力、例えばエンコーダ時刻tm-1の隠れ状態をLSTM16E-tへ入力する。これらm番目の単語のベクトル、NEラベルのベクトル及びエンコーダ時刻tm-1の隠れ状態が入力されたLSTM16E-tは、エンコーダ時刻tm-1の隠れ状態にm番目の単語のベクトル及びNEラベルのベクトルを足し合わせることにより、エンコーダ時刻tm-1の隠れ状態をエンコーダ時刻tの隠れ状態へ更新する。これによって、学習用入力文の先頭の単語に対応するLSTMのセルから末尾であるM番目の単語に対応するLSTMのセルまで隠れ状態、いわゆる文脈ベクトルの更新が繰り返される。このようにRNNエンコーダにより生成された学習用入力文の隠れ状態がRNNデコーダへ入力される。
デコーダ実行部16Dは、RNNデコーダを実行する処理部である。
一実施形態として、デコーダ実行部16Dは、モデル記憶部12に記憶されたモデル情報にしたがって、正解要約文の単語数Nに対応するN個のLSTMのセルをワークエリア上に展開する。これによって、N個のLSTMのセルをRNNデコーダとして機能させる。以下、正解要約文の単語列に対応するデコーダ時刻のことを時系列に、T、T、T、・・・、Tと識別し、デコーダ時刻Tに対応するLSTMのセルのことを「LSTM16D-T」と識別することとする。
まず、デコーダ実行部16Dは、単語の文頭記号、例えば<START>およびNEラベルの文頭記号、例えば<NESTART>をベクトル化する。その上で、デコーダ実行部16Dは、単語の文頭記号のベクトル及びNEラベルの文頭記号のベクトルと共にRNNエンコーダのLSTM16E-tにより出力された隠れ状態を正解要約文の先頭の単語に対応するLSTM16D-Tに入力する。これによって、LSTM16D-Tでは、LSTM16E-tにより出力された隠れ状態に単語の文頭記号のベクトル及びNEラベルの文頭記号のベクトルを足し合わせることにより、エンコーダ時刻tの隠れ状態をデコーダ時刻Tの隠れ状態へ更新する。
その後、LSTM16D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、各エンコーダ時刻t~tの隠れ状態のベクトルとの間で類似度、例えば内積を計算する。これによって、学習用入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。さらに、LSTM16D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、RNNデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度、例えば内積を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。さらに、LSTM16D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、RNNデコーダがモデルのパラメータとして持つNEラベル生成用の重み行列との間で類似度、例えば内積を計算する。これによって、NEラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Tで選択されるべき度合いがスコア化される。このようにLSTM16D-Tにより更新されたデコーダ時刻Tの隠れ状態は、上記3つのスコアの算出に用いられる他、LSTM16D-Tにも入力される。
以降のLSTMのセル、すなわちLSTM16D-T~LSTM16D-Tにおいても、隠れ状態の更新および上記3つのスコアの算出がLSTM16D-Tと同様に行われる。
すなわち、デコーダ実行部16Dは、デコーダ時刻Tn-1の正解要約文の単語およびデコーダ時刻Tn-1に選択されたデコーダ時刻TのNEラベルをベクトル化する。その上で、デコーダ実行部16Dは、デコーダ時刻Tn-1の正解要約文の単語のベクトルおよびデコーダ時刻TのNEラベルのベクトルと共に、デコーダ時刻Tn-1の隠れ状態をLSTM16D-Tに入力する。その後、LSTM16D-Tは、デコーダ時刻Tn-1の隠れ状態にデコーダ時刻Tn-1の正解要約文の単語のベクトルおよびデコーダ時刻TのNEラベルのベクトルを足し合わせる。これによって、デコーダ時刻Tn-1の隠れ状態がデコーダ時刻Tの隠れ状態へ更新される。
その後、LSTM16D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、各エンコーダ時刻t~tの隠れ状態のベクトルとの間で類似度を計算する。これによって、学習用入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。さらに、LSTM16D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、RNNデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。さらに、LSTM16D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、RNNデコーダがモデルのパラメータとして持つNEラベル生成用の重み行列との間で類似度を計算する。これによって、NEラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Tn+1で選択されるべき度合いがスコア化される。このようにLSTM16D-Tにより更新されたデコーダ時刻Tの隠れ状態は、上記3つのスコアの算出に用いられる他、LSTM16D-Tn+1にも入力される。
このようにN個のLSTMのセルを動作させることにより、N個のLSMTのセルごとに、学習用入力文の単語別のスコアおよびモデルの辞書の単語別のスコアが得られる。
算出部17は、各種の確率分布を算出する処理部である。
1つの側面として、算出部17は、LSTM16D-Tにより学習用入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化された場合、各単語のスコアの総和が「1」になるように各単語のスコアを正規化する。これによって、学習用入力文の各単語のコピースコアが学習用入力文の各単語のコピー確率へ正規化される。この結果、デコーダ時刻Tにおけるアテンション分布が獲得される。
他の側面として、算出部17は、LSTM16D-Tによりモデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化された場合、各単語のスコアの総和が「1」になるように各単語のスコアを正規化する。これによって、モデルの辞書の各単語の生成スコアがモデルの辞書の各単語の生成確率へ正規化される。この結果、デコーダ時刻Tにおけるボキャブラリ分布が獲得される。
このように得られたアテンション分布及びボキャブラリ分布が線形結合される。例えば、アテンション分布及びボキャブラリ分布のいずれの分布にも共通して存在する単語では、コピー確率および生成確率が足し合わされることにより合成確率が計算される。また、アテンション分布及びボキャブラリ分布のうち一方の分布に存在する単語では、他方のコピー確率または生成確率をゼロとし、一方のコピー確率または生成確率が足し合わされることにより合成確率が計算される。その上で、学習用入力文およびモデルの辞書の各単語の合成確率の総和が「1」になるように各単語の合成確率が正規化される。これによって、デコーダ時刻Tにおける最終分布が獲得される。
更なる側面として、算出部17は、LSTM16D-TによりNEラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Tn+1で選択されるべき度合いがスコア化された場合、NEラベルの各カテゴリの総和が「1」になるように各カテゴリのスコアを正規化する。これによって、NEラベルの各カテゴリの選択スコアがNEラベルの各カテゴリの選択確率へ正規化される。この結果、デコーダ時刻Tn+1におけるNEカテゴリ分布が獲得される。
損失計算部18は、損失を計算する処理部である。
一実施形態として、損失計算部18は、算出部17によりデコーダ時刻Tにおける最終分布が算出された場合、デコーダ時刻Tにおける最終分布と、デコーダ時刻Tにおける正解要約文の単語との間で第1の損失を計算する。さらに、損失計算部18は、デコーダ時刻TにおけるNEカテゴリ分布と、デコーダ時刻Tにおける正解要約文の単語が持つNEラベルとの間で第2の損失を計算する。
更新部19は、モデルのパラメータを更新する処理部である。
一実施形態として、更新部19は、損失計算部18によりRNNデコーダのN個のLSTMのセルごとに第1の損失および第2の損失が計算された場合、各LSTMのセルにおける第1の損失および第2の損失に基づいて対数尤度の最適化を実行する。これによって、RNNのモデルを更新するパラメータを算出する。その上で、更新部19は、モデル記憶部12に記憶されたモデルのパラメータを対数尤度の最適化により求められたパラメータに更新する。このパラメータの更新は、全ての学習サンプルにわたって繰り返し実行すると共に、学習データJについても所定のエポック数にわたって繰り返し実行することができる。
[モデル学習の具体例]
図3は、モデル学習の一例を示す図である。図3には、学習サンプルに含まれる学習用入力文の一例として、“Germany win against Argentina”が取得される場合の例が示されている。さらに、図3には、学習サンプルに含まれる正解要約文の一例として、“Germany beat Argentina”が取得される例が示されている。この場合、図3に示すように、エンコーダ実行部16Eは、学習用入力文の単語数「4」に対応する4個のLSTM16E-t~LSTM16E-tをワークエリア上に展開する。
(1.1)エンコーダ時刻tの動作
続いて、エンコーダ実行部16Eは、学習用入力文の先頭の単語“Germany”をベクトル化すると共に当該単語“Germany”に付与されたNEラベル<B-COUNTRY>をベクトル化する。そして、エンコーダ実行部16Eは、先頭の単語“Germany”のベクトル及びNEラベル<B-COUNTRY>のベクトルと共に、隠れ状態のベクトルの初期値hをLSTM16E-tへ入力する。すると、LSTM16E-tは、初期値の隠れ状態hのベクトルに先頭の単語“Germany”のベクトル及びNEラベル<B-COUNTRY>のベクトルを足し合わせることにより、初期値の隠れ状態hをエンコーダ時刻tの隠れ状態hへ更新する。このように更新されたエンコーダ時刻tの隠れ状態hがLSTM16E-tからLSTM16E-tへ入力される。
(1.2)エンコーダ時刻tの動作
次に、エンコーダ実行部16Eは、学習用入力文の先頭から2番目の単語“win”をベクトル化すると共に当該単語“win”に付与されたNEラベル<OTHER>をベクトル化する。その上で、エンコーダ実行部16Eは、2番目の単語“win”のベクトル及びNEラベル<OTHER>のベクトルをLSTM16E-tへ入力する。すると、LSTM16E-tは、エンコーダ時刻tの隠れ状態hのベクトルに2番目の単語“win”のベクトル及びNEラベル<OTHER>のベクトルを足し合わせることにより、エンコーダ時刻tの隠れ状態hをエンコーダ時刻tの隠れ状態hへ更新する。このように更新されたエンコーダ時刻tの隠れ状態hがLSTM16E-tからLSTM16E-tへ入力される。
(1.3)エンコーダ時刻tの動作
続いて、エンコーダ実行部16Eは、学習用入力文の先頭から3番目の単語“against”をベクトル化すると共に当該単語“against”に付与されたNEラベル<OTHER>をベクトル化する。その上で、エンコーダ実行部16Eは、3番目の単語“against”のベクトル及びNEラベル<OTHER>のベクトルをLSTM16E-tへ入力する。すると、LSTM16E-tは、エンコーダ時刻tの隠れ状態hのベクトルに3番目の単語“against”のベクトル及びNEラベル<OTHER>のベクトルを足し合わせることにより、エンコーダ時刻tの隠れ状態hをエンコーダ時刻tの隠れ状態hへ更新する。このように更新されたエンコーダ時刻tの隠れ状態hがLSTM16E-tからLSTM16E-tへ入力される。
(1.4)エンコーダ時刻tの動作
最後に、エンコーダ実行部16Eは、学習用入力文の先頭から4番目の単語“Argentina”をベクトル化すると共に当該単語“Argentina”に付与されたNEラベル<OTHER>をベクトル化する。その上で、エンコーダ実行部16Eは、4番目の単語“Argentina”のベクトル及びNEラベル<OTHER>のベクトルをLSTM16E-tへ入力する。すると、LSTM16E-tは、エンコーダ時刻tの隠れ状態hのベクトルに4番目の単語“Argentina”のベクトル及びNEラベル<OTHER>のベクトルを足し合わせることにより、エンコーダ時刻tの隠れ状態hをエンコーダ時刻tの隠れ状態hへ更新する。このように更新されたエンコーダ時刻tの隠れ状態hがRNNエンコーダからRNNデコーダへ入力される。
このように、先頭のLSTM16E-tから末尾のLSTM16E-tまで隠れ状態、いわゆる文脈ベクトルがh、h、h、h、hの順に更新が繰り返される。
(2)デコーダ時刻Tの動作
図3には、デコーダ時刻TにおけるLSTM16D-Tの動作例が示されている。図3に示すように、LSTM16D-Tには、LSTM16D-Tによりエンコーダ時刻tの隠れ状態hから更新されたデコーダ時刻Tの隠れ状態Hが入力される。さらに、LSTM16D-Tには、デコーダ時刻Tの正解要約文の単語“Germany”のベクトルおよびデコーダ時刻Tに選択されたデコーダ時刻TのNEラベル<B-COUNTRY>のベクトルが入力される。その後、LSTM16D-Tは、デコーダ時刻Tの隠れ状態Hにデコーダ時刻Tの正解要約文の単語“B-COUNTRY”のベクトルおよびデコーダ時刻TのNEラベル<B-COUNTRY>のベクトルを足し合わせる。これによって、デコーダ時刻Tの隠れ状態Hがデコーダ時刻の隠れ状態Hへ更新される。
ここで、LSTM16D-Tは、デコーダ時刻Tの隠れ状態Hのベクトルと、各エンコーダ時刻t~tの隠れ状態h~hのベクトルとの間で類似度を計算する。これによって、学習用入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。続いて、算出部17は、学習用入力文の各単語のスコアの総和が「1」になるように各単語のスコアを正規化する。これによって、学習用入力文の各単語のコピースコアがコピー確率へ正規化される。この結果、デコーダ時刻Tにおけるアテンション分布D1が獲得される。
さらに、LSTM16D-Tは、デコーダ時刻Tの隠れ状態Hのベクトルと、RNNデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。続いて、算出部17は、モデルの辞書の各単語のスコアの総和が「1」になるように各単語のスコアを正規化する。これによって、モデルの辞書の各単語の生成スコアがモデルの辞書の各単語の生成確率へ正規化される。この結果、デコーダ時刻Tにおけるボキャブラリ分布D2が獲得される。
これらアテンション分布D1及びボキャブラリ分布D2が線形結合されることにより、デコーダ時刻Tにおける最終分布D3が獲得される。その後、損失計算部18は、デコーダ時刻Tにおける最終分布D3と、デコーダ時刻Tにおける正解要約文の単語“beat”との間で第1の損失を計算する。さらに、損失計算部18は、デコーダ時刻Tの時点で計算されたデコーダ時刻TのNEカテゴリ分布と、デコーダ時刻Tにおける正解要約文の単語が持つNEラベル<B-COUNTRY>との間で第2の損失を計算する。これら第1の損失および第2の損失がデコーダ時刻Tの損失としてモデルのパラメータの更新に用いられる。
[生成装置30の構成]
図1に示すように、生成装置30は、取得部31と、固有表現抽出部35と、エンコーダ実行部36Eと、デコーダ実行部36Dと、算出部37と、生成部38とを有する。なお、生成装置30は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
図1に示す取得部31、固有表現抽出部35、エンコーダ実行部36E、デコーダ実行部36D、算出部37および生成部38などの機能部は、あくまで例示として、下記のハードウェアプロセッサにより仮想的に実現される。このようなプロセッサの例として、DLUを始め、GPGPUやGPUクラスタなどが挙げられる。この他、CPU、MPUなどが挙げられる。すなわち、プロセッサがRAM等のメモリ上に上記の生成プログラムをプロセスとして展開することにより、上記の機能部が仮想的に実現される。ここでは、プロセッサの一例として、DLUやGPGPU、GPUクラスタ、CPU、MPUを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部は、ASICやFPGAなどのハードワイヤードロジックによって実現されることを妨げない。
また、図1に示す各機能部が参照または登録を行う記憶部には、HDD、光ディスクやSSDなどの記憶装置を採用できる。なお、記憶装置は、必ずしも補助記憶装置でなくともよく、各種の半導体メモリ素子、例えばRAM、EPPROMやフラッシュメモリなども採用できる。
取得部33は、入力文を取得する処理部である。
一実施形態として、取得部33は、要約文生成のリクエストを受け付けた場合に処理を起動する。このように処理が起動されると、取得部33は、要約文生成の対象とする入力文を取得する。この入力文の情報ソースは任意であってかまわない。例えば、入力文は生成装置30の内部ストレージから取得されることしてもよいし、また、図示しない外部コンピュータ、例えばユーザ端末やファイルサーバの他、リムーバブルメディア等から入力文が取得されることとしてもかまわない。
固有表現抽出部35は、固有表現を抽出する処理部である。
一実施形態として、固有表現抽出部35は、取得部33により取得された入力文や生成部38により生成される要約文から固有表現を抽出する。例えば、固有表現抽出部35は、入力文や要約文のテキストに形態素解析を実行する。この形態素解析の結果を用いて、固有表現抽出部35は、固有表現抽出部15と同様、入力文や要約文のテキストに含まれる単語ごとに当該単語の位置に対応するNEラベルを付与するラベリング処理を実行する。このラベリング処理には、任意の固有表現抽出のエンジンを用いることができ、オープンソースのソフトウェアであってかまわない。
エンコーダ実行部36Eは、RNNエンコーダを実行する処理部である。
一実施形態として、エンコーダ実行部36Eは、モデル記憶部12に記憶された学習済みのモデル情報にしたがって、取得部33により取得された入力文の単語数Kに対応するK個のLSTMのセルをワークエリア上に展開する。これによって、K個のLSTMのセルをRNNエンコーダとして機能させる。以下、入力文の単語列に対応するエンコーダ時刻のことを時系列に、t、t、t、・・・、tと識別し、エンコーダ時刻tに対応するLSTMのセルのことを「LSTM36E-t」と識別することとする。
例えば、エンコーダ実行部36Eは、入力文の先頭の単語から順に、単語列の先頭からk番目の単語やその単語に付与されたNEラベルをベクトル化し、k番目の単語のベクトル及びNEラベルのベクトルをLSTM36E-tへ入力する。さらに、エンコーダ実行部36Eは、LSTM36E-tk-1により出力される出力、例えばエンコーダ時刻tk-1の隠れ状態をLSTM36E-tへ入力する。これらk番目の単語のベクトル、NEラベルのベクトル及びエンコーダ時刻tk-1の隠れ状態が入力されたLSTM36E-tは、エンコーダ時刻tk-1の隠れ状態にk番目の単語のベクトル及びNEラベルのベクトルを足し合わせることにより、エンコーダ時刻tk-1の隠れ状態をエンコーダ時刻tの隠れ状態へ更新する。これによって、入力文の先頭の単語に対応するLSTMのセルから末尾であるK番目の単語に対応するLSTMのセルまで隠れ状態、いわゆる文脈ベクトルの更新が繰り返される。このようにRNNエンコーダにより生成された入力文の隠れ状態がRNNデコーダへ入力される。
デコーダ実行部36Dは、RNNデコーダを実行する処理部である。
一実施形態として、デコーダ実行部36Dは、モデル記憶部12に記憶された学習済みのモデル情報にしたがって、文末記号のタグが出力されるまでLSTMのセルをワークエリア上に展開する。これによって、文末記号のタグが出力されるまで展開されたL個のLSTMのセルをRNNデコーダとして機能させる。以下、生成部38により出力される要約文の単語列に対応するデコーダ時刻のことを時系列に、T、T、T、・・・、Tと識別し、デコーダ時刻Tに対応するLSTMのセルのことを「LSTM36D-T」と識別することとする。
まず、デコーダ実行部36Dは、単語の文頭記号、例えば<START>およびNEラベルの文頭記号、例えば<NESTART>をベクトル化する。その上で、デコーダ実行部36Dは、単語の文頭記号のベクトル及びNEラベルの文頭記号のベクトルと共にRNNエンコーダのLSTM36E-tにより出力された隠れ状態をデコーダ時刻Tに対応するLSTM36D-Tに入力する。これによって、LSTM36D-Tでは、LSTM36E-tにより出力された隠れ状態に単語の文頭記号のベクトル及びNEラベルの文頭記号のベクトルを足し合わせることにより、エンコーダ時刻tの隠れ状態をデコーダ時刻Tの隠れ状態へ更新する。
その後、LSTM36D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、各エンコーダ時刻t~tの隠れ状態のベクトルとの間で類似度、例えば内積を計算する。これによって、入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。さらに、LSTM36D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、RNNデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度、例えば内積を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。さらに、LSTM36D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、RNNデコーダがモデルのパラメータとして持つNEラベル生成用の重み行列との間で類似度、例えば内積を計算する。これによって、NEラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Tで選択されるべき度合いがスコア化される。このようにLSTM36D-Tにより更新されたデコーダ時刻Tの隠れ状態は、上記3つのスコアの算出に用いられる他、LSTM36D-Tにも入力される。
以降のLSTMのセル、すなわちLSTM36D-T~LSTM36D-Tにおいても、隠れ状態の更新および上記3つのスコアの算出がLSTM36D-Tと同様に行われる。
すなわち、デコーダ実行部36Dは、デコーダ時刻Tl-1に生成された要約文の単語およびデコーダ時刻Tl-1に選択されたデコーダ時刻TのNEラベルをベクトル化する。その上で、デコーダ実行部36Dは、デコーダ時刻Tl-1の要約文の単語のベクトルおよびデコーダ時刻TのNEラベルのベクトルと共に、デコーダ時刻Tl-1の隠れ状態をLSTM36D-Tに入力する。その後、LSTM36D-Tは、デコーダ時刻Tl-1の隠れ状態にデコーダ時刻Tl-1の要約文の単語のベクトルおよびデコーダ時刻TのNEラベルのベクトルを足し合わせる。これによって、デコーダ時刻Tl-1の隠れ状態がデコーダ時刻Tの隠れ状態へ更新される。
その後、LSTM36D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、各エンコーダ時刻t~tの隠れ状態のベクトルとの間で類似度を計算する。これによって、入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。さらに、LSTM36D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、RNNデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。さらに、LSTM36D-Tは、デコーダ時刻Tの隠れ状態のベクトルと、RNNデコーダがモデルのパラメータとして持つNEラベル生成用の重み行列との間で類似度を計算する。これによって、NEラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Tl+1で選択されるべき度合いがスコア化される。このようにLSTM36D-Tにより更新されたデコーダ時刻Tの隠れ状態は、上記3つのスコアの算出に用いられる他、LSTM36D-Tl+1にも入力される。
このようにL個のLSTMのセルを動作させることにより、L個のLSMTのセルごとに、入力文の単語別のスコアおよびモデルの辞書の単語別のスコアが得られる。
算出部37は、各種の確率分布を算出する処理部である。
1つの側面として、算出部37は、LSTM36D-Tにより入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化された場合、各単語のスコアの総和が「1」になるように各単語のスコアを正規化する。これによって、入力文の各単語のコピースコアが入力文の各単語のコピー確率へ正規化される。この結果、デコーダ時刻Tにおけるアテンション分布が獲得される。
他の側面として、算出部37は、LSTM36D-Tによりモデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化された場合、各単語のスコアの総和が「1」になるように各単語のスコアを正規化する。これによって、モデルの辞書の各単語の生成スコアがモデルの辞書の各単語の生成確率へ正規化される。この結果、デコーダ時刻Tにおけるボキャブラリ分布が獲得される。
このように得られたアテンション分布及びボキャブラリ分布が線形結合される。例えば、アテンション分布及びボキャブラリ分布のいずれの分布にも共通して存在する単語では、コピー確率および生成確率が足し合わされることにより合成確率が計算される。また、アテンション分布及びボキャブラリ分布のうち一方の分布に存在する単語では、他方のコピー確率または生成確率をゼロとし、一方のコピー確率または生成確率が足し合わされることにより合成確率が計算される。その上で、入力文およびモデルの辞書の各単語の合成確率の総和が「1」になるように各単語の合成確率が正規化される。これによって、デコーダ時刻Tにおける最終分布が獲得される。
更なる側面として、算出部37は、LSTM36D-TによりNEラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Tl+1で選択されるべき度合いがスコア化された場合、NEラベルの各カテゴリの総和が「1」になるように各カテゴリのスコアを正規化する。これによって、NEラベルの各カテゴリの選択スコアがNEラベルの各カテゴリの選択確率へ正規化される。この結果、デコーダ時刻Tl+1におけるNEカテゴリ分布が獲得される。
生成部38は、要約文の単語を生成する処理部である。
1つの側面として、生成部38は、算出部37によりデコーダ時刻Tにおける最終分布が算出された場合、次のような処理を実行する。すなわち、生成部38は、デコーダ時刻Tにおける最終分布に含まれる合成確率のうち最大の合成確率を有する単語をデコーダ時刻Tにおける要約文の単語、すなわち要約文の先頭からl番目の単語として生成する。
他の側面として、生成部38は、デコーダ時刻Tl+1におけるNEカテゴリ分布が算出された場合、次のような処理を実行する。すなわち、生成部38は、デコーダ時刻Tl+1におけるNEカテゴリ分布に含まれる選択確率のうち最大の選択確率を有するNEラベルのカテゴリをデコーダ時刻Tl+1におけるNEラベルとして選択する。
[要約文生成の具体例]
図4は、要約文生成の一例を示す図である。図4には、あくまで説明の便宜上、入力文の一例として、“Germany win against Argentina”が取得される場合の例が示されている。この場合、図4に示すように、エンコーダ実行部36Eは、入力文の単語数「4」に対応する4個のLSTM36E-t~LSTM36E-tをワークエリア上に展開する。
(1.1)エンコーダ時刻tの動作
続いて、エンコーダ実行部36Eは、入力文の先頭の単語“Germany”をベクトル化すると共に当該単語“Germany”に付与されたNEラベル<B-COUNTRY>をベクトル化する。そして、エンコーダ実行部36Eは、先頭の単語“Germany”のベクトル及びNEラベル<B-COUNTRY>のベクトルと共に、隠れ状態のベクトルの初期値hをLSTM36E-tへ入力する。すると、LSTM36E-tは、初期値の隠れ状態hのベクトルに先頭の単語“Germany”のベクトル及びNEラベル<B-COUNTRY>のベクトルを足し合わせることにより、初期値の隠れ状態hをエンコーダ時刻tの隠れ状態hへ更新する。このように更新されたエンコーダ時刻tの隠れ状態hがLSTM36E-tからLSTM36E-tへ入力される。
(1.2)エンコーダ時刻tの動作
次に、エンコーダ実行部36Eは、入力文の先頭から2番目の単語“win”をベクトル化すると共に当該単語“win”に付与されたNEラベル<OTHER>をベクトル化する。その上で、エンコーダ実行部36Eは、2番目の単語“win”のベクトル及びNEラベル<OTHER>のベクトルをLSTM36E-tへ入力する。すると、LSTM36E-tは、エンコーダ時刻tの隠れ状態hのベクトルに2番目の単語“win”のベクトル及びNEラベル<OTHER>のベクトルを足し合わせることにより、エンコーダ時刻tの隠れ状態hをエンコーダ時刻tの隠れ状態hへ更新する。このように更新されたエンコーダ時刻tの隠れ状態hがLSTM36E-tからLSTM36E-tへ入力される。
(1.3)エンコーダ時刻tの動作
続いて、エンコーダ実行部36Eは、入力文の先頭から3番目の単語“against”をベクトル化すると共に当該単語“against”に付与されたNEラベル<OTHER>をベクトル化する。その上で、エンコーダ実行部36Eは、3番目の単語“against”のベクトル及びNEラベル<OTHER>のベクトルをLSTM36E-tへ入力する。すると、LSTM36E-tは、エンコーダ時刻tの隠れ状態hのベクトルに3番目の単語“against”のベクトル及びNEラベル<OTHER>のベクトルを足し合わせることにより、エンコーダ時刻tの隠れ状態hをエンコーダ時刻tの隠れ状態hへ更新する。このように更新されたエンコーダ時刻tの隠れ状態hがLSTM36E-tからLSTM36E-tへ入力される。
(1.4)エンコーダ時刻tの動作
最後に、エンコーダ実行部36Eは、入力文の先頭から4番目の単語“Argentina”をベクトル化すると共に当該単語“Argentina”に付与されたNEラベル<OTHER>をベクトル化する。その上で、エンコーダ実行部36Eは、4番目の単語“Argentina”のベクトル及びNEラベル<OTHER>のベクトルをLSTM36E-tへ入力する。すると、LSTM36E-tは、エンコーダ時刻tの隠れ状態hのベクトルに4番目の単語“Argentina”のベクトル及びNEラベル<OTHER>のベクトルを足し合わせることにより、エンコーダ時刻tの隠れ状態hをエンコーダ時刻tの隠れ状態hへ更新する。このように更新されたエンコーダ時刻tの隠れ状態hがRNNエンコーダからRNNデコーダへ入力される。
このように、先頭のLSTM36E-tから末尾のLSTM36E-tまで隠れ状態、いわゆる文脈ベクトルがh、h、h、h、hの順に更新が繰り返される。
(2)デコーダ時刻Tの動作
図4には、デコーダ時刻TにおけるLSTM36D-Tの動作例が示されている。図4に示すように、LSTM36D-Tには、LSTM36D-Tによりエンコーダ時刻tの隠れ状態hから更新されたデコーダ時刻Tの隠れ状態Hが入力される。さらに、LSTM36D-Tには、デコーダ時刻Tに生成された要約文の単語“Germany”のベクトルおよびデコーダ時刻Tで選択されたデコーダ時刻TのNEラベル<B-COUNTRY>のベクトルが入力される。その後、LSTM36D-Tは、デコーダ時刻Tの隠れ状態Hにデコーダ時刻Tの要約文の単語“Germany”のベクトルおよびデコーダ時刻TのNEラベル<B-COUNTRY>のベクトルを足し合わせる。これによって、デコーダ時刻Tの隠れ状態Hがデコーダ時刻の隠れ状態Hへ更新される。
その後、LSTM36D-Tは、デコーダ時刻Tの隠れ状態Hのベクトルと、各エンコーダ時刻t~tの隠れ状態h~hのベクトルとの間で類似度を計算する。これによって、入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。続いて、算出部37は、入力文の各単語のスコアの総和が「1」になるように各単語のスコアを正規化する。これによって、入力文の各単語のコピースコアがコピー確率へ正規化される。この結果、デコーダ時刻Tにおけるアテンション分布d1が獲得される。
さらに、LSTM36D-Tは、デコーダ時刻Tの隠れ状態Hのベクトルと、RNNデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。続いて、算出部37は、モデルの辞書の各単語のスコアの総和が「1」になるように各単語のスコアを正規化する。これによって、モデルの辞書の各単語の生成スコアが生成確率へ正規化される。この結果、デコーダ時刻Tにおけるボキャブラリ分布d2が獲得される。
これらアテンション分布d1及びボキャブラリ分布d2が線形結合されることにより、デコーダ時刻Tにおける最終分布d3が獲得される。その後、生成部38は、デコーダ時刻Tにおける最終分布D3に含まれる合成確率のうち最大の合成確率を有する単語“beat”をデコーダ時刻Tにおける要約文の単語として生成する。
また、LSTM36D-Tは、デコーダ時刻Tの隠れ状態Hのベクトルと、RNNデコーダがモデルのパラメータとして持つNEラベル生成用の重み行列との間で類似度を計算する。これによって、NEラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Tで選択されるべき度合いがスコア化される。続いて、算出部37は、NEラベルの各カテゴリの総和が「1」になるように各カテゴリのスコアを正規化する。これによって、NEラベルの各カテゴリの選択スコアが選択確率へ正規化される。この結果、デコーダ時刻TにおけるNEカテゴリ分布d4が獲得される。
その後、生成部38は、デコーダ時刻TにおけるNEカテゴリ分布d4に含まれる選択確率のうち最大の選択確率を有するカテゴリをデコーダ時刻TのNEラベルとして選択する。このように、デコーダ時刻Tの時点で選択されたデコーダ時刻TのNEラベルがデコーダ時刻Tの時点で隠れ状態Hの更新に用いられる。このため、デコーダ時刻Tの時点では、固有表現またはその他のいずれの単語が出力されやすいか、さらには、固有表現であればどのようなカテゴリの固有表現が出力されやすいか、さらには、次に出力されやすい固有表現が先頭またはそれ以外であるかなどに基づいてアテンション分布やボキャブラリ分布、ひいては最終分布を算出させることができる。
[要約文の生成事例の対比]
以下、図5及び図6を用いて、従来技術および本実施例における要約文の生成事例を対比する。
図5は、入力文の一例を示す図である。図6A及び図6Bは、いずれも要約文の一例を示す図である。このうち、図6Aには、従来技術における要約文の生成事例が示される一方で、図6Bには、実施例1に係る要約文の生成事例が示されている。
例えば、従来技術に係るPointer-Generatorのモデルへ図5に示す入力文40が入力された場合、図6Aに示す要約文40Aが生成される。図6Aに示すように、要約文40Aでは、図5に示す入力文40の固有表現のフレーズ「Xxxxxx.com」のうち、固有表現の途中の単語「.」および「com」がコピーされている。さらに、要約文40Aでは、入力文40から固有表現でない単語「米」が要約文の単語としてコピーされている。この結果、要約文40Aでは、入力文40に存在する元の固有表現「Xxxxxx.com」が把握できないばかりか、本来の固有表現から意味が変質した複合名詞「米.com」が生成されている。このように、上記の従来技術のように、Pointer-Generatorでは、人にとって違和感のある要約文が生成されてしまう場合がある。
一方、実施例1に係るPointer-Generatorのモデルへ図5に示す入力文40が入力された場合、図6Bに示す要約文40Bが生成される。この場合、要約文40Bにおける先頭の単語を生成する際、エンコーダから出力された隠れ状態にNEラベル<B-COUNTRY>を足し合わせることにより更新された隠れ状態に基づいてアテンション分布やボキャブラリ分布、ひいては最終分布が算出される。この結果、図6Bに示すように、要約文40Bでは、固有表現の先頭の単語「Xxxxx」を生成しやすることができると共に、固有表現の途中の単語「.」および「com」だけがコピーされるのを抑制できる。したがって、未知語を適切な表現で要約文へ含めることが可能である。
(1)学習処理
図7は、実施例1に係る学習処理の手順を示すフローチャートである。この学習処理は、一例として、モデル学習のリクエストを受け付けた場合に開始される。図7に示すように、取得部13は、学習データに含まれるJ個の学習サンプルjごとに、下記のステップS101から下記のステップS108までの処理が実行される。
すなわち、取得部13は、学習データ記憶部11に記憶された学習データのうち学習サンプルjを1つ取得する(ステップS101)。続いて、エンコーダ実行部16Eは、ステップS101で取得された学習サンプルに含まれる学習用入力文のテキストに含まれる単語ごとに当該単語をベクトル化する(ステップS102A)。
ここで、ステップS102Aの処理と同時または前後して、ステップS102B1及びステップS102B1を実行できる。すなわち、ステップS102B1において、固有表現抽出部15は、学習用入力文のテキストに含まれる単語ごとにNEラベルを付与する。続いて、ステップS102B2において、エンコーダ実行部16Eは、学習用入力文の各単語のNEラベルをベクトル化する。
その後、学習用入力文に含まれるM個の単語、すなわちエンコーダ時刻tからエンコーダ時刻tまでのデコーダ時刻tごとに、下記のステップS103の処理が実行される。すなわち、エンコーダ実行部16Eは、エンコーダ時刻tm-1の隠れ状態と、学習用入力文の先頭からm番目の単語のベクトル及びNEラベルのベクトルとをLSTM16E-tに入力する。これらが入力されたLSTM16E-tによりエンコーダ時刻tm-1の隠れ状態がエンコーダ時刻tの隠れ状態へ更新される(ステップS103)。
これによって、学習用入力文の先頭の単語に対応するLSTMのセルから末尾であるM番目の単語に対応するLSTMのセルまで隠れ状態、いわゆる文脈ベクトルの更新が繰り返される。
その後、デコーダ実行部16Dは、ステップS101で取得された学習サンプルに含まれる正解要約文のテキストに含まれる単語ごとに当該単語をベクトル化する(ステップS104A)。
ここで、ステップS104Aの処理と同時または前後して、ステップS104B1及びステップS104B1を実行できる。すなわち、ステップS104B1において、固有表現抽出部15は、正解要約文のテキストに含まれる単語ごとにNEラベルを付与する。続いて、ステップS104B2において、デコーダ実行部16Dは、正解要約文の各単語のNEラベルをベクトル化する。
その後、正解要約文に含まれるN個の単語、すなわちデコーダ時刻Tからデコーダ時刻Tまでのデコーダ時刻Tごとに、下記のステップS105から下記のステップS107までの処理が実行される。
すなわち、デコーダ実行部16Dは、デコーダ時刻Tn-1の正解要約文の単語のベクトルおよびデコーダ時刻TのNEラベルのベクトルと共に、デコーダ時刻Tn-1の隠れ状態をLSTM16D-Tに入力する。これらが入力されたLSTM16D-Tによりデコーダ時刻Tn-1の隠れ状態がデコーダ時刻Tの隠れ状態へ更新される(ステップS105)。
続いて、算出部17は、LSTM16D-Tによりデコーダ時刻Tの隠れ状態のベクトルと各エンコーダ時刻t~tの隠れ状態のベクトルとの類似度が学習用入力文の単語ごとにスコア化されたスコアを正規化することにより、デコーダ時刻Tにおけるアテンション分布を算出する(ステップS106)。
そして、算出部17は、LSTM16D-Tによりデコーダ時刻Tの隠れ状態のベクトルと要約文の単語生成用の重み行列との類似度がモデルの辞書の単語ごとにスコア化されたスコアを正規化することにより、デコーダ時刻Tにおけるボキャブラリ分布を算出する(ステップS107A1)。続いて、損失計算部18は、ステップS106で算出されたアテンション分布およびステップS107A1で算出されたボキャブラリ分布から求まるデコーダ時刻Tの最終分布と、デコーダ時刻Tにおける正解要約文の単語との間で第1の損失を計算する(ステップS107A2)。
ここで、ステップS107A1及びステップS107A2の処理と同時または前後して、ステップS107B1及びステップS107B1を実行できる。すなわち、ステップS107B1において、算出部17は、LSTM16D-Tによりデコーダ時刻Tの隠れ状態のベクトルとNEラベル生成用の重み行列との類似度がNEラベルのカテゴリごとにスコア化されたスコアを正規化することにより、デコーダ時刻Tn+1におけるNEカテゴリ分布を算出する。続いて、ステップS107B2において、損失計算部18は、デコーダ時刻Tn-1の時点で算出されたデコーダ時刻TにおけるNEカテゴリ分布と、デコーダ時刻Tにおける正解要約文の単語が持つNEラベルとの間で第2の損失を計算する。
そして、正解要約文のN個の単語ごとに第1の損失および第2の損失が算出されると、更新部19は、各デコーダ時刻T~Tにおける第1の損失および第2の損失に基づいて対数尤度の最適化を実行することにより、RNNのモデルを更新するパラメータを算出した上で、モデル記憶部12に記憶されたモデルのパラメータを更新する(ステップS108)。
その後、学習データに含まれる全ての学習サンプルjについてモデルのパラメータの更新が実行されると、処理が終了する。
(2)生成処理
図8は、実施例1に係る生成処理の手順を示すフローチャートである。この生成処理は、一例として、要約文生成のリクエストを受け付けた場合に開始される。図8に示すように、取得部33は、任意の情報ソースから入力文を取得する(ステップS301)。
続いて、エンコーダ実行部36Eは、ステップS301で取得された入力文のテキストに含まれる単語ごとに当該単語をベクトル化する(ステップS302A1)。
ここで、ステップS302A1の処理と同時または前後して、ステップS302B1及びステップS302B1を実行できる。すなわち、ステップS302B1において、固有表現抽出部35は、入力文のテキストに含まれる単語ごとにNEラベルを付与する。続いて、ステップS302B2において、エンコーダ実行部36Eは、入力文の各単語のNEラベルをベクトル化する。
その後、入力文に含まれるK個の単語、すなわちエンコーダ時刻tからエンコーダ時刻tまでのデコーダ時刻tごとに、下記のステップS303の処理が実行される。すなわち、エンコーダ実行部36Eは、エンコーダ時刻tk-1の隠れ状態と、入力文の先頭からk番目の単語のベクトル及びNEラベルのベクトルとをLSTM36E-tに入力する。これらが入力されたLSTM36E-tによりエンコーダ時刻tk-1の隠れ状態がエンコーダ時刻tの隠れ状態へ更新される(ステップS303)。
これによって、入力文の先頭の単語に対応するLSTMのセルから末尾であるK番目の単語に対応するLSTMのセルまで隠れ状態、いわゆる文脈ベクトルの更新が繰り返される。
その後、文末記号のタグが出力されるまで、生成部38により出力される要約文の単語列に対応するデコーダ時刻Tごとに、下記のステップS304から下記のステップS307までの処理が実行される。
すなわち、デコーダ実行部36Dは、デコーダ時刻Tの1つ前のデコーダ時刻Tl-1で生成された要約文の単語をベクトル化する(ステップS304A1)。
ここで、ステップS304A1の処理と同時または前後して、ステップS304B1を実行できる。すなわち、ステップS304B1において、デコーダ実行部36Dは、1つ前のデコーダ時刻Tl-1で選択されたデコーダ時刻TのNEラベルをベクトル化する。
その後、デコーダ実行部36Dは、デコーダ時刻Tl-1の要約文の単語のベクトルおよびデコーダ時刻TのNEラベルのベクトルと共に、デコーダ時刻Tl-1の隠れ状態をLSTM36D-Tに入力する。これらが入力されたLSTM36D-Tによりデコーダ時刻Tl-1の隠れ状態がデコーダ時刻Tの隠れ状態へ更新される(ステップS305)。
続いて、算出部37は、LSTM36D-Tによりデコーダ時刻Tの隠れ状態のベクトルと各エンコーダ時刻t~tの隠れ状態のベクトルとの類似度が入力文の単語ごとにスコア化されたスコアを正規化することにより、デコーダ時刻Tにおけるアテンション分布を算出する(ステップS306)。
そして、算出部37は、LSTM36D-Tによりデコーダ時刻Tの隠れ状態のベクトルと要約文の単語生成用の重み行列との類似度がモデルの辞書の単語ごとにスコア化されたスコアを正規化することにより、デコーダ時刻Tにおけるボキャブラリ分布を算出する(ステップS307A1)。続いて、生成部38は、ステップS306で算出されたアテンション分布およびステップS307A1で算出されたボキャブラリ分布から求まるデコーダ時刻Tの最終分布に含まれる合成確率のうち最大の合成確率を有する単語をデコーダ時刻Tにおける要約文の単語として生成する(ステップS307A2)。
ここで、ステップS307A1及びステップS307A2の処理と同時または前後して、ステップS307B1及びステップS307B1を実行できる。すなわち、ステップS307B1において、算出部37は、LSTM36D-Tによりデコーダ時刻Tの隠れ状態のベクトルとNEラベル生成用の重み行列との類似度がNEラベルのカテゴリごとにスコア化されたスコアを正規化することにより、デコーダ時刻Tl+1におけるNEカテゴリ分布を算出する。続いて、ステップS307B2において、生成部38は、デコーダ時刻Tl+1におけるNEカテゴリ分布に含まれる選択確率のうち最大の選択確率を有するNEラベルのカテゴリをデコーダ時刻Tl+1におけるNEラベルとして選択する。
その後、RNNデコーダから文末記号のタグが出力されると、生成部38は、先頭のLSTMのセルからL番目のLSTMのセルまでに生成された単語を結合することにより要約文を生成して要約文を所定の出力先へ出力し(ステップS308)、処理を終了する。
[効果の一側面]
上述してきたように、本実施例に係る生成装置30は、入力文の単語と固有表現のラベルで更新が繰り返された隠れ状態が入力されたデコーダで隠れ状態を1時刻前の単語と固有表現のラベルで更新しつつアテンション分布とボキャブラリ分布を算出して要約文の単語を出力する。したがって、本実施例に係る生成装置30によれば、未知語を適切な表現で要約文へ含めることが可能になる。
さらに、本実施例に係る学習装置10は、学習用入力文の単語と固有表現のラベルで更新が繰り返された隠れ状態が入力されたデコーダで隠れ状態を1時刻前の単語と固有表現のラベルで更新しつつアテンション分布とボキャブラリ分布を算出してモデルのパラメータを更新する。したがって、本実施例に係る生成装置30によれば、未知語を適切な表現で要約文へ含めるモデル学習を実現することが可能になる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部13、固有表現抽出部15、エンコーダ実行部16E、デコーダ実行部16D、算出部17、損失計算部18または更新部19を学習装置10の外部装置としてネットワーク経由で接続するようにしてもよい。あるいは、取得部31、固有表現抽出部35、エンコーダ実行部36E、デコーダ実行部36D、算出部37または生成部38を生成装置30の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部13、固有表現抽出部15、エンコーダ実行部16E、デコーダ実行部16D、算出部17、損失計算部18または更新部19を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の学習装置10の機能を実現するようにしてもよい。あるいは、取得部31、固有表現抽出部35、エンコーダ実行部36E、デコーダ実行部36D、算出部37または生成部38を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の生成装置30の機能を実現するようにしてもよい。
[生成プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図9を用いて、上記の実施例と同様の機能を有する生成プログラムを実行するコンピュータの一例について説明する。
図9は、コンピュータのハードウェア構成例を示す図である。図9に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
HDD170には、図9に示すように、上記の実施例1で示した取得部31、固有表現抽出部35、エンコーダ実行部36E、デコーダ実行部36D、算出部37及び生成部38と同様の機能を発揮する生成プログラム170aが記憶される。この生成プログラム170aは、図1に示した取得部31、固有表現抽出部35、エンコーダ実行部36E、デコーダ実行部36D、算出部37または生成部38の各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。なお、ここでは、あくまで一例として、HDD170に生成プログラム170aが記憶される例を挙げたが、取得部13、固有表現抽出部15、エンコーダ実行部16E、デコーダ実行部16D、算出部17、損失計算部18及び更新部19と同様の機能を発揮する学習プログラムが記憶されることとしてもかまわない。
このような環境の下、CPU150は、HDD170から生成プログラム170aを読み出した上でRAM180へ展開する。この結果、生成プログラム170aは、図9に示すように、生成プロセス180aとして機能する。この生成プロセス180aは、RAM180が有する記憶領域のうち生成プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、生成プロセス180aが実行する処理の一例として、図8に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記の生成プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に生成プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から生成プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに生成プログラム170aを記憶させておき、コンピュータ100がこれらから生成プログラム170aを取得して実行するようにしてもよい。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)入力文を取得し、
前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、1つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布を算出し、
前記第1の確率分布および前記第2の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、
処理をコンピュータが実行することを特徴とする生成方法。
(付記2)前記デコーダ時刻の隠れ状態に基づいて前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第3の確率分布を算出し、
前記1つ前のデコーダ時刻で算出された第3の確率分布に基づいて前記デコーダ時刻における固有表現のラベルを選択する処理を前記コンピュータがさらに実行し、
前記デコーダ時刻の隠れ状態は、1つ前のデコーダ時刻に選択された固有表現のラベルに基づいて算出されることを特徴とする付記1に記載の生成方法。
(付記3)学習用入力文および正解要約文を取得し、
前記学習用入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する学習用入力文の単語および固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記正解要約文の単語列に対応するデコーダ時刻ごとに、前記デコーダ時刻に対応する正解要約文の単語および固有表現のラベルに基づいて1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記学習用入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布と、前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第3の確率分布とを算出し、
前記第1の確率分布および前記第2の確率分布と、前記デコーダ時刻における正解要約文の単語との間で第1の損失を算出すると共に、前記1つ前のデコーダ時刻で算出された前記デコーダ時刻における第3の確率分布と、前記デコーダ時刻における正解要約文の単語が持つ固有表現のラベルとの間で第2の損失を算出し、
前記第1の損失および前記第2の損失に基づいて前記モデルのパラメータを更新する、
処理をコンピュータが実行することを特徴とする学習方法。
(付記4)入力文を取得し、
前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、1つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布を算出し、
前記第1の確率分布および前記第2の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
(付記5)前記デコーダ時刻の隠れ状態に基づいて前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第3の確率分布を算出し、
前記1つ前のデコーダ時刻で算出された第3の確率分布に基づいて前記デコーダ時刻における固有表現のラベルを選択する処理を前記コンピュータがさらに実行し、
前記デコーダ時刻の隠れ状態は、1つ前のデコーダ時刻に選択された固有表現のラベルに基づいて算出されることを特徴とする付記4に記載の生成プログラム。
(付記6)学習用入力文および正解要約文を取得し、
前記学習用入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する学習用入力文の単語および固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記正解要約文の単語列に対応するデコーダ時刻ごとに、前記デコーダ時刻に対応する正解要約文の単語および固有表現のラベルに基づいて1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記学習用入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布と、前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第3の確率分布とを算出し、
前記第1の確率分布および前記第2の確率分布と、前記デコーダ時刻における正解要約文の単語との間で第1の損失を算出すると共に、前記1つ前のデコーダ時刻で算出された前記デコーダ時刻における第3の確率分布と、前記デコーダ時刻における正解要約文の単語が持つ固有表現のラベルとの間で第2の損失を算出し、
前記第1の損失および前記第2の損失に基づいて前記モデルのパラメータを更新する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
(付記7)入力文を取得する取得部と、
前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出する第1算出部と、
前記エンコーダにより出力される隠れ状態をデコーダへ入力する入力部と、
前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、1つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出する第2算出部と、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出する第3算出部と、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布を算出する第4算出部と、
前記第1の確率分布および前記第2の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する生成部と、
を有することを特徴とする生成装置。
(付記8)前記デコーダ時刻の隠れ状態に基づいて前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第3の確率分布を算出する第5算出部と、
前記1つ前のデコーダ時刻で算出された第3の確率分布に基づいて前記デコーダ時刻における固有表現のラベルを選択する選択部をさらに有し、
前記デコーダ時刻の隠れ状態は、1つ前のデコーダ時刻に選択された固有表現のラベルに基づいて算出されることを特徴とする付記7に記載の生成装置。
(付記9)学習用入力文および正解要約文を取得する取得部と、
前記学習用入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する学習用入力文の単語および固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出する第1算出部と、
前記エンコーダにより出力される隠れ状態をデコーダへ入力する入力部と、
前記正解要約文の単語列に対応するデコーダ時刻ごとに、前記デコーダ時刻に対応する正解要約文の単語および固有表現のラベルに基づいて1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出する第2算出部と、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記学習用入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出する第3算出部と、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布と、前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第3の確率分布とを算出する第4算出部と、
前記第1の確率分布および前記第2の確率分布と、前記デコーダ時刻における正解要約文の単語との間で第1の損失を算出すると共に、前記1つ前のデコーダ時刻で算出された前記デコーダ時刻における第3の確率分布と、前記デコーダ時刻における正解要約文の単語が持つ固有表現のラベルとの間で第2の損失を計算する損失計算部と、
前記第1の損失および前記第2の損失に基づいて前記モデルのパラメータを更新する更新部と、
を有することを特徴とする学習装置。
10 学習装置
11 学習データ記憶部
12 モデル記憶部
13 取得部
15 固有表現抽出部
16E エンコーダ実行部
16D デコーダ実行部
17 算出部
18 損失計算部
19 更新部
30 生成装置
33 取得部
35 固有表現抽出部
36E エンコーダ実行部
36D デコーダ実行部
37 算出部
38 生成部

Claims (4)

  1. 入力文を取得し、
    前記入力文に含まれる単語ごとに、前記単語が固有表現であるか否かを表す固有表現のラベルを付与し、
    前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および前記単語に付与された固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
    前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
    前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、1つ前のデコーダ時刻に生成された要約文の単語および前記1つ前のデコーダ時刻で選択された固有表現のラベルに基づいて前記1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
    前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出し、
    前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布を算出し、
    前記デコーダ時刻の隠れ状態に基づいて、前記デコーダ時刻の次のデコーダ時刻に生成される単語が前記固有表現の各ラベルに該当し得る第3の確率分布を算出し、
    前記第3の確率分布に基づいて、前記次のデコーダ時刻における固有表現のラベルを選択し、
    前記第1の確率分布および前記第2の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、
    処理をコンピュータが実行することを特徴とする生成方法。
  2. 学習用入力文および正解要約文を取得し、
    前記学習用入力文に含まれる単語ごとに、前記単語が固有表現であるか否かを表す固有表現のラベルを付与し、
    前記学習用入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する学習用入力文の単語および前記単語に付与された固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
    前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
    前記正解要約文に含まれる単語ごとに、前記単語が固有表現であるか否かを表すラベルを付与し、
    前記正解要約文の単語列に対応するデコーダ時刻ごとに、前記デコーダ時刻に対応する正解要約文の単語および前記単語に付与された固有表現のラベルに基づいて1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
    前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記学習用入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出し、
    前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布と、前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第3の確率分布とを算出し、
    前記第1の確率分布および前記第2の確率分布と、前記デコーダ時刻における正解要約文の単語との間で第1の損失を算出すると共に、前記1つ前のデコーダ時刻で算出された前記デコーダ時刻における第3の確率分布と、前記デコーダ時刻における正解要約文の単語に付与された固有表現のラベルとの間で第2の損失を算出し、
    前記第1の損失および前記第2の損失に基づいて前記モデルのパラメータを更新する、
    処理をコンピュータが実行することを特徴とする学習方法。
  3. 入力文を取得し、
    前記入力文に含まれる単語ごとに、前記単語が固有表現であるか否かを表す固有表現のラベルを付与し、
    前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および前記単語に付与された固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
    前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
    前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、1つ前のデコーダ時刻に生成された要約文の単語および前記1つ前のデコーダ時刻で選択された固有表現のラベルに基づいて前記1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
    前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出し、
    前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布を算出し、
    前記デコーダ時刻の隠れ状態に基づいて、前記デコーダ時刻の次のデコーダ時刻に生成される単語が前記固有表現の各ラベルに該当し得る第3の確率分布を算出し、
    前記第3の確率分布に基づいて、前記次のデコーダ時刻における固有表現のラベルを選択し、
    前記第1の確率分布および前記第2の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、
    処理をコンピュータに実行させることを特徴とする生成プログラム。
  4. 入力文を取得し、
    前記入力文に含まれる単語ごとに、前記単語が固有表現であるか否かを表す固有表現のラベルを付与し、
    前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および前記単語に付与された固有表現のラベルに基づいて1つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
    前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
    前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、1つ前のデコーダ時刻に生成された要約文の単語および前記1つ前のデコーダ時刻で選択された固有表現のラベルに基づいて前記1つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
    前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第1の確率分布を算出し、
    前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第2の確率分布を算出し、
    前記デコーダ時刻の隠れ状態に基づいて、前記デコーダ時刻の次のデコーダ時刻に生成される単語が前記固有表現の各ラベルに該当し得る第3の確率分布を算出し、
    前記第3の確率分布に基づいて、前記次のデコーダ時刻における固有表現のラベルを選択し、
    前記第1の確率分布および前記第2の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、
    処理を実行する制御部を有することを特徴とする生成装置。
JP2019068553A 2019-03-29 2019-03-29 生成方法、学習方法、生成プログラム、及び生成装置 Active JP7272060B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019068553A JP7272060B2 (ja) 2019-03-29 2019-03-29 生成方法、学習方法、生成プログラム、及び生成装置
US16/830,364 US20200311350A1 (en) 2019-03-29 2020-03-26 Generating method, learning method, generating apparatus, and non-transitory computer-readable storage medium for storing generating program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019068553A JP7272060B2 (ja) 2019-03-29 2019-03-29 生成方法、学習方法、生成プログラム、及び生成装置

Publications (2)

Publication Number Publication Date
JP2020166735A JP2020166735A (ja) 2020-10-08
JP7272060B2 true JP7272060B2 (ja) 2023-05-12

Family

ID=72605873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019068553A Active JP7272060B2 (ja) 2019-03-29 2019-03-29 生成方法、学習方法、生成プログラム、及び生成装置

Country Status (2)

Country Link
US (1) US20200311350A1 (ja)
JP (1) JP7272060B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11093217B2 (en) * 2019-12-03 2021-08-17 International Business Machines Corporation Supervised environment controllable auto-generation of HTML
US11797590B2 (en) * 2020-09-02 2023-10-24 Microsoft Technology Licensing, Llc Generating structured data for rich experiences from unstructured data streams
US11755637B2 (en) * 2021-08-20 2023-09-12 Salesforce, Inc. Multi-attribute control for text summarization using multiple decoder heads

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Abigail See 他2名,Get To The Point: Summarization with Pointer-Generator Networks[online],2017年04月25日,(検索日2022年10月25日),URL:https://arxiv.org/abs/1704.04368
Thiago Castro Ferreira 他3名,NeuralREG: An end-to-end approach to referring expression generation,2018年05月21日,(検索日2022年10月25日),URL:https://arxiv.org/abs/1805.08093
鵜川新 他4名,固有表現情報を用いたニューラル機械翻訳,言語処理学会第24回年次大会 発表論文集[online],日本,言語処理学会,2018年03月05日,25-28頁

Also Published As

Publication number Publication date
JP2020166735A (ja) 2020-10-08
US20200311350A1 (en) 2020-10-01

Similar Documents

Publication Publication Date Title
JP7346609B2 (ja) 自然言語理解(nlu)フレームワークを使用して意味探索を実行するシステムおよび方法
JP7211045B2 (ja) 要約文生成方法、要約文生成プログラム及び要約文生成装置
CN109299228B (zh) 计算机执行的文本风险预测方法及装置
US20220222489A1 (en) Generation of training data for machine learning based models for named entity recognition for natural language processing
JP7272060B2 (ja) 生成方法、学習方法、生成プログラム、及び生成装置
JP2004355483A (ja) 形態素解析装置、形態素解析方法及び形態素解析プログラム
JP2010537286A (ja) 領域辞書の作成
JP2008084064A (ja) テキスト分類処理方法、テキスト分類処理装置ならびにテキスト分類処理プログラム
Swain et al. Study of feature combination using HMM and SVM for multilingual Odiya speech emotion recognition
JP2020135135A (ja) 対話コンテンツ作成支援方法およびシステム
JP2019121139A (ja) 要約装置、要約方法、及び要約プログラム
CN115114919A (zh) 呈现提示信息的方法和装置以及存储介质
US20220165257A1 (en) Neural sentence generator for virtual assistants
George et al. Comparison of LDA and NMF topic modeling techniques for restaurant reviews
Saha et al. Emoji prediction using emerging machine learning classifiers for text-based communication
JP7211011B2 (ja) 学習方法、学習プログラム及び生成方法
JP7135730B2 (ja) 要約生成方法及び要約生成プログラム
JP2023181819A (ja) 言語処理装置、機械学習方法、推定方法及びプログラム
JP2023540514A (ja) 自然言語解釈に基づく推論
JP6067616B2 (ja) 発話生成手法学習装置、発話生成手法選択装置、発話生成手法学習方法、発話生成手法選択方法、プログラム
Lee N-Gram Language Model
JP5506482B2 (ja) 固有表現抽出装置、文字列−固有表現クラス対データベース作成装置、固有表現抽出方法、文字列−固有表現クラス対データベース作成方法、プログラム
Mao et al. A neural joint model with BERT for Burmese syllable segmentation, word segmentation, and POS tagging
Rajkumar et al. An efficient feature extraction with bidirectional long short term memory based deep learning model for Tamil document classification
Corbara et al. Investigating topic-agnostic features for authorship tasks in Spanish political speeches

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221227

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: 20230328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230410

R150 Certificate of patent or registration of utility model

Ref document number: 7272060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150