【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

AI で『神曲』をフレーズ分解

AI を語学に応用することの一環として、AI で『神曲』をフレーズ分解しました。

Dante lost the right way in a dark forest encountering a leopard, a lion, and a she-wolf. Japanese Anime Style.
Bing Image Creatorで作成。Powered by DALL-E.

2023 年 5 月 28 日~『神曲』勉強会開催中!

lingua.connpass.com

ダンテ『神曲』シリーズの記事です。

第 1 部
第 2 部

  1. AI で『神曲』の古代ギリシア語訳を分析
  2. AI で『神曲』の画像生成
  3. AI で『神曲』をフレーズ分解 ← この記事
  4. AI で『神曲』ノートン訳を行分割
  5. AI で『神曲』を翻訳して比較

目次

動機

言語の学習で対訳は有用ですが、文単位での翻訳となるため語順の関係で単語の対応が分かりにくいことがあります。逆に単語単位だと細かすぎて、全体を追うのが難しくなります。

その中間として AI を利用したフレーズ単位の翻訳を試みました。いわゆるフレーズリーディングとして知られている手法です。

注意事項

以下では AI で処理したログや、それを加工した情報を引用します。内容の正確さは保証できません。AI でどの程度できるかの確認を目的としています。

※ 整形のために多少の手直しは行いましたが、細かいミスがかなり含まれると思われます。

Bard

Bard で「単語ごとに説明してください」と指示すると、単語単位ではなくフレーズ単位での翻訳が提示されました。想定とは異なりますが、これはこれで有用です。

ログの冒頭を引用します。

単語ごとに説明してください。
Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.

はい、単語ごとに説明します。

  • Nel mezzo del cammin di nostra vita
    • Nel mezzo: 中間
    • del cammin: 旅
    • di nostra vita: 私たちの人生
  • mi ritrovai per una selva oscura
    • mi ritrovai: 私は見つけました
    • per una selva oscura: 暗い森の中で
  • ché la diritta via era smarrita
    • ché: なぜなら
    • la diritta via: まっすぐな道
    • era smarrita: 失われました


日本語訳は次のようになります。

私たちの人生の中間、私は暗い森の中に迷いました。なぜなら、まっすぐな道は失われてしまっていたのです。

この詩は、ダンテの代表作『神曲』の冒頭です。ダンテは、35歳の時、暗い森の中で迷子になります。そして、古代ローマの詩人ウェルギリウスに導かれて、地獄、煉獄、天国を旅することになります。この詩は、ダンテの人生と、彼の信仰を象徴しています。

加工 (Canto I)

情報としてはこれで良いのですが、箇条書きになっているのでそのままでは読みにくいです。行ごとの表に加工しました。解説的な部分はハルシネーション(幻覚)が混ざっているようなので省略しました。

冒頭を引用します。

1 Nel mezzo del cammin di nostra vita
1 私たちの人生という旅路の途中で、

イタリア語:
日本語:
Nel mezzo
中間
del cammin
旅の
di nostra vita
私たちの人生の


2 mi ritrovai per una selva oscura,
2 気が付くと暗い森の中にいた、

イタリア語:
日本語:
mi ritrovai
私は見つけた
per una selva oscura
暗い森の中で


3 ché la diritta via era smarrita.
3 まっすぐな道を見失ったからだ。

イタリア語:
日本語:
ché
なぜなら
la diritta via
まっすぐな道
era smarrita
失われた

再現性

AI に同じ質問をしても、必ずしも同じ回答が返って来るとは限りません。

先ほど比較的きれいにフレーズ分解ができたのは偶然だったようで、続きの章(Canto II)で試した所、フォーマットが変わって行の対応が分かりにくくなりました。

ログの冒頭を引用します。解説はハルシネーション多めな気がします。

単語ごとに説明してください。
Lo giorno se n'andava, e l'aere bruno
toglieva li animai che sono in terra
da le fatiche loro; e io sol uno

