AI生成のタグ翻訳は完璧ではない

ドイツ語のタグ翻訳をスクロールしている際に、AIが文脈を欠いているために生じると思われるさまざまな問題に気づきました。AIはタグを特定のDiscourse機能、プラグイン、またはコンポーネントへの参照ではなく、孤立した単語として扱っています。

注: ドイツ語の名詞は常に大文字で始まりますが、metaサイトのタグは小文字です。したがって、この投稿の翻訳では大文字の使用が不統一になっています。癖で正しいドイツ語の大文字規則に戻ってしまっていました。

まずはおもしろい部分から

実用的な問題に深入りする前に、いくつかの翻訳は単に面白いです:

  • composer → 「Komponist」 - これは音楽を書く人を指します
  • auto-bump → 「automatische-erhöhung」 - 「自動増加」
  • fully-theme → “vollständig-thematisiert” - 「完全に扱われた」
  • raspberry-pi → “Himbeere-pi”(「raspberry」を果物のラズベリーとして)
  • post-voting → “nach-der-Abstimmung” - 「投票の後」(「post」をラテン語接頭辞として読み、フォーラムの投稿として読んでいない)
  • tablet → “Tablette” - 「錠剤」(デバイスではなく、薬の錠剤)

異なるタグに同じ翻訳

これが実用的な面で最も影響が大きい問題です。2つのタグに同じ翻訳が適用されると、それらが互いのトピックを区別する能力を失います。

  • year-in-review & yearly-review → “Jahresrückblick” - 現在、プラグイン名は翻訳不可のようです(管理サイドバーやインストール済みプラグインのリストで英語名が見えるため)。おそらくプラグインの名前を指す際に英語の用語を使用することになるでしょう。ただ、いつかすべてのプラグインに翻訳された名前がつくことを願っているので、ここでは年次レビューのトピックをグループ化する方に「Metas」を追加して区別しようと思います。つまり「Metas-Jahresrückblick」(メタの年次レビュー)となります。
  • surveys & polls → “Umfragen” - 両方のプラグインの翻訳も同じだと思われ、これまで誰も気づいていません。これは「voting」とも簡単に競合するため、良い解決策についてもう少し考える必要があります :exploding_head:
  • docs & documentation → “Dokumentation” - 同様に、yearly-reviewのドキュメントはドイツ語に翻訳されていないため、このタグも翻訳しないでしょう(この場合、将来の翻訳は非常に unlikely です)
  • how-to & tutorial → “Anleitung” - これはすでに修正されています。こちらhttps://diataxis.fr/ の翻訳を見つけ、そこで使用されている用語[1]を提案しました)

翻訳すべきではない固有名詞と製品名

