兼題型作詩ニューラルネットワークによる中国詩の創作

 {注:{ }は訳者の補間です。また、数式、表、図は原文を参照ください。}

概要

中国詩の創作は、自然言語処理において、非常に挑戦的な作業である。本論文で、我々は、新しい二段階方式の作詩法を提案する。第一段階では、ユーザーの作詩意図に従って、詩の副題を設計し、次の段階で、改良型の再帰的ニューラルネットワーク・エンコーダーデコーダー・フレームネットワークを用いて、順次、詩の各句を創作する。この兼題型手法は、作成された詩の筋が通っていて、意味的にもユーザーの意思に合致することを保証するものである。人間の判定による包括的な評価は、我々の提案するアプローチが、{これまでの}the state-of-the-artな作詩方式を凌駕しており、詩の質が,どういう訳か(somehow)、人間の詩人に匹敵する{レベルである}ことを示している。

1.まえがき

古典的中国詩は、中国文化の偉大にして貴重な遺産である。二千年以上の歴史の中で、何百万もの美しい詩が、英雄的人格、美しい情景、愛、友情、等を称揚するために書かれた。唐詩や宋律詩のような、いろいろ違った種類の古典的中国詩がある。詩のそれぞれの形式は、いくつかの特殊な構成的、押韻的、音調的な規則に従わなければならない。表1は、中国において、最もポピュラーなジャンルの詩の一つである絶句の一例を示す。絶句の原理は:4句からなり、各句は5文字、或いは、7文字から成る。;どの文字もそれぞれの音調、平(平らな音)、或いは、仄(下り音)を持ち;絶句において、第2句と最後の句の末尾の文字は、同一の韻のグループに属していなければならない(Wang,2022)。このような厳しい制約によって、良くできた絶句は素晴らしい音調となる。

近年、自動作詩の研究は非常に注目されている。ほとんどのアプローチは、作詩のために、規則、或いは、定型 (Tosa et al., 2008; Wu et al., 2009; Netzer et al., 2009; Oliveira, 2009; Oliveira, 2012)と、遺伝的アルゴリズム(Manurung, 2004; Zhou et al., 2010; Manurung et al., 2012),要約法(Yan et al., 2013)と、統計的機械翻訳法(Jiang and Zhou, 2008; He et al., 2012)を採用している。つい最近、ディープラーニング法が、有望な訓練法として現れた。この方式は、作詩を、配列対配列の問題とみなす(Zhang and Lapata, 2014; Wang et al., 2016; Yi et al., 2016)。これらの方式は、普通、ユーザーの制作意図(通常は一組のキイワード)に従って、{既存}詩のデーターセットから一つの句を選ぶことによって第1句を作り、他の3句は、この第1句と直前の句を基にして作られる。(この方式では)ユーザーの制作意図は第1句のみに反映するが、他の3句は、詩の主題に連携しない恐れがある。このことは、作詩において、意味の不調和をきたす可能性がある。さらに加えて、詩の主題は、通常、訓練用言語資料のために集められた詩からの文字によって表されることになる。しかし、ご承知のように、詩(特に、古い時代に書かれた詩)の中に用いられた言葉は、現代の言葉と異なっている。結果として、もし、ユーザーが現代の詩を書くことを望んだ場合には、既存の方式では、意味のある詩を作るのに失敗する可能性がある(e.g., Barack Obama )

