まとめサイト風タイトルジェネレータ

MURAWAKI Yugo

Last Updated: March 9, 2017.

これは何?

seq2seq とよばれるニューラルネットワークのモデルの簡単なデモです。 seq2seq とは系列から系列への変換方法を覚えるモデルです。 このデモの場合、単語列を入力すると単語列が返ってきます (前処理で入力タイトルを単語に分割しています)。 重いので気長に待ってください。そしてあまりいじめないでください。

利用したデータはオレ的ゲーム速報@刃というまとめサイトです。 各記事について、転載元ページのタイトルと、まとめサイトがつけたタイトルのペアを収集しました。 モデルの訓練に使用したのはそのうち 56,000 ペアです。 例えば、

いつでもどこでも蕎麦を食べたいならペッソバこと「ペットボトルそば」がオススメだよ / エコなうえに容器は捨てられるので食後はスッキリ!

という転載元タイトルがまとめサイトの手にかかると

【マジかよ】 いつでもソバを食べられる 『ペットボトルそば』 が登場!ワロタwww

となります。 こうしたペアから学習したモデルは、タイトルの冒頭に「【マジかよ】」とつけたり、草を生やしたりしてくれます。 今回オレ的ゲーム速報@刃を使ったのは、タイトルペアの収集が比較的やりやすかったからです。 データの特性上、アニメやゲームの話題は得意で、その他の話題全般が苦手です。

中味

実装的には京都大学黒橋研究室・JST で開発されている KyotoNMT少し改造したものです。 KyotoNMT は seq2seq モデルに注目機構とよばれる拡張を追加したニューラル機械翻訳システムです。 注目機構つきの seq2seq モデルは、機械翻訳やその他のタスクで標準的に使われており、Google の機械翻訳システムもその一種です。

このデモのための改造は、コピー機構とよばれる拡張の追加です。 機械翻訳の場合は、源言語から目的言語へと大きく変換する必要がありますが、今回のタスクでは、入力単語をそのまま出力にコピーすれば良い場合が多々あります。 コピー機構はこうした入力から出力へのコピーを行うための仕組みです。 一般にニューラルモデルの訓練には膨大なデータが必要で、機械翻訳の場合は百万単位のペアを使ったりしていますが、今回はコピー機構を使った結果、56,000 ペアという比較的少数のデータでもある程度何とかなっています。 何ともなっていない場合も優しい目で見てください。

課題

言語処理につきものの前処理芸をそんなに頑張っていないので、訓練データは結構汚いままです。 そもそも転載元のタイトルだけでなく本文の内容を反映したタイトルをまとめサイトがつけていることがよくあります。 モデルは何もないところから情報を生み出すことを強いられています。 この問題への解決策として、転載元本文から (例えば畳み込みニューラルネットワークを使うなどして) 情報を抽出し、タイトル生成に利用するというものが考えられます。 タイトルにかぎらず、まとめサイト側の本文を生成することも不可能ではないでしょう。