13

18:45 - 20:05

OWLはテキストが見逃す意味の誤りを検出する

OWLでエージェントの提案を確認する

この章では、講演の終盤に示されたOWLの例を見ます。大規模言語モデル(LLM)は、もっともらしい文章やツールの引数を確率的に作ります。しかし、文章が自然でも、ドメインの意味に合っているとは限りません。OWLの公理(axiom)や制約は、エージェントの結果がドメインのルールと矛盾していないかを確認する材料になります。

三種類の制約を分けて考える

講演のスライドは、少なくとも三つの異なる確認方法を並べています。一つ目は、一つの対象に許す値の数を制限する方法です。二つ目は、同じ対象として扱えない種類を分ける方法です。三つ目は、値を決められた集合に限定する方法です。これらは似て見えますが、見つける誤りの種類が違います。

一つの値だけを許す制約

機能的なプロパティ(functional property)は、ある対象について値を一つだけ許す制約として説明できます。講演の例では、同じ注文に対して返金が二回発行されると、この制約に反します。二つ目の返金は、単に別の英文が追加されたという問題ではありません。その注文には一つだけ返金を記録する、という意味上のルールを破っています。

このスライドは、英語で書いたルールとOWLの公理を対比し、同じ注文への二回目の返金を誤りとして示しています。機能的な制約があると、エージェントが作った返金結果を受け入れる前に、この重複を検出できます。

別の種類を混同しない制約

次の例では、顧客(Customer)とサポート担当者(SupportRep)を別の種類のエンティティとして扱います。二つの種類が互いに同じではない、つまり分離(disjoint)しているなら、顧客に送るべき支払いをサポート窓口へ送る提案は問題になります。文章としては「支払いを送った」と読めても、受取人の役割が間違っています。ここでOWLは、文章の表面ではなく、受取人の種類と支払いの関係を確認します。

このスライドは、分離したCustomerクラスとSupportRepクラスを使って、支払いがサポート窓口へ送られる誤りを示しています。支払い先が存在するかどうかだけでなく、その役割がこの支払いの受取人として適切かどうかを確認する例です。

許される値を限定する制約

三つ目は、あるプロパティの値を、決められた集合に限定する方法です。講演では、注文の状態として paidshippedrefunded だけを許す例が示されます。LLMが別の、作られた状態名を返した場合、それは文章として読めても、管理している語彙にはありません。この制約は、状態が許可された集合に入っているかを確認します。

このスライドは、注文の状態を paidshippedrefunded という固定された値に制限するOWLの公理を示しています。確率的な出力が未知の状態名を作っても、許可された値ではないものとして扱えます。

なぜ自然な文章だけでは足りないのか

自然言語は、同じ意味を多くの言い方で表せます。その柔軟さはLLMの強みですが、二回目の返金、誤った役割の受取人、許可されていない状態名を自動的に拒否する仕組みにはなりません。講演の主張は、英語ではこのような関係や制約を厳密に守らせることが難しい、ということです。英語で表現できないという意味ではありません。

検証ループでエージェントを止める

オントロジーを使った推論器(reasoner)は、エージェントの提案を無条件に実行する代わりに、ドメインの制約と照らし合わせます。結果に矛盾がなければ受け入れます。問題があれば、周囲のプログラムはその結果をLLMに戻してやり直させたり、人間に確認を求めたりできます。したがって、OWLはLLMの生成を置き換えるものではありません。柔軟に提案するLLMの周りに、意味を確認するガードレールを置くものです。

まとめ

一つの値だけを許す制約は重複した返金を見つけ、分離した種類は支払い先の役割の混同を見つけ、許可値の制約は未知の注文状態を見つけます。このように、OWLの形式的な制約は、確率的な文章が文法的に正しくてもドメイン上は間違っている場合に、検証ループへ判断材料を渡します。講演が提案するのは、エージェントに決して誤らせない保証ではなく、行動の前に意味の整合性を確認する仕組みです。

100% スペースキーとドラッグで移動 | Ctrl/Cmdとホイールで拡大縮小