JP6830971B2 - 文章生成のためのデータを生成するシステム及び方法 - Google Patents

文章生成のためのデータを生成するシステム及び方法 Download PDF

Info

Publication number
JP6830971B2
JP6830971B2 JP2019002373A JP2019002373A JP6830971B2 JP 6830971 B2 JP6830971 B2 JP 6830971B2 JP 2019002373 A JP2019002373 A JP 2019002373A JP 2019002373 A JP2019002373 A JP 2019002373A JP 6830971 B2 JP6830971 B2 JP 6830971B2
Authority
JP
Japan
Prior art keywords
expression
data
phrase
sentence
annotation
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
JP2019002373A
Other languages
English (en)
Other versions
JP2019083040A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019002373A priority Critical patent/JP6830971B2/ja
Publication of JP2019083040A publication Critical patent/JP2019083040A/ja
Application granted granted Critical
Publication of JP6830971B2 publication Critical patent/JP6830971B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、文章生成のためのデータを生成するシステム及び方法に関する。
自然言語からなる文章が入力され,入力された文章を解釈し,自然言語のデータからなる知識源から関連する情報を収集し,収集した情報を解釈し,組み合わせるなど加工したうえで,提示するシステムの有用性が高まってきている。このようなシステムの最近最も注目を集めているシステムの例として,質問回答(question−answering)システムがある。
たとえば、特許文献1には,レキシカルアンサータイプ(LAT)を決定し,検索し,検索結果に対しLATを使って解析することで,質問回答システムを構築する方法が示されている。
US8332394
しかし、ディベートのように、正解となる回答が一つではなく、それぞれの立場によって意見が変わるような場合には、特許文献1の技術で回答を生成することは困難である。ディベートにおいては、議題に対する意見を述べた論述文を考えた場合,単純な正解はなく,立場によって考慮すべき価値が異なるため、LATを用いて解析しても回答を一つに絞り込むことはできない。
また、特許文献1の技術では、回答として単一の名詞句または文を出力するのみで、複数の文から構成される文章を出力することもできない。これらの課題は,上記で述べた従来技術では実現不可能である。
本発明は、上記に鑑みてなされたものであって、本発明の目的は、ディベートで使われるような,議題に対する意見を述べた論述文をシステムで自動的に生成するためのデータを生成することである。
上記課題を解決するために、例えば請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、文章生成のためのデータを生成するシステムは、演算装置と記憶装置とを含み、前記記憶装置は、記事のテキストデータを保持し、前記演算装置は、前記テキストデータから、前記テキストデータ内の所定の性質を有する語句 と、前記所定の性質を有する語句と所定の関連を有する関連語句 と、をアノテーション対象語句として抽出し、前記アノテーション対象語句を、前記テキストデータを識別する情報と対応づけて、前記データとしてのアノテーションデータに含め、前記アノテーションデータを前記記憶装置に格納する
あるいは、システムが文章生成のためのデータを生成する方法において、前記システムは、演算装置と記憶装置とを含み、前記記憶装置は、記事のテキストデータを保持し、前記方法は、前記演算装置が、前記テキストデータから、前記テキストデータ内の所定の性質を有する語句と、前記所定の性質を有する語句と所定の関連を有する関連語句と、をアノテーション対象語句として抽出し、前記演算装置が、前記アノテーション対象語句を、前記テキストデータを識別する情報と対応づけて、前記データとしてのアノテーションデータに含め、前記演算装置が、前記アノテーションデータを前記記憶装置に格納する
争点について述べている文を抽出し,並び替えることで,立場に応じた適切な意見を述べた意見文を生成するためのデータを生成することができる。
本発明に係る文章生成システムを示す図。 テキストアノテーションデータを示す図。 争点オントロジの例を示す図。 議題解析部103の動作を示す図。 検索部104の動作を示す図。 争点決定部105の動作を示す図。 文抽出部106での動作を示す図。 文抽出部106におけるスコア算出条件の一例を示す図。 文並び替え部107の動作を示す図。 評価部108の動作を示す図。 言い換え部109の動作を示す図。 本発明に係るディベートシステムのハードウェア構成例を示す図。
以下、図面を参照して本発明の実施の形態を説明する。
[第1の実施の形態]
以下、本発明の第1の実施の形態の文章生成システムについて説明する。本発明の第1の実施の形態の文章生成システムは、9つのモジュールが結合された生成システムと,データ管理システムからなるシステムである。具体的なハードウェア構成の例は図12に示すとおり、入力装置1202、出力装置1203、各モジュールを実行するプログラムが記録されたメモリ1205、テキストデータDBやテキストアノテーションデータDB113等を含む記憶装置1207で構成される。
図1はシステムの全体像を表したものである。100は,議題が入力されると,その議題に対する意見を述べた論述文を出力する生成システムである。101はデータ管理システムであり,あらかじめデータ処理されたデータが保存され,システム100からアクセス可能になっているシステムである。
システム100では,9つのモジュールを順に実行する。まず入力部102で,ユーザから議題の入力を受付ける。さらに、議題に対して肯定的な意見を生成したいか、否定的な意見を生成したいかについての入力を受け付けても良い。このように、生成する文章の立場を明確にすることで、本システムをディベートのような議論の場で用いることも可能になる。
次に議題解析部103で,議題を解析し,議題の極性と検索に用いるキーワードを判定する。続いて,検索部104で,キーワードと,ディベートにおける争点を示す争点語とを用いて記事を検索する。例えば議題が「カジノを禁止すべき」というものだった場合、キーワードとしては名詞句である「カジノ」があげられる。さらに、極性を判定することで、「カジノ」に対して肯定的な争点語を用いるべきか、否定的な争点語を用いるべきかを決定することができる。ここでいう争点語とは、図3に示す争点オントロジ中の単語全てを指し、とくに「争点」と言った場合には、300に記載される「議論における論点となる価値観をあらわした単語」をいう。また、「促進語」とは301に記載される「争点を促進する事象」を言う。一方、「抑制語」とは302に記載される「争点を抑制する事象」を言う。
上記の議題に対し、肯定的な意見を出力したい場合には、キーワードとして「カジノ」を、争点語としてはカジノを抑制する「抑制語」を選択して検索を行う。ここでは、議題が「カジノ」に対して否定的であるため、争点語としては「抑制語」を用いる処理としている。図3では抑制語は複数記載されているが、検索においては、このように争点語とキーワードとを合わせ検索することにより、カジノに対する是否を述べている記事を検索することができる。議題から抽出したキーワードのみでは、例えばカジノについての宣伝記事や、カジノに行った感想のみを述べているブログ記事のように、ディベートにおいて考慮する必要のない記事等も多く検索結果に含まれてしまい、適切に検索することができない。
続いて,争点決定部105で,出力された記事を分類し,意見を生成する際に用いる争点を決定する。続いて,文抽出部106で,出力した記事から争点について述べている文を抽出する。続いて,文並び替え部107で,抽出された文を並び替えることにより文章を生成する。続いて,評価部108で,生成された文を評価する。続いて,言い換え部109で,適切な接続詞を挿入し,不要な表現を削除する。続いて,出力部110で,最も評価の高い文章を,意見を述べた論述文として出力する。
データ管理システム101は,4つのデータベース(Data Base)とインターフェース/構造化部11から構成される。インターフェースDB111は,データベースに管理されているデータに対するアクセス手段を提供する。テキストデータDB112は
,ニュース記事などのテキストデータである,テキストアノテーションデータDB113は,テキストデータDB112に付与されたデータである。検索用インデックスDB114は,テキストデータDB112とテキストアノテーションデータDB113を検索可能にするためのインデックスである。争点オントロジDB115は,ディベートでよく議論になる争点と,その関連語を紐づけたデータベースである。
次に、データ管理システム101を説明した後,システム100の各部を説明する。
テキストデータDB112に蓄積されているデータは,ニュース記事などのテキストデータであり,このテキストデータの中から意見文を構成するために適切なセンテンスを抜き出し,抜き出したセンテンスを並べることで論述文を生成する。従ってテキストデータDB112は出力される論述文を構成するセンテンスのデータソースとなる。英語と日本語のニュース記事をインターネットからクローリングしてテキストデータDB112を構成する。それぞれのデータには、例えば識別子としてdoc_idを振って管理する。
テキストアノテーションデータDB113は,テキストデータDB112に付与されたデータを蓄積したDBである。図2にテキストアノテーションデータの例を示す。idはアノテーションにユニークな識別子である。doc_idはテキストデータDB112に格納されているニュース記事のidを表す。”annotation”は,アノテーションの種類を表す。アノテーションの種類については後述する。“begin”はアノテーションの開始位置で,図2の例は,このアノテーションがテキストデータのdoc_idが001122の記事の40文字目から始まっていることを意味する。“end”はアノテーションの終了位置で,図2の例は,このアノテーションがテキストデータDB112のdoc_idが001122の記事の47文字目で終了していることを意味する。“ref”は他のアノテーションへの参照であり,図2の例は,このアノテーションがidが125123であるアノテーションに“arg0”という名前のリンクを,またidが125124であるアノテーションに“arg1”という名前のリンクを持っていることを意味する。“attr”はアノテーションが持つ属性であり,任意のハッシュ値を持つ。
テキストデータとして,「Experts said that casinos dramatically increase the number of crimes.」を例に、テキストアノテーションデータの付し方を説明する。この文は,カジノがもたらすデメリットを述べているため,カジノに関する論述文を生成するときには有用である。ここで「increase」という単語より,「casinos」が「the number of crimes」を促進していることが分かるので,「increase」に”promote”というアノテーションを付ける。ここで「increase」は,テキストデータ「Experts said that casinos dramatically increase the number of crimes.」の40文字目から47文字目に書かれているので,“begin”=40,“end”=47となる。また促進する主体は「casinos」であるので,「casinos」に“promote_arg0”という別のアノテーションを付ける。この「casinos」に付けた“promote_arg0”のidが125123であると想定する。アノテーションのidはシステムがユニークになるように自動的に付与する。この場合,「increase」と「casinos」の関係がわかるように,「increase」の“promote”アノテーションから「casinos」の“promote_arg0”アノテーションにリンクを張る。これが,図2の「“arg0”: [“125123”]」が意味するところである。また「dramatically」から促進する度合いが強いことが推定できるため,“degree”=4とする。“attr”のsurfaceはテキストデータ上の表現としてどのような単語が用いられているかを示すものであり,この例の場合,promoteのテキストデータ上の表現は「increase」であるため,“surface”=increaseとなる。
アノテーションの種類としては,positive,negative,promote,promote_arg0, promote_arg1,suppress,suppress_arg0,suppress_arg1がある。positiveは,プラスの価値を持つ事柄で,自然言語上の表現は,例えば,benefit,ethic,healthなどである。negativeは,マイナスの価値を持つことがらで,自然言語上の表現は,例えば,disease,crime,riskなどである。promoteは促進を表す表現で,例えば,increase,invoke,improveなどである。promote_arg0は促進する主体,promote_arg1は促進される事象であり,先に説明したようにpromoteアノテーションが付与されるときに,その周囲の構文情報から識別されて付与される。同様に,suppressは抑制を表す表現で,例えば,decrease,stop,worsenなどである。suppress_arg0は抑制する主体,suppress_arg1は抑制される事象であり,先に説明したようにsuppressアノテーションが付与されるときに,その周囲の構文情報から識別されて付与される。
これらのアノテーションは,テキストデータに対し,上記で説明したように構文解析の結果にあらかじめ作成したルールを適用して生成することができる。またCRF++などのシーケンシャルラベリングと呼ばれる機械学習手法等を用いて生成することができる。
検索用インデックスDB114は,テキストデータDB112およびテキストアノテーションデータDB113を検索できるようにするためのインデックスデータである。キーワード検索用のインデックスデータとしては,類似検索用に各テキストデータの特徴的な語の統計量を、例えばTF−IDFを用いて計算し,そのベクトル値を,類似検索用のインデックスとして格納しておく。あるいは、Solrなどのソフトウェアを使い,Solrのインデックス生成用APIに,テキストデータやテキストアノテーションデータを入力することで,自動的に検索用インデックスを生成することもできる。
争点オントロジDB115は,ディベートでよく議論になる争点と,その関連語を紐づけたデータベースである。図3は争点オントロジDB115に蓄積される争点オントロジの例を示す。カラム300はディベートでよく議論になる争点の価値を表している。カラム301はその価値を促進するものを表している。カラム302はその価値を抑制するものを表している。例えば,争点の例としてhealthがある。これは時折,ディベートでは健康という価値が増すか減るかの観点で争点として意見を戦わせることを意味する。図3の例では,healthの価値を促進するものとして,exercise,doctor,organ donation,medicineなどがある。またhealthの価値を抑制するものとして,junk food,tabacco,alchohol,smokingなどがある。争点オントロジは高々,50行程度のデータベースであり,過去のディベートなどを参考に,人手で作成する。
インターフェース部111は,テキストデータDB112,テキストアノテーションデータDB113,検索用インデックスDB114,争点オントロジDB115へのアクセス手段を提供するインターフェースであり,RESTなどの技術で実装される。
次に、システム100の各部について説明する。
入力部102には,ユーザから議題を受け取る。WebブラウザなどのGUIから議題が入力される。議題の例としては,「We should ban smoking in train stations.(駅での喫煙を禁止すべきか)」などである。また、後述する出力文候補の数などの設定が入力されるようにしても良い。
図4は議題解析部103の動作を示すフローチャートである。S400でOpenNLP等を使って,議題に含まれる語のPOSタグを推定し,また議題の文の構文を解析し,構文解析木を生成する。S401で中心となる動詞を抽出する。構文解析木を辿って,動詞を探し,最もROOTに近い位置にある動詞を中心的な動詞として抽出する。また動詞に辿りつくまでにNotなどの否定表現が出てきた回数をカウントし,回数が奇数であれば否定表現あり,偶数であれば(2重否定など)否定表現なし,とする。例えば,議題「We should ban smoking in train stations.」の場合,動詞としてbanが抽出され,否定表現がbanにはかかっていないので,否定表現なしとなる。
次にS402で辞書と照合し,議題の極性を判定する。辞書には,accept,agreeなど,対象に対して肯定的な立場をとることを表す動詞と,ban, abandonなど,対象に対して否定的な立場をとることを表す動詞が,区別されて格納されている。今の例の場合,banは辞書と照合することにより,否定的な立場をとる動詞と判定される。これと,先に抽出した否定表現のあるなしを合わせて,最終的な議題のテーマに対する極性を判定する。今の例では,極性は否定的(negative)と判定される。一方,「We should not ban smoking.」という議題の場合には,否定表現ありで,かつbanが否定的な立場をとる表現なので,極性は肯定的(positive)と判定される。ここで判定された極性は,次のS403で抽出される名詞句に対する極性を意味する。
続いて,S403で,議題のテーマとなる名詞句を抽出する。議題の構文解析木の中の,“ROOT”,“S”,“NP”,“VP”,“SBAR”の構文タグを持つ部分木のみをROOTから辿り,出てきた名詞句を抜き出す。例えば,議題「We should ban smoking in train stations.」の場合,smokingが抽出される。続いてS404で文脈情報を抽出する。議題に含まれる語の内,POSタグがCC,FW,JJ,JJR,JJS,NN,NNP,NNPS,NNS,RP,VB,VBD,VBG,VBN,VBP,VBZであり,かつS401とS403で抽出されなかった単語を文脈情報として抽出する。例えば,議題「We should ban smoking in train stations.」の場合,train,stationが抽出される。
続いてS405で同義語展開をする。S401,S403,S404で抽出した語の同義語を,辞書を使って算出する。辞書には例えばWordNetなどを用いてもよい。例えば,議題「We should ban smoking in train stations.」の場合,名詞句としてsmokingが抽出されていたが,この同義語として,smoke,fumeが算出される。同様に,S401で抽出された動詞やS404で抽出された文脈情報を表す単語についても同義語が算出される。以上より,議題解析部103では,議題から,中心となる動詞,極性,テーマとなる名詞句,文脈情報とそれらの同義語が抽出される。これらは後段の部で利用される。
図5は検索部104の動作を示すフローチャートである。S500で議題から抽出した名詞句を含む記事を,テキストデータDB112から、検索用インデックスDB114のキーワード検索用のインデックスを用いて検索し、上位1000件を取り出す。S501で,同様に,議題から抽出した名詞句と,文脈情報をともに含む記事を,テキストデータDB112から検索用インデックスDB114のキーワード検索用のインデックスを使って検索して上位1000件を取り出す。S501は,S500にキーワードとして文脈情報を加えた検索である。続いてS502で,論題内の特徴的な語の統計量であるTF−IDFを計算し,検索用インデックスDB114の類似検索用のインデックスの各記事のTF−IDFベクトルとのユークリッド距離の近い1000件を抽出する。3つの異なるバリエーションの検索をすることで,検索漏れをなくす効果がある。
続いて,S503で抽出した3000件の記事を以下の式でスコアリングする。
スコア = (議題から抽出した名詞句が出現する回数)
+ (争点オントロジ内の単語が出現する回数)
− (記事の古さ)
ここで記事の古さは,最新年が2014年とすると,2014年に発行された記事は0,2013年に発行された記事は1,2012年に発行された記事は2となる。続いてS504で,スコアの高い上記100件の記事を出力する。このように、単語の出現回数が高い記事のスコアを上げることで、議題や争点との関係性が高い記事が発見できる。また、記事の古さについてもスコアをつけることで、より新しいデータが反映された記事を発見でき、最終的に出力する文章の説得力を増すことができる。
図6は争点決定部105の動作を示すフローチャートである。図6のフローチャートは,検索部104が出力した記事のそれぞれに対して実行する。S600で争点オントロジのすべての争点kに対してループする。図3の例でいえば,k=health,fortune,safety…と順にループする。S601では,争点オントロジ内の,争点k,kを促進するものを表す語,kを抑制するものを表す語のその記事内でのTF−IDFを求める。実際には,検索部104で類似検索に用いたTF−IDFベクトルに含まれるため,検索用インデックスDB114から該当する値を取得する。TF−IDFは単語ごとに値があるため,争点k,kを促進するものを表す語,kを抑制するものを表す語で,複数のTF−IDF値がある。S602で,これらのTF−IDF値の和を算出し,Skとする。S603でループを終了する。S604でSkが最大となるkをその記事の争点と推定する。この争点は,その記事全体が主に何の価値に重きを置いて述べられているかを表すものである。このように、記事ごとに争点を判別し、後の処理で争点ごとにグループ化して文章を生成することで、一貫した主張を述べている意見文を生成することができる。そのため、このように記事ごとに争点を決定する処理が重要となる。
図7は文抽出部106での動作を示すフローチャートである。S700で,文抽出部106が出力する文を格納する空リストを生成する。S701では、争点決定部が出力したすべての記事のすべての文に対して処理が実行されるまでループする。S702で図8に示す複数の条件に従って,文をスコアリングする。800は条件のIDを表し,801は条件,802はその条件を満たす場合の点数を表す。図8の各条件に当てはまる場合は,対応する点数を加点する。文のスコアは,すべての点数の和とする。例えば,ある文が#1と#4のみを満たす場合は,その文のスコアは6となる。S703でスコアの値が5以上なら,S700で生成したリストにその文を追加する。S704でループを終了する。S705でリスト内にある文を文抽出部106の出力とする。このような構成とすることで、一つの記事の中でも議題や争点とは関係のない文を、次の文並び替え部で用いる候補から除外することができる。
図9は文並び替え部107の動作を示すフローチャートである。S900で文を争点ごとにグループ化する。争点決定部105で,記事ごとに何が争点となっているかが推定されている。よって文の抽出元の記事の争点をキーとして,文をグループ化する。例えば,争点決定部105で決定された争点が5つのみであるとすると,文抽出部106で抽出された文は,5つのグループに分類される。S901ですべてのグループに対してループする。S902でグループ内のすべての文を,主張,理由,例のいずれの種類に該当するかでラベリングする。このラベリングには機械学習の手法を用いることができる。例えばBag−of−wordsなど公知の手法で文を特徴量ベクトルに変換し,これをSVMなどの機械学習手法で分類することができる。
続いて,S903でテンプレートにあてはめることで文を並べ,論述文を生成する。例えば,主張→理由→例→主張→理由→例と,主張,理由,例を2回繰り返すテンプレートの場合,まず,グループ内の文の主張のうち,最も文抽出部106で算出したスコアが高いものを選択する。同様に,理由,例,主張,理由,例と順にスコアが高いものから順に選択してテンプレートを埋める。S904でループを終了する。
このように、文並び替え部107では、複数の争点についての論述文が生成されることになる。そして、次の評価部108において、文並び替え部107で生成された複数の論述文を評価することで、初めて最終出力文章における争点、すなわち、本システムの論述文の立場あるいは価値観が決定されることになる。このように、同じ争点と決定された記事から抜き出した文のみを用いて論述文を生成することで、一貫した立場で論ずる文章を生成することができる。
図10は評価部108の動作を示すフローチャートである。評価部108は並び替えられて生成された文章を,議題に対する意見を述べた論述文の候補とみなし,評価し,評価値が高いものを最終的な出力とする。S1000で言語モデルを使って生成された論述文の良さを評価する。これは統計的機械翻訳で用いられる手法と同様の方法で実施できる。具体的には人が作成した論述文のデータを集めて,これらをn−gram言語モデルやニューラルネットワーク言語モデルなどの公知の方法を用いて予めモデル化する。このように生成しておいた評価モデルに対して,生成された論述文を当てはめ尤度を計算することで,尤度の高い論述文を評価値の高い論述文として出力することができる。言うまでもないが、評価方法はこの限りではなく,その他の公知の方法やヒューリスティックなルールや基準を用いて,生成された論述文を評価することができる。
S1001で評価値が高いものを3つ出力する。評価部108には,文並び替え部107で争点ごとにグループ化したグループ数の論述文が入力される。S1001により,最終的に3つの論述文が出力されることになる。本実施例では、本システムを使用するユーザが、短時間で文章の内容を把握しやすいよう3つの文章を出力する構成としているが、入力部で入力されたユーザの設定により、出力する文章の数を変更する構成とすることもできる。このような構成とすることで、ユーザの知識レベルに応じた使用が可能となる。
図11は言い換え部109の動作を示すフローチャートである。S1100で照応関係のずれを修正する。具体的には,論述文の各文において,抽出元の記事に対して前述のOpenNLPで共参照解析を実行する。その結果を使って,論述文の中の文の代名詞の参照先となる名詞や固有名詞を見つけ,その代名詞を置き換える。S501で,接続詞を補完する。論述文の連続する2文に対し,後ろの文の先頭に接続詞があれば,まずそれを除去する。続いて,前の文のBag−of−wordsと後ろの文のBag−of−wordsベクトルを連結したベクトルを特徴量として,SVMで接続詞を推定する。S502で固有名詞を含む句を削除する。文並び替え部107で主張と判定された文に対してのみ,固有名詞を含む句があれば,それを削除する。
例えば,「Expert said that casino dramatically increase the number of crimes in Kokubunji−shi.」という文があれば,論述文の抽象的な主張を構成する文としては,固有名詞を含んでいると不自然なため,「in Kokubunji−shi」の句を削除して,「Expert said that casino dramatically increase the number of crimes.」として出力する。このように、接続詞を補ったり、照応関係を修正して並び替えた複数の文の抽象度を同一にすることで、ディベートの意見文として意味の通る文章を出力することができる。
出力部110は,システムの最終的な出力となる論述文をディスプレイなどの手段によりユーザに提示する。もちろん、ディスプレイの表示以外で、合成した音声を出力してもかまわない。実際のディベートの場であれば、肯定側と否定側がそれぞれ口頭で意見を述べるため、音声を出力する方がユーザに対して、より臨場感を与えることができる。
以上を踏まえると、本実施例に記載の文章生成システムは、議題に対する意見文を出力する文章生成システムであって、議題が入力される入力部と、議題を解析し、議題の極性と検索に用いるキーワードとを判定する議題解析部と、キーワードと、議論における争点を示す争点語とを用いて記事を検索する検索部と、意見文を生成する際に用いる争点を決定する争点決定部と、検索部が出力した記事から、争点について述べている文を抽出する文抽出部と、文を並び替えることにより文章を生成する文並び替え部と、文章を評価する評価部と、文章に対して、適切な接続詞を挿入する言い換え部と、複数の文章のうち、最も評価の高い文章を意見文として出力する出力部と、を有することを特徴とする。
また、本実施例に記載の文章生成方法は、議題に対する意見文を出力する文章生成方法であって、議題が入力される第1ステップと、議題を解析し、議題の極性と検索に用いるキーワードとを判定する第2ステップと、キーワードと、議論における争点を示す争点語とを用いて記事を検索する第3ステップと、意見文を生成する際に用いる前記争点を決定する第4ステップと、第3ステップで出力された記事から、争点について述べている文を抽出する第5ステップと、文を並び替えることにより文章を生成する第6ステップと、文章を評価する第7ステップと、文章に対して、適切な接続詞を挿入する第8ステップと、複数の文章のうち、最も評価の高い文章を前記意見文として出力する第9ステップと、を有することを特徴とする。
このように、意見文の柱となる争点に基づき、記事を分類し、文を抽出し、文章を並び替えることで、1の争点について述べている文章を生成することができ、意見文に一貫性を持たせることができる。また、人間がディベートで立論を行う際のように、予め争点を決めてから情報を収集するのではなく、全ての争点について検索し、文を生成した上で、複数の争点に対して一律に評価することで、争点にこだわらず説得力のある意見文を生成することができる。
請求範囲に記載されている構成に加え、本開示の特徴の概要を以下に記載する。
(1−1)
議題に対する意見文を出力する文章生成システムであって、
前記議題が入力される入力部と、
前記議題を解析し、前記議題の極性と検索に用いるキーワードとを判定する議題解析部と、
前記キーワードと、議論における争点を示す争点語とを用いて記事を検索する検索部と、
前記意見文を生成する際に用いる前記争点を決定する争点決定部と、
前記検索部が出力した記事から、前記争点について述べている文を抽出する文抽出部と、
前記文を並び替えることにより文章を生成する文並び替え部と、
前記文章を評価する評価部と、
前記文章に対して、適切な接続詞を挿入する言い換え部と、
複数の前記文章のうち、最も評価の高い文章を前記意見文として出力する出力部と、を有することを特徴とする文章生成システム。
(1−2)
(1−1)に記載の文章生成システムにおいて,
前記争点決定部は,前記検索部が出力した記事を分類することで、前記記事ごとに前記争点を決定することを特徴とする,文章生成システム。
(1−3)
(1−1)に記載の文章生成システムにおいて,
前記検索部が検索する記事のテキストデータと,
前記テキストデータに付与されたアノテーションデータと,
前記テキストデータと前記アノテーションデータとから生成した検索用インデックスと,
前記争点と、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である争点促進語とを関連づけた争点オントロジと,が蓄積された記憶部と、
前記検索部,前記争点決定部,前記文抽出部,前記文並び替え部,前記評価部,前記言い換え部とデータをやり取りするインターフェース部と,
をさらに備えることを特徴とする,文章生成システム。
(1−4)
(1−3)に記載の文章生成システムにおいて、
前記議題解析部は、前記議題の極性を判定することで、前記キーワードとして前記抑制語または前記促進語のいずれを用いるかを決定することを特徴とする文章生成システム。
(1−5)
(1−3)に記載の文章生成システムにおいて、
前記記憶部にはさらに、評価モデルが蓄積され、
前記評価部は、複数の前記文章と前記評価モデルとの尤度をそれぞれ算出し、最も尤度が高い前記文章を前記意見文として出力することを特徴とする文章生成システム。
(1−6)
議題に対する意見文を出力する文章生成方法であって、
前記議題が入力される第1ステップと、
前記議題を解析し、前記議題の極性と検索に用いるキーワードとを判定する第2ステップと、
前記キーワードと、議論における争点を示す争点語とを用いて記事を検索する第3ステップと、
前記意見文を生成する際に用いる前記争点を決定する第4ステップと、
前記第3ステップで出力された記事から、前記争点について述べている文を抽出する第5ステップと、
前記文を並び替えることにより文章を生成する第6ステップと、
前記文章を評価する第7ステップと、
前記文章に対して、適切な接続詞を挿入する第8ステップと、
複数の前記文章のうち、最も評価の高い文章を前記意見文として出力する第9ステップと、を有することを特徴とする文章生成方法。
(1−7)
(1−6)に記載の文章生成方法において,
前記第4ステップでは,前記第3ステップで出力した記事を分類することで、前記記事ごとに前記争点を決定することを特徴とする,文章生成方法。
(1−8)
(1−6)に記載の文章生成方法において,
前記第3ステップでは、
検索する記事のテキストデータと,
前記テキストデータに付与されたアノテーションデータと,
前記テキストデータと前記アノテーションデータとから生成した検索用インデックスと,
前記争点と、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である争点促進語とを関連づけた争点オントロジと,が蓄積された記憶部に対して検索を行うことを特徴とする,文章生成システム。
(1−9)
(1−8)に記載の文章生成方法において、
前記第2ステップでは、前記議題の極性を判定することで、前記キーワードとして前記抑制語または前記促進語のいずれを用いるかを決定することを特徴とする文章生成方法。
(1−10)
(1−8)に記載の文章生成方法において、
前記記憶部にはさらに、評価モデルが蓄積され、
前記第7ステップでは、複数の前記文章と前記評価モデルとの尤度をそれぞれ算出し、最も尤度が高い前記文章を前記意見文として出力することを特徴とする文章生成方法。
(2−1)
文章生成システムであって、
演算装置と記憶装置とを含み、
前記記憶装置は、
記事のテキストデータと、
議題における争点を含む争点語を格納する争点データと、を保持し、
前記争点語は、それぞれが前記争点に対応付けられた、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である促進語と、を含み、
前記演算装置は、
議題の入力を受け付け、
前記議題の構文解析木を生成し、
前記構文解析木の所定の構文タグを有する部分木に含まれる名詞句をキーワードとして決定し、
前記キーワードを含む記事を前記テキストデータから検索し、
検索結果に含まれる記事における前記争点語の出現回数に基づいて、前記検索結果から記事を選択し、
前記抑制語と前記促進語とを取得し、
前記選択した記事ごとに、前記争点データに含まれる各争点に対応する前記抑制語及び前記促進語の前記選択した記事における出現回数を算出し、
前記選択した記事ごとに、前記算出した出現回数に基づいて、前記争点データから争点を決定し、
争点と文との関連性を示す所定の条件と前記選択した記事との比較結果に基づいて、前記選択した記事から、前記決定した争点について述べている文を抽出し、
前記抽出した文の特徴量に基づいて、当該文が主張、理由、又は例のいずれかの種類に該当するかを示すラベルを、前記抽出した文それぞれに付し、
ラベルが付された文の順序を示す所定のテンプレートと、前記抽出した文それぞれに付したラベルと、に基づいて、前記抽出した文を並び替えることにより、文章を生成することを特徴とする文章生成システム。
(2−2)
(2−1)に記載の文章生成システムにおいて、
前記記憶装置は、
前記テキストデータに付与されたアノテーションデータと、
前記テキストデータと前記アノテーションデータとから生成され、前記テキストデータと前記アノテーションデータを検索するためのインデックスである検索用インデックスと、を保持し、
前記演算装置は、前記検索用インデックスのインデックスを用いて、前記キーワードを含む記事を前記テキストデータから検索することを特徴とする、文章生成システム。
(2−3)
(2−1)に記載の文章生成システムにおいて、
前記記憶装置は、文章から評価値を算出する評価モデルを保持し、
前記演算装置は、
前記評価モデルを用いて前記生成した文章の評価値を取得し、
複数の前記生成した文章のうち、最も評価値の高い文章に接続詞が挿入された文章を前記議題に対する意見文として出力し、
前記接続詞の挿入において、
前記意見文に含まれる連続する文それぞれのBag−of−wordsによる特徴量を比較して、当該連続する文の間に挿入する接続詞を推定し、
前記推定した接続詞を当該連続する文の間に挿入することを特徴とする文章生成システム。
(2−4)
(2−1)に記載の文章生成システムにおいて、
前記演算装置は、
対象に対して肯定的な意味を持つ肯定的動詞と、対象に対して否定的な意味を持つ否定的動詞と、を区別して保持する辞書情報を取得し、
前記議題に含まれる否定表現、並びに前記議題に含まれる前記辞書情報が示す前記肯定的動詞及び前記否定的動詞に基づいて、前記議題のキーワードに対する極性を判定し、
前記極性に基づいて、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である促進語と、の一方を選択して取得し、
前記取得した一方と前記キーワードとを含む前記記事の検索を行うことを特徴とする文章生成システム。
(2−5)
(2−3)に記載の文章生成システムにおいて、
前記演算装置は、
複数の前記生成した文章それぞれと前記評価モデルとの尤度を算出し、
複数の前記生成した文章のうち、前記算出した尤度が最も高い文章を前記意見文として出力することを特徴とする文章生成システム。
(2−6)
文章生成システムによる文章生成方法であって、
前記文章生成システムは、
記事のテキストデータと、
議題における争点を含む争点語を格納する争点データと、を保持し、
前記争点語は、それぞれが前記争点に対応付けられた、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である促進語と、を含み、
前記文章生成方法は、
前記文章生成システムが、
議題の入力を受け付け、
前記議題の構文解析木を生成し、
前記構文解析木の所定の構文タグを有する部分木に含まれる名詞句をキーワードとして決定し、
前記キーワードを含む記事を前記テキストデータから検索し、
検索結果に含まれる記事における前記争点語の出現回数に基づいて、前記検索結果から記事を選択し、
前記抑制語と前記促進語とを取得し、
前記選択した記事ごとに、前記争点データに含まれる各争点に対応する前記抑制語及び前記促進語の前記選択した記事における出現回数を算出し、
前記選択した記事ごとに、前記算出した出現回数に基づいて、前記争点データから争点を決定し、
争点と文との関連性を示す所定の条件と前記選択した記事との比較結果に基づいて、前記選択した記事から、前記決定した争点について述べている文を抽出し、
前記抽出した文の特徴量に基づいて、当該文が主張、理由、又は例のいずれかの種類に該当するかを示すラベルを、前記抽出した文それぞれに付し、
ラベルが付された文の順序を示す所定のテンプレートと、前記抽出した文それぞれに付したラベルと、に基づいて、前記抽出した文を並び替えることにより、文章を生成することを特徴とする文章生成方法。
(2−7)
(2−6)に記載の文章生成方法において、
前記文章生成システムは、
前記テキストデータに付与されたアノテーションデータと、
前記テキストデータと前記アノテーションデータとから生成され、前記テキストデータと前記アノテーションデータを検索するためのインデックスである検索用インデックスと、を保持し、
前記文章生成方法は、前記文章生成システムが、前記検索用インデックスのインデックスを用いて、前記キーワードを含む記事を前記テキストデータから検索することを特徴とする、文章生成方法。
(2−8)
(2−6)に記載の文章生成方法において、
前記文章生成システムは、文章から評価値を算出する評価モデルを保持し、
前記文章生成方法は、
前記文章生成システムが、
前記評価モデルを用いて前記生成した文章の評価値を取得し、
複数の前記生成した文章のうち、最も評価値の高い文章に接続詞が挿入された文章を前記議題に対する意見文として出力し、
前記接続詞の挿入において、
前記意見文に含まれる連続する文それぞれのBag−of−wordsによる特徴量を比較して、当該連続する文の間に挿入する接続詞を推定し、
前記推定した接続詞を当該連続する文の間に挿入することを特徴とする文章生成方法。
(2−9)
(2−6)に記載の文章生成方法において、
前記文章生成システムが、
対象に対して肯定的な意味を持つ肯定的動詞と、対象に対して否定的な意味を持つ否定的動詞と、を区別して保持する辞書情報を取得し、
前記議題に含まれる否定表現、並びに前記議題に含まれる前記辞書情報が示す前記肯定的動詞及び前記否定的動詞に基づいて、前記議題のキーワードに対する極性を判定し、
前記極性に基づいて、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である促進語と、の一方を選択して取得し、
前記取得した一方と前記キーワードとを含む前記記事の検索を行うことを特徴とする文章生成方法。
(2−10)
(2−8)に記載の文章生成方法において、
前記文章生成システムが、
複数の前記生成した文章それぞれと前記評価モデルとの尤度を算出し、
複数の前記生成した文章のうち、前記算出した尤度が最も高い文章を前記意見文として出力することを特徴とする文章生成方法。
100…生成システム、
101…データ管理システム、
102…入力部、
103…議題解析部、
104…検索部、
105…争点決定部、
106…文抽出部、
107…文並び替え部、
108…評価部、
109…言い換え部、
110…出力部、
111…インターフェース
112…テキストデータデータベース、
113…テキストアノテーションデータデータベース,
114…検索用インデックスデータベース,
115…争点オントロジデータベース。

