2009年01月30日

一長一短

私が英語を日本語に翻訳するプログラムを作ろうとして最初に思いついたアイデアは、文末から文頭へ逆向きに訳すことを基本とするものでした。今から20年前、パソコン雑誌で上野さんの記事を目にした頃のことです。

中学の英語の授業で習う5文型のように単純な英文では、あまりこのアプローチのありがたみを実感することはないと思います。例えば、

#1 Mariko was hungry.
#2 Mariko saw crabs.

文型は SVC、SVOで、上野式のように

SVC → SCV
SVO → SOV

といった変換ルールで語順を操作するのと違わないように見えます。ところが

#3 Mariko saw crabs at the bottom of the sea.

のように SVOの後に長い尻尾のような語句が続く文では大きな違いが出ます。

sea(海)the of(の)bottom(底)the at(で)crabs(蟹)saw(見た)

のように簡単に訳文を作れてしまうのに対して、上野式はこの種の文が本当に苦手で、事実上お手上げです。

では私の思いついた方法に弱点はないのかと言えば、そうは問屋がおろさないケースがやっぱりあるのです。

#4 Mariko saw big red crabs.

上野式では、この文型を

SVooo → SVO → SOV

と難なく処理しますが、これを単純に文末から文頭へ逆向きに訳したのでは「蟹・赤い・大きい・見た」となって正しい訳文とはほど遠いものになってしまいます。

つまり私の方法では、句は後ろから前へ訳していくが、個々の句の中の単語は普通に前から後ろへ訳すという二重の面倒な操作をしなければならないのです。

そして、これと比べれば重要度は低いですが、

#5 Mariko went from Tokyo to Sapporo by airplane.

の from 〜 to 〜 のように後ろから前へという順番で訳すと不自然な文章ができあがってしまう場合もあります。

こちらを直し、あちらを修整しといったことの繰り返しによってプログラムの特徴だった単純明快さがどんどん失われていくのにつれて、私の意欲もおとろえていき、プログラムの開発は長い、長い冬眠に入ってしまったのでした。

posted by アキラ at 18:46| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。