« SDL Trados Studio 2011 - 日本語版ヘルプ公開 | トップページ | Windows 7 + Studio 2011 »

2012.03.06

翻訳メモリーの中身の検索

★★
(SDL Trados 2007 までの話です。Studio アーキテクチャではだいぶ事情が変わります)

訳文セグメントに候補として示される訳文ではなく、

翻訳メモリーの中から訳文または訳の一部を検索

したいときがあります。というより、むしろ翻訳メモリーで本当に必要な機能はむしろこちらではないか、と私は思っています。センテンス単位の一致/類似ではなく、部分的な表現を合わせることにこそ、翻訳メモリーを使う重要な意味があると考えるからです(統一性が重視される翻訳の話です、言うまでもなく)。

翻訳メモリーを売る側も使う側も、実はこの点をあまりちゃんと判っていないんじゃないでしょうか。

メモリー技術の登場以来、センテンス単位の一致/類似と再利用性ばかりがアピールされてきたから、「文脈に合わなくてもセンテンスごとの対応が重要」みたいにガチガチな発想で運用されたり、「再利用性はそれほどない」と言われたりしている。

用語レベルは用語集(MultiTerm)で統一すればいい。センテンス単位を考えるのは翻訳者の仕事。その「はざま」にあるフレーズレベルの表現の模倣/統一にこそ、翻訳メモリーは真価を発揮するのではないでしょうか。

そう考えれば、翻訳セグメントに候補が出てくるのをただ待っているのではなく、積極的にメモリー内を検索すべきです。

Trados Workbench では[ツール]→[訳語検索]、いわゆる「コンコーダンス検索」がこの機能ですが、肝心のこの機能が、2007まではかなり使えないということを過去に何度か書いています。

参考リンク: Tips - 「訳語検索」

そこで、Workbenchの不十分な検索機能を補う方法を紹介します。メモリーをテキストファイルにエクスポートして、それを活用する方法です。

1. TM のエクスポート