本論文で、我々は、二段回手順で作詩する新しい作詩法(兼題型作詩モデル)を提案する。:詩の内容(何を述べるか)は最初に明確に計画され、そして、次に、表面的表現(如何に述べるか)が実行される。一組のキイワード(自然言語によって書かれた一文、或いは、一つの書類)でユーザーの作詩意図が与えられれば、兼題型作詩モデルによって、その詩に対して、最初に、一連の主題が決定する。次に、その副主題に従って各句を作る。兼題型作詩モデルが、ユーザーの作詩意図を副主題に再構成し、各副主題が主題とともに関わって、作詩意図の特徴を詩に表現する。詩は{順次}句毎に作られるが、その各句は、対応する副主題と、既につくられた先行句に応じて作られる。この時には、エンコーダーデコーダーモデルをベースとするレカレントニューラルネットワーク(RNN enc-dec)が使用される。我々は、このRNNエンコーダーデコーダーを改良して、副主題と先行句の両方のエンコードをサポートするようにしている。この兼題型作詩モデルは、これまでの方式に比べて、二つの点で進化している。第1は、作成された詩の各句が、ユーザーの意図に、より、近いことである。第2は、この兼題型作詩モデルが、詩のデータ以外の外部知識(例えば、巨大ウエブデータ、或いは、各種の百科事典の知識)を学ぶことができることである。結果として、それは、現代の発想と古典詩によってカバーされる言葉を橋渡しすることができる。例として、単語「バラク・オバマ」を取り上げてみよう:百科事典からの知識を用いて、この兼題型作詩モデルはユーザーの質問{単語}「バラク・オバマ」を、いくつかの副主題(例えば、「傑出」、「力」、――など)に敷衍することになり、詩の中に、深い意味合いをもたらす。

本論文の提案は二つある。第1に、我々は、兼題型作詩方式を提案する。それは、各句の副主題を作り出す。第2に、我々は、改良版のRNNエンコーダーデコーダーフレームワークを用いる。これは、詩の各句を作るために、副主題と先行句の両方のエンコードをサポートする。

本論文の残りは、以下のように構成されている。第2節では、作詩についてのいくつかの先行研究について記述し、我々の研究と比較する。第3節では、我々の兼題型作詩方式について述べる。第4節では、データーセットと実験結果を紹介する。第5節は、本論文の結論である。

2.関連研究

 作詩は、NLPnatural language processing 自然言語処理)において挑戦的な研究である。Oliveira et al. (2009; 2012; 2014)は、意味と型式に基づく作詩法を提案した。Netzer et al. (2009)は言葉連想法を採用した。Tosa et al. (2008) Wu et al. (2009)は、日本語作詩のために、句探索アプローチを用いた。Greene et al. (2010)は、韻詩の分析と創作と翻訳のために、統計的手法を応用し、言語資料ベースの作詩システムを作った。これは、与えられた制約に対応して詩を構成するために、テンプレートを用いる。Yan et al. (2013)は、作詩を一つの最適化問題と考え、諸制約のある統合フレームワークと見なした。Manurung(2004;2012)Zhouetal.(2010)は、作詩に遺伝的アルゴリズムを用いた。作詩のための重要なアプローチは、統計的機械翻訳(statistical machine translation (SMT))である。JiangZhou (2008)は、中国語連句の作成において、SMTベースのモデルをもちいた。中国語連句はわずか2句の簡単な規則のある韻詩と見なされる。第1句は、元句と見なされ、第2句に翻訳される。Heetal.(2012)は、この方式を採用して、最初の句を次の句に翻訳することにより絶句を作った。

最近、ディープラーニング法が作詩に偉大な成功を収めている。Zhang Lapata (2014)は、再帰型ニューラルネットワーク(recurrent neural network (RNN))に基づく絶句作詩モデルを提案した。そのアプローチは、最初の1句を、再帰型ニューラルネットワーク言語モデル(recurrent neural network language model (RNNLM)(Mikolov et al., 2010)を用いて作るもので、次に、後続の句が、それまでに作られた句の内容に応じて順次作られる。Wang et al. (2016)は、エンド・ツー・エンドニューラル機械翻訳モデルを使って、中国 宋の律形式詩を創作した。この律形式詩は、先行句を次の句に翻訳することによって作成される。このやり方は、SMTに似ているが、文章間の関連性がより優れている。Wang et al. (2016)は、最初の句の作成を考慮しなかった。そのため、起句はユーザーが用意する必要があり、また、起句は佳句であることが必要である。Yi et al. (2016)は、このアプローチを中国の絶句の作詩に展開した。起句の作成の問題は、分離ニューラル機械翻訳(separate neural machine translation (NMT))モデルによって解決される。これは、入力として1ケのキイワードを与え、それを、起句に翻訳する。Marjan Ghazvininejad Knight (2016)は、所与のキイワードに関連した韻字を最初に決め、次いで、エンコーダーデコーダーモデル(encoder-decoder model (Sutskever et al., 2014))を用いて、その韻字に合わせて詩全体を作るアルゴリズムを提案した。

我々の研究は、以下に述べるような点で、これまでの方式とは異なっている。第1に、我々はユーザーに(起句の)入力を強制しない。いくつかのキイワード、短文、文章、更には、単なる記録がありさえすればよい。これまでの方式では、単に、いくつかのキイワードをサポートするか、或いは、起句を準備することが必要である。第2に、我々は、ユーザーの入力に応じて、詩の主題を決定する兼題型作詩方式を採用している。これは、各区がそれぞれ一つの副主題を持って、その副主題が、作詩の調和と構成を保証する。そのために、これまでの方式の欠点である起句のみがユーザーの意図に合致し、他の句が調和喪失問題

coherent decay problem (He et al., 2012; Zhang Lapata, 2014; Wang et al., 2016; Yi et al., 2016))のためにユーザーの意図に合致しないという問題を避けている。第3に、論文(Zhou et al., 2010; Yan et al.,2013;ZhangandLapata,2014;Yietal.,2016;MarjanGhazvininejadandKnight,2016)に述べられている、韻、或いは音調についても、規則、及び、訓練言語によって、規則を自動的に学習することのできる構成であることによって、コントロールされている。結論として、我々の作詩モデルは、(Zhang and Lapata, 2014; Yi et al., 2016)の論文のモデルに比べ、簡単な構成となっている。