いくつかのタグは特定のツール、フレームワーク、または製品を指しています。それらを翻訳すると、機能が認識できなくなります。

  • raspberry-pi → “Himbeere-pi”(「raspberry」を果物のラズベリーとして)
  • mermaid → “Meerjungfrau”(「mermaid」を神話上の生物として、ダイアグラム作成ツールではなく)
  • ember → “Glut”(火の燃えかす)
  • vanilla → “Vanille”(フレーバーとしてのバニラ)
  • onebox → “einzige-box” - 「唯一のボックス」
  • intercom → “Gegensprechanlage”(ドアベルなどのインターコムとして - ただし intercom-widget は正常に翻訳されていました)
  • passkey → “Passwort” - 「パスワード」(パスキーは特に パスワードではありません
  • perspective-api → “Perspektiven-api”
  • backups → “Sicherungen”
  • design-experiment → 「Experimententwurf」 - 「design-experiment」也可以是「draft experiment」ですが、前者の場合は「design」を残し、後者の場合は下書きについて話すのがDiscourseでは一般的なので、後者を想定します。

「Discourse」の翻訳

「Discourse」を参照するほとんどのタグは、ソフトウェアの名前が含まれないように翻訳されました。例外は discourse-hub です。

「Theme」が常に「Thema」(トピック)として誤訳

これはすべてのテーマ関連タグにわたる体系的な問題です。ドイツ語では「theme」と「topic」の両方が「Thema」に翻訳されますが、Discourseの文脈ではこれらは非常に異なるものです。これにより、テーマタグは特定の議論トピックに関するものであるかのように読まれてしまいます。

  • theme-welcome → “Willkommens-Thema”(「デフォルトの固定されたウェルカムスレッド」としての「ウェルカムトピック」のように読まれる)
  • theme-creator → “Themenersteller” - 「トピック作成者」
  • horizon-theme → “Horizont-Thema”
  • meta-theme-feedback → “Meta-Themen-Feedback”
  • foundation-theme → 同じパターン
  • fully-theme → “vollständig-thematisiert” - 「完全に扱われた」

これはOfficial Themesグループのすべてのタグに影響します。

文脈が欠如していた翻訳

  • composer → 「Komponist」 - これは音楽を書く人を指し、入力フィールドは通常ドイツ語で「Editor」と呼ぶのに対して。
  • tablet → 「Tablette」 - 「錠剤」または「タブレット」。
  • copy-post → "kopierbeitrag” - 「コピー料金」(問題は単語の組み合わせです。「Beitrag」は投稿に対して正しいですが、「copy」が動詞として翻訳されていないため、Beitragがここでは料金の意味で使用されているように読めます)

名詞または動詞

一部の特徴は名詞ではなく動詞として翻訳されました

  • chat → “plaudern” - 「チャットする」
  • search → “suchen” - “検索する”

「post」がラテン語接頭辞として読まれ、フォーラムの投稿として読まれていない

  • post-voting → “nach-der-Abstimmung” - 「投票の後」
  • post-badges → 「nach-Abzeichen」 - 「バッジの後」

明確でない英語タグからの結果

  • hosted-support → “gehosteter-support”(これはホストされたサポートではなく、ホスト顧客向けのサポートのように読めます)

略語

  • pm-dropdown(ドイツ語でも同じ)文脈なしで m (message) が n (Nachricht) に置き換えられませんでした

Discourse自体のインターフェース用語と一致しない翻訳

これらの翻訳は技術的には正しいドイツ語ですが、Discourse自体のUIは異なる用語を使用しています。これにより、特にインターフェース言語でナビゲートするユーザーにとって、タグが直感的に見つけにくくなります。

  • impersonate → “nachahmen” - “模倣する”(ただしインターフェースはNutzersichtまたはNutzerrolleを使用)
  • staged-users → “Staging-Benutzer”(ただしインターフェースはvorbereitete Benutzerと言います)
  • advertising → “Werbung”(ただしインターフェースはAnzeigenを参照)
  • assign → “zuweisen”(ただしプラグインの翻訳はzuordnenを使用)
  • hot-topics → “Top-Themen”(これは「トップトピック」として翻訳されましたが、実際にはDiscourse内の異なるリストです)
  • read-only → “nur lesbar”
  • bootstrap-mode → “Bootstrap-Modus”(ただし翻訳者は当初Starthilfemodusを選択しました)
  • post-notices → “Nachrichten” - “メッセージ/ニュース”(メッセージは異なる機能であるため誤解を招く可能性があります。「公式通知」はインターフェースでMitteilungを使用)
  • about-page → “über-Seite”(これは直訳です。しかし通常、ドイツ語の翻訳は「私たちについてページ」のようなものです。Überはaboutだけでなくaboveという意味もあります。)
  • auto-bump → “automatische-erhöhung” - “自動増加”
  • tags → “Etiketten”(ただし tag-groups および tag を含むほとんどのタグは “tag” を使用し、Crowdinで使用される用語は Schlagwort です)

切り捨てられた翻訳

これは異なる種類の問題です - 翻訳エラーではなく、ドイツ語の複合名詞が英語の対応語 significantly longer であることと、タグの文字制限の組み合わせによる結果です。

  • content-security-policy → “inhalts-sicherheitsrichtl”(切り捨てられ、inhalts-sicherheitsrichtlinie であるべき)
  • ai-custom-prompt → “ai-benutzerdefinierte-auf”(単語の途中で切り捨てられ、ai-benutzerdefinierte-aufforderung であるべき)
  • custom-category-boxes → “benutzerdefinierte-katego”(単語の途中で切り捨てられ、benutzerdefinierte-kategorie-boxen であるべき。この場合、ボックスは翻訳から完全に欠落しています)

「custom」を含むタグは、「benutzerdefiniert」がかなり長い単語であるため、すぐに長くなりすぎます。

more examples

これらの例は、翻訳プロセスにより多くの文脈が必要であることを示唆しています - 理想的には、タグがどのプラグインまたは機能に属しているかを知り、既存のDiscourseインターフェース翻訳を参照として持つことです。他の言語でも同様のパターンに気づいた方がいれば、お聞きしたいです。


@nat (個人的なリクエストにより)


  1. Lernunterlagen ↩︎

「いいね!」 8

@Moin さん、ありがとうございます。これを確認し、プロンプトを改善いたします :smiling_face:

それにしても、笑ってしまいました LOL

笑いをもたらしてくださり、ありがとうございます :hugs:

「いいね!」 5

@nat、エージェントに読み取りツールのアクセス権を与えて、自分で文脈を収集できるようにしたらどうでしょうか?

投稿にはコストがかかりすぎますが、タグやカテゴリのような単発のタスクではコストが安く済み、すべてのモデルの品質向上が期待できます。

「いいね!」 4

Hmm、良いアイデアですね @falco

私が検討したもう一つの方法は、タグ名を翻訳する際に、タグの説明を追加のコンテキストとして渡すことです。この方がより予測可能かもしれませんが、どうお考えですか?

「いいね!」 4

Crowdin の用語集にアクセスできれば、翻訳を行うボットにとって非常に役立ちます(すべてのサイトではありませんが、特に Meta において)。もしそこで「composer」を「Editor」と訳すことが記載されており、AI がそれを認識していれば、タグだけでなく、トピックのタイトルや投稿内でもこれを利用できる可能性があります。

以前、Introducing our new composer, making writing on Discourse easier than ever において「composer」を修正したことがあり、その結果、ここでの翻訳編集に関するフィードバックが得られました:Feedback on the composer when translating a post to German

Meta では、説明が多くの場合、文脈をほとんど追加しません。例えば、テーマコンポーネントの説明には、コンポーネントのトピックへのリンクのみが含まれており、トピックの冒頭にある短い説明は含まれていません。

いいアイデアですね、両方やりましょう!

このアイデアは、Metaを実験場として、また実際の顧客が直面する可能性のある状況の代理として活用し、その結果として全ユーザー向けに機能を改善することを目指しています。

Metaで完璧な翻訳を得るのは、最も高価なLLMを使用し、ソースコードへのアクセスやウェブ検索といったツールを利用可能にすることで、非常に簡単になるでしょう。

「いいね!」 1

どのモデルも、Discourse インターフェースのドイツ語翻訳者が選んだのと同じ翻訳を Meta で選ぶとは思えません。「Mitarbeiter」は「staff」の完璧な翻訳です。しかし、一部の翻訳者が数年前に、それが「staff」が有給従業員を意味する小規模な趣味のフォーラムには適合しないと考え、「Team」という言葉を選んだ事実は、AI には推測できません。それは単に正しい翻訳ではないからです。まさにここで Crowdin の用語集が役立ちます。用語集がなければ、AI が生成した用語は、管理者が実際にインターフェースで見るものとは一致しません。それは AI が翻訳できないからではなく、人間が下したのと同じローカライズの判断を下さないからです。これは翻訳とローカライズの違いです。
「bootstrap mode」や「impersonation」といった他の用語についても、同様のことが言えます。

それは可能です。参考として、config/locales/**/*.yml ファイルにある同じ選択肢にアクセスできるためです。

その通りです。カテゴリやタグのような少数の列挙可能なグループについては、エージェントがソースコードの一部である既存の翻訳にアクセスできるようにすることで、その根拠を明確にするのに役立ちます。

投稿については、コストが高すぎるためそれをすることはできませんが、小規模なサイトや翻訳予算が大きい顧客にとっては選択肢の一つです。

それなら、DocumentationNews and Events > Announcements に対して AI 翻訳を無効にするべきかもしれませんね :wink: これらの翻訳が役立つことを保証するのは不可能だと思います。特に、提案された編集がトピックを最新化しないため、トピックが更新されたことに気づく簡単な方法がないからです。

一般的に、コストの問題から、すべての翻訳を含むファイルではなく、用語集の使用を提案しました。なぜなら、用語集には最も関連性の高い選択肢が一度だけ含まれると期待でき、すべてのテキストを追加する必要がないからです。

それは仕組みが異なります。エージェントはコード内の一致するチャンクを検索でき、全体をコンテキストに読み込むことはありません。

それは少し「赤子をお風呂の水ごと捨ててしまう」ようなものではないでしょうか?

ちょうど Calendar subscription URLs for external calendar apps を PT-BR(ブラジルポルトガル語)で確認しましたが、素晴らしい翻訳になっており、何もない状態よりはるかに優れています。

監督なしの機械翻訳ワークフローには常に改善の余地があり、@nat はあなたのフィードバックのおかげで今日すでにそれを改善してくれました。

完璧であることを期待している人はいません。Meta は、Discourse のユーザーや顧客に対して、早期に機能を導入し、何が可能かを実証できる場所です。

チームの皆様、こんにちは

Discourse で AI 翻訳によって生成された特定のタグを無効にするにはどうすればよいでしょうか?

これらの AI 翻訳タグの品質が一定しないため、個別にオフにしたいと考えています。

よろしくお願いいたします。

現時点では、AI 翻訳はモデルタイプに限定されておらず、有効にするとトピック、投稿、カテゴリ、タグすべてに対して有効になります。

私の提案としては、タグ設定内でタグの翻訳を直接編集することです。一度行えば、再度行う必要はありません。

あるいは、ショートテキスト翻訳エージェントが使用するプロンプトを更新することもできます。

「いいね!」 1

このトピックを書いた以降に改善されたタグの翻訳を見つけていただけますか?

OP で言及されたタグ(およびいくつかの追加タグ)は、現在メタで処理されるはずです。非常に詳細なリストをありがとうございます。これにより作業が容易になりましたし、もっと早くやるべきでした :smiling_face:

タグ翻訳機にさらに多くのコンテキストを渡すことについては、現時点では優先度が低いため、まだ時間がかかる見込みです。

「いいね!」 2