言語処理学会 第30回年次大会 発表論文集（2024年3月）

対話状態追跡における言語モデルのスキーマに基づく Hallucination の抑制
佐藤明智 1 南泰浩 1
1 電気通信大学大学院

akitomo-sato@uec.ac.jp

minami.yasuhiro@is.uec.ac.jp

概要
近年では，ChatGPT をはじめとした大規模言語モデルを活用した対話システムが注目されている．これらのシステムは，日常会話や要約などの幅広い用途で利用されており，多種多様なユーザーのニーズに応えることができる．また，ユーザーの意図に応じて情報を取得したりデバイスを操作したりするタスク指向の対話システムに対するニーズも高まりつつある．しかし，大規模言語モデルにはHallucination の問題が存在しており，不正確なテキストの生成によって，誤ったアクションを引き起こすリスクがある．
これを解決するため，本研究ではタスク指向対話システムにおける Hallucination を抑制する新たな手法を提案する．具体的には，Schema Guided Dialogue
データセットを用いて，スキーマに基づいて生成する語彙を制約するスキーマ名制約付きデコーディング (SNCD: Schema Name Constrained Decoding) を提案する．この手法を用いることでスキーマ名を正確に生成し，エラーを防止することが期待できる．本稿では提案手法の有効性を検証し，Hallucination を抑制するための可能性について分析する．

対話状態追跡 (DST:Dialogue State Tracking) というタスクが研究されている．
Jeﬀrey ら [1] は，複数のドメインに関する Schema
Guided Dialogue (SGD)[2] 大規模対話データセットを用いる DST タスクの研究をしている．SGD デー
タセットには図 1 の例に示すように，スキーマ情報，対話データ，対話状態情報が存在する．Jeﬀrey
らは，スロットの説明，インテントの説明，対話履歴を入力とし，対話状態 (スロット名，スロット値，インテント名) を出力として事前学習済み言語モデ
ル T5[3] をファインチューニングしている．
SchemaServices"service name": "Restaurants_1""description": "A leading provider for restaurant search and reservations"

Intents

Slots"name": "FindRestaurants""description": "Find a restaurant of a particular cuisine in a city"required_slots": ["cuisine" ,"city"],"optional_slots": {"has live music“:"dontcare“,"serves alcohol": "dontcare“}"name": "cuisine""description": "Cuisine of food served in the restaurant""is_categorical": true
"possible_values":[“mexican", “chinese", “indian",“american" “italian“, “sushi”]…

...

"name": "ReserveRestaurant""description": "Reserve a table ata restaurant""required_slots":["restaurant_name","city","time"],"name": "has_live_music""description": "Boolean flag indicating if therestaurant has live music""is_categorical": true
"possible_values": [“true",“false"]

Dialogue
1

User: I am looking for Chinese food in SFO.
System: I found 10 restaurants in SFO.

2

User: Any popular one? By the way, I also want to buy a drink.
System: There is a nice restaurant called Butterfly Restaurant.

3

User: Do they have live music? Where are they located?
System: They do not have live music. They are at 33 The Embarcadero.

Dialogue State Tracking

1

関連研究

IntentFindReataurant

IntentFindReataurant

IntentFindReataurant

req_slots

N/A

req_slots

N/A

req_slots

has_live_music,
street_address

slot_values

slot_values

対話状態追跡(DST:Dialogue State Tracking)
タスク指向対話システムとは，例えば，旅行予約や商品購入などのように，ユーザーが特定の目的やタスクを達成するために，自然言語でコンピューターと対話するシステムのことである．タスク指向
対話システムは，ユーザーの要求を理解したり，必要な情報を問い合わせたり，得られた情報を処理をしたりして，最終的に目的を達成するためのサポートを行う．このようなシステムを実現するために，

図1

city

SFO

city

SFO

cuisineChinese

cuisineChinesealcoholTrue

slot_values
citySFO

cuisineChinesealcohol

True

レストランに関するスキーマ，対話，対話状態の例