Claims (8)

  1. 文章生成のためのデータを生成するシステムであって、
    演算装置と記憶装置とインターフェースとを含み、
    前記記憶装置は、記事のテキストデータと、議題を示す名詞句と、を保持し、
    前記演算装置は、
    それぞれ予め定められた抑制表現及び促進表現を前記テキストデータから抽出し、
    前記テキストデータに対する構文解析の結果に基づいて、前記テキストデータから、前記抑制表現の主体を示す語句と、前記抑制表現によって抑制される事象を示す語句と、前記促進表現の主体を示す語句と、前記促進表現によって促進される事象を示す語句と、を抽出し、
    前記抑制表現は、前記名詞句が示す議題における争点を抑制する意味の単語であり、
    前記促進表現は、前記争点を促進する意味の単語であり、
    前記演算装置は、
    前記抑制表現と、前記促進表現と、前記抑制表現の主体を示す語句と、前記抑制表現によって抑制される事象を示す語句と、前記促進表現の主体を示す語句と、前記促進表現によって促進される事象を示す語句と、を含むアノテーション対象語句を、前記テキストデータを識別する情報と対応づけて、前記データとしてのアノテーションデータに含め、
    前記アノテーションデータを前記記憶装置に格納し、
    前記インターフェースを介して前記アノテーションデータを出力可能である、システム。
  2. 請求項1に記載のシステムであって、
    前記演算装置は、
    前記アノテーション対象語句それぞれについて、
    前記アノテーション対象語句の前記テキストデータ内における位置情報を取得し、
    前記取得した位置情報を、前記アノテーション対象語句と対応づけて、前記アノテーションデータに含める、システム。
  3. 請求項1に記載のシステムであって、
    前記演算装置は、
    前記抽出した抑制表現を、前記テキストデータ内において当該抑制表現の主体を示す語句及び当該抑制表現によって抑制される事象を示す語句と対応づけて、前記アノテーションデータに含め、
    前記抽出した促進表現を、前記テキストデータ内において当該促進表現の主体を示す語句及び当該抑制表現によって抑制される事象を示す語句と対応づけて、前記アノテーションデータに含める、システム。
  4. 請求項1に記載のシステムであって、
    前記演算装置は、
    前記テキストデータと前記アノテーションデータとから、前記アノテーションデータを検索するためのインデックスである検索用インデックスを生成し、
    前記検索用インデックスを、前記記憶装置に格納する、システム。
  5. システムが文章生成のためのデータを生成する方法であって、
    前記システムは、演算装置と記憶装置とインターフェースとを含み、
    前記記憶装置は、記事のテキストデータと、議題を示す名詞句と、を保持し、
    前記方法は、
    前記演算装置が、それぞれ予め定められた抑制表現及び促進表現を前記テキストデータから抽出し、
    前記演算装置が、前記テキストデータに対する構文解析の結果に基づいて、前記テキストデータから、前記抑制表現の主体を示す語句と、前記抑制表現によって抑制される事象を示す語句と、前記促進表現の主体を示す語句と、前記促進表現によって促進される事象を示す語句と、を抽出し、
    前記抑制表現は、前記名詞句が示す議題における争点を抑制する意味の単語であり、
    前記促進表現は、前記争点を促進する意味の単語であり、
    前記方法は、
    前記演算装置が、前記抑制表現と、前記促進表現と、前記抑制表現の主体を示す語句と、前記抑制表現によって抑制される事象を示す語句と、前記促進表現の主体を示す語句と、前記促進表現によって促進される事象を示す語句と、を含むアノテーション対象語句を、前記テキストデータを識別する情報と対応づけて、前記データとしてのアノテーションデータに含め、
    前記演算装置が、前記アノテーションデータを前記記憶装置に格納し、
    前記演算装置が、前記インターフェースを介して前記アノテーションデータを出力可能である、方法。
  6. 請求項5に記載の方法であって、
    前記演算装置が、
    前記アノテーション対象語句それぞれについて、
    前記アノテーション対象語句の前記テキストデータ内における位置情報を取得し、
    前記取得した位置情報を、前記アノテーション対象語句と対応づけて、前記アノテーションデータに含める、方法。
  7. 請求項5に記載の方法であって、
    前記演算装置が、
    前記抽出した抑制表現を、前記テキストデータ内において当該抑制表現の主体を示す語句及び当該抑制表現によって抑制される事象を示す語句と対応づけて、前記アノテーションデータに含め、
    前記抽出した促進表現を、前記テキストデータ内において当該促進表現の主体を示す語句及び当該抑制表現によって抑制される事象を示す語句と対応づけて、前記アノテーションデータに含める、方法。
  8. 請求項5に記載の方法であって、
    前記演算装置が、前記テキストデータと前記アノテーションデータとから、前記アノテーションデータを検索するためのインデックスである検索用インデックスを生成し、
    前記演算装置が、前記検索用インデックスを、前記記憶装置に格納する、方法。