かしこまりました。単語ごとに説明いたします。

  • Lo giorno se n'andava:日は去り、
  • e l'aere bruno:そして暗い空は、
  • toglieva li animai che sono in terra:地上のすべての生き物を、
  • da le fatiche loro:その労働から解放した。
  • e io sol uno:そして私は一人だけ、


この一節は、ダンテの『神曲』地獄篇の冒頭部分です。ダンテは、罪を犯したことで地獄に堕ちており、この一節では、地獄の暗闇の中で、一人ぼっちで苦しんでいる様子が描かれています。

  • Lo giorno se n'andava:このフレーズは、ラテン語の「Sol occidit et umbra venit」の翻訳です。これは「日は沈み、闇が訪れる」という意味です。ダンテは、このフレーズを使って、地獄の暗闇を象徴しています。
  • e l'aere bruno:このフレーズは、「暗い空」という意味です。地獄の空は、罪人たちの罪の重さによって、暗く染まっているとされています。
  • toglieva li animai che sono in terra:このフレーズは、「地上のすべての生き物を解放した」という意味です。地獄の空は、地上のすべての生き物を、その労働から解放するのです。
  • da le fatiche loro:このフレーズは、「その労働から」という意味です。地上の生き物たちは、誰もがさまざまな労働に従事しています。地獄の空は、その労働を終えさせ、すべての生き物を安らぎに導くのです。
  • e io sol uno:このフレーズは、「そして私は一人だけ」という意味です。ダンテは、地獄の中で、一人ぼっちで苦しんでいます。彼は、自分の罪を償うために、地獄で永遠に彷徨い続けなければならないのです。


このように、この一節は、ダンテの地獄での苦しみを表現しています。地獄の暗闇の中で、一人ぼっちで罪の重さを背負うダンテの姿は、非常に悲痛なものであり、読者に強い印象を与えます。

プロンプト

プロンプトで指示して元のスタイルを再現しました。運任せにするのではなく、プロンプトを工夫するのが本来のやり方ではあります。

ログの冒頭を引用します。

ダンテの『神曲』を読むサポートをしてほしいです。
原文を提示するので、箇条書き形式で回答してください。
1段目は行とその翻訳、2段目は行内のフレーズを分解して翻訳。

- 行1: 翻訳
    - フレーズ1: 翻訳
    - フレーズ2: 翻訳
- 行2: 翻訳
    - フレーズ1: 翻訳
    - フレーズ2: 翻訳

かしこまりました。ダンテの『神曲』を読むサポートをさせていただきます。

原文

Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.

翻訳

我が人生の半ばにして、
われは暗き森の中を迷い、
正しい道を失っていた。

フレーズ分解

  • Nel mezzo del cammin di nostra vita: 我が人生の半ばにして
    • Nel mezzo: 中間で
    • del cammin: 旅の
    • di nostra vita: 我が人生の
  • mi ritrovai per una selva oscura: われは暗き森の中を迷い
    • mi ritrovai: われは見つけられた
    • per una selva oscura: 暗き森の中を
  • ché la diritta via era smarrita: 正しい道を失っていた
    • ché: なぜなら
    • la diritta via: 正しい道
    • era smarrita: 失われていた


解説

この詩は『神曲』の冒頭であり、ダンテが35歳の時に暗き森の中を迷い、古代ローマの詩人ウェルギリウスに導かれて地獄・煉獄・天国を旅する物語の始まりを告げるものです。

合成ログ

Canto II のフレーズ分解はやり直しを含めて 2 回やりました。内容を比較すると、前半は 1 回目の方がうまく訳せている箇所が多いですが、後半になるにつれて逆転しました。結果的に 2 回やったのが奏功したわけですが、あまり安定していない印象です。

2 つのログを手動ですり合わせした合成ログです。冒頭を引用します。