Jeﬀrey らの研究では，以下のことが示されている．

― 1427 ―• インテントの説明，スロットの説明に番号を割り当て，インテント名，スロット名ではなく対応する番号を予測することで学習データに存在しないドメインでの精度が向上• 対話状態を一括で予測可能

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

含まれる語彙のみを生成する．スロット名生成後

制約付きデコーディングに「:」トークンが出現した後は具体的なスロット

佐良らは知識応答生成モデルにおいて，誤った値を生成する．ここで，直前に生成したスロット名

知識を生成しないようにエンティティ名制約付

でスキーマを参照し， is categorical”が true の場合

き デ コ ー デ ィ ン グ (ENCD: Entity Name Constrained

は possible values”に含まれる語彙のみを生成する．

Decoding) を提案した [4]．これは，知識グラフを外is categorical”が false の場合は，単語を生成する確部知識として用いる応答生成モデルが，検索してき率分布を制約せずに生成する．[SEP] タグが生成さた知識をより正確に利用するよう促す手法である．

れた後は上記と同様にスロット名，スロット値を生

これにより，間違ったエンティティ名の出力を防い成する．[INTENT] タグが生成された後は，インテでいる．

ント名を生成するため，スキーマ内の全インテント名に含まれる語彙のみを生成する．<\s>トークン

Jeﬀrey らの研究の予測精度には依然改善の余地がある．これは，予測対象を番号にしたことで，単語の意味的特徴を捉えられていないという点である．そこで，本研究では予測対象を番号ではなく，が生成された場合は生成を終了する．

データ作成

3

スロット名，スロット値，インテント名とし，さら本稿では 1 つの対話中に複数のドメインが存在する SGD データセット (all-domain) を用いて，図 2 のに佐良らによる制約付きデコーディングを応用し，形式で入出力データを作成した．各データ数を表 1

誤った名称を生成しないように，スキーマ名制約付に示す．

きデコーディング (SNCD: Schema Name Constrained

表 1 データ数Decoding) を提案する．

number of data

提案手法

2

章 1 で述べた制御手法で，タスク指向対話におけ

train
dev

16142
2482

test

4201

る言語モデルによる Hallucination を抑制する．本手法では学習時と推論時で処理が異なる．

2.1

実験内容

4

学習時

本 稿 で は Jeﬀrey ら の 実 験 と 同 じ t5-v1 1-

図 2 に 学 習 の 方 法 を 示 す．入 力 は SGD デ ー タbase(248M parameters)1）, t5-v1 1-large(770M parame-

セットのスロット名，スロットの説明，スロット候補値，インテント名，インテントの説明，対話履ters)2）を 使 用 し た．章 3 で 述 べ た デ ー タ で フ ァ

歴を連結した文字列とし，出力はスロット名，スとなるステップ数のモデルを選択した．その後，ロット値，インテント名を連結した文字列とする．

Greedy Search を用いて推論を行い，評価した．以下

スロット名，スロット値，インテント名の間にはに評価対象手法を示す．

インチューニングし，dev データでの loss が最小[SLOT], [SEP], [INTENT] タグを挿入する．

2.2• D3ST：Jeﬀrey らの手法
• SNCD：提案手法

推論時• SNCD(w/o constrained)：SNCD の予測時に制約

図 3 に推論時のデコーディング制御機構を示す．

を設けない手法• SNCD-add-tag2vocab：提案手法＋タグをトーク

推論時は学習時の構成にデコーディング制御モジュールを追加する．モデルが語彙を生成する場ンとして語彙に追加する手法

合，単語を生成する確率分布を制約し，該当する• SNCD-add-tag2vocab(w/o constrained)：SNCD-add-スキーマに含まれる語彙のみを生成する．図 4 にtag2vocab の予測時に制約を設けない手法