JP2019002373A 2019-01-10 2019-01-10 文章生成のためのデータを生成するシステム及び方法 Active JP6830971B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019002373A JP6830971B2 (ja) 2019-01-10 2019-01-10 文章生成のためのデータを生成するシステム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019002373A JP6830971B2 (ja) 2019-01-10 2019-01-10 文章生成のためのデータを生成するシステム及び方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016551422A Division JP6466952B2 (ja) 2014-10-01 2014-10-01 文章生成システム

Publications (2)

Publication Number Publication Date
JP2019083040A JP2019083040A (ja) 2019-05-30
JP6830971B2 true JP6830971B2 (ja) 2021-02-17

Family

ID=66670510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019002373A Active JP6830971B2 (ja) 2019-01-10 2019-01-10 文章生成のためのデータを生成するシステム及び方法

Country Status (1)

Country Link
JP (1) JP6830971B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102419648B1 (ko) * 2019-11-15 2022-07-12 한국과학기술원 언어의 구체성 및 설득 전략 나열에 기반하여 문서의 설득력을 판단하고 향상시키는 방법 및 시스템
CN111341305B (zh) * 2020-03-05 2023-09-26 苏宁云计算有限公司 一种音频数据标注方法、装置及系统
CN111783441B (zh) * 2020-08-08 2024-05-24 中国人民解放军国防科技大学 一种基于支持向量机的对话语句正确性评价方法

