翻訳プロセスオートメーションについて本気で考えてみた(その1)

一昨年くらいから、業務の隙間を見つけてRPA(ロボットプロセスオートメーション)を動かしていました。

「まずは無料のものを」という思いから、UIPathやSikulixなどを試してみたのですが、どうもしっくりきません。

というわけで、まずは翻訳の受発注やその周辺業務を一度整理して、どんなポイントがあるのか、どこが自動化できるのか、どうしたらいいのかなどを考えてみたいと思います。

# 翻訳 受発注業務のワークフロー

まずは弊社の翻訳の受発注について、流れを整理しておきます。

※この流れは「ありそうな事柄」をリストアップしたもので、毎回すべてを実施しているわけではありません。

  1. 翻訳の見積もり依頼 受領

  2. 内容確認・文字数カウント

    • フォルダ構成の整理
    • 必要に応じて一致率の計算(CATツール)
  3. 見積もり提出

  4. 受注

  5. 翻訳内製/発注の準備

    • フォルダ構成の整理
    • 翻訳必要/不要箇所の指示作成
    • 参考資料・過去訳から対訳表/用語集作成
    • 下訳として機械翻訳の実施
  6. 翻訳

  7. チェック内製/発注の準備

    • 翻訳者からのコメント確認
  8. チェック

  9. 編集作業

    • 修正内容の確認

    • レイアウト/スタイルの確認

    • CATツール等でのQA実施

  10. 納品

  11. フォローアップ・請求作業

    • 文字数カウントの確認
    • フィードバック
    • 対訳・修正履歴一覧の作成

さて、これらの項目のうち、機械に任せてしまえるのはどれくらいあるでしょうか。

# 自動化したい項目

# 文字数カウント~一致率の計算

まずパッと思いつくのが文字数カウントです。

Wordが1ファイルだけであれば大した作業ではありませんが、複数あると開いたり閉じたりが面倒になってきます。

しかもクライアントによっては何十というファイルに対し、別々に文字数が欲しいといわれることも。

これは是非自動で実行してしまいたいですね。

TradosやMemsourceといったCATツールに入れれば全ファイルカウントしてくれますし、私が開発している CATOVIS SUITE でも文字数カウントや一致率の計算ができます。

重複が多く、そのままCATツールを使う公算が高ければ前者、簡単に確認したいだけであれば後者が使えそうです。

ブラウザを開くのが面倒 更に進んだ自動化を目指すのであれば、CATOVIS SUITEのコマンドラインツール(CLI)を使えるようにしたいところ。

ショートカットにドロップで 文字数カウント + 一致率計算 + フォルダ作成 くらいまではできそうな気がします。

# 見積もりの作成~提出

文字数のカウントができるということは、単価が固定であれば見積もりもできるということ。

あとはOutlookをCOMオブジェクトで操作したり、GmailのAPIを叩いたり、Elasticemail を使ったりすれば、定型文の見積もりくらいなら送れるのかもしれません。少なくとも下書きの準備はできるでしょう。

# 対訳表の作成~機械翻訳の実施

参考資料が原文・訳文言語でもらえたり、過去訳があったりした場合は対訳表を作りたいですね。これもCLIで自動化できるかもしれません。

機械翻訳についてもTradosやMemsourceであればAPI連携ができますし、設定次第で文字数カウントと同時に行えるはずです。

ただ、これらのツールから呼び出す機械翻訳は セグメント 単位でMTエンジンに送られるため、前後の文脈が見られないという欠点があります。

それを考慮すると、せめて段落単位ぐらいでエンジンに送信、結果を記録できるようにしたい……と考えるとマクロで柔軟に操作するか、PowerShellでCOMオブジェクトとして操作するくらいしか思いつきません。

できそうですが、優先順位は低いかな。

そういえば、DeepLはファイルでの翻訳も対応しているんでしたっけ……これについては上記の文脈うんぬんを試したことがないため、検証待ち。

# 翻訳者・チェッカーへの発注

これも上記の見積もりの作成~提出 と同じく、定型文であれば自動化できるでしょう。

やりすぎると嫌な発注者になりそうですが、そこはバランスとりつつ。

# 編集作業・QAの実施

機械的QAくらいならなんとかなりそうですね。

textlintを活用したいと前々から企みつつも、なかなか実装にいたらない……

# 対訳・修正履歴一覧の作成

個人的にはここが一番何とかしたいところ。

例えば | 原文 | 訳文 | チェック後訳文 | 修正内容 | みたいに、Excelで横に並べたものが作れたらいいのになぁ、と画策中。

原文vs訳文のアラインができるのだから、そこに1、2列追加するのってあまり難しくない気もするのですが、これもまだアイデアがまとまっていません。

あとは節目節目で git commit をしておいたら、difflog で綺麗に見えるのでしょうか。

前にMemsourceのmxliffをgitで管理したところ、xmlの構造のせいか、一つのセグメントを修正するたびに3~5行程度の変更マークがついてしまって、見づらくなってしまいました。

Tradosのsdlxliffもタグごとに改行されていなくて苦労しそうです。

xml → yaml/toml の変換プログラムが欲しい……

# TL; DR

文字カウントや機械翻訳、対訳作成などは自動化できそう。

コマンドラインツールを整備すればファイルを開いたり、プロジェクトを新規作成しなくても自動化できる =早い!

でもNode.jsをインストールしろとか、コマンドを覚えてとかは(自分含め)ハードルが高いので、何らかのUIをかぶせる必要がある。

PowerShellやコマンドプロンプトを裏で動かす前提ならWPF + C#か。Electronでもいけるか。

少し手の空いているうちに、何か作ってみたいと思います。

# PR

ここで紹介するPowerShellの小技をまとめました!

ゴールデンブリッジでは、
翻訳・通訳・インバウンドツアー・国際会議運営など
ご用命をお待ちしております!
また、翻訳に関わるツール・ソフトウェアの開発等についてもお気軽にお声掛けください。

株式会社ゴールデンブリッジ 公式Webサイト