3.アプローチ

3・1概観

詩人が作詩する場合には作詩の前に{詩全体の}アウトラインを構想する、ということにヒントを得て、我々は、兼題型作詩方式(planning-based poetry generation approach (PPG))を提案する。これは、最初に、ユーザーの作詩意図に応じてアウトラインを作って、次に、作詩を行うものである。我々のPPG システムは、入力として、ユーザーの作詩意図を受け入れる。それは、一語、一文、或いは、一記録でよい。それから、次の2段階を{踏ん}で作詩を実行する:「詩の計画」と「詩の作成」PPGのこの二段階方式は表1に示されている。

我々は、N句からなる一詩を作ろうとしているとしよう。ここで、liはその詩のi番目の句を表す。「詩の計画」段階では、入力はNケのキイワード(k1,k2,...,kN),に変換される。ここで、ki i番目のキイワードで、 i番目の副主題を表す。「詩の作成」段階では、li 入力kil1:i−1から作成される。l1:i−1は、先行して作成されたすべての句を、l1 から li−1まで連結した配列である。そして、詩は連続的に作成され、各句は一つの副主題と先行の既に出来上がったすべての句に対応して作成される。

3・2詩の構想

3・2・1キイワードの抽出

ユーザーの作詩意図は、一連の言葉として表すことができる。詩の構想段階では、一つの前提がある。入力Qから引き出されるキイワードは、詩の句の数Nに等しくする必要があるという前提である。そうすることによって、各句は、それぞれ、副主題を得ることが保証される。もし、ユーザーの入力Qがあまりに長い場合は、我々は、最も主要なNを選んで、キイワードの配列とし、元の数を保つ必要がある。そうすれば、希望が満たされる。

我々は、テキストトランク・アルゴリズム(TextRank algorithm (Mihalcea and Tarau, 2004))を用いて、{入力の}語の重要さの度合いを評価する。これは、PageRank (Brin and Page, 1998)に述べられたグラフ型ランキングアルゴリズムである。各候補の語は、グラフのベクトルとして表現され、エッジが2語の間に、出現比率に応じて加えられる。そのエッジのウエイトは、2語の出現頻度の数に応じてセットされる。そのTextRankスコアS(Vi)はデフォルトの値(e.g. 1.0)に初期化され、次式に従って収束するまで反復して計算される。

{式(1)とノーテーションは原文参照}

3・2・2キイワードの拡張

もし、ユーザーの入力Qが、キイワードを抽出する際に短すぎるときは、我々は、キイワードの数が満たされるまでに、新しいキイワードを拡張する必要がある。我々は、このキイワードの拡張に別の手段を用いる。

RNNLM-basedmethod.  我々は、RecurrentNeural Network Language Model (RNNLM) (Mikolov et al., 2010)を用いて、先行するキイワードから副のキイワードを予測する。:ki = argmaxk P(k|k1:i−1), where ki is the i-th keyword and k1:i−1 is the preceding keywords sequence.

 

