言語サービスとは、機械翻訳や辞書などの言語資源をWebサービスとして利用可能にしたものです。言語グリッドは、言語サービスのためのサービスグリッドであり、言語サービスを連携させることができます。言語グリッドは、主に多言語のコミュニケーションの支援に利用されています。
言語グリッドはサービスグリッドサーバソフトウェアを用いて構築されています。サービスグリッドサーバソフトウェア上で、各種の言語サービスのためのインターフェースを提供しています。また、言語グリッドでは、言語資源を言語サービスにするためのライブラリや、言語サービスを各種のプログラミング言語から利用するためのライブラリを提供しています。
言語グリッドでは、現在以下に示す言語サービスのインターフェースを定めています。これらのサービスを作成したり、利用するためのライブラリが提供されています。サービスの利用や作成については、ダウンロードのページのマニュアルを参照ください。
| カテゴリ | 言語サービス | 説明 |
|---|---|---|
| 翻訳 | 翻訳 (TRANSLATION) | 一般的な機械翻訳。文章を特定の言語から特定の言語へ翻訳するサービス。 |
| テンポラル辞書を用いた翻訳 (TRANSLATIONWITHTEMPORALDICTIONARY) | 辞書データ(原語と訳語のペア)で訳語を指定して、文章を特定言語から特定言語に翻訳するサービス。Webサービス化されていない辞書データを用いる場合に利用。 | |
| 複数言語からなる文書の翻訳* | 異なる言語の語を含む文章を翻訳するサービス。 | |
| 折り返し翻訳 (BACKTRANSLATION) | 翻訳結果を再度入力言語に翻訳し直すサービス。翻訳結果が正しいかどうか推定するのに利用。 | |
| マルチホップ翻訳 (MULTIHOPTRANSLATION) | 複数の翻訳サービスを連結し、文章を直接翻訳できない言語から言語へ翻訳するサービス。中間の言語を指定することが可能。 | |
| 言い換え | 言い換え (PARAPHRASE) | 同じ言語での言い換え表現を返すサービス。機械翻訳で処理しやすい平易な文章に変換する機能などがこれに当たる。 |
| 翻字 (Transliteration)* | ある言語の文章の文字表記を別の言語に変換するサービス。 | |
| 辞書 | 対訳辞書 (BILINGUALDICTIONARY) | 言語の対訳辞書。指定された検索語・検索方法で対訳辞書を検索し、対訳を返すサービス。辞書としては複数の言語をサポートしても構わないが、一度に取得できる対訳は1言語のみ。 |
| 対訳辞書最長一致検索 (BILINGUALDICTIONARY LONGESTMATCHSEARCH) | 最長一致検索に対応した対訳辞書。形態素の配列を引数に取り、その情報を利用して最長一致する対訳を検索するサービス。 | |
| 概念辞書 (CONCEPTDICTIONARY) | 単語の概念情報を保持する概念辞書の検索を行い、概念の説明・同義語集合(Synset)などを返すサービス。 | |
| 絵文字辞書 (PICTOGRAMDICTIONARY) | ある言語の単語の意味を表現する絵文字を検索するサービス。 | |
| マルチメディア辞書* | キーワードによってマルチメディアコンテンツを検索するサービス。 | |
| 多言語用語集* | 用語の意味を検索するサービス。 | |
| 辞書作成支援* | ユーザ辞書を作成するため、語のリストについて、その語の代わりとなる対訳・概念・絵文字・語義を検索するサービス。 | |
| コーパス | 用例対訳 (PARALLELTEXT) | 指定された検索語・検索方法で多言語用例の検索を行い、2言語の同じ意味の用例を返すサービス。 |
| 隣接応答対 (ADJACENCYPAIR) | 応答用例を検索するサービス。質問とそれに対する応答を検索する機能などがこれに当たる。 | |
| 用例対訳テンプレート* | 翻訳テンプレート中の空欄部分に語を設定することで用例を生成するサービス。 | |
| 解析 | 形態素解析 (MORPHOLOGICALANALYSIS) | 一般的な形態素解析サービス。入力された文章を形態素 (Morph)の配列に分解して返す。 |
| 類似度計算 (SIMILARITYCALCULATION) | 同じ言語の2つの文章の類似度を計算するサービス。 | |
| 係り受け解析 (DEPENDENCYPARSER) | 文章内の係り受け関係を解析するサービス。 | |
| 言語判別 (LANGUAGEIDENTIFICATION) | 一般的な言語判別サービス。入力された文章の言語を判別し、言語コードを返す。 | |
| 音声 | 音声合成 (TEXTTOSPEECH) | 入力された文章を読み上げた音声ファイルを生成するサービス。 |
| 音声認識* | 入力された音声ファイルをテキストに変換する。 | |
| その他 | 構造アラインメント* | 異なる言語の2つの文章の構文木の対応付けを行うサービス。 |
| メタサービス | サービス管理* | 言語サービスの検索を行うサービス。 |
上記の表で示された階層構造は、言語サービスオントロジーと呼ばれる、言語サービスのドメインのための構造化された知識に由来するものです。以下に示す図は、言語サービスオントロジーのうち、特に言語サービスに関連する部分を示しています。LanguageProcessingResourceクラスは、初めにLinguisticProcessingとLR_Access (language resource access)に分けられます。
LinguisticProcessingクラスは、その入出力のデータ型に注目し、Translation/ParaphraseとLinguisticAnalysisというサブクラスにさらに分けられています。翻訳は、翻訳元言語の文章の文字列を入力として受け取り、その意味を保ったまま翻訳先言語の文章の文字列を出力するものと定義されています。また、LinguisticAnalysisは、入出力となる言語データによってさらに詳細化されます。例えば、JapaneseDependencyAnalysisは、日本語の文章の文字列を入力として取り、構文的な依存関係をアノテーションとして付与します。入出力は、LanguageDataObjectの下位タイプとして定義されます。
LR_Accessクラスは、 静的なクラスであるLanguageDataResourceにアクセスする機能を持つ一連のサービスを定義するために導入されています。このクラスはさらに、このクラスのサービスがアクセスする言語データ資源のタイプに基づいて、サブクラスに分けられます。例えば、ConceptDictionary_Accessクラスは、 ConceptDictionaryとして定義される、いわゆるWordNet型の語彙にアクセスする機能を定義するために導入されています。
サービスオントロジーを言語サービスを定義するための共有知識とするには、言語資源についての適切な国際標準に基づくいて構成することが重要となります。標準は、言語データオブジェクトや資源のクラスの分類を定義するに当たっては、特に重要になります。例えば、辞書の種類は、ISO LMF (Lexical Markup Framework) (Francopoulo et al., 2009)という情報構造によって定義することができます。多様な辞書を扱えるこのような標準的なモデリングのフレームワークを、辞書データの資源の種類を形式的に定義するために利用できます。同様に、言語のアノテーションの種類を特徴付ける標準的な形式化(構文の構造のためのSynAF (Decerck, 2008) など)は、サービスオントロジーと統合し、関連する言語解析の種類を定義するのに利用できます。言語サービスに対するこれらの標準の有効性を検証するため、これまでこれらの標準を採用するWebサービスの実験が行われています (Hayashi et al., 2010), (Savas et al., 2010)。
サービスオントロジーはサービスの種類と標準インターフェースを定義するものであり、サービスオントロジーに基づいて同じサービス種類または異なるサービス種類のサービスを連携できます。そのため、ユーザの要件に基づいて新たなサービスが容易に作成できます。こうしてサービスオントロジーは、サービス指向集合知プラットフォームにおいて、サービスの多様さを相乗的に増していくことができます(Hayashi, 2010)。
言語グリッドはサービスグリッドサーバソフトウェアを用いて構築されています。そのため、ソフトウェア構成については、サービスグリッドサーバソフトウェアのページを参照ください。