Lo giorno se n’andava, e l’aere bruno
toglieva li animai che sono in terra
da le fatiche loro; e io sol uno
  • Lo giorno se n’andava, e l’aere bruno: 日は去り、そして暗い空気は
    • Lo giorno se n'andava: 日は去り
    • e l'aere bruno: そして暗い空気は
  • toglieva li animai che sono in terra: 地上のすべての生き物を解放した、
    • toglieva: 解放した
    • li animai che sono in terra: 地上のすべての生き物
  • da le fatiche loro; e io sol uno: 疲労から。そして私は一人だけ、
    • da le fatiche loro: 疲労から
    • e io sol uno: そして私は一人だけ

加工 (Canto II)

合成ログから日本語訳を抽出してまとめました。

Canto I と同様、行ごとの表に加工しました。冒頭を引用します。

1 Lo giorno se n’andava, e l’aere bruno
1 日は去り、そして暗い空気は

イタリア語:
日本語:
Lo giorno se n'andava
日は去り
e l'aere bruno
そして暗い空気は


2 toglieva li animai che sono in terra
2 地上のすべての生き物を解放した、

イタリア語:
日本語:
toglieva
解放した
li animai che sono in terra
地上のすべての生き物


3 da le fatiche loro; e io sol uno
3 疲労から。そして私は一人だけ、

イタリア語:
日本語:
da le fatiche loro
疲労から
e io sol uno
そして私は一人だけ

ChatGPT

GPT-3.5 を使用します。

加工の便を考慮して、箇条書きではなく表形式で出力するように指示しました。ログではスムーズに見えますが、実際には途中でフレーズ分割が粗くなり、プロンプトを変えてやり直したりと試行錯誤しています。

ログの冒頭を引用します。

1. イタリア語を数語ごとのフレーズに分割して、日本語との対訳表を作成してください。
2. 対訳表を基に日本語に翻訳してください。
1 Nel mezzo del cammin di nostra vita
2 mi ritrovai per una selva oscura,
3 ché la diritta via era smarrita.
  1. イタリア語と日本語の対訳表:

    イタリア語 日本語
    Nel mezzo del cammin di nostra vita 我々の人生の中間に
    mi ritrovai per una selva oscura 暗い森の中に立ち往生した
    ché la diritta via era smarrita 直道は見失われていた


2. 対訳表を基にした日本語への翻訳:

"我々の人生の中間に、暗い森の中に立ち往生した。直道は見失われていた。"
フレーズをもう少し細かく分割してください。
  1. イタリア語と日本語の対訳表:

    イタリア語 日本語
    Nel mezzo 中間に
    del cammin di nostra vita 我々の人生の中で
    mi ritrovai 立ち往生した
    per una selva oscura 暗い森の中で
    ché la diritta via 直道は
    era smarrita 見失われていた


2. 対訳表を基にした日本語への翻訳:

"中間に、我々の人生の中で、立ち往生した。暗い森の中で、直道は見失われていた。"
対訳表を基にした翻訳は、原文の行ごとに表にしてください。
|行番号 | イタリア語 | 日本語 |
|---|---|---|
| 1 | Nel mezzo del cammin di nostra vita | 日本語訳 |
| 2 | mi ritrovai per una selva oscura, | 日本語訳 |
| 3 | ché la diritta via era smarrita. | 日本語訳 |
行番号 イタリア語 日本語
1 Nel mezzo del cammin di nostra vita 我々の人生の中で
2 mi ritrovai per una selva oscura 立ち往生した暗い森の中で
3 ché la diritta via era smarrita 直道は見失われていた

加工 (Canto I)

結果を Bard と同じ形式に加工しました。冒頭を引用します。

1 Nel mezzo del cammin di nostra vita
1 我々の人生の中で

Italian:
Japanese:
Nel mezzo
中間に
del cammin di nostra vita
我々の人生の中で


2 mi ritrovai per una selva oscura,
2 立ち往生した暗い森の中で

Italian:
Japanese:
mi ritrovai
立ち往生した
per una selva oscura
暗い森の中で