RNNLMの訓練には、いくつかの{既存の}詩から引き出されたキイワードの配列からなる訓練セットが必要である。ここでは、一つのキイワードが1句の副主題となっている。我々は、集めた{既存の}詩から訓練用の言語を自動的に作成する。特に、N句からなる一詩が与えられれば、我々は、先ず、各句の中の単語を(詩言語体系において計算される)TextRankスコアによってランク付けする。それで、TextRankスコアの最も高い単語を選んで各句のためのキイワードとする。この方法によって、我々は、各詩のためのキイワード配列を抽出することができ、したがって、キイワード初期設定型のRNNLMのための訓練用言語を得ることができる。

Knowledge-based method. 上記のRNNLM方式は、単に、副主題を作成するために適しているだけである。(集めた{既存の}詩によって、副主題が、{作成しようとする詩を}カバーはするが。)この方法は、ユーザーの入力が作詩意図から外れていると有効ではなくなる。例えば、訓練言語によってカバーされない名前のついたものについては{的外れの結果となる}。

この問題を解決するために、副主題作成に外部の知識を採用する知識基盤方式(knowledge-based method)を提案する。外部知識のソースとしては、百科事典、検索エンジンの示唆、言語データーベース(e.g. WordNet)等が使用できる。キイワードkiが与えられたとき、この方式の主アイデアは、kiをもっともよく表す、或いは、翻訳することのできるいくつかの言葉を見出すことである。この論文に於いて、我々は、kiから新しいキイワードを拡張するために、知識ソースとして、百科事典入力を使用している。我々は、候補キイワードとして、以下のすべての条件を満たすように、百科事典を検索している。:(1)単語は、kiまわりのwindow [-5,5]にあること。(2)単語のpart-of-speechは、形容詞か名詞であること。(3)単語は、詩の言語{詩語}の語彙であること。そして、キイワードとしては、最も高いTextRankスコアの単語が選ばる。

3・3作詩

作詩段階においては、詩は句ごとに{順次}作成される。各句は、兼題型作詩モデルによって特化されたキイワードと、入力したすべての先行のテキスト、を使って作成される。その手順は、配列対配列の投射問題と考えられる。ただし、入力は二つの異なった配列からなる。すなわち:兼題型作詩モデルによって特化されたキイワードと、詩において先行して作成されたテキスト。我々は、RNNエンコーダーデコーダー((RNN enc-dec) (Bahdanau et al., 2014))に基づく、attention{注目すべきものーーー即ち今回開発したシステムか?}のフレームワークを修正して、入力としての複数の配列をサポートしている。

キイワードkTk は文字、 k = {a1,a2,...,aTk})と先行テキストxTx は文字、 x = {x1,x2,...,xTx})が与えられれば、我々は、bi-directional Gated Recurrent Unit (GRU) (Cho et al., 2014) modelsを用いて、先ず、kをエンコードして、隠れ状態[r1 : rTk]とし、x[h1 : hTx]とする。それから、我々は、[r1 : rTk]を統合してベクトルrcとする。この際、下記式に於いて、[r1 : rTk]lastforwardstatefirstbackwardstateを連結する。

{式(2)以下省略}

4.実験

4・1データーセット

本論文では、我々は、4句で各句が5文字、7文字からなる中国の絶句の作詩に焦点を絞っている。我々は、76,859の絶句を集め、承認(validation)用にランダムに2,000首を選び、テスト用に2,000首選び、残りを訓練用に選んだ。

訓練用セットの中のすべての詩は、最初にCRFによる単語区分システムによって、単語に区分された。それから、我々は、すべての単語についてTextRankスコアを計算した。最高のTextRankスコアの単語は句のためのキイワードとして選ばれる。この過程において、我々は、絶句のための4ケのキイワードを抽出することができる。詩の訓練言語から、我々は、72,859のキイワード配列を抽出した。これは、キイワード拡張のためのRNN言語モデルを訓練するために使われる(3・2・2節参照)。 知識ベースの拡張のために、我々は、知識の外部ソースとして、Baidu Baike1 Wikipediaを使っている。

