Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

自動翻訳精度の改善 #240

Open
ytori opened this issue Oct 16, 2024 · 6 comments
Open

自動翻訳精度の改善 #240

ytori opened this issue Oct 16, 2024 · 6 comments
Assignees
Labels
enhancement New feature or request priority: high

Comments

@ytori
Copy link
Collaborator

ytori commented Oct 16, 2024

現状自動翻訳について以下の課題がある。

  1. AIによる翻訳の冪等性が無い。ファイルの一部の更新だとしても当該ファイル全体を翻訳しなおす必要があり、かつ、変更が無い部分も前回とは翻訳結果が異なるため、本来の変更点のレビューが辛い。※本来の差分以外も差分として出てしまう。
  2. 用語のブレ。"App Router" -> "アプリ ルータ"、"アップ router" 等、用語の翻訳にブレがあり、技術ドキュメントとしては読みづらい部分がある。
  3. アンカーリング切れ対策。見出しが翻訳されるとアンカーリンクが壊れてしまう。スクリプトでIDを付与することで対処しているが、完全ではなくいくつかアンカーリングが切れてしまっている。

しょうがない部分もあるが、スクリプトやOpenAIのプロンプトやパラメータ(例えば1.についてはtemperature)をチューニングしつつ、txtlint等他ツールと組み合わせることでできるだけ改善したい。
どこまで効果があるか不明だが、fine tuning を試してみても面白いかもしれない。

@ytori ytori added the enhancement New feature or request label Oct 16, 2024
@jonghyo
Copy link
Collaborator

jonghyo commented Nov 5, 2024

2024/11/12に精度向上のためのアイデア出しを実施する。

@kannoixia kannoixia self-assigned this Nov 12, 2024
@jonghyo
Copy link
Collaborator

jonghyo commented Nov 12, 2024

精度向上案

課題1

  • 案1:git diffに対して、パッチ的に翻訳する。※翻訳対象をファイル単位ではなく、より細かく絞る
    • section単位で翻訳
      • 翻訳対象ファイルを入力で与えるが、翻訳対象は特定のsectionのみにする。
  • 案2:openAIのパラメータチューニング。 ★

課題2

  • 案1:プロンプトエンジニアリングの調査。プロンプト修正
  • 案2:textlintをかける ★
    • 予期せぬ変換が起こりうる
      • 辞書を再整理。変更対象が狭く絞り込まれるように、固有名詞などを使う
    • アンカーリンクが壊れることがある
      • リンク内は変換してくれない

課題3

  • 案1:アンカーリングのid生成スクリプトを修正 ★
    • 現在の本家ドキュメントサイトのアンカーリンクのパターンを調査し、id生成が漏れないようにスクリプト修正

それぞれ★を打ったアプローチをまずはトライする。

@jonghyo
Copy link
Collaborator

jonghyo commented Nov 19, 2024

@kannoixia

案2:openAIのパラメータチューニング。 ★
temperatureをチューニングして、毎回同じ回答を得られるようにする
https://platform.openai.com/docs/api-reference/chat

こちらは対応お願いします。

@kannoixia
Copy link
Collaborator

翻訳メモリに関して

翻訳メモリはCATツール(翻訳支援ツール)の機能の一つです。
以下にCATツールの概要と今回の問題に対するアプローチをまとめました。


概要

CATツール(Computer-Assisted Translation)は、翻訳作業を支援するためのソフトウェアで、翻訳メモリ(TM: Translation Memory)や用語集管理などの機能を備えています。
翻訳メモリは、過去に翻訳した文とその訳文を蓄積し、類似した文が再び現れた際に自動的に提案を行うことで、翻訳の効率化と一貫性向上を実現します。


できること

  1. 翻訳メモリの利用

    • 過去の翻訳データを活用して、類似文や一致する文の自動提案を行う。
  2. 用語集管理

    • 専門用語や固有名詞の翻訳を統一するための用語集を作成・適用可能。
  3. 翻訳の一貫性向上

    • 同じフレーズや類似表現が異なる訳になるリスクを低減。
  4. 効率的な翻訳作業

    • 繰り返し出現する文や類似文の翻訳作業を自動化。
  5. 複数翻訳者との協業

    • チームで翻訳メモリや用語集を共有して、プロジェクト全体の翻訳品質を統一。
  6. 品質管理機能

    • 未訳文の検出や誤訳チェックなどの支援機能を提供。

今回の問題に対するアプローチ

  1. 翻訳メモリの導入

    • ChatGPTで得た翻訳をCATツールにインポートして翻訳メモリを構築し、以降の翻訳に活用することで一貫性を確保します。
  2. 用語集の活用

    • CATツール内で専門用語の翻訳を統一することで、用語レベルでのブレを減らします。

主要なクラウド対応サービスとコスト比較

サービス名 主な機能 コスト(参考) GitHub Actionsでの利用適性
Smartcat 翻訳メモリ・用語集管理、無料プランあり、クラウド対応 無料?〜(一部機能有料) 無料でAPIが利用可能、簡単にスクリプト化可能
Phrase (旧Memsource Cloud) クラウド翻訳、翻訳メモリ管理、CI/CD対応、API提供 月額:約6,000円〜 APIでGitHub Actionsと連携可能
Crowdin 翻訳メモリ、用語集、GitHubリポジトリ同期機能 無料〜(一部機能有料 GitHub Actionsと公式統合あり
Lokalise GitHubリポジトリ同期、API提供、翻訳メモリ機能 月額:約10,000円〜 GitHub Actionsでファイル同期可能
Transifex 翻訳メモリ、クラウドベース、多言語プロジェクト対応 月額:約15,000円〜 APIまたはCLIでGitHub Actionsと統合

翻訳メモリと用語集が無料のSmartcatCrowdinで初めて見てもいいかも。

@jonghyo
Copy link
Collaborator

jonghyo commented Nov 26, 2024

ひとまず、textlint・openaiのチューニングで翻訳精度や翻訳のゆらぎを改善するアプローチとする。

翻訳メモリを活用すると、too muchになる可能性 大のため。

@jonghyo
Copy link
Collaborator

jonghyo commented Nov 26, 2024

textlintのalternative toolsがあるかは調査。

昨今勢いがある、優秀なツールがあるのかは別途調査。

  • 対象:OSS
  • 選定基準
    • 高頻度にメンテされている
    • star数が多い
    • 事例・記事が多い

など。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request priority: high
Projects
None yet
Development

No branches or pull requests

3 participants