Workbench の[ファイル]→[エクスポート]を選択します。フィルタを指定するダイアログが出ますが、それは気にせず[OK]をクリックします。ファイル保存ダイアログの[ファイルの種類]は、[Translator(s Workbench 7.x/8.x (*.txt)]にしておいてください(たぶんデフォルト)。その次の[Translator(s Workbench 2.x-6.x]でもだいたい同じです。その他の TMX- ではダメ。

※SDL Tradosが2007より前のバージョンだと、エクスポートテキストのフォーマットが以下の説明と少し違うかもしれません。


2. エクスポートファイルの加工

エクスポートしたテキストをテキストエディタで開くと、

原文が <Seg L=EN-US>
訳文が <Seg L=JA>

というタグで示されていることが判ります(これは英日の場合。他の言語なら言語コードの部分が違うだけ)。ただし、それが別々の行になっているので、たとえば秀丸エディタを使った grep 結果だと、原文か訳文のどちらかしか見えないことになります。そこで私は、

検索文字列 \n<Seg L=JA>
置換文字列 \t<Seg L=JA>

という全置換をかけて(正規表現オン)、1行形式に加工しています。


3. フォント情報の削除

元の翻訳時にフォントが混在していた場合には、エクスポートしたテキスト上にも、かなり複雑なフォント情報が残っています。たとえば、<em> という内部タグだけでも、

{\cs6\f1\cf6\lang1024 <em>}Notes{\cs6\f1\cf6\lang1024 </em>}

こんな具合です。ちなみに、フォント情報を消した元の情報は<em>Notes</em> だけです。

これが残ってると、あるはずの情報も検索できないことになるので、できればこのフォント情報も消してしまいたい。ちょっとややこしいですが、こんな置換をかけます(秀丸エディタでの指定方法です。正規表現オン)。

検索文字列 {\\[^{} ]+ \f[^{}]+\f} または {\\.*?+ \f.*?\f}
置換文字列 \1

いわゆる「タグ付き正規表現」というワザで、たとえば上の例で言えば、前後のフォント情報だけ削除して Notes の部分だけが残る置換です。ただ、フォント情報はいろんなパターンがあるので、これだけではキレイにならないメモリーもあるかもしれません。

注意: ここまで置換加工したテキストファイルは、たぶん Workbench に正常にインポートできなくなります。エクスポートしたファイルを加工するのは、あくまでも参照用に限定し、後からインポートするテキストファイルは加工しないように。


4. 実際の検索

テキストベースなので、十分に検索したい場合も、やはりエディタ上で正規表現を使うことになります。

このコンコーダンス検索機能がもっともっと充実していて簡単に使えるツールがあれば、翻訳支援としてはそれが最強かもしれません。

04:26 午前 Trados Tips, Trados 機能 |

はてなブックマークに追加

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/13481/54153008

この記事へのトラックバック一覧です: 翻訳メモリーの中身の検索:

コメント

>翻訳メモリーの中から訳文または訳の一部を検索
>したいときがあります。
まったくそのとおりです。
TradosがLinux上で動作すれば、
Emacsの強力な正規表現と組み合わせて使えるのでいいと思うことがしばしばあります。翻訳エージェンシーさんには、初めから、参照メモリーをテキストにエクスポートしたものを送ってほしいと思うこともある。
こういう作業には手間もかかりますし。

投稿: prof | 2012/03/06 11:25:28

profさん、コメントありがとうございます(リンク先も確認させていただきました)。

> TradosがLinux上で動作すれば

Linux上でメモリーをエクスポートして参照する用途だけなら、Omega-Tで何とかなりませんか。Omega-Tは、私も前から試してみようと思いつつ何も手がついていないんですが。

投稿: baldhatter | 2012/03/06 14:11:50

初めまして、私も同感です。Perl(スクリプト言語)のプログラマーなので、抽出するスクリプトを自作し、自分で自由に翻訳メモリーを検索したり、自作QAツールでゴミ取りなどをして使っています。ただ、まだ私はSDL TRADOS 7 Freelanceを使っているのですが、2007はそんなにコンコーダンス検索が違うのでしょうか?

参考リンクを拝見すると、ファジーマッチのアルゴリズムが変更されているような記述ですが、このアルゴリズムの詳細はどこかに掲載されているのでしょうか??

投稿: 自然科学研究員 | 2012/03/14 3:51:42

自然科学研究員さん、コメントありがとうございます。

結局、自分で何かできちゃう人はそれなりの工夫をなさってますよね。そういうノウハウをぜんぶ一堂に会したら面白いことになるだろうな、と以前から夢想しています。

> SDL TRADOS 7 Freelanceを使っているのですが、2007はそんなにコンコーダンス検索が違うのでしょうか?

えーと、バージョンの表し方がちょっとややこしいのですが、「SDL TRADOS 7」のように番号だけで表されていたのはたぶん「7.5.x」までで、それがそのまま「SDL TRADOS 2006」に移行し、それ以降は「2007」、「Studio 2009」と進んでいます。その前提で言うと、自然科学研究員さんがおっしゃている「SDL TRADOS 7」と「2007」で、コンコーダンスのロジックは基本的に何も変わっていません。Studioアーキテクチャになってだいぶマシになりました。

投稿: baldhatter | 2012/03/15 21:39:25

お答えくださり、有難うございます!

バージョンの表記がややこしくて、私も真剣に調べたことがなかったのですが、問題ないようなので安心しました。Idiom WorldServerで作業するときも、翻訳メモリーを抽出してTRADOSのTMW形式に変換し、コンコーダンス検索を行なっています。

また、翻訳メモリー中の用語を用語集でチェックするプログラムや複数の翻訳メモリーに対してファジーマッチを出力したりするプログラムを作って遊んでいます。私も翻訳メモリーの訳文は参考になると思いますし、日頃からメンテナンスしておくのが良いと考えています。ファイルサイズが大きいとゴミだらけですね(笑)

また、面白い話がありましたら記事にしてください。楽しみにしております。

投稿: 自然科学研究員 | 2012/03/16 0:19:19

自然科学研究員さん

Tradosのバージョンに関する整理の記事は、こちらです。
http://baldhatter.txt-nifty.com/trados/2012/01/2012-fe72.html

よろしかったらどうぞ。

投稿: baldhatter | 2012/03/16 0:30:18

ご丁寧に有難うございます。

ただ、よく分からないのが、私のインストールしたTRADOSは、自動で作成されたフォルダが「SDL TRADOS 7 Freelance」となっており、Workbenchのバージョンを調べると「Translator's Workbench, Version 7.0 Freelance」と書かれており、詳細として「SDL TRADOS Translator's Workbench 7.1.0.719」となっています。

「Trados 6.x」と「SDL Trados 2006(Trados 7.5.x)」の間のバージョンみたいですが、SDLが付いているので後者に近いのでしょうか。

さすがに、そろそろバージョンアップしなければと思っていますが、64bitネイティブ対応ではないのが気になります。

投稿: 自然科学研究員 | 2012/03/17 11:07:05

内部バージョンで言うと、
SDL Trados 2007 = バージョン8.x
SDL Trados 2006 = バージョン7.5.x
Trados 6.5 …… バージョン7.x.
なので、おっしゃるように内部バージョンがちょっと微妙ですね。Servoce Packは更新なさいました? SP1にするとビルドが上がると思うんですが。


以前の記事でご紹介してますが、公式サイトにもこんな年表があるんですよね。
http://www.translationzone.com/jp/about-us/history-of-sdl-trados/sdl-trados-timeline/
これを見ると、SDLに買収されたのが2005年です。

投稿: baldhatter | 2012/03/17 19:34:19

ご指摘、有難うございます!

再インストールした際に更新し忘れていたようです。
お騒がせしました。

投稿: 自然科学研究員 | 2012/03/17 21:12:25

TMを秀丸の正規表現を駆使しなくてもそのまま辞書データとして使用できるソフトウェアにApSIC Xbench(http://www.apsic.com/en/downloads.aspx)というソフトウェアがあります(既に御承知でしたら、このコメントは無視してください)。一般的なタブ区切りやMicrosoft glossaryなど、辞書形式のカバレッジは私にとっては十分です。通常は1単語で検索するのでしょうが、PowerSearchという機能を使えば複数語を含む文章も簡単に検索できます。
話は変わりますが、Trados 2007のWorkBenchが今朝になって起動できなくなったということはありませんか。知人にも1人そういうのがいて、私はWindows Updateが原因かとも思っていましたが、同じUpdateをインストールした別の知人ではWorkBenchが使用できる状況で、結局、朝から問題解消ができていません。

投稿: 中沢 克彦 | 2012/03/26 15:03:29

中沢さん、コメントありがとうございます。

> ApSIC Xbench

はい。何年か前に試したことがあります。
http://baldhatter.txt-nifty.com/misc/2008/10/trados---sdl--1.html

でも、思いのほか使い勝手が悪くてやめちゃった記憶があります。

> Trados 2007のWorkBenchが今朝になって起動できなくなった

「今朝」というのは「ある朝」ではなく今日とか、この数日とか、そういうことですか。それはないですね。ただ、しばらく前から、Workbenchの終了時に毎回、「"read"になれませんでした」エラーが出るようになっています。2007は放置されていて、ちょっといかんですね。

投稿: baldhatter | 2012/03/26 15:13:06

baldhatterさん
Xbenchをすでに話題になさっていたのを気付かず、恐縮です。
今日というのはまさに今日でして、前日まで使用できていたのが、今朝できなかったのです。その間にあったことと言えば、win7を閉じるときに、windows updateが実行されたことで環境が変化したことしか考えられなかったので、朝からインターネットを調べまくっていたら、TRADOSに造詣の深い方を見つけたので、念のため、お伺いしたのでした。仲間に電話したところ、XPの友人は私と同じ状況、win7の別の友人は今まで通りということで、troubleshootingができない状況です。
早速のご回答ありがとうございました。しかし、翻訳ができなくなったのには困りました。

投稿: 中沢 克彦 | 2012/03/26 16:03:23

> 、XPの友人は私と同じ状況、win7の別の友人は今まで通りということで、troubleshootingができない状況です。

私もTrados 2007を使っているのはXP環境なのですが、今月のWindows Update後にも特に何も起きていません。

念のため、以下をお試しください。

1. プログラムグループの[Trados]フォルダにある[Register SDL Trados 2007]を実行してみてください(インターフェースなど英語に戻りますが)。

2. Tradosの再インストール。

思いつくのは、まずはここまでですねー。

投稿: baldhatter | 2012/03/26 16:09:08

baldhatterさん

信じられない解決法がありました。
XPの友人からの電話で、ネットワークコネクターを一度外し、WorkBenchが起動できることを確認したら、ネットワークコネクターを再接続すれば、あとは通常通りWorkBenchを起動できるというものです。

Tradosを使い始めて10年くらい経ちますが初めての症状でした。そして思いもつかなかった解決策でした。お騒がせしました。

baldhatterさんのsuggestionは、私も朝から繰り返しましたが効果がありませんでした。しかし、早速のご返事ありがとうございました。

対策の1つに2011にアップグレードすることも考えましたが、baldhatterさんのページを見て、TMを始め、ファイル形式が随分変わっているようなので、翻訳会社の指示に従い、内証でアップグレードすることはあきらめました。

投稿: 中沢 克彦 | 2012/03/26 16:36:43

baldhatterさん

はじめまして。
必要に迫られて昨年よりトラドスを使い始めて以来、貴ブログ拝読しております。
本記事の翻訳メモリ検索の件、激しく同意です。。しかもTrados2007のコンコーダンス検索は、訳文セグメントに対して検索をかけることができないんですよね。この点、Trados2009/2011は原文からでも訳文からでも検索できるので、最近は2007を使うことはあまりありません。

それから拙作のしょうもないものですが、tmx、sdlxliff、ttxを一括検索置換できるツールを作ってみましたので良ければ使ってみてください。正規表現検索も使えます。ツールは私のブログ(http://translator-banks.blogspot.jp/)よりダウンロードできます。動作には.NET Framework 4が必要です。

投稿: Banks | 2012/05/15 23:03:44

Banksさん、コメントありがとうございます。Banksさんのブログもさっそくフィード登録しました。

> tmx、sdlxliff、ttxを一括検索置換できるツール

おお、それはそれは。やはりみなさん、困ったら何か自分で作っちゃう、という方は多いですね。時間ができたら試してみます。

投稿: baldhatter | 2012/05/23 8:09:16

Trados 2007(8.0)のConcordanceでフレーズが見つからないのは、デフォルト値を使用しているのが原因です。
Translator's WorkbenchでF3キーを押してConcordanceウィンドウを開き、[オプション]ボタンをクリックします。[一致精度最小値]をできるだけ低い値(30)に変更し、[最大ヒット数]を大きめ(たとえば、30)に変更し、[OK]をクリックすると、1単語のみや2単語のみのConcordance検索も簡単に見つかるようになります。

投稿: Concordanceのデフォルト値 | 2013/08/21 8:37:35

Concordanceのデフォルト値さん ^^;、コメントありがとうございます。

残念ながら、最小値をミニマムの30%にした状態でも検証済みです。もちろんデフォルトよりはマシになりますが、それでも拾えないケースがたびたびあります。

そもそも、私わからないんですが、通常のセグメント単位の「一致精度最小値」は、不一致の単語の比率をベースに、ペナルティを引いて求めているというのがおおよそわかるのですが、コンコーダンスの「一致精度最小値」はどうやって求めているのでしょうか。どう見てもセグメント単位の場合と同じ考え方とは思えないからです。

この点につき、もしご存じであればぜひご教示ください。

投稿: baldhatter | 2013/08/21 8:59:51

コメントを書く

## コメントは承認制なので、公開されるまでに時間のかかることがあります。



(必須ではありません)