Also Published As

Publication number Publication date
JP2019083040A (ja) 2019-05-30

Similar Documents

Publication Publication Date Title
JP6466952B2 (ja) 文章生成システム
El-Kassas et al. Automatic text summarization: A comprehensive survey
Saggion et al. Automatic text simplification
CN109241538B (zh) 基于关键词和动词依存的中文实体关系抽取方法
US10496928B2 (en) Non-factoid question-answering system and method
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
JP6830971B2 (ja) 文章生成のためのデータを生成するシステム及び方法
Pak et al. Twitter for sentiment analysis: When language resources are not available
CN110532328A (zh) 一种文本概念图构造方法
Das et al. Sentiment analysis of movie reviews using POS tags and term frequencies
Bansal Advanced Natural Language Processing with TensorFlow 2: Build effective real-world NLP applications using NER, RNNs, seq2seq models, Transformers, and more
Dornescu et al. Relative clause extraction for syntactic simplification
Bassa et al. GerIE-An Open Information Extraction System for the German Language.
Jha et al. Hsas: Hindi subjectivity analysis system
US20240012840A1 (en) Method and apparatus with arabic information extraction and semantic search
Antić Python Natural Language Processing Cookbook: Over 50 recipes to understand, analyze, and generate text for implementing language processing tasks
Duarte Sentiment analysis on Twitter for the Portuguese language
Garcia-Gorrostieta et al. Argument component classification in academic writings
Sikos et al. Authorship analysis of inspire magazine through stylometric and psychological features
Diamantini et al. Semantic disambiguation in a social information discovery system
Ranjan et al. Automatic labelling of important terms and phrases from medical discussions
JP7227705B2 (ja) 自然言語処理装置、検索装置、自然言語処理方法、検索方法およびプログラム
Sarkar et al. Text Summarization
Emani et al. Improving open information extraction for semantic web tasks
Alotaibi Sentiment analysis in arabic: An overview

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201207

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201215

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210127

R150 Certificate of patent or registration of utility model

Ref document number: 6830971

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150