2010年9月15日水曜日

翻訳者と校正者のための正規表現 (1) - 基本

人間は誰でも間違いを犯します。タイポや誤変換をやっちまったことのない翻訳者や校正者はいないと思います。私も当然何回もやりました。「内臓ディスク」も納品しそうになったことがあります。

そこで、嫌な汗はかきたくないので、数年前から正規表現を勉強してエラーの防止に努めています。自分や他の翻訳者が犯したミスを分析し、次は必ず発見できるように、正規表現を使用しています。せっかくなので、ブログに残していきたいと思った次第です。

正規表現は CAT があれば一番楽に構成できますが、正規表現が可能なテキストエディタもあります。テキストエディタでは自動化は困難ですが・・・。

早速ですが、基本的な例から示していきたいと思います。次の画像は CAT でソースをターゲットにコピーする設定にしていたり、テキストを上書きで翻訳した場合によくあるミスです。よくあるって言っても、荒っぽい翻訳者で 1 万語で数個ぐらいでしょうか。

ピリオドが残っている例
上書き翻訳しているうちに、ピリオドが追い出されています。しかもカーソルが重なっているために見逃しやすくなっています。

そこで正規表現 。\. を使用します。この円 (機種によってはバックスラッシュ) マークは制御文字をエスケープする (普通の文字として扱う) ためのものです。英文記号には制御文字になっているものがあるので、これらを検出したいときは注意する必要があります。

また CAT ツールなどで各セグメントの末尾のピリオドのみを検出するには、\.$ を使用します。ドルマークは文末を示します。その直前にエスケープされたピリオドがあるので、文末のピリオドにヒットします。

日本語訳文の修正後には句点の連続がよくみられます。句点が 2 個連続しているだけなら 。。 または 。{2} です。ここで波かっこ内の数字は繰り返し数を示します。2 個以上のすべてを検出したいときは 。{2,}  になります。特殊な用途としては 。{3,6} と記述することで、3 個以上 6 個未満の連続句点にヒットします。

似たような、よくあるエラーを次に示します。

文末消し忘れ
これも日本語訳文の修正後によくみられるエラーです。句点の間に文字が入り込んでいます。これはどうしましょうか。

私は、 。.{0,5}。 を使用しています。エスケープされていないピリオドは「任意の文字」を示します。この正規表現を言葉にすると「句点間に 0 ~ 5 個の何らかの文字が入っている」という意味になります。これで何が検出されたかを次に示します。

範囲指定の応用
アンダーライン部分が検出部分を示しています。上限を 5 文字にしているのは、技術文書の日本語で 5 文字以内で句点が繰り返された場合、ほとんどがエラーですが、それ以上になると「。次を参照のこと。」などにヒットし始めます。

文芸などでは「よく寝た。おはよう。」などの表現があると思いますので、異なる数値が必要かもしれません。対象文書ごとに調整してみてください。

腹減ったので、今日はこの辺で。さいならさいなら。

0 件のコメント: