Grounding
groundingとは、接地しているという意味
シンボルグラウンディング問題という、 認知科学や意味論における問題がある
シンボルとは、記号つまり、要するに文字列/言葉を意味する。
文字列が実世界の意味につながっている(grounding:接地している)かを論じる問題。
人間は記号と実世界の意味を結び付けて言葉を理解している一方、コンピュータ/人工知能では必ずしも結び付いていない。
つまり言葉を理解しているわけではないと主張されている。人工知能における難問とされる。
例えば、以下の「シマウマ(Zebra)」は、「馬(horse)」&「しましま(stripes)」を表す記号文字列である。
人間は「シマウマ」という言葉(「馬」&「しましま」を表す記号であること)を聞いて、初めてシマウマを見た人でも「これがシマウマですね」と答えられるだろう。
一方のコンピュータでは、「シマウマ」の表す「馬」&「しましま」は単なる記号の羅列に過ぎず、実世界におけるシマウマの意味には結び付けられない、つまり初めての「シマウマ」は理解できないと主張された。
https://scrapbox.io/files/65856e6036be9200244117ee.png
LLMの分野では、Groundingはシステムに現実へアクセスを提供することを意味する。
Groundingの具体例
Bing Chatで行われることがまさにこれ
https://scrapbox.io/files/658574ec48371a0024c1f5e7.png
Groundingの実装
Groundingをするには2つのやり方がある
1つ目は、プロンプトに現実の情報を追加する方法。
現実世界にアクセスして情報検索をさせたり、現在地や現在時刻など、モデルに現実世界の情報を追加する
# 現在情報
・時刻:12時34分
・現在地:日本、東京
# 質問
今は何時ですか?
2つ目は、モデルにコマンド実行の機能を搭載する方法。
EXAMPLES = ["""input:今は何時ですか?
action:date()
info:4時23分
action:response:4時23分です。""",
"""input:今は何時ですか?
action:date()
info:13時67分
action:response:13時47分です。"""]