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 にやらせてみます。

例と同じクエリは動くのはもちろん、以下のようなクエリも処理することができました。

  • 18度にエアコンの温度を上げて - 温度の指定する場所を変えた

  • 18度にエアコンの温度を上げてちょん - 語尾に変な文言をつけてみた(最初は動かないが、無視するように指示すると前処理したうえで動かしてくれた)

  • エアコンをつけて・消して - 例には含まれないが意図を解釈して適切な出力を返した

なお、最初に試していた時に、ChatGPT に「あなたは自然言語を処理するプログラムです。」という役割設定をしたところ、Python スクリプトを出力してくれました。

音声コマンドやテキストコマンドでは、同じ意図(インテント)だけれども違う言い回し(同義語や語尾や語句の場所などが異なる)の対応が面倒だったりしますが、大規模言語モデルの力で簡単になっていきそうですね。


この記事が気に入ったらサポートをしてみませんか?