Ermitejo - エスペラント語日本語翻訳

#BLOGO
2007/9/30

XREAのPHPから外部プログラムを実行する

分類: WordPress, 公開, 開発記 / タグ: , , , ,

エスペラント単語のフォーチュン・クッキー機能の公開以来、随分と放置していたのですが、この度この開発日誌からも使えるようにしました。なお、ついでにリンク先のURIの字上符付き文字も正書法にしました。GUIなユーザエージェント(つまりはIE等)では左肩に表示される「Ĉu vi scias?」というものがその成果です。

最初からやっておけば良かったのですが、XREAに於いてWordPressから外部プログラム(この場合、フォーチュン・クッキーのスクリプト)を呼び出す方法が当初不明だったため、今まで放置していたという次第です。

WordPressはPHPで書かれており、かつ、XREAに於いてPHPはSafe Mode(セーフモード)で稼働しているので、単純に適当なテーマファイル、例えばslidebar.phpあたりにecho `~`;やらexec('~');やらecho popen '~';やらと書いただけでは、外部プログラムを稼働することは出来ません。かといって、わざわざsidebar.phpの中でロジックを最初から組むのはぞっとしません。何せ、ランダム表示の元ネタである見出し語一覧は、Perlのデータ構造としてStorable::nstoreしたものを解凍しているだけなので、PHPから単純にこのバイナリデータを読むこと能わず、PHP用の見出し語一覧をまたこしらえる必要があります。これはいかにもいただけません。

とはいえPerlは知っていてもPHPは知らなかったため難儀していたのですが、結局やることは単純で、virtual('~');をするだけでした。この場合、呼ぶ先は'/virtual/USER/public_html/DIR/SCR.pl'と絶対パスで記述するのではなく、'DIR/SCR.pl'と記述する必要があります。この辺は、通常のHTML文書にSSIを埋め込む際の記述<!--#include virtual="DIR/SCR.pl"-->と変わりませんね。

これにより、部品はそのままで、開発日誌からもフォーチュン・クッキーを表示することが出来ました。問題は、相変わらずそうやって設置した本人が「うっ、なんだこの語は?!」とプログラムにいじめられることでしょうか……。

2007/9/26

変数名・関数名をエスペラントで命名する酔狂

分類: 開発記 / タグ: , ,
コメント2件

先日リリースした文章内辞書引き機能について、訳語は単語辞書引き結果をそのまま結合しただけであるということを文章内単語訳機能の新設で既に述べました。

ここで、そのイカサマ訳語の文字列を得るサブルーチン(いわゆる関数)を、"fantaziu_sencon"と命名しています。意味をでっち上げよ、という、サブルーチン名を見たら怒り出す向きがいてもおかしくない命名です。文章内単語訳のバージョンアップは乞うご期待としておいて、今回ここで取り上げたいのは、関数名や変数名のエスペラントによる命名規則についてです。

(「変数名・関数名をエスペラントで命名する酔狂」の続きを読む)

2007/9/23

文章内単語訳機能の新設

分類: 公開, 開発記 / タグ: ,
コメント1件

文章内単語訳機能を公開しました。これまでの単語辞書引き機能と違い、エスペラント語の「文章」を与え、それぞれの単語の辞書引き結果を連続的に表示する機能です。

「翻訳」「逐語訳」ではなく「単語訳」ですので、構文解析の成果は一切、これっぽっちも反映されていません。また、エスペラント単語に該当する日本語も、訳し分け(複数の訳語がある場合の取捨選択)や形態素生成(格・数・時制等々を考慮して訳語を一部変換する処理)も、少なくとも初版の現在は全く対応していません。

ですが、これまでちまちまと単語訳を繰り返していたことと比べ、例えばエスペラント文を他のウェブページからコピペして一斉に辞書引きすることが出来るため、散文的な文章、特に技術的な文書や、エスペラント版ウィキペディアのような文書では、訳された単語を並べてみるだけでもそれなりに理解が出来ようかと思います。「荒訳」という程のものではありませんが、造語解析の成果によって、未知語が殆ど存在しないことに驚かれるかも知れません。これこそまさにエスペラントの真髄です。