絶句の句から4ケのキイワードを抜き出した後、我々は、どの詩に対しても、(キイワード、先行句、現在句)からなるの4・3(four triples)を作成する。例として、表1の詩について言えば、作成された3は、表2に示されている。総ての3は、3・3節に提案されたRNNエンコーダーデコーダーモデルを訓練するために使用される。

4.2訓練

RNNベース・エンコーダー・デコーダーに基ずく提案のattention{注目すべきものーーー即ち今回開発したシステムか?}(attention)のために、ソースとターゲットの両方のための語彙として、我々は、6,000の最もしばしば用いられる文字を選んでいる。単語の埋め込み単位は512で、word2vec (Mikolov et al., 2013)によって初期化された。デコーダーのレカレント隠れ層と2ケのエンコーダーは512の隠れユニットを有する。我々のモデルのパラメーターは、正規の出荷においては[-0.08,0.08]を保持して、ランダムに初期化可能であった。このモデルは、AdaDeltaアルゴリズム (Zeiler, 2012)を用いて訓練され、ミニバッチは128にセットされた。????最終モデルは、承認セット上の困惑に従って選ばれている。????

4・3評価

4・3・1評価尺度

作詩や会話応答生成のようなテキスト生成システムの評価は困難であることはよく知られている (Zhang and Lapata, 2014; Schatzmann et al., 2005; Mou et al., 2016) 。適切で、相応しい詩や、特定のトピックに応対する会話を生成する方法は何千もある。限られた参照では、すべの正しい結果をカバーできない。Liuetal.(2016)は、BLEUMETEORのような、会話応答に適用されたオーバーラップに基づく自動評価尺度は、人間評価にほとんど相関がないことを最近示した。それ故、我々は、作詩モデルを評価するために、人間の観察を実行する。(He et al., 2012; Yan et al., 2013; Zhang and Lapata, 2014)に倣って、人間が詩を判定するに際し、以下の4つの評価基準を用いる。:詩的Poeticness”, “流暢Fluency”, “調和Coherence”, “意味Meaning”。詳細のイラストは表3に見ることができる。 それぞれの特徴の度合い1から5で、数字が多いほどよい。それぞれのシステムは25首の五言絶句と20首の七言絶句を作詩する。すべての作品は、5人の専門家によって評価され、ランキングスコアは、最終スコアとして、平均される。

4・3・2基本的モデル

我々は、基本的モデルとしていくつかの作詩方式を実行し、そのすべての方式に同じ先行処理方式を採用した。

SMT.  StatisticalMachineTranslation(Heetal.,2012)に基づく中国詩の作詩方式。この方式では、先行句が次の句に翻訳されて、詩が、反復的に作成される。

RNNLM.  Mikolov et al. (2010)によって提案されたテキスト配列を作成する方式(Graves, 2013)。{この方式では}RNNLMを訓練するために用いられる文字配列として、詩の各句が連結される。

RNNPG.  RNNに基づく作詩機(Zhang and Lapata, 2014)のアプローチに於いて、第一句が標準のRNNLMによって作成され、次に、すべての句が反復的に、先行句からエンコードされた文脈ベクトルに基づいて作成される。

ANMT.  自然言語翻訳方式に基づくattention{注目すべきものーーー即ち今回開発したシステムか?}。これは、問題を、伝統的SMTのアプローチに似通った機会翻訳の仕事とみなす。 主な違いは、ANMTにおいて、機械翻訳システムがRNNエンコーダーデコーダーフレームワーク(Bahdanau et al., 2014)に基づく標準attention{注目すべきものーーー即ち今回開発したシステムか?}であることにある。

4・3・3結果

人間の評価結果は表4に示されている。我々の提案する方式、兼題型作詩(PPG)が平均的に、すべての基本的方式を凌駕していることが見て取れる。この結果は、5言、7言詩のいずれの設定においても成り立っている。

