ChatGPTで簡単な自然言語処理(NLU)
ふと思い立って、ChatGPTで簡単なクエリの処理をさせてみました。入力は自然言語、出力はJSON形式です。
イメージとしては、以下のような処理になります。
(例)
入力: エアコンの温度を上げて
出力:
{
"intent": "increase temperature",
"device": "air conditioner",
"value": 2,
"response": "エアコンの温度を上げます。"
}
(例)
入力: エアコンの温度を20度に設定して
出力:
{
"intent": "set temperature",
"device": "air conditioner",
"value": 20,
"response": "エアコンの温度を20度に設定します。"
}
これを ChatGPT にやらせてみます。
![](https://assets.st-note.com/img/1681172019153-PNDWSM7Gvg.png?width=1200)
例と同じクエリは動くのはもちろん、以下のようなクエリも処理することができました。
18度にエアコンの温度を上げて - 温度の指定する場所を変えた
18度にエアコンの温度を上げてちょん - 語尾に変な文言をつけてみた(最初は動かないが、無視するように指示すると前処理したうえで動かしてくれた)
エアコンをつけて・消して - 例には含まれないが意図を解釈して適切な出力を返した
なお、最初に試していた時に、ChatGPT に「あなたは自然言語を処理するプログラムです。」という役割設定をしたところ、Python スクリプトを出力してくれました。
音声コマンドやテキストコマンドでは、同じ意図(インテント)だけれども違う言い回し(同義語や語尾や語句の場所などが異なる)の対応が面倒だったりしますが、大規模言語モデルの力で簡単になっていきそうですね。
この記事が気に入ったらサポートをしてみませんか?