なお、これにあわせ、辞書引き機能のトップページを新たに設けました。これまではサブドメインを直接指定しても、単語辞書引き機能のページへリダイレクトしていましたが、単語辞書引き・文章内単語訳の両方のフロントエンドとするべくページを新設したものです。その他、ドキュメント類(ヘルプ等)はこれから整理して参ります。

この新味に乏しいけれども効果は少なからぬ機能が、エスペラントを介した相互理解やエスペラント学習の一助となれば幸いです。

とはいえ、まだまだα版という趣が強く、エラー処理や特殊処理等は殆ど手つかずであり、往々にしてエラーを吐くこともあろうかと存じます。これについては、今後の改版を見守っていただければと考えています。

2007/9/20

語順が自由なエスペラントをHPSGで実装する

分類: 開発記 / タグ: , , , ,
コメント1件

エスペラントは日本語と同様に語順が比較的自由です。対格(akuzativo; 英accusative)の名詞句は述語(predikato; 英predicate)の目的語(objekto; 英object)であり、主格の名詞句は主語(subjekto; 英subject, nominative)となることによります。よって、以下のいずれも非文(nefrazo, 英nonsentence)とはなりません。

歯の浮くような例を挙げましたが、それはそれとして、エスペラント語日本語翻訳システム「Ermitejo」では、構文解析と意味解析に主辞駆動句構造文法(HPSG: Head-driven Phrase Structure Grammar)という近代的な文法を採用しています。より正直に述べるなら、採用を決めて実現可能性調査を終えた段階で、まさに文法を記述し始めて間もない段階です。

さてそこで問題となるのは、HPSGにこの自由語順言語をどう実装していくかというものです。

御多分に漏れず、HPSGは英語の実装についての研究が最も盛んであり、英語は語順が比較的固定されているので、英語のHPSGの文法(規則・制約・語彙辞書)をそのまま用いることは出来ません。日本語のHPSGによる実装の研究もありますが、限られた公開物を拝見する限りでは私の頭では理解が追いつきかねました。

そこで、備忘録を兼ねて以下に実装方法の考察を述べてみます。

(「語順が自由なエスペラントをHPSGで実装する」の続きを読む)

2007/9/18

和エス単語辞書引き機能の需要のあるやなしや

分類: 開発記 / タグ: , , ,

改めて語るまでもなく本サイトの使命はエスペラント日本語翻訳システムの完成・運用にありますが、その副産物として運用している辞書引き機能について、考えあぐねていることがあります。アクセス統計を見る限りでは、少なからぬ割合(3割前後)で、エス和ではなく和エスの単語検索を試みていらっしゃいます。こうした逆引きは、「エスペラント語の文書から日本語の文章へ翻訳する」という方向とは正反対であるため、これまで開発・提供しておりませんでした。

しかし、使う側の立場に立ってみれば、辞書引き機能がどのような計画の副産物であるかは気にしないはずです。ヘルプを見れば逆引きが出来ない旨は記載してありますし、Ajaxによって逆引きと思われる要求は画面遷移なしに提供対象外機能である旨を表示していますが、これも利用者にとってみれば、一般的にはどうでもよいことです。

送り手側の事情をつまびらかにすると、実のところ構文解析機能はそれなりに大変で、目新しい機能の提供はこの先短い期間では望めないということがあります。他機能への少々の浮気というか脱線の一つも出来ない甲斐性なしでは、開発継続の気分を高揚出来ないのではないかと思っています。また、エス和方向の訳語絞り込み方法の着想を、逆引きの和エス方向の開発で得ることが出来れば嬉しいなとも思っています。

このような辺境のドメインには、お越しになる方はあまり多くはないかも知れませんが、もしご希望・ご意見・その他がありましたら、コメント欄等にでもその旨を記載いただければ幸いです。

< 脇書非表示 > 脇書表示

Ĉu vi scias?

vastega

過去の記事

2007 年 9 月
« 8 月   10 月 »
 12
3456789
10111213141516
17181920212223
24252627282930

分類

最近の記事

最近のコメント

最近のトラックバック

RSS

他のエスペラント関連ブログ

メタ情報

Aŭtorrajto: © Organizo por Zona Servo per Sinkrona Solvo. Ĉiuj rajtoj estas rezervitaj.
Copyright: © Organization for Zonal Service with Synchronous Solution. All rights reserved.