SMTによって作られた詩は、RNNLMよりも、詩的な点で勝っている。これは、翻訳に基づく方式が、二つの隣接した句の間の投影関係がより良いことに原因している。ANMTSMT, RNNLM 、及び、 RNNPGよりもよりよい強力なベースラインであるが、しかし、我々の提案に対しては劣っている。ANMTPPGは両方ともattention{注目すべきものーーー即ち今回開発したシステムか?}に基づくエンコーダーデコーダーを使用している。主な違いは、我々の方式は、詩を作る前に、各句のために副主題を決定しているところにある。ANMTは、直に、先行テキストを次の句に翻訳している。副主題がないため、この方式は、より漠然とした、無意味な結果となっている。これに対して、我々のアプローチでは、特にキイワードを考慮している。キイワードは各句ための副主題をよりよくコントロールしている。人間の評価の結果から、提案の方式は、「詩的」「流暢」の点で、ANMTに比較して、差のない、パーフォーマンスを獲得している。しかし、「調和」と「意味」の点ではより高いスコアである。これは、副主題先行提起モデルの有効性を証明している。

4・4自動作詩 対 詩人

我々は、自動作詩システムと詩人を直接比較するという興味深い評価を実施した。これは、Turing Test (Turing, 1950)と同じである。我々は、ランダムに中国古典詩からなるテストセットから20首をえらんだ。我々は、入力として、これらの詩の題を用い、我々の自動作詩システムを使って20首を作った。それ故、機械作成詩は人間作成詩と同一の主題の下にある。そして、我々は、機械作成詩から人間作成詩を選び出すように人間の評価者に依頼した。我々はトータルで40名の評価者{の協力}を得た。彼らのすべては、よい教育を受けた院生、或いは、高学歴者である。彼らのうちの4人は中国文学の専門家で、エキスパートグループになってもらった。他の36人の評価者はノーマルグループになってもらった。ブラインドテストで、我々は、{二つの}ペアになった詩とその題を毎回それらの評価者に示した。そして、我々は、評価者に以下の3ケのオプションから選ぶように依頼した。:(1)A詩は人間による。;(2)B詩は機械による。{原文が間違っている。};(3)どちらが人間か区別がつかない。

評価結果は表5に示されている。ノーマル評価者は、機械作成詩の44.9%を人間作成詩に誤認しているか、或いは、区別できないということが分かる。しかし、エキスパート評価者については、この値は16.3%に落ちる。この結果から我々は以下の結論を引き出すことができる。

(1)標準的なノーマルユーザーにとっては、我々の機会作成詩の質は、人間作成詩に非常に近い。(2)しかし、専門的エキスパートには、機械作成詩は未だなお人間作成詩にいくらか明らかに劣っている。表6に、我々のブラインドテストから選ばれたペアの詩のサンプルを示す。

 4・5作成例

表6に、古典詩の横に、現代用語を使って、我々の方式で作った詩を示す。表7に、いくつかの例を示す。表7の左の詩の題は、啤酒(beer)であり、兼題型モデルによって与えられたキイワードは、啤酒(beer), 香醇(aroma), 清爽(cool) and (drunk)である。右の詩の題は、有名な作家である冰心(Xin Bing)と名付けられている。兼題型システムは、冰心(Xin Bing)の傍らに、3ケのキイワードを作成している。:春水(spring river), 繁星(stars) and 往事(the past)。これらのキイワードは、すべて、この作家の作品に関係している。

5.結論と今後の課題

この論文において、我々は、新しい二段階作詩法を提案した。この方式は、まず初めに、作者の作詩意図をいくつかの副主題に分解し、その後、RNNエンコーダーデコーダーに基づく改良型のattention{注目すべきものーーー即ち今回開発したシステムか?}を用いて、一詩を反復的に作成する。この改良型RNNエンコーダーデコーダーは、副主題と先行文の二つをエンコードできる2ケのエンコーダーから成り立っている。人間の専門家による評価は、我々のアプローチが他の基本的モデルを凌駕し、詩の質が、なぜか、人間の詩人に匹敵していることを示している。我々は、また、別の知識ソースとして百科事典を用いることによって、我々のアプローチが、作詩に当たってユーザーの入力を適切な副主題に拡張できることをデモで示した。将来、我々は、主題提起型について、PLSA, LDA 、或いは、 word2vecのような、更なる方式を研究するであろう。そしてまた、我々のアプローチを、宋律詩やYuanQuetc、或いは、他言語の詩のような、文学領域の他のジャンルに適用したい。