推論時のデコーディング制御の具体例を示す．始めは語彙確率を制約せずに生成する．出力の先頭の [SLOT] タグが生成された後は，スロット名を生成するため，参照するスキーマ内の全スロット名にこ こ で，実 験 を 行 う 前 に 提 案 手 法 で は タ グ 生 成が 上 手 く い か な い こ と が 分 か っ た．そ の た め，1） https://huggingface.co/google/t5-v1 1-base2） https://huggingface.co/google/t5-v1 1-large― 1428 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

[SLOT]city:sf[SEP]serves_alcohol:true[SEP]price_range:moderate[SEP]cuisine:sushi[INTENT]ReserveRestaurant


LLM[SLOT]street_address=address of the restaurant
restaurant_name=name of the restaurant
city=city in which the restaurant is locatedserves_alcohol=boolean flag indicating if the restaurant serves alcohol[RANGE]true, false
price_range=price range for the restaurant[RANGE]inexpensive, moderate, expensive, very expensive
cuisine=cuisine of food served in the restaurant[RANGE]mexican, chinese, indian, american, italian, sushi[INTENT] ReserveRestaurant=reserve a table at a restaurant
FindRestaurants=find a restaurant of a particular cuisine in a city
[USER] i'm looking for a place to eat. [SYSTEM] what are you in the mood for:mexican, chinese, or something else? [USER] sushi sounds good right now.
[SYSTEM] which city do you want to eat in? [USER] somewhere affordable, thatsells alcohol in sf.

Schema

図 2 学習入出力フォーマットの例：赤のテキストはスロット記述，青のテキストはインテント記述，黄色のテキストは会話内容[SLOT]city:sf[SEP]serves_alcohol:true[SEP]price_range:moderate[SEP]cuisine:sushi[INTENT]ReserveRestauran


Schema Constraint Module
slot name : slot name vocabularyslot value : whole vocabulary or pissible values vocabularyintent : intent name vocabulary

Decoder

LLM[SLOT]street_address=address of the restaurant
restaurant_name=name of the restaurant
city=city in which the restaurant is locatedserves_alcohol=boolean flag indicating if the restaurant serves alcohol[RANGE]true, false
price_range=price range for the restaurant[RANGE]inexpensive, moderate, expensive, very expensive
cuisine=cuisine of food served in the restaurant[RANGE]mexican, chinese, indian, american, italian, sushi[INTENT] ReserveRestaurant=reserve a table at a restaurant
FindRestaurants=find a restaurant of a particular cuisine in a city
[USER] i'm looking for a place to eat. [SYSTEM] what are you in the mood for:mexican, chinese, or something else? [USER] sushi sounds good right now.
[SYSTEM] which city do you want to eat in? [USER] somewhere affordable, thatsells alcohol in sf.

図3

Schema

推論時のデコーディング制御機構

SNCD-add-tag2vocab では，タグの出力ミスを防ぐこ

Output Accuracy 以 外 の 項 目 で は 高 い 評 価 と な っとを期待し，タグを語彙に追加して学習，評価した．

た．これより，Schema Constraint Module の有効性がまた，評価項目を以下に示す．

分か っ た．SNCD-add-tag2vocab では タ グ の出 力 ミ• JGA(Joint Goal Accuracy)：対話状態を完全一致で予測できた割合

スを防ぐためにタグを語彙に追加したが，Output
Accuracy は他の手法と比べて低い評価となった．こ• Slot Accuracy：正しくスロット名とスロット値

れは新たに語彙を追加したため，生成モデルが扱うを予測できた割合

べき語彙の数が増え，生成モデルが選択肢の中から• Intent Accuracy：正しくインテント名を予測で正しい単語を選び出す難しさが増したためだと考きた割合えられる．全体として，提案手法では先行研究を上• Output Accuracy：正しい形式で出力できた割合

回る結果は得られなかった．先行研究では数字を予(タグの配置，タグ名が崩れずに出力できたか)測しているのに対し，提案手法では単語を予測しおり，無数の組み合わせが存在する．この予測トーク

5

