多言語工房ホーム > PHPライブラリ > チュートリアル

多言語工房PHPライブラリチュートリアル

目次

  • 0. 共通の準備
  • 1. 原子サービスを使う
  • 2. 原子サービス呼び出しのサンプル
  • 3. 複合サービスを使う
  • 0. 共通の準備

    前準備

    言語グリッドを利用するには,言語グリッドユーザIDとパスワードが必要です.お持ちでない方は言語グリッド京都オペレーションセンター - 言語グリッドへの参加より申し込んで下さい.

    ダウンロードと配備

    以下のリンクよりライブラリをダウンロードして下さい.利用条件は,アーカイブファイルに含まれるREADMEを参照して下さい.この言語グリッドPHPライブラリは,PHP5.3以上で動作します.

    ダウンロードしたファイルを解凍し,以下の様に配備します.

    アプリケーションルート
            |- yourfile.php [サービスを利用するphpスクリプト]
            |- langrid-php-library [ライブラリのルート]
                |- MultilingualStudio.php
                |- client
                |- config
                |- ・・・

    各クライアントを利用するためにはライブラリのインポートが必要です. インポートはライブラリのルートディレクトリにある「MultilingualStudio.php」をインポートすることで行います.

    Top↑

    1. 原子サービスを使う

    原子サービスは,単体で動作するサービスです.J-Server (Kyoto-U)という翻訳サービスを利用する例を示します.

    サービスタイプの選択とサービスの検索

    はじめに,使用するサービスのタイプを選びます.Language Grid Service Managerのサービスタイプページから,自分の使用したいServiceを選び出します.ここでは,Translationを選んだとします.

    つづいて,使用するサービスを決定します.Language Grid Service Managerのlanguage servicesページにおいて,Service TypeにTranslationを指定し,Searchボタンを押すと,Service TypeがTranslationであるサービスが列挙されます.ここで,J-Server (Kyoto-U)を使うサービスとして決めたとします.

    J-Server (Kyoto-U)をクリックすると,J-Server (Kyoto-U)サービスの詳細が表示されます.Atomic or Compositeの欄を見ると,Atomic Serviceであることが分かります.また,WSDLの欄を見ると,WSDLのURLがhttp://langrid.org/service_manager/wsdl/kyoto1.langrid:KyotoUJServerであることが分かります.

    APIの確認

    Service TypeがTranslationのサービスクライアントは,TranslationClientになります.TranslationClientのAPIのページを見ると,translateというメソッドを持つことが分かります.

    ソースコード

    「0. 共通の準備」で指定した位置にyourfile.phpを作成し,以下のコードを書き込みます.このPHPファイルを実行すると,J-Server (Kyoto-U)を使って翻訳をすることができます.

    Top↑

    2. 原子サービス呼び出しのサンプル

    原子サービスを呼び出す簡易なサンプルを2つ紹介します.

    2.1 BilingualDictionaryサービスの利用

    BilingualDictionaryサービスはサービスグリッドが保有する辞書データを検索するサービスを提供します.

    Top↑

    2.2 TextToSpeechサービスの利用

    TextToSpeechサービスは文字列を指定した言語で発音させることができます.

    Top↑

    3. 複合サービスを使う

    複合サービスは,複数のサービスを組み合わせて実行するサービスです.複合サービスを使用するには,開発者はある一つの複合サービスを選び,さらにその複合サービスが必要とするサービスを指定してやる必要があります.例えば,「辞書を使った翻訳」をする複合サービスでは「辞書サービス」と「翻訳サービス」を指定する必要があります.

    以下では,辞書付翻訳(TranslationCombinedWithBilingualDictionary)という複合サービスを利用する例を示します.

    サービスタイプの選択とサービスの検索

    はじめに,使用するサービスのタイプを選びます.Language Grid Service Managerのサービスタイプページから,自分の使用したいServiceを選び出します.辞書付翻訳なので,ここでは,TranslationWithTemporalDictionaryを選んだとします.

    つづいて,使用するサービスを決定します.Language Grid Service Managerのlanguage servicesページにおいて,Service TypeにTranslationWithTemporalDictionaryを指定し,Searchボタンを押すと,Service TypeがTranslationWithTemporalDictionaryであるサービスが列挙されます.ここで,Translation Service Combined With Bilingual Dictionaryを使う複合サービスとして決めたとします.

    Translation Service Combined With Bilingual Dictionaryをクリックすると,複合サービスであるTranslation Service Combined With Bilingual Dictionaryサービスの詳細が表示されます.Atomic or Compositeの欄を見ると,Composit Service(複合サービス)であることが分かります.また,WSDLの欄を見ると,WSDLのURLがhttp://langrid.org/service_manager/wsdl/kyoto1.langrid:TranslationCombinedWithBilingualDictionaryであることが分かります.

    バインドするサービスの選択

    Service in Useの欄をみると,Binding Servicesが列挙されています.この列挙されているサービスのInvocation Nameに,具体的なサービスを割り当てる必要があります.例えば,TranslationPLというInvocation Nameに,Google翻訳サービスやJ-Server翻訳サービスなど具体的なサービスを割り当てる必要があります.

    TranslationCombinedWithBilingualDictionary複合サービスでは,BilingualDictionaryPL, MorphologicalAnalysisPL, TranslationPLの三つにサービスを指定できます.

    TranslationPLに指定するサービスを探します.TranslationPLのサービスタイプを見るとTranslationであることが分かります.Language Grid Service Managerのlanguage servicesページにおいて,Service TypeにTranslationを指定し,Searchボタンを押すと,Service TypeがTranslationであるサービスが列挙されます.ここで,列挙されるサービスをTranslationPLに割り当てることが出来ます.使用したいサービスのリンクをクリックし,サービスIDをメモしておきます.

    BilingualDictionaryPL, MorphologicalAnalysisPLに割り当てられるサービスの探し方に関してもTranslationPと同様です.

    APIの確認

    Service TypeがTranslationWithTemporalDictionaryのサービスクライアントは,TranslationWithTemporalDictionaryClientになります.TranslationWithTemporalDictionaryClientのAPIのページを見ると,translateというメソッドを持つことが分かります.このメソッドを使って,辞書付の翻訳を行います.

    ソースコード

    「0. 共通の準備」で指定した位置にyourfile.phpを作成し,以下のコードを書き込みます.このPHPファイルを実行すると,辞書付翻訳(Translation Combined With Bilingual Dictionary)を使って翻訳をすることができます.

    ソースコード補足
    addBindingsで,利用する外部サービスの名前を指定します.このサンプルでは,翻訳時に参照する辞書としてKyotoTourismDictionaryDbを指定しています. これにより旅行関連(KyotoTourismDictionaryDbに登録されている単語)の翻訳精度が向上します. また翻訳エンジンにはJ-Serverを指定しています.翻訳エンジン毎に翻訳結果の癖が異なります.

    Top↑