見出し画像

言い換えデータを往復翻訳で作ってみる

PAWS-X

自然言語処理のタスクの一つに言い換え表現の判定や生成があります。
PAWSという英語の言い換え文ペアのデータセットがあり、日本語を含む6言語に翻訳したPAWS-Xというデータセットが公開されています。
日本語は50,000件の文ペアが入っています。


PAWS-Xデータの利用

Hugging Face Datasets から利用できます。


!pip install datasets
from datasets import load_dataset
dataset = load_dataset("paws-x", "ja")
dataset["train"][0]
{'id': 1,
 'sentence1': '1560年10月にパリで、彼は密かにスコットランドを通ってイングランドに戻るためにパスポートを彼に求めて、英国大使ニコラスThrockmortonに会いました。',
 'sentence2': '1560年10月、彼はパリでイギリスの大使ニコラス・スローモートンと密かに会い、イングランドを通ってスコットランドに戻るためのパスポートを求めた。',
 'label': 0}

labelが0の場合はその文ペアは言い換えではなく、1の場合は言い換えになっているようです。
翻訳元のPAWSが英語のデータセットなので、内容的には海外感があります。

SNOW

PAWSとはやや趣旨が異なりますが、平易な表現に言い換えるデータセット「SNOW T15:やさしい日本語コーパス」というものがあります。

こちらも同様に Hugging Face Datasets から利用できます。

from datasets import load_dataset
dataset = load_dataset("snow_simplified_japanese_corpus", "snow_t15")
dataset["train"][30]
{'ID': '31',
 'original_ja': 'もう夕食は済みましたか。',
 'simplified_ja': 'もう夕食は食べ終わりましたか。',
 'original_en': 'have you eaten dinner yet ?'}

元データを日英の対訳コーパスからとってきているようで、英語文も含まれています。original_jaを平易な表現にしたものが、simplified_jaですね。
文法構造は保ちながら、一部分のみを修正して作っているようです。

往復翻訳

テキストデータのAugmentation(データ拡張)の手法の一つとして、日本語→英語→日本語のように2回翻訳して元の言語に戻す往復翻訳という手法があります。
最近の翻訳サービスは品質が高く、言い換えデータを往復翻訳で作れそうですが、往復翻訳を使った日本語の言い換えデータセットがあるかはよく知らないです(少し調べた限りではなさそうですが、あったら教えてください)。
DeepLのTranslatorアプリの場合、Proアカウントでは無制限の文字数を翻訳できますが、通常の範囲を超えるような利用は禁止されています。

8.2.1 Customer shall not be allowed to access and control the DeepL Pro Translator through automated procedures which may cause an increased number (exceeding usual human behavior) of requests to the DeepL Pro Translator.

https://www.deepl.com/ja/pro-license?&tab=pro

APIサービスは100万文字あたり2,500円で利用できるので、数万円あればPAWS-X規模のデータセットは作れそうな価格感です。個人でやるには高いですが、企業や研究機関なら現実的に思えます。

一件だけ試してみる

とりあえず1件だけ試してみて可能性を感じたいと思います。

  • 元の文:電車(でんしゃ)は、鉄道車両のうち、電気を動力として自走する事が可能な客車や貨車の総称である。

  • 英語:電車とは、自家発電で走行可能な乗用車や貨物車の総称です。

  • イタリア語:電車とは、鉄道車両のうち客車と貨車の総称で、電気を利用して自走することができるものです。

  • インドネシア語:鉄道(電車)とは、電気で自走することができる鉄道車両のうち、客車と貨車の総称である。

英語は「自家発電」となってやや微妙です。イタリア語、インドネシア語は良い言い換えになっています。
こうして自動的に作成した文ペアを、人手または言い換え判定のAIモデルでフィルタリングするといいデータセットになる可能性はありそうに思えました。




この記事が気に入ったらサポートをしてみませんか?