翻訳の手作業を効率化する「正規表現」
第1回:正規表現とは何か
翻訳者、JTF副会長 高橋 聡
はじめに
みなさん、こんにちは。今回から全7回の連載で、「正規表現」について解説していきます。
「正規表現」という言葉を初めて見た人もいるでしょうし、見たことはあっても何やら名前が難しそうで敬遠してきたという人もいるかもしれません。しかし、コンピューター上で文字を扱う職業、特に大量の文章を書く職業であれば(学習中でも)、正規表現を知っているかどうかで、効率に天と地ほどの差が出てきます。大量の文章を書く職業――つまり私たち翻訳者も例外ではありません。全7回を使ってじっくり説明していきますので、ぜひマスターしてください。
ところで、たった今「効率」という言葉を使いました。私が効率の話をするとき、それは常に「手の効率」だということに注意してください。そして、
「手」の効率化を図るのは、ひとえに「頭」が考える時間を増やすためです。
実はこれ、今年2023年の3月に出た拙著『翻訳者のための超時短パソコンスキル大全』(KADOKAWA)の冒頭に書いた言葉でもあります。「頭」とは、原文を正しく読み取る、訳文に使う語句を選ぶ、訳文を組み立てる、あるいは各種の資料を読んで理解する、といったときに私たちがすること。質量ともに一定以上の学習と経験を積んで初めて得られる部分であり、小手先の技術では効率化できない、効率化しようとしてはいけない領域です。それに対して、ノウハウさえ分かれば誰にでも今すぐに効率化できて、しかもそれが正確さにつながる部分もあります。文字入力の手間を減らす、辞書引きにかかる時間を短くする、ファイル処理や文面の加工を少しでも簡単にする、そして検索と置換を無駄なく正確に実行する……そういった「手」が担う作業です。
そのうち、検索と置換を劇的に効率化するのが正規表現なのですが、うまく応用できるようになれば、正規表現の威力はそれ以上に広い場面で活躍します。
正規表現とは何か
正規表現(英語ではRegular Expression)とは、簡単にいうと「文字列のなかから、指定したパターンとの一致を検索する仕組み」(前掲の著書より)です。たとえば、こんな場面を想像してみてください。
- 英単語の単数形と複数形、たとえばlibraryとlibrariesを一気に検索したい
- 訳文で「行う」と「行なう」を両方使ってしまった。「行なう」を検索したい。ただし、動詞だから語尾は「行なわない」「行なって」のように活用している。「行な」だけで検索したのでは、「銀行など」もヒットしてしまう。
- 上の例からさらに、すべてを「行う」に置換したい。ただし、活用語尾は正しく残るようにする。
- 全角文字と半角文字の間に半角スペースが入っている。すべて削除したい。
- PDFからテキストを抽出したが、すべての行に改行(改段落)が入ってしまった。これを正しく整形したい。
- 複数のお客さんで表記ルールが違う。いちいち覚えていられないので、最後にまとめてルール違反をチェックしたい。
- TradosのQAチェック機能(QA Checker 3.0)で細かいチェックルールを指定したい。
正規表現を使いこなせると、こういった処理がすべて可能になります。劇的に効率化できるというのが想像できるのではないでしょうか。もっとも、ここまで読んでくださって、「自分にはあまり必要なさそう」と思われた方もいるかもしれません。ひとくちに翻訳といっても、分野とか文章の種類とか客先とか、条件によってふだん接している世界はまるで違いますから、そういう方がいても不思議ではありません。その場合は、今後なにかの折に必要を感じたときに、この連載を思い出してください(笑)。
ところで、「文字列のなかから、指定したパターンとの一致を検索する仕組み」ということなら、Microsoft Wordなどで使える「ワイルドカード」を連想した方もいるでしょう。正規表現とワイルドカード、出自や細かい考え方に違いはありますが、仕組みとしてはだいたい似たようなものと考えておいてかまいません。
正規表現の種類とテキストエディター
正規表現は、特にUNIX系のテキスト処理で普及したという歴史があり、プログラミング言語などの世界で多用されています。プログラミング言語が多種多様なように、細かくいうと正規表現にも実はバリエーションがあります。といっても、方言のようなもので、どれかひとつ知っていれば応用が利く範囲です。私たちはプログラマーではないので、翻訳の現場に近そうな場面で使うことを想定しましょう。上に書いたTrados環境もそのひとつですが、もっと一般的にいうとテキストファイル、それを扱うテキストエディターです。Windowsであれば、古くからあって今でも開発が続いている「秀丸エディタ」が定番。翻訳業界でもユーザーが多いので、この連載では秀丸エディタを前提に話を進めます。こちらの公式サイトからダウンロードできます。
https://hide.maruo.co.jp/software/hidemaru.html
秀丸エディタはシェアウェアです。機能制限なく試用を続けられますが、料金を払う価値は十二分にあります。ぜひユーザー登録して有料版に移行してください。
Macだと、Jedit Ω、CotEditorあたりが一般的だそうです(すみません、私がMac環境を持っていないので、そちらには触れられません。ご了承ください)。
ものはためし……
正規表現の力を知っていただくために、とりあえずこの辺で、実際に使ってみましょう。秀丸エディタを開いて、この連載記事を全部コピーしてください。ファイルができたら、検索ダイアログを開き(Ctrl+F)、
使[わいうえおっ]
と入力して(大カッコは半角)、[正規表現]にチェックを入れ、[下検索]を押してみましょう。「使っ」「使い」「使う」「使え」などがヒットするはずです。ここで使ったのが、"ワ行五段活用の動詞「使う」の活用形すべてにマッチする" 正規表現でした。簡単でしょ? あとは、いくつかルールを――それほど多くありません――覚えるだけです。
正規表現のルール一覧
詳しいルールは第2回からじっくり扱いますが、最初にすべて(ではないのですが、ほぼすべて)のルールをまとめて掲載しておきます。指定に使う記号はすべて半角です(秀丸エディタ準拠)。
ということで、次回以降もお楽しみに。この表だけで何となく試してみたくなった人は、ぜひどうぞ!
○執筆者プロフィール
高橋 聡(たかはし あきら)
CG以前の特撮と帽子と辞書をこよなく愛する実務翻訳者。フェロー・アカデミー講師。日本翻訳連盟(JTF)理事・副会長。学習塾講師と雑多翻訳の二足のわらじ生活と、ローカライズ系翻訳会社の社内翻訳者生活を経たのち、2007年にフリーランスに。現在はIT・マーケティングなどの翻訳を手がけており、翻訳フォーラム(fhonyaku.jp)などの翻訳者グループで情報発信も行う。訳書に『機械翻訳:歴史・技術・産業』(森北出版)、『現代暗号技術入門』『イーサリアム 若き天才が示す暗号資産の真実と未来』(ともに日経BP)など。著書に『翻訳者のための超時短パソコンスキル大全』(KADOKAWA)、共著に『翻訳のレッスン』(講談社)がある。