JP6466952B2 - 文章生成システム - Google Patents

文章生成システム Download PDF

Info

Publication number
JP6466952B2
JP6466952B2 JP2016551422A JP2016551422A JP6466952B2 JP 6466952 B2 JP6466952 B2 JP 6466952B2 JP 2016551422 A JP2016551422 A JP 2016551422A JP 2016551422 A JP2016551422 A JP 2016551422A JP 6466952 B2 JP6466952 B2 JP 6466952B2
Authority
JP
Japan
Prior art keywords
sentence
issue
word
sentences
agenda
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
JP2016551422A
Other languages
English (en)
Other versions
JPWO2016051551A1 (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
Publication of JPWO2016051551A1 publication Critical patent/JPWO2016051551A1/ja
Application granted granted Critical
Publication of JP6466952B2 publication Critical patent/JP6466952B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、議題に対する意見文を自動で生成するシステムに関する。
自然言語からなる文章が入力され,入力された文章を解釈し,自然言語のデータからなる知識源から関連する情報を収集し,収集した情報を解釈し,組み合わせるなど加工したうえで,提示するシステムの有用性が高まってきている。このようなシステムの最近最も注目を集めているシステムの例として,質問回答(question−answering)システムがある。
たとえば、特許文献1には,レキシカルアンサータイプ(LAT)を決定し,検索し,検索結果に対しLATを使って解析することで,質問回答システムを構築する方法が示されている。
US8332394
しかし、ディベートのように、正解となる回答が一つではなく、それぞれの立場によって意見が変わるような場合には、特許文献1の技術で回答を生成することは困難である。ディベートにおいては、議題に対する意見を述べた論述文を考えた場合,単純な正解はなく,立場によって考慮すべき価値が異なるため、LATを用いて解析しても回答を一つに絞り込むことはできない。
また、特許文献1の技術では、回答として単一の名詞句または文を出力するのみで、複数の文から構成される文章を出力することもできない。これらの課題は,上記で述べた従来技術では実現不可能である。
本発明は、上記に鑑みてなされたものであって、本発明の目的は、ディベートで使われるような,議題に対する意見を述べた論述文をシステムで自動的に生成することである。
上記課題を解決するために、例えば請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、議題に対する意見文を出力する文章生成システムであって、議題が入力される入力部と、議題を解析し、議題の極性と検索に用いるキーワードとを判定する議題解析部と、キーワードと、議論における争点を示す争点語とを用いて記事を検索する検索部と、意見文を生成する際に用いる争点を決定する争点決定部と、検索部が出力した記事から、争点について述べている文を抽出する文抽出部と、文を並び替えることにより文章を生成する文並び替え部と、文章を評価する評価部と、文章に対して、適切な接続詞を挿入する言い換え部と、複数の文章のうち、最も評価の高い文章を意見文として出力する出力部と、を有することを特徴とする。
あるいは、議題に対する意見文を出力する文章生成方法であって、議題が入力される第1ステップと、議題を解析し、議題の極性と検索に用いるキーワードとを判定する第2ステップと、キーワードと、議論における争点を示す争点語とを用いて記事を検索する第3ステップと、意見文を生成する際に用いる争点を決定する第4ステップと、第3ステップで出力された記事から、争点について述べている文を抽出する第5ステップと、文を並び替えることにより文章を生成する第6ステップと、文章を評価する第7ステップと、文章に対して、適切な接続詞を挿入する第8ステップと、複数の文章のうち、最も評価の高い文章を意見文として出力する第9ステップと、を有することを特徴とする文章生成方法。
争点について述べている文を抽出し,並び替えることで,立場に応じた適切な意見を述べた意見文を生成することができる。
本発明に係る文章生成システムを示す図。 テキストアノテーションデータを示す図。 争点オントロジの例を示す図。 議題解析部103の動作を示す図。 検索部104の動作を示す図。 争点決定部105の動作を示す図。 文抽出部106での動作を示す図。 文抽出部106におけるスコア算出条件の一例を示す図。 文並び替え部107の動作を示す図。 評価部108の動作を示す図。 言い換え部109の動作を示す図。 本発明に係るディベートシステムのハードウェア構成例を示す図。
以下、図面を参照して本発明の実施の形態を説明する。
[第1の実施の形態]
以下、本発明の第1の実施の形態の文章生成システムについて説明する。本発明の第1の実施の形態の文章生成システムは、9つのモジュールが結合された生成システムと,データ管理システムからなるシステムである。具体的なハードウェア構成の例は図12に示すとおり、入力装置1202、出力装置120、各モジュールを実行するプログラムが記録されたメモリ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は,テキストデーB112に付与されたデータである。検索用インデックス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の記事の24文字目から始まっていることを意味する。“end”はアノテーションの終了位置で,図2の例は,このアノテーションがテキストデータDB112のdoc_idが001122の記事の29文字目で終了していることを意味する。“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の争点について述べている文章を生成することができ、意見文に一貫性を持たせることができる。また、人間がディベートで立論を行う際のように、予め争点を決めてから情報を収集するのではなく、全ての争点について検索し、文を生成した上で、複数の争点に対して一律に評価することで、争点にこだわらず説得力のある意見文を生成することができる。
100…生成システム、
101…データ管理システム、
102…入力部、
103…議題解析部、
104…検索部、
105…争点決定部、
106…文抽出部、
107…文並び替え部、
108…評価部、
109…言い換え部、
110…出力部、
111…インターフェース
112…テキストデータデータベース、
113…テキストアノテーションデータデータベース,
114…検索用インデックスデータベース,
115…争点オントロジデータベース。

Claims (10)

  1. 文章生成システムであって、
    演算装置と記憶装置とを含み、
    前記記憶装置は、
    記事のテキストデータと、
    議題における争点を含む争点語を格納する争点データと、を保持し、
    前記争点語は、それぞれが前記争点に対応付けられた、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である促進語と、を含み、
    前記演算装置は、
    議題の入力を受け付け、
    前記議題の構文解析木を生成し、
    前記構文解析木の所定の構文タグを有する部分木に含まれる名詞句をキーワードとして決定し、
    前記キーワードを含む記事を前記テキストデータから検索し、
    検索結果に含まれる記事における前記争点語の出現回数に基づいて、前記検索結果から記事を選択し、
    前記抑制語と前記促進語とを取得し、
    前記選択した記事ごとに、前記争点データに含まれる各争点に対応する前記抑制語及び前記促進語の前記選択した記事における出現回数を算出し、
    前記選択した記事ごとに、前記算出した出現回数に基づいて、前記争点データから争点を決定し、
    争点と文との関連性を示す所定の条件と前記選択した記事との比較結果に基づいて、前記選択した記事から、前記定した争点について述べている文を抽出し、
    前記抽出した文の特徴量に基づいて、当該文が主張、理由、又は例のいずれかの種類に該当するかを示すラベルを、前記抽出した文それぞれに付し
    ラベルが付された文の順序を示す所定のテンプレートと、前記抽出した文それぞれに付したラベルと、に基づいて、前記抽出した文を並び替えることにより、文章を生成することを特徴とする文章生成システム。
  2. 請求項1に記載の文章生成システムにおいて、
    前記記憶装置は、
    前記テキストデータに付与されたアノテーションデータと、
    前記テキストデータと前記アノテーションデータとから生成され、前記テキストデータと前記アノテーションデータを検索するためのインデックスである検索用インデックスと、を保持し、
    前記演算装置は、前記検索用インデックスのインデックスを用いて、前記キーワードを含む記事を前記テキストデータから検索することを特徴とする、文章生成システム。
  3. 請求項1に記載の文章生成システムにおいて、
    前記記憶装置は、文章から評価値を算出する評価モデルを保持し、
    前記演算装置は、
    前記評価モデルを用いて前記生成した文章の評価値を取得し、
    複数の前記生成した文章のうち、最も評価値の高い文章に接続詞が挿入された文章を前記議題に対する意見文として出力し、
    前記接続詞の挿入において、
    前記意見文に含まれる連続する文それぞれのBag−of−wordsによる特徴量を比較して、当該連続する文の間に挿入する接続詞を推定し、
    前記推定した接続詞を当該連続する文の間に挿入することを特徴とする文章生成システム。
  4. 請求項1に記載の文章生成システムにおいて、
    前記演算装置は、
    対象に対して肯定的な意味を持つ肯定的動詞と、対象に対して否定的な意味を持つ否定的動詞と、を区別して保持する辞書情報を取得し、
    前記議題に含まれる否定表現、並びに前記議題に含まれる前記辞書情報が示す前記肯定的動詞及び前記否定的動詞に基づいて、前記議題のキーワードに対する極性を判定し、
    前記極性に基づいて、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である促進語と、の一方を選択して取得し、
    前記取得した一方と前記キーワードとを含む前記記事の検索を行うことを特徴とする文章生成システム。
  5. 請求項3に記載の文章生成システムにおいて、
    前記演算装置は、
    複数の前記生成した文章それぞれと前記評価モデルとの尤度を算出し、
    複数の前記生成した文章のうち、前記算出した尤度が最も高い文章を前記意見文として出力することを特徴とする文章生成システム。
  6. 文章生成システムによる文章生成方法であって、
    前記文章生成システムは、
    記事のテキストデータと、
    議題における争点を含む争点語を格納する争点データと、を保持し、
    前記争点語は、それぞれが前記争点に対応付けられた、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である促進語と、を含み、
    前記文章生成方法は、
    前記文章生成システムが、
    議題の入力を受け付け、
    前記議題の構文解析木を生成し、
    前記構文解析木の所定の構文タグを有する部分木に含まれる名詞句をキーワードとして決定し、
    前記キーワードを含む記事を前記テキストデータから検索し、
    検索結果に含まれる記事における前記争点語の出現回数に基づいて、前記検索結果から記事を選択し、
    前記抑制語と前記促進語とを取得し、
    前記選択した記事ごとに、前記争点データに含まれる各争点に対応する前記抑制語及び前記促進語の前記選択した記事における出現回数を算出し、
    前記選択した記事ごとに、前記算出した出現回数に基づいて、前記争点データから争点を決定し、
    争点と文との関連性を示す所定の条件と前記選択した記事との比較結果に基づいて、前記選択した記事から、前記決定した争点について述べている文を抽出し、
    前記抽出した文の特徴量に基づいて、当該文が主張、理由、又は例のいずれかの種類に該当するかを示すラベルを、前記抽出した文それぞれに付し、
    ラベルが付された文の順序を示す所定のテンプレートと、前記抽出した文それぞれに付したラベルと、に基づいて、前記抽出した文を並び替えることにより、文章を生成することを特徴とする文章生成方法。
  7. 請求項6に記載の文章生成方法において、
    前記文章生成システムは、
    前記テキストデータに付与されたアノテーションデータと、
    前記テキストデータと前記アノテーションデータとから生成され、前記テキストデータと前記アノテーションデータを検索するためのインデックスである検索用インデックスと、を保持し、
    前記文章生成方法は、前記文章生成システムが、前記検索用インデックスのインデックスを用いて、前記キーワードを含む記事を前記テキストデータから検索することを特徴とする、文章生成方法。
  8. 請求項6に記載の文章生成方法において、
    前記文章生成システムは、文章から評価値を算出する評価モデルを保持し、
    前記文章生成方法は、
    前記文章生成システムが、
    前記評価モデルを用いて前記生成した文章の評価値を取得し、
    複数の前記生成した文章のうち、最も評価値の高い文章に接続詞が挿入された文章を前記議題に対する意見文として出力し、
    前記接続詞の挿入において、
    前記意見文に含まれる連続する文それぞれのBag−of−wordsによる特徴量を比較して、当該連続する文の間に挿入する接続詞を推定し、
    前記推定した接続詞を当該連続する文の間に挿入することを特徴とする文章生成方法。
  9. 請求項6に記載の文章生成方法において、
    前記文章生成システムが、
    対象に対して肯定的な意味を持つ肯定的動詞と、対象に対して否定的な意味を持つ否定的動詞と、を区別して保持する辞書情報を取得し、
    前記議題に含まれる否定表現、並びに前記議題に含まれる前記辞書情報が示す前記肯定的動詞及び前記否定的動詞に基づいて、前記議題のキーワードに対する極性を判定し、
    前記極性に基づいて、前記争点を抑制する意味の単語である抑制語と、前記争点を促進する意味の単語である促進語と、の一方を選択して取得し、
    前記取得した一方と前記キーワードとを含む前記記事の検索を行うことを特徴とする文章生成方法。
  10. 請求項8に記載の文章生成方法において、
    前記文章生成システムが、
    複数の前記生成した文章それぞれと前記評価モデルとの尤度を算出し、
    複数の前記生成した文章のうち、前記算出した尤度が最も高い文章を前記意見文として出力することを特徴とする文章生成方法。
JP2016551422A 2014-10-01 2014-10-01 文章生成システム Active JP6466952B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/076237 WO2016051551A1 (ja) 2014-10-01 2014-10-01 文章生成システム

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
JPWO2016051551A1 JPWO2016051551A1 (ja) 2017-06-01
JP6466952B2 true JP6466952B2 (ja) 2019-02-06

Family

ID=55629642

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US10496756B2 (ja)
EP (1) EP3203383A4 (ja)
JP (1) JP6466952B2 (ja)
CN (1) CN106663087B (ja)
WO (1) WO2016051551A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200125235A (ko) * 2019-04-26 2020-11-04 주식회사 엔씨소프트 퀴즈 생성 장치 및 퀴즈 생성 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10546063B2 (en) * 2016-12-13 2020-01-28 International Business Machines Corporation Processing of string inputs utilizing machine learning
CN110612524B (zh) * 2017-06-16 2023-11-10 日铁***集成株式会社 信息处理装置、信息处理方法以及记录介质
JP6973157B2 (ja) * 2018-02-16 2021-11-24 日本電信電話株式会社 議論構造拡張装置、議論構造拡張方法、及びプログラム
CN108694160B (zh) * 2018-05-15 2021-01-22 北京三快在线科技有限公司 文章生成方法、设备及存储介质
JP7117168B2 (ja) * 2018-06-14 2022-08-12 株式会社日立製作所 情報処理装置および情報処理方法
JP7156010B2 (ja) * 2018-12-26 2022-10-19 日本電信電話株式会社 発話文生成モデル学習装置、発話文収集装置、発話文生成モデル学習方法、発話文収集方法、及びプログラム
CN109885821B (zh) * 2019-03-05 2023-07-18 中国联合网络通信集团有限公司 基于人工智能的文章撰写方法及装置、计算机存储介质
CN110096710B (zh) * 2019-05-09 2022-12-30 董云鹏 一种文章分析及自论证的方法
CN110245339B (zh) * 2019-06-20 2023-04-18 北京百度网讯科技有限公司 文章生成方法、装置、设备和存储介质
CN110717041B (zh) * 2019-09-19 2023-10-03 太极计算机股份有限公司 一种案件检索方法及***
US11361759B2 (en) * 2019-11-18 2022-06-14 Streamingo Solutions Private Limited Methods and systems for automatic generation and convergence of keywords and/or keyphrases from a media
US11443211B2 (en) 2020-01-08 2022-09-13 International Business Machines Corporation Extracting important sentences from documents to answer hypothesis that include causes and consequences
CN111859982B (zh) * 2020-06-19 2024-04-26 北京百度网讯科技有限公司 语言模型的训练方法、装置、电子设备及可读存储介质
CN113609263B (zh) * 2021-09-30 2022-01-25 网娱互动科技(北京)股份有限公司 一种文章自动生成方法和***
KR20240055290A (ko) * 2022-10-20 2024-04-29 주식회사 아이팩토리 자연어 생성 모델을 이용하여 텍스트를 자동으로 생성하는 기능을 갖는 문서 작성 장치, 방법, 컴퓨터 프로그램, 컴퓨터로 판독 가능한 기록매체, 서버 및 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930302B2 (en) * 2006-11-22 2011-04-19 Intuit Inc. Method and system for analyzing user-generated content
US8239189B2 (en) * 2008-02-26 2012-08-07 Siemens Enterprise Communications Gmbh & Co. Kg Method and system for estimating a sentiment for an entity
US20090265307A1 (en) 2008-04-18 2009-10-22 Reisman Kenneth System and method for automatically producing fluent textual summaries from multiple opinions
US8332394B2 (en) 2008-05-23 2012-12-11 International Business Machines Corporation System and method for providing question and answers with deferred type evaluation
CN101620596B (zh) * 2008-06-30 2012-02-15 东北大学 一种面向查询的多文档自动摘要方法
CN101667194A (zh) * 2009-09-29 2010-03-10 北京大学 基于用户评论文本特征的自动摘要方法及其自动摘要***
CN102262632B (zh) * 2010-05-28 2014-03-19 国际商业机器公司 进行文本处理的方法和***
CN102279846A (zh) * 2010-06-10 2011-12-14 英业达股份有限公司 文章辅助写作***及其方法
CN101980196A (zh) * 2010-10-25 2011-02-23 中国农业大学 文章比对方法与装置
US20150089409A1 (en) * 2011-08-15 2015-03-26 Equal Media Limited System and method for managing opinion networks with interactive opinion flows

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200125235A (ko) * 2019-04-26 2020-11-04 주식회사 엔씨소프트 퀴즈 생성 장치 및 퀴즈 생성 방법
KR102242392B1 (ko) * 2019-04-26 2021-04-20 주식회사 엔씨소프트 퀴즈 생성 장치 및 퀴즈 생성 방법

Also Published As

Publication number Publication date
CN106663087A (zh) 2017-05-10
JPWO2016051551A1 (ja) 2017-06-01
US20170286408A1 (en) 2017-10-05
US10496756B2 (en) 2019-12-03
WO2016051551A1 (ja) 2016-04-07
EP3203383A1 (en) 2017-08-09
CN106663087B (zh) 2019-08-16
EP3203383A4 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
JP6466952B2 (ja) 文章生成システム
CN109241538B (zh) 基于关键词和动词依存的中文实体关系抽取方法
Maynard et al. Natural language processing for the semantic web
US10496928B2 (en) Non-factoid question-answering system and method
CN104636466B (zh) 一种面向开放网页的实体属性抽取方法和***
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
WO2010038540A1 (ja) テキストセグメントを有する文書から用語を抽出するためのシステム
US8375033B2 (en) Information retrieval through identification of prominent notions
Asghar et al. Medical opinion lexicon: an incremental model for mining health reviews
TWI656450B (zh) 從中文語料庫提取知識的方法和系統
CN110532328A (zh) 一种文本概念图构造方法
Al-Taani et al. An extractive graph-based Arabic text summarization approach
Qiu et al. Advanced sentiment classification of *** microblogs on smart campuses based on multi-feature fusion
CN109783806A (zh) 一种利用语义解析结构的文本匹配方法
JP6830971B2 (ja) 文章生成のためのデータを生成するシステム及び方法
JP2019082931A (ja) 検索装置、類似度算出方法、およびプログラム
Das et al. Sentiment analysis of movie reviews using POS tags and term frequencies
JP2006065387A (ja) テキスト文検索装置、テキスト文検索方法、及びテキスト文検索プログラム
Bassa et al. GerIE-An Open Information Extraction System for the German Language.
US20110106849A1 (en) New case generation device, new case generation method, and new case generation program
Diamantini et al. Semantic disambiguation in a social information discovery system
Siddiqui Sarcasm detection from Twitter database using text mining algorithms
Boonpa et al. Relationship extraction from Thai children's tales for generating illustration
JP5506482B2 (ja) 固有表現抽出装置、文字列−固有表現クラス対データベース作成装置、固有表現抽出方法、文字列−固有表現クラス対データベース作成方法、プログラム
Zahra Targeted Topic Modeling for Levantine Arabic

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190110

R150 Certificate of patent or registration of utility model

Ref document number: 6466952

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150