3 ché la diritta via era smarrita.
3 直道は見失われていた

Italian:
Japanese:
ché la diritta via
直道は
era smarrita
見失われていた

仕切り直し

先ほど書いたように、上のやり方ではあまり安定しませんでした。

加工した資料を眺めてみると、Bard ほど細かくフレーズ分解はされずに、ほとんどの行は 2 つ程度に分解されています。

これを逆手にとって、行を 2 つ以上に分割するように指示して、表作成は次のステップに回しました。これだと安定しました。英語で指示したのも効果があったのかもしれません。

※ 資料としても英語を挟んだ方が理解も深まって一石二鳥なので、日本語での指示は試していません。

ログの冒頭を引用します。

Break each line into two or more phrases, taking into account grammatical structure.

Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.

Certainly! Here's the breakdown of each line into two or more phrases, considering grammatical structure:

  1. Nel mezzo del cammin di nostra vita

    • Nel mezzo del cammin
    • di nostra vita
  2. mi ritrovai per una selva oscura,

    • mi ritrovai
    • per una selva oscura
  3. ché la diritta via era smarrita.

    • ché la diritta via
    • era smarrita
Extract the split phrases and create a table with Italian, English, and Japanese side by side.

Certainly! Here's a table with the split phrases in Italian, English, and Japanese side by side:

Italian English Japanese
Nel mezzo del cammin In the middle of the journey 旅の途中で
di nostra vita of our life 私たちの人生の
mi ritrovai I found myself 自分を見つけた
per una selva oscura in a dark forest 暗い森の中で
ché la diritta via because the straight path まっすぐな道が
era smarrita. was lost. 失われていた。

加工(表形式)

表形式で出力すれば、スクリプトで簡単に加工できます。そのままでも読める粒度なので行単位での翻訳は挟まなくても良さそうですが、利便性のため行番号を追加しました。翻訳も多少手直ししました。

冒頭を引用します。

Line Italian English Japanese
1 Nel mezzo del cammin In the middle of the journey 旅の途中で
di nostra vita of our life 私たちの人生の
2 mi ritrovai I found myself 自分を見つけた
per una selva oscura, in a dark forest, 暗い森の中で
3 ché la diritta via because the straight path なぜならまっすぐな道が
era smarrita. was lost. 失われていた。

感想

最後に試した ChatGPT の伊英日フレーズ対訳表は作業の安定性に優れていたため、今後はフレーズ分解にこの方式を採用する予定です。

Bard は ChatGPT に比べて饒舌で、聞いてもいない関連情報を披露しようとします。これは敢えてそういう方針でやっているのでしょうし、中には面白いことも書かれているので、AI の個性としてはありだと思います。

※ ハルシネーションには注意が必要です。一昔前によく見掛けた「うそはうそであると(略」を思い出します。

今回のようなフレーズ分解は、従来から学習ノートとして個人で作成されていたと思います。AI を利用すれば手作業の何倍もの量に目を通すことが可能となるため、多読の面ではメリットがあります。ただし情報の正確さにはやや難があるため、そのことは割り切る必要があります。(質より量)

過去の作品でパブリックドメインになっているものは権利的な問題がありません。作業の重複を避ける意味で、ログを共有するのも一つの手ではないでしょうか。

今回『神曲』で試したことは GitHub にまとめています。

github.com

GitHub では Codespaces とは別にブラウザで動く VSCode が利用できます。ターミナルが利用できないなど制限がありますが、今回のリポジトリのようにログ管理が中心だとエディタだけで十分なので非常に便利です。

docs.github.com

関連記事

Bard はログが長くなるとひずみが蓄積するようで、今までできていたことができなくなったり、定型句を返して作業を拒否したりする傾向があります。適当に切り上げるのがコツのようです。

qiita.com

Bard の公開リンクには期限が設定されています。

qiita.com

そのためログを Markdown 化して GitHub に転載しています。

qiita.com