結果と考察ン数の差が原因だと考えられる．また，本稿で使用評価結果を表 2 に示す．結果より，Jeﬀrey らの手法である D3ST が全ての評価項目で高い評価となった．また，提案手法 (SNCD, SNCD-add-tag2vocab) では，単 語 を 生 成 す る 確 率 分 布 を 制 約 し た ほ う がした Greedy Search が結果に影響を与えていると考える．実際に，誤ったトークン予測の約 92%では,正解トークンが上位 4 つ以内に含まれていることが示されている [5]．そのため，今後は Beam Search の導入と評価を行う．

― 1429 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

[SLOT]

city:

sf

[SEP]

serves_alcohol:

true

[SEP]

price_range:

moderate[SEP]

cuisine:sushi[INTENT]

ReserveRestaurant 
Schema Constraint Module

Decoder

Schema"service name": "Restaurants_1"

Intents"name": "FindRestaurants"…
"name": "ReserveRestaurant"

Slots"name": "cuisine""is_categorical": true
"possible_values":[“mexican",“chinese", “indian",“american" “italian“, “sushi”]

whole vocabularyslot name vocabulary...
"name": " serves_alcohol ""is_categorical": true
"possible_values": [“true",“false"]

possible values vocabularyintent name vocabulary"name": " price_range ""is_categorical": true
"possible_values":[“inexpensive",“moderate“,“expensive”, “very expensive”]

図4

推論時のデコーディング制御例
表 2 評価結果

JGA

6Slot Accuracy Intent Accuracy Output Accuracy

D3ST(t5-base)0.55440.80960.86510.9952

D3ST(t5-large)

0.59250.83720.91290.9949SNCD(t5-base)0.40250.6622

0.79720.9648SNCD(t5-base, w/o constrained)

0.35590.56650.79400.9976

SNCD(t5-large)

0.41400.63090.85590.9233

SNCD(t5-large, w/o constrained)

0.37700.60390.89830.9910

SNCD-add-tag2vocab(t5-base)0.39570.63010.84800.9193

SNCD-add-tag2vocab(t5-base, w/o constrained)

0.34900.55570.82130.9357

SNCD-add-tag2vocab(t5-large)

0.40310.64850.85070.9065SNCD-add-tag2vocab(t5-large, w/o constrained) 0.3548

0.56210.83710.9391

おわりにYonghui Wu. Description-driven task-oriented dialog modeling, 2022.
Abhinav Rastogi, Xiaoxue Zang, Srinivas Sunkara, Raghav
Gupta, and Pranav Khaitan. Towards scalable multi-domain
conversational agents: The schema-guided dialogue dataset,2020.
Colin Raﬀel, Noam Shazeer, Adam Roberts, Katherine Lee,
Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, andPeter J. Liu. Exploring the limits of transfer learning with auniﬁed text-to-text transformer, 2020.
佐良和孝 滝口哲也有木康雄. 知識グラフに基づく応答文生成におけるエンティティ名 制約付きデコー
ディング, 2022.
Seungpil Won, Heeyoung Kwak, Joongbo Shin, Janghoon
Han, and Kyomin Jung. BREAK: Breaking the dialogue
state tracking barrier with beam search and re-ranking. pp.
2832–2846, Toronto, Canada, July 2023. Association for
Computational Linguistics.

本稿ではタスク指向対話における言語モデルの[2]

Hallucination 抑制手法である SNCD を提案し，評価を行った．その結果，先行研究を上回る結果は得られなかったが，提案手法の有効性が確認できた．本[3]

手法を用いれば ChatGPT のような汎用的な言語モデルでも，追加の学習を必要とせず，より正確なテキストを生成することが可能となる．これにより，誤ったアクションを引き起こす可能性が低くなると[4]期待される．

[5]

謝辞
本研究は，電気通信大学人工知能先端研究セン
ター (AIX) の計算機を利用して実施したものです．

参考文献[1] Jeﬀrey Zhao, Raghav Gupta, Yuan Cao, Dian Yu, Mingqiu
Wang, Harrison Lee, Abhinav Rastogi, Izhak Shafran, and― 1430 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).