あなたの言葉を理解します
−通信サービスに対する要求記述−
1.はじめに
当研究所では通信サービスに対する要求を記述するために、専用の言語を開発してきました。これはSTRと呼ばれる言語で計算機が匡さを検証し、プログラムに変換できるように記述の形式を厳密に定めたもので、一般には形式言語と呼ばれています。しかし、この言語は必ずしも使い易いものではありません。利用者にとって使い易いのは、何といっても自然言語(日本語)です。そして日本語で記述された要求をSTRへ自動変換できれば、日本語による要求記述からプログラムの生成までの一貫したシステムが出来上がることになります。ここでは利用者が日本語で記述した要求を計算機がどのようにして理解し、STRへ変換するのかについて説明します。
2.言葉は人さまざま
通信サービスの代表である電話サービスについて考えてみましょう。電話サービスがどのようなものかを記述する場合、たとえば「受話器をあげると、ダイヤルトーンが聞こえる。」などと記述するのが自然でしょう。ここで受話器をあげるとは、通信システムに対し、電話を使うことを宣言することで、難しくいうと発信するという意味です。最近の電話機の機能は豊富になっていますので、たとえばスピーカの付いた電話機の場合、スピータボタンを押すだけで、受話器をあげなくても、発信できるので、「受話器をあげる」ではなく、「スピーカボタンを押す」と記述するかもしれません。また、同じ「受話器をあげる」という言葉でも、「電話のベルが鳴っている時に、受話器をあげる。」といえば、応答するという意味を表わしていることになります。
このように言葉はそれぞれの人お置かれた環境によって異なるので、同じ言葉でも違う意味に使われたり、異なる言葉でも同じ意味に使われたりします。
3.どんな風に記述するの?
先ほど「受話器をあげると、ダイヤルトーンが聞こえる。」といいましたが、おかしなことに気づかれたでしょうか?受話器をあげられるためには、受話器が電話機に置かれていないとできないのです。そんなことは当たり前だといわれるかもしれませんが、新しいサービスを定義する場合には、直前の状態も記述してやらないと正しい要求記述にはなりません。このように通信サービスは現在の状態と電話機(一般には端末)の操作、そして操作した結果の状態という3つ組の記述を繰り返すことにより定義できるのです。
3つ組の形で通信サービスの内容を記述するのですが、日本語での記述方法を完全に自由にすると計算機による処理が難しくなります。自由な記述に対する処理は機械翻訳などの研究で盛んに行われていますので、われわれはその成果を使うこととし、言葉の意味理解を中心に研究を行っています。そこで、3つ組の記述に規定し、日本語処理のスタートとしています。
「〜の時、…と、〜になる。」
〜という所には「端末Aでダイヤルトーンが聞こえる」などの端末の状態を表わす言葉を記述し、…の所には「端末Aで受話器をあげる」などの端末に対する操作を記述します。これらの記述の中で、下線部分もテンプレートとして提示されますので、利用者はその他の部分を記述するだけですみます。テンプレートを使って通信サービスを記述する様子を図1に示します。
4.計算機ではどんな風にして理解するの?
(1)通信サービスの概念を知識として持つ
それでは操作や状態の所に記述された言葉を計算機はどのようにして理解するのでしょうか?利用者が記述したどの言葉とどの言葉が同じ意味で、どの言葉が違う意味なのかを理解するためには、計算機が通信サービスのことを知っていなければなりません。そのために通信サービスの概念を整理して、計算機の中に知識として持たせるようにしています。
通信サービスは端末での操作が基本になっていますので、操作に対応した通信システムの機能である発信、サービス要求、応答、終了の4つで分類するのが自然です。ここでサービス要求とはダイヤルして相手を呼び出したり、特定のサービスの開始を指示事したりすることに対応しています。また、端末の操作はどんな場合にも意味を持つものではなく、特定の状態でのみ意味を持ちます。たとえば、受話器が電話機に置かれていたり、スピーカボタンを押していない状態で、電話番号を入れても、何の反応もありません。また、端末を操作すると、通信システムは何らかの応答を返してくれます。このように操作が意味を持つ端末の状態と通信システムの応答(端末での受信動作)を操作と一緒にまとめて整理するのがよいことが分かります。このような考え方で作られた通信サービス概念の一部を図2に示します。
(2)概念知識を利用して意味を理解
それでは通信サービス概念を用いて計算機が言葉の意味を理解する様子を具体例をあげて説明します。たとえば、利用者が「端末Aでスピーカボタンを押す」と記述したとしましょう。端末という言葉の後にはAのような端末名しか現れませんので、意味理解は「スピーカボタンを押す」という言葉について行えば充分です。概念構造の中でこの言葉はダイヤル式電話機の「受話器をあげる」に対応付けられていますので、それと同じ意味であることが分かります。「受話器をあげる」はSTRの表現と1対1の関係にありますので、対応したSTR表現offhookに変換できます。でも「受話器をあげる」という言葉は概念構造内の2箇所に現れます。利用者はどちらを意図したのでしょうか?これについては「受話器をあげる」という操作が端末がどういう状態で行われたかを見れば分かります。利用者が「端末Aが未使用の時」と記述してあれば、概念構造を調べ、「発信」を意味することが分かります。
5.おわりに
日本語で記述した曖昧性のある言葉を計算機がどのようにして理解し、形式言語STRへ変換するのかを見てきました。現在これらに加え、通信サービスに存在するさまざまな規則を知識として計算機に持たせることにより、言葉の誤りや漏れを検出し、補っていく研究も行っています。
Copyright(c)2002(株)国際電気通信基礎技術研究所

