knok/make-meidai-dialogue: Get Japanese dialogue corpus というものを作りました。
背景
seq2seq実装をいくつか触ってみて、何かしらの知見を共有したいと思っているのですが、あまり具体例に踏み込んだ話題をなかなか見かけません。
その要因の一つに「日本語」で「対話」の「自由に利用できる」データセットがないことがあるのではないかと考えています。
個人的にTwitterから適度に対話を取得してくるスクリプトを一度作ったことがあったのですが、ノイズが多くかなり手作業でデータをクレンジングする必要がありました。
LSTMで自然な受け答えができるボットをつくったという記事を書かれた人は、ask.fmからデータをクローリングしていますが、やはり苦労はされているようです。
今回作ったもの
githubのREADMEにも書きましたが、このツールは日本語自然会話書き起こしコーパス(旧名大会話コーパス)をダウンロードして整形するものです。
残念ながらこのコーパス自体は教育・研究目的のみの利用に限るため、整形したデータを直接配布することには問題があります。そのため、ダウンロードと整形処理までを自動化するところまでのスクリプトとして公開しています。
利用する際には名大会話コーパス利用上の注意 ver. 2 (08-06-30)を参照し、許可されている目的外の利用は避けてください。
使い方
READMEにもありますが、基本はmake allするだけです。個々のtargetが何をしているかはMakefileの中を見てください。
スクリプトはpython2/3対応したつもりなのですが、ロケールがCだとpython3でうまく動かなかったので、その時は例えばmake PYTHON=python2 などとしてpython2を指定するか、ロケールをja_JP.UTF-8にしてください。
生成ファイルの内容
input: (入力文)
output: (出力文)
:
先頭にinput/output:が付与され、それ以降がテキストになっています。
注意点
- inputは一意となっている(重複しているものは排除)
- 正規化なし(英数字等は全角)
- 人名部分は未処理(F/M000といった形式のまま)
- 同一人物の連続した発話は除外
日英翻訳データセット
日英翻訳であれば、いくつか公開されているデータセットはあるようです。
今後
実際にこのデータを使っていくつかのseq2seq実装の比較記事を書いてみようと思っています。