情報処理学会 インタラクション 2024
IPSJ Interaction 2024

INT24020
2024/2/28

大規模言語モデルとの対話に基づいた制約付き最適化によるカタログ型推薦の枠組み
石井 直樹1,2

樋口 啓太2

概要：本研究では実世界で使われる対話というインタラクションを通して，ユーザの嗜好と制約の両方を満たすことができる推薦システムの実現を目指す．大規模言語モデルは本文中学習により入力となるプロ
ンプトに応じてモデルを適応させることが可能なことから，ユーザとの対話というインタラクションを通じて個人の嗜好に合わせた推薦を行うための応用が試みられている．しかしながら，大規模言語モデルには存在しないものを提案するといった hallucination の懸念がある．また，ショッピングにおける予算や食事における栄養条件といった個人毎に異なる制約を考慮した推薦をする必要がある場合，大規模言語モデルが制約を考慮して推薦内容を調整することは難しい．本研究では，大規模言語モデルによって推薦されたものをデータベース内の品目に置き換えるカタログ型推薦において，制約を満たすデータベース内の品
目の組み合わせを初期値として生成し，それに対してユーザ嗜好に適合するような局所的な変化を繰り返し加えるアルゴリズムを提案する．提案アルゴリズムを，1 日 3 食分の食事を各人が持つ栄養条件を考慮しながら提案する献立推薦アプリケーションに応用した．ユーザ実験を通して，提案アルゴリズムがユー
ザ嗜好を満たしながら，生成された全ての推薦献立において栄養条件を満たしていることが確認された．

1. はじめに(in-context learning) と呼ばれ，プロンプトに応じてモデルをその場で更新（学習）していることと等価であることが個人の嗜好に基づく推薦システムにおけるグランドチャ示唆されている [3] [4]．本文中学習を利用してユーザの嗜レンジの一つは，自然なインタラクションによりユーザ嗜

好を自然言語による対話からモデリングすることで，LLM

好を捉えつつ，各個人のもつ制約を満たす推薦であると考を推薦システムに用いようとする試みが行われている [5]．

える．具体的なアプリケーションとしては，音楽推薦や食一方で，決められた品目の中から推薦をするシステム（カ事推薦，画像フィルターといった応用がある．近年の研究

タログ型推薦）においては，存在しない品目を提案する一では，予算や栄養といった制約も考慮した推薦手法が提案

種の hallucination が懸念される．

されており，ユーザの制約を満たす労力を減らすことがで

カタログ型推薦システムでは，推薦される候補の品目にきる [1]．一方で，ユーザ嗜好を推薦に反映させるための情関する属性などの情報を持っているため，各ユーザの持つ報入力は，システム依存であったり入力が煩雑であったり

嗜好だけでなく制約を考慮した推薦を行うことが求められするため，習得難度に時間がかかることや毎日の利用がしる．例えば，ショッピングサイトの推薦では，ユーザの予にくいことなどの制約がある．そのため，本研究では実世算を超えた推薦を行っても購入につなげることは難しい．

界で使われる対話というインタラクションを通して，ユー

また，毎日の食生活のための献立推薦システムでは複数のザの嗜好と制約の両方を満たすことができる推薦システム

レシピから構成される献立において，各レシピの様々な栄の実現を目指す．

養素を考慮し全体的な栄養バランスを整える必要がある．

ChatGPT を代表とする大規模言語モデル（Large Lan-

LLM は学習の過程においてある程度の計算能力を獲得しguage Models: LLMs）のアプリケーションは，ユーザとていくことが報告されているが，その計算能力は簡単な四の自然言語による対話というインタラクションを提供して則演算を実現する程度である [6]．そのため，複数の不等式

おり，チャットを通しての質問応答が実現されている [2]．

で構成されるようなユーザ毎の制約条件を満たすように品LLM は与えられたプロンプトに基づき，コンテキストに目の組合せを推薦するといった，複雑な最適化処理を LLM

応じた返答を生成することができる．これは，本文中学習が行うことは現実的ではない．

1
2

東京大学
Preferred Networks© 2024 Information Processing Society of Japan

そこで本研究では，LLM との対話を通した推薦におい166情報処理学会 インタラクション 2024
IPSJ Interaction 2024

表 1

INT24020
2024/2/28

提案手法による対話例

表 2

ベースライン手法による対話例

入力:

ヘルシーな献立。太りにくい和食など

入力:

野菜多めのヘルシー料理

出力:

朝食: 豆ごはん，あられ野菜の豆腐サラダ

出力:

朝食: プルコギバターしょうゆご飯ＴＥＭＡＫＩエネルギー

昼食: 塩さばのごまみりん焼き，春菊の混ぜご飯，

オリーブ香る野菜ジュース

にんじん，パプリカ，桜えびの炒め物

昼食:

クレソンのグリーンサラダ

夕食: 鶏ささ身の和え物，鶏と野菜のコンソメ煮，

野菜たっぷりスープ とうがんのサラダ

野菜できれいベジサラダ巻き

夕 食:1564.7 kcal

野菜カレー（トマトピューレー使用）

たんぱく質

65.8 g（適切）

脂質

炭水化物

220.2 g（適切）

食塩相当量

入力:

魚があまり好きでないので、メインを変えてほし

炭水化物

219.5 g（不足） 食塩相当量 19.9 g（過剰）い入力:

たんぱく質多めで、脂質をもうすこし抑えてくだ

出力:

朝

食:

39.7 g（適切）

焼き野菜のサラダ 豆腐と野菜の炒め煮

4.9 g（適切）エネルギー

1911.4 kcal

たんぱく質56.2 g（不足）食:

おかかと炒り卵のおにぎり

88.4 g（過剰）さい。クレソンなど手に入りにくい野菜ではな

アボカド納豆のレタス巻き

く、身近な野菜でマッシュルームと野菜のトマト煮込み
昼

脂質

出力:

朝食: たらの味噌漬け焼き 納豆サラダ

なすのピリ辛炒め ほうれん草ときのこのお浸し

昼食: 鶏肉のグリル焼き 切り干し大根のサラダ

夕食: 鶏の磯辺焼き 薬味やっこ 豆ごはん

かぼちゃの和風スープ

エネルギー

1544.7 kcal

夕

たんぱく質

65.5 g（適切）

脂質

炭水化物

224.5 g（適切）食塩相当量

44.5 g（適切）5.2 g（適切）栄養の条件の判定は 50〜64 歳の身体的女性の栄養目標に基づく．

て，ユーザ嗜好と数値的な制約条件の両方を満たすための推薦手法を提案する．本研究では，本文中学習によりユー食:鮭のオリーブオイルソテー

ほうれん草と卵のふんわり炒め
豆腐とかにのとろみ汁
エネルギー

1346.9 kcal

たんぱく質

86.6 g（過剰）脂質73.0 g（過剰）炭水化物

77.3 g（不足） 食塩相当量 11.7 g（過剰）栄養の条件の判定は 50〜64 歳の身体的女性の栄養目標に基づく．

ザとの対話から，LLM がユーザ嗜好を捉え適切な推薦が可能であると仮定し，LLM からの推薦を編集することで本研究では予備実験として，LLM がユーザの嗜好を反制約付きカタログ推薦を実現する．本手法では，存在しな映したカタログ型推薦が可能であるかを検証した．そのたい品目を推薦する hallucination を防ぐために，LLM が推

めに，LLM の推薦献立の各レシピをカタログ内レシピの薦した品目をカタログ内の品目に置き換える変換手法を導最も類似するものに置き換えるベースラインシステムを開入する．本研究では推薦する品目の前後にマーカーをつけ発した（表 2）．8 人の実験参加者による，対話に基づく献るように条件付けするプロンプトを LLM に与えることで，立推薦の予備実験の結果，75% のユーザが好みに合った献推薦する品目を類似するカタログ内の品目に変換すること立が推薦されていると回答した．一方で，推薦された献立を可能にする．さらに，ユーザ嗜好を満たしながら数値的が栄養条件を満たしているケースは 0 件であった．本研究な制約を満たすというタスクを，チャットという応答性がのメイン検証として，提案システムとベースラインシステ

求められるアプリケーションで実現するために，山登り法

ムを比較する実験を 24 人のユーザに対して行った．そのに基づく最適化手法を提案する．

結果，提案手法はエラーを起こすこともあったが，それ以本研究では，提案アルゴリズムを食事推薦のアプリケー

外では必ず栄養条件を満たしながら，ユーザの好みを反映

ションに応用する．具体的には，ユーザの指示に基づいてした献立を推薦したことが確認できた．一方で，品目の入

栄養バランスの取れたレシピを提案するカタログ型献立推れ替えなどのユーザの具体的・個別的な指示に対して対応

薦システムを実現する．提案システムは 4000 品以上のレできないケースが観察された．上記の実験結果に基づき，

シピとそれに付随する栄養情報を持つカタログの中から，1

本手法の課題と改善点を議論した．

日 3 食合計 7 〜 9 品のレシピの推薦を行う．栄養条件としては日本人の栄養摂取基準の中から三大栄養素と塩分摂取
量の 4 つの栄養素を制約として，推奨摂取基準内に収まる

2. 関連研究2.1 個人の嗜好に適合する推薦手法

レシピ 7 〜 9 品の組み合わせを推薦する．ユーザはチャッ

推薦システムは個別のユーザにとって適切な情報やアトにより「がっつりしたもの」「ヘルシーな献立」といったイテムを提案する問題設定であり，ショッピングサービ

好みを入力することで，表 1 のようにシステムから好みをス [7], [8] や音楽推薦 [9], [10] などの応用がある．代表的な反映しつつ栄養素条件を満たした献立推薦を 10 秒程度で推薦手法には協調フィルタリング [11] があり，多くの Web受けることができる．さらに，ユーザは推薦された献立にサービスで実用化されている．別のアプローチとしては多対してチャットを通して嗜好情報や要求を追加でき，それ腕バンディットによるオンライン機械学習の問題設定とを反映した結果を受け取ることができる．

してユーザ嗜好を学習する方法があり，ニュース記事の推© 2024 Information Processing Society of Japan167

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

INT24020
2024/2/28

薦 [12] やショッピングサービス [13] への応用が研究されてらいくつかを選んで推薦するという問題を考えることにすいる．近年では，ユーザの嗜好と制約の両方を満たすため

る．その上で，C に属する各品目 c には数値的な情報 vc がの推薦手法も提案されており，尾関らはユーザの食材の好付加されており，それらの和がある領域 Ω 内に収まること

みと 1 日の栄養摂取基準を制約とした献立推薦手法を提案

が制約条件として課されていると考える．例は表 3 の通り

した [1]．尾関らの手法では，ユーザが指定した食材を利用である．この制約条件の中で，できるだけユーザの嗜好に可能であるかと，栄養基準を満たせるかかの両方を考慮しあったものを推薦することが，本研究において取り組む問

ながらレシピを逐次的に推薦することができる．しかしな

題である．

がら，ユーザがレシピの推薦を受けるためには使いたい食表 3

材リストの入力に時間を割く必要があり，さらに推薦され推薦システム例

ショッピングのアシスタント

健康に良い献立の推薦販売している商品

データベースにある料理

た献立は栄養の制約条件を厳密に満たすことが保証されてCいない．本研究では，日常で使われるチャットにより自然

vc

金額

栄養価

言語で嗜好を入力可能かつ，厳密に制約条件を満たすこと

Ω

顧客の予算

栄養価の合計量の目標が可能な推薦手法を提案する．
そこで本研究では，LLM の本文中学習の能力がユーザの2.2 大規模言語モデルを使った推薦嗜好を捉えるのに十分であるという仮定に基づいて，LLM

LLM を使った推薦に関する研究が進められている．

にユーザの嗜好に適した推薦の一例を挙げさせ，必ずしもZhang らは FaiRLLM という LLM による推薦が公平性を条件を満たしていないその推薦内容を，制約を満たした推持つかを判定するためのベンチマークを開発し評価してい薦内容によってできるだけよく近似するという戦略を用いる [5]．Zhang らの研究では，LLM による推薦が公平性に関た．このために必要な，ある推薦内容に対して制約を満たして課題があることや，推薦内容に hallucination が含まれした推薦内容による近似を得るためのアルゴリズム（以下る可能性があることへの懸念を報告している．Trichopou-「修正アルゴリズム」と呼ぶ）としては，山登り法といわれlos らの研究では博物館における推薦において，展示物やイる枠組みに基づいたものを構築した．

ベントなどに関するコンテキストを用いた ﬁne-tuning や

山登り法とは，ランダムな解から出発して，解の部分的

本文中学習により LLM を調整させることで信頼性を高めな変更によって解を改善することを繰り返して，大域最適ている [14]．このような LLM に推薦対象を学習させるよ解とはいわずとも局所最適解をめざすヒューリスティック

うなアプローチは，対象が数千個以上の規模になったとき解法である [17], [18]．これを繰り返し試行することによっ信頼性が保証されないという課題がある．Wu らはオンラて，大域最適解を見つける確率を高めることもできる．本

イン求人の推薦タスクにおいて，ユーザのプロフィールと研究においては，制約を満たす推薦をランダムに生成する求人情報を LLM におけるベクトル表現に変換して類似度

ルーチンと，制約を満たす推薦を制約を満たしたまま部分を計算することでマッチングをしている [15]．Chat-REC

的に変更するルーチンを考案し，山登り法を構成した．

でもベクトル表現への変換により存在するアイテムとのまた，LLM による推薦内容を制約を満たした推薦内容

マッチングを行っている [16]．本研究でもベクトル表現をによって「近似」するというからには，推薦内容同士の類用いて LLM が推薦した品目をデータベースに存在する品

似度も定義する必要があった．この類似度は，埋め込みと目に置き換える方法を採用した．特に，栄養の条件を無視呼ばれる，自然言語の文をベクトルで表現する後述の自然して単に LLM からの推薦の各品目をベクトル表現におい言語処理の技術に基づいて定義した．

て最も近い品目に変換するという手法をベースラインとし

図 1 にアルゴリズムの概念図を示す．図 1(1-A) にあるて，提案手法と比較している．提案手法では，ユーザの制

ように，アルゴリズムは最初に制約を充足する解を 1 つ発

約条件を満たす解（品目の組み合わせ）を生成してから，見する．その時，図 1(1-B) のように，すべての品目が推薦

制約を満たしつつ局所的にユーザの嗜好に合った品目に置に近似しているわけではない．そこで，推薦内容に品目のき換えるのを繰り返すアプローチを採用している．これに組み合わせを割り当てたときに，近似されていない品目のより，4000 品以上のレシピを推薦対象として，栄養制約を

局所的変化を行う．図 1(2) では，6 個中近似されない 3 つ守りつつユーザの嗜好を満たした献立をリアルタイムに生の品目を入れ替えるという，制約と近似を両立させる探索成している．

を行い割当距離の合計を改善する．この 2 つのプロセスを

3. 修正アルゴリズムつき LLM 対話システム
による線形制約つき嗜好最適化
3.1 概観本稿では推薦システムとして，予め決められた集合 C か© 2024 Information Processing Society of Japan

繰り返すことで推薦内容に近似した解を発見する．制約を満たす品目の組合せ（図中では 6 つ）を探索するのではな
く，山登り法により局所的（図中では 3 つ）に改善する理由は，制約を満たす任意の解を出発点として局所的変化された解を探索する方が十分に高速であるため，限られた時

168情報処理学会 インタラクション 2024
IPSJ Interaction 2024

INT24020
2024/2/28

間の中でより多くの候補からより近似する解を発見するこいるのが文章のうちどこであるかを標示するよう仕向とを期待しているためである．

けておく．

( 3 ) LLM の出力のうち，前述のマーカーで囲われた品目
名（推薦可能品目であるとは限らない）を抽出し，その品目名の集合（以下手本という）を以下に述べる設計の「修正アルゴリズム」によって制約条件を満たす
推薦可能品目の集合に置き換える．このとき両集合が同じ大きさになるようにする．

( 4 ) LLM の出力のうち，前述のマーカーで囲われた部分
を，修正アルゴリズムが与えた各推薦可能品目で置き換えたものを実際の出力としてユーザに提示する．

( 5 ) 置き換え前のものではなく置き換え後の対話エージェ
ントの発言を，これまでの対話の履歴の系列に加える．
すべての品目 c ∈ C には，自然言語による名前が与えられているものとする．自然言語の語や文の意味をベクトル空間上の点で表現する方法として，機械学習モデルとその図 1

提案手法の概念図

訓練手法ともに様々なものが知られており [19], [20]，これ
らを総称して埋め込み（embedding）という．これを利用し，それぞれの品目の名前の埋め込みベクトルを nc とする（アプリケーションのランタイム以前に計算しておくこ

3.2 問題設定
非負の整数全体の集合を Z≥0 と書くことにする．

とができる）．

先に述べたように，ユーザに対して推薦する対象は，予3.3.2 修正アルゴリズム

め定められた集合 C の部分集合であると定める．C をカタ

修正アルゴリズムは，LLM の毎度の推薦内容に対して，ログと呼び，C の各要素を推薦可能品目と呼ぶことにする．

それをできるだけよく近似する実行可能解を求めるヒュー

正整数 d を決めておいて，各品目 c ∈ C に対し，制約条

リスティックである（アルゴリズム 1）．このアルゴリズム

件を表現するために必要な c についての数値的な情報を vc

は山登り法と呼ばれる枠組みに基づいている．

という d 次元ベクトルとして定義する．vc は非負整数を要こ こ で ，m は 手 本 の 品 目 数 ，Rtrial , Rdepth , Rwidth は素とするベクトルであり，零ベクトルではないとする．つ

ハ イ パ ー パ ラ メ ー タ で あ る ．サ ブ ル ー チ ン PickOne,

まり，vc ∈ Z≥0 \ {0} とする．制約条件は，解を X ⊂ C∑として，有界な集合 Ω ⊂ Z≥0 d を用いて c∈X vc ∈ Ω とItemsToReplace, LocalChange と，評価式 DistToDraft にd

ついては次節以降で説明する．

表されるものとする．
一般の場合の推薦問題を以下のように定式化する．
∑
問題:c∈X vc ∈ Ω を満たすカタログ C の部分
集合 X であって，なるべくユーザーの要望に適合しているものを求めよ．
∑
c∈X vc ∈ Ω を満たすカタログ C の部分集合 X を実行
可能解と呼ぶことにする．

function CorrectionAlgorithm(X)⃗ ∈ Ω arbitrarily
Choose βd←∞repeat Rtrial times⃗ m)
X ← PickOne(β,if d > DistToDraft(X)d ← DistToDraft(X), X ∗ ← X
repeat Rdepth times

3.3 解法
3.3.1 概要
以下のような手順でユーザからの発言に返答することで対話を行う．

( 1 ) ユーザからの入力をこれまでの対話の履歴の系列に加える．

( 2 ) これまでの対話の履歴を LLM に入力し，返答を生成させる．このとき LLM のプロンプトを調整すること
で，推薦する品目の前後に「<item>. . . </item>」など

I ← ItemsToReplace(X)d′ ← ∞
repeat Rwidth times
X ′ ← LocalChange(X, I)
if d′ > DistToDraft(X ′ )d′ ← DistToDraft(X ′ ), X ′∗ ← X ′X ← X ′∗
if d > DistToDraft(X)d ← DistToDraft(X), X ∗ ← X
return X ∗アルゴリズム 1

修正アルゴリズム

といったマーカーを入れさせ，推薦する対象を示して© 2024 Information Processing Society of Japan169

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

INT24020
2024/2/28

3.3.3 実行可能解のランダムな生成

る．以下，埋め込みベクトルは常に大きさ 1 のベクトルに

C の部分集合全てのうちでの実行可能解の割合は非常に正規化されているものとして議論する．

少なくなりうるが，実行可能解の個数そのものは非常に多手本の品目の埋め込みベクトルを a1 , . . . , am とする．

くなりうる．このため，実行可能解をランタイムの計算だ

X = {x1 , . . . , xm } を手本と同じ要素数 m の実行可能解とけで見つけることも，実行可能解を事前にすべて挙げておするとき，X と手本との距離をくことも現実的ではない．
そこで，任意の実行可能解をランタイムで復元できるよ

DistToDraft(X) :=

min

m
∑

p∈Sym(m)うなデータ構造 A を前計算して保持するものとした．
そのデータ構造は，大きさ (M1 + 1) × · · · × (Md + 1) ×

|ai − nxp(i) |

(1)

i=1

（Sym(m) は {1, . . . , m} から {1, . . . , m} への全単射全体）(N +1) の d+1 次元配列 A である．ただし整数 M1 , . . . , Mdと定義する．最小値を与える全単射 p の一つを与える関数を Ω ⊂ {0, . . . , M1 } × · · · × {0, . . . , Md } となるように定義

を OptPerm([x1 , . . . , xm ]) とする．

し，N は実行可能解として期待される長さの上限とする．
⃗ = (β1 , . . . , βd ) と配列の添字は 0 から始めるものとし，β与 え ら れ た m × m 非 負 行 列 C = (Ci,j ) に 対 し∑mi=1 Ci,p(i) を 最 小 化 す る よ う な 全 単 射 p を 求 め る 問⃗ ν]ν によって指定される A の要素 A[β1 , . . . , βd , ν] を A[β;題を 線形 和割 当問 題（linear sum assignment problem）と略記する．
⃗ ν] には，∑各要素 A[β;と い い ，こ れ は 時 間 計 算 量 O(m3 ) で 解 く こ と が で き⃗る [21]．そのため，|ai − bj | = Ci,j を全て計算することの有無を表す真理値が入っている．

で，DistToDraft(X), OptPerm([x1 , . . . , xm ]) を時間計算量⃗ ν] がC = {c1 , . . . , c|C| } とし，多次元配列 Bi を Bi [β;∑⃗c∈X vc = β, |X| = ν なる解 X ⊂ {c1 , . . . , ci } の有無を表O(m3 ) で求めることができる．

c∈X vc = β, |X| = ν なる解 X ⊂ C

す配列と定義すると，B|C| = A であり，A は B1 , B2 . . . を

3.3.5 実行可能解の局所的変化
実行可能解の要素には，p（実行可能解と手本との距離順に計算していくことで時間計算量 O(M1 · · · Md N |C| ) での定義に使った全単射）による対応先との距離が大きいも

求まる．
∑
⃗
c∈X vc = β, |X| = ν なる解 X ⊂ C を見つける手法はが手本をうまく近似できない原因になっている品目に相当

2

アルゴリズム 2 の通りである．

のと小さいものがある．これが大きい要素は，実行可能解
するから，実行可能解に局所的変化を加えるときはそのような要素を置き換えていけばよい．
手本の品目の埋め込みベクトルを a1 , . . . , am とする．X⃗ ν)
function PickOne(β,loop⃗ ′ ← β,⃗ ν ′ ← ν, L ← an empty list
βwhile ν ′ 6= 0

を手本と同じ要素数 m の実行可能解とするとき，X の変更すべき部分集合 I を決める方法はアルゴリズム 3 のItemToReplace，I に基づいて X を局所的に変化させる方S←∅
for each c ∈ C⃗ ′ − vc ≥ 0 ∧ A[β⃗ ′ − vc , ν ′ − 1]if β法はアルゴリズム 3 の LocalChange である．
function ItemsToReplace(X)S ← S ∪ {c}x1 , . . . , xm ← elements of X

if S = ∅p ← OptPerm([x1 , . . . , xm ])

break
∗

Choose c ∈ S at random⃗′ ← β⃗ ′ − vc∗ , ν ′ ← ν ′ − 1, append c∗ to L
β
if L has no duplicate

L = [1, . . . , m]
Sort L in descending order using i 7→ |ai − nxp(i) |return {xp(L[1]) , xp(L[2]) , xp(L[3]) }return L as a set

function LocalChange(X,I)

アルゴリズム 2

x1 , x2 , x3 ← elements of I

サブルーチン PickOne

x4 , . . . , xm ← elements of X \ I

この方法によって∑⃗c∈X vc = β, |X| = ν なるすべての実行可能解が非零の確率で生成される．ただし，等確率で生成されるわけではない．

3.3.4 実行可能解と手本との類似度の定義
推薦可能品目 1 個と手本の品目 1 個の類似度であれば，loop
Y ← PickOne(vx1 + vx2 + vx3 , 3)
y1 , y2 , y3 ← elements of Y
if [y1 , y2 , y3 , x4 , . . . , xm ] has no duplicate
return {y1 , y2 , y3 , x4 , . . . , xm }アルゴリズム 3

サブルーチン ItemsToReplace, LocalChange

両品目名の埋め込みベクトル同士のコサイン類似度として定義すればよい．埋め込みベクトルが全て大きさ 1 のベクトルとなるならば，これはユークリッド空間上の両埋め込
みベクトルの距離と（単調減少な関係で）一対一に対応す© 2024 Information Processing Society of Japan

4. 栄養条件つき献立推薦
提案手法を 1 日の食事を推薦するアプリケーションに応

170

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

INT24020
2024/2/28

用した．具体的には，ユーザの好みに適合させつつ，栄養な c ∈ C ′ が 3 つ存在したので，それらを C ′ から取り除いについての条件を厳密に満たす一日分の献立をユーザの好たものを C とする．

みに合わせて推薦するという問題に取り組んだ．

このようにすることで，本問題を，以下の 2 点の違いを除いて 3.2 節の問題の特殊な場合とみなすことができる．

4.1 問題

第 1 の違いは，正確には量子化後の栄養ベクトルでは栄一日分の献立とは，朝食，昼食，夕食の三つに分けられ養についての真の条件が表現できないことである．

ている料理の集合である．栄養についての条件を満たすか

第 2 の違いは，3.2 節の問題では C は単なる集合である

どうかがわかるように，一日分の献立は，栄養素が既知とのに対し，本問題では C のどの要素が朝食・昼食・夕食ななっている料理を要素とする．推薦に候補となるレシピのかという分配の情報も出力しなければならないことでデータベースとして，キッコーマンホームクッキング*1 かある．

ら取得した 4237 個のレシピを用いた．このウェブサイト
はレシピの名前，レシピの写真，調理方法，材料の名前と4.2 解法量などが登録されているデータベースである．

3.3 節の解法に，上記の違いに対処する計算を加える．

栄養についての条件として，日本人の栄養摂取基準 [22]栄養ベクトルを量子化したことによる栄養の条件のずれに定めのあるもののうち，たんぱく質，脂肪，炭水化物，（第 1 の違い）については，3.3.3 節，3.3.5 節のサブルーチ

塩分の摂取量の目標を採用した．ただし，提案アルゴリズ

ンにおいて，品目の集合が生成された際にそれが実際に正ムは糖質制限や塩分制限といった個人毎に異なる栄養条件

確な栄養の条件を満たしているかを確かめ，満たされていにも対応可能である．

なければやり直すというルーチンを加えることで対処した．

α1 ≤たんぱく質 [g]≤ 0.2
4[kcal/g] × エネルギー [kcal]

C のどの要素が朝食・昼食・夕食なのかという分配の情(2)報も出力しなければならないという第 2 の違いについて
は，修正アルゴリズムの出力した各品目を，3.3.4 節で得ら

脂肪 [g]
0.2 ≤≤ 0.3
9[kcal/g] × エネルギー [kcal](3)

炭水化物 [g]0.5 ≤≤ 0.65
4[kcal/g] × エネルギー [kcal](4)

塩分 [g] ≤ α2 [g](5)

れた最適割当に従ったとき対応する LLM の出力文内の品目の位置におくことで，LLM が朝食・昼食・夕食に分けて出力を表現するのを利用して自動的に対処した．
実際上，品目数 7,8,9 の献立に対しては常に栄養の条件を満たすものが見つかり，品目数 6 以下，10 以上では見つからないことが多かったので，LLM が品目数 6 以下，10

ただし α1 は，15〜49 歳の人に対しては 0.13, 50〜64 歳以上の献立を出したときはエラーとするようにした．

の人に対しては 0.14, 65 歳以上の人に対しては 0.15 であ会話を行う LLM としては OpenAI API の gpt-3.5-turbo

る．α2 は，身体的男性に対しては 7.5, 身体的女性に対しというモデルを用いた．料理の名前のベクトル埋め込みにては 6.5 である．

は，Hugging Face において公開されている simcse-ja-bert-

前の三つについては，実際には [22] では食品の総エネル
ギー比として目標が定められていることから，それぞれのbase-clcmlp*2 というモデルを用いた．これは 768 次元空間への埋め込みを与える．

質量あたりのエネルギーを定めてエネルギーの条件を質量

線形和割当問題の解法ルーチンとして，[24] のアルゴリの条件に換算する必要があった．このような場合に慣習的ズムを用いている SciPy の scipy.optimize サブモジューに用いられる換算係数として [22] は Atwater 係数（たんぱ

ルの linear sum assignment 関数を用いた．

く質，脂質，炭水化物それぞれについて 4, 9, 4 kcal/g）をRtrial = 6, Rdepth = 8, Rwidth = 1000 とした．

紹介しており，本研究もそれに倣った．
キッコーマンホームクッキングから取得した料理の全体
を C ′ とする．C ′ の各要素（料理）c ∈ C ′ の栄養を，キッ
コーマンホームクッキングから取得した材料名とその重量ある栄養条件の下での，「修正アルゴリズム」による置き換えの動作例と，山登り法を使わずに同じ回数だけ完全にランダムな探索を行ったときの置き換えの例を表 4,5 で示した．

の情報から日本食品標準成分表 [23] に基づいて算出した．
複数人前のレシピとして登録されているものについては，

5. 予備実験

人数で割って 1 人前の栄養を算出した．たんぱく質につい

本研究では，提案手法の前提の仮説である「LLM がユーては 2g，脂肪については 2g，炭水化物については 6g，塩ザからのプロンプトに応じて好みに適合した推薦ができる分については 0.5g を 1 単位として，四捨五入により量子化が，制約を満たすことは難しい」を予備実験を通して検証をしたものを vc ∈ Zd≥0 とする．vc が零ベクトルとなるよう*1*2

https://www.kikkoman.co.jp/homecook/

https://huggingface.co/pkshatech/simcse-ja-bert-baseclcmlp/blob/main/README JA.md© 2024 Information Processing Society of Japan

171

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

INT24020
2024/2/28

した．3.3 節の「修正アルゴリズム」を，既存手法 [15], [16]ない」と回答した人はいなかった．そのためこの予備実験に見られるような栄養条件が満たされる保証のないアルゴ

においては，8 人中 6 人 (75%) が好みにあっていると同意

リズムに置き換えたベースライン献立推薦システムを設計した．一方で，ユーザとの対話を繰り返しても栄養条件がした．具体的には，LLM の出力のうち推薦品目マーカー

満たされた推薦が行われることはなかった．上記のようなで囲われた部分を，それぞれ個別に埋め込みベクトルの距結果から我々の仮説はある程度正しいことを確認した．

離に関して最も近い推薦可能品目で置き換える．このようなシステムをコマンドラインアプリケーションとして実装

6. 評価実験

し，ユーザの反応を調べ，まず嗜好への適応について LLM

提案手法を応用した献立推薦アプリケーションの有効性が十分な能力を持っているという仮説を検証した．8 人のを検証するために評価実験を実施した．本実験における仮被験者が参加した．このうち 7 人が身体的男性，1 人が身説は「提案手法はユーザの嗜好に適合しつつ，栄養条件を体的女性であると回答した．また 7 人が 20 代，1 人が 30満たした献立を推薦することができる」である．4.2 節の代であると回答した．

システム（以下「提案手法」）をグラフィカルアプリケー

実験者には，アプリケーション内の対話を通じて献立にションとして実装し，また同一のインターフェースを持つ

ついての自分の嗜好や要望を自由な形式で説明し，システ

グラフィカルアプリケーションとして，予備実験で述べた

ムの返答がそれに一致していなければ修正すべき点を説明

栄養条件が満たされる保証のないシステム（以下「ベースするよう指示した．さらに，栄養の制約条件が満たされてライン」）も実装し，両方をユーザに使用させることで実際いないことが表示されていれば，献立がなるべく栄養素のの性能を確認し，またユーザの反応も調べた．

条件を満たしたものになるようにも対話を通じて誘導する

評価実験には 24 人の被験者が参加した．このうち 16 人よう指示した．被験者は出力結果に満足するか入力回数がが身体的男性，8 人が身体的女性であると回答した．また

4 回に到達するまで，会話画面に献立についての自身の希

13 人が 20 代，4 人が 30 代，3 人が 40 代，1 人が 50 代で望を入力した．

あると回答した．少なくとも 1 人は日本語非ネイティブでタスク完了後に「好みに合った献立を提案してもらうこ

あった．9 人が料理を全くしないと回答し，11 人が週 1〜とはできましたか？」という質問に対しては，2 人が「す2 回，2 人が週 3〜4 回，2 人がそれ以上の頻度で料理をす

ごくそう思う」，4 人が「そう思う」，1 人が「どちらともいると回答した．

えない」，1 人が「そう思わない」と答え，「全くそう思わ

6.1 タスク
表 4

修正アルゴリズムによる置き換え例

実験者には，アプリケーション内の対話を通じて献立に置換前

置換後（最適割当により並べた）

距離

卵焼き

卵焼き

0

焼き鮭

きのこの焼きびたし

0.789

ピザトーストピザトースト0.0

するよう指示した．さらに，栄養の制約条件が満たされて

冷やし中華

黒ごまご飯

0.965

いないことが表示されていれば，献立がなるべく栄養素のみそ汁

のりのみそ汁0.528

条件を満たしたものになるようにも対話を通じて誘導する

ポテトサラダクレソンとポテトのサラダ

0.412

よう指示した．

ステーキ

かつおのステーキ

0.512

冷や奴

レンジでつくる栗きんとん

白ご飯

ふっくら白ご飯

レモン風味

0.987
0.330

合計

4.522

ついての自分の嗜好や要望を自由な形式で説明し，システ
ムの返答がそれに一致していなければ修正すべき点を説明提案手法とベースライン手法をそれぞれ A, B という名前で提示し，被験者の半数は A を先に，半数は B を先に使用した．
被験者は出力結果に満足するか入力回数が 4 回に到達す

表 5るまで，会話画面に献立についての自身の希望を入力した．

山登り法を用いない置き換え例

置換前

置換後（最適割当により並べた）

距離

被験者が，会話の前，もしくは途中に，栄養条件を定め

卵焼き

きつね卵焼き0.436

る目的で，その年齢と身体的性別（sex assigned at birth）

焼き鮭

焼きささ身のサラダ仕立て

0.809

を任意で回答できるようにした．これは，4.1 章で述べた

ピザトースト

さつまいもとにんじんのサラダ

0.987

冷やし中華

栗入りぜんざい

通り，依拠した [22] が栄養の目標を男女の場合に対して

1.050

みそ汁

しょうゆ味のいもけんぴ

0.872

定めていたためである．年齢と身体的性別それぞれについポテトサラダポテトサラダ0

ステーキ

豚肉の竜田揚げ1.039

いものを課す設計とした．また，被験者が会話の前，もし冷や奴

かぼちゃおはぎ1.125

くは途中に目標熱量を設定できるようにした．これは実際

白ご飯

ふっくら白ご飯

0.330にターゲットとする栄養の和のベクトルを具体的に定める6.647ために用いた．

合計© 2024 Information Processing Society of Japanて，回答がないときは各条件分岐先の制約のうち最も厳し172情報処理学会 インタラクション 2024
IPSJ Interaction 2024

実際に設計した会話画面は図 2 の通りである．

INT24020
2024/2/28(T2) B について，Q1 と Q2 の回答の傾向に差があったか（1 回目の提案と最終的な提案で好みへの適合に差があったか）(T3) Q1 の回答について，A と B で傾向に差があったか（Aと B で 1 回目の提案の好みへの適合に差があったか）(T4) Q2 の回答について，A と B で傾向に差があったか（A と B で最終的な好みへの適合に差があったか）(T5) Q3 の回答について，A と B で傾向に差があったか（A と B で，提案を好みに適合させるのに必要な努力に差があったか）(T6) Q6 の回答について，A と B で傾向に差があったか（A と B で，提案を栄養についての条件に適合させるのに必要な努力に差があったか）
多重検定の補正としては Bonferroni 法を用いた．
さらに，アプリケーションのロードが始まってから，ユーザーがアプリケーションを終了するまでをタスク完了時間と定義し，これを計測した．
図 2

実際に用いた対話アプリケーションの画面の一部

右寄せになっている緑色の吹き出しがユーザの入力，左寄せになっている茶色の吹き出しがアプリケーションの出力である．著作権保護のため画像は塗りつぶしてあるが，実際には料理の画像が表示されていた．

6.3 結果ベースライン手法では，99 回の提案のうち 7 回はエラーとなり（アプリケーションが献立を出力できなかったか，
誤った形式の出力をした），さらに残りの 92 回全てでは，栄養についての条件を満たさない献立を提案してしまった．

被験者には，提案手法・ベースライン手法の出力の文章提案手法では，92 回の提案のうち 18 回はエラーとなっに加え，対応する料理の写真をキッコーマンホームクッキ

た（アプリケーションが献立を出力できなかったか，誤っングから取得して提示した．さらに被験者には，献立が推た形式の出力をした）が，残りの 74 回は栄養条件を満た薦されるたびに，推薦された献立の各栄養素の含有量の合す献立を提案した．

計と，それが制約条件を満たしているか（適切か，過剰で

図 3 にアンケート結果 Q1〜Q6 を示す．

あるか，不足しているか）の情報を表の形で提示した．

タスクが完了した実験について，平均タスク完了時間は
提案手法は 223 秒（標準偏差: 104），ベースラインは 252

6.2 評価尺度

秒（標準偏差: 102）となった．

栄養条件が実際に満たされたかを記録した．実験後のア以下，検定の結果を述べる．p 値は Bonferroni 法によっンケートでは，提案手法とベースラインそれぞれに対して，て補正する前の値を表記し，有意水準の方を Bonferroni 法

1 回目に好みに合ったものが提案されたか（Q1），最終的にで補正する（p = 0.05/6 を有意水準とする）．

好みに合ったものが提案されたか（Q2）を被験者に尋ね，(T1) Q2 の回答の方が肯定的（最終の方が好みに適合）と被験者は 5 段階の Likert 尺度で回答した．さらに被験者いう仮説を対抗仮説として検定を行った結果，有意差は，提案内容を嗜好に適合させるためにどれくらい努力をは観察されなかった（p = 0.0196 > 0.05/6）．

要したか（Q3）についても 5 段階の Likert 尺度で回答し(T2) Q2 の回答の方が肯定的（最終の方が好みに適合）とた．さらに，栄養についての条件が 1 回目の提案内容で満いう仮説を対抗仮説として検定を行った結果，帰無仮

たされたか（Q4），最終的に満たされたか（Q5）を被験者説が棄却された（p = 0.0006 < 0.05）．

に尋ね，被験者は 5 段階の Likert 尺度で回答した．さらに(T3) 有意差は観察されなかった（p = 0.6611）．

被験者は，栄養についての条件を満たさせるためにどれく(T4) 有意差は観察されなかった（p = 0.1915）．

らい努力を要したか（Q6）についても 5 段階の Likert 尺(T5) 有意差は観察されなかった（p = 0.5694）．

度で回答した．

(T6) A の回答の方が「努力を必要としない」寄りという仮

以下の 6 点について Wilcoxon の符号順位検定を行った．

(T1) A について，Q1 と Q2 の回答の傾向に差があったか（1 回目の提案と最終的な提案で好みへの適合に差があったか）© 2024 Information Processing Society of Japan

説を対抗仮説として検定を行った結果，帰無仮説が棄却された（p = 0.0005）．

6.3.1 被験者からのコメントによるフィードバック
自然言語で入力ができるシステムであることによる使い

173

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

INT24020
2024/2/28

図 3 Q1〜Q6 の回答結果
Q1〜Q6 の質問内容は 6.2 節の通りである．白丸が平均を表し，黒線はその標準誤差を表している．

やすさを指摘する以下のようなコメントがあった．

• 「テキストで指示を伝えられるのが、誰でもできそうで良いなと思いました」

られる．この解決のためには，性能の高い LLM を選択する必要があるとも考えられ，今回の実験で使った API である gpt-3.5-turbo を gpt-4 に置き換えることでよりユー両手法について，全体的な要求に比して個別的な要求にザ嗜好に適合した手本を生成ができることが予想される．

応えられていないことを指摘する以下のようなコメントがまた，LLM の ﬁne-tuning により献立推薦に特化した応答あった．

を行うように調整できる可能性がある．その他の要因とし• 「単語に対する反応はどちらとも弱かったが、抽象的て，手本に示された献立内のレシピがデータベース内に存な質問に対しては対応してくれた印象があります」

在しないことにより，置換時に好みが反映されないという• 「『麺類を利用して欲しい』『塩分が過剰にならないよう場合も考えられ，データベース内のレシピを拡充させるこにして欲しい』等の単体であれば達成が容易そうな要とによっても性能が高まる可能性がある．

望が反映されないことが多く、使いにくさを感じた。
」

また，朝食に主食が「黒ごまご飯」と「ふっくら白ご飯」• 「特定のメニューの差し替えがうまく制御できませんの二品現れてしまうなど，多くのユーザにとって不適切とでした。」
これに関連した現象が観察された会話例の一つは以下に述べるようなものであった．その会話例では，ユーザが朝思われる献立が生成されるケースも観察された．このような献立の不適切さの定量化は難しく，不適切な献立がどのくらい現れているかの評価は今後の課題である．

食の「サクサク長芋のまぐろ丼」と夕食の「牛肉のミニのり巻き」を推薦から取り除くよう要求したことに応じて，

7.2 対話性に関する課題

LLM は夕食のうちの「牛肉のミニのり巻き」1 品を「牛肉献立推薦アプリケーションにおいて，対話を重ねても好の炒め物」に変え，「サクサク長芋のまぐろ丼」を含む朝食

みが反映されていないという例が観察された．また，最初3 品をすべて別のものに変え，昼食 3 品は変えない新しいのプロンプトによる献立と対話を重ねた後の最終的な献立

推薦を出力した．しかし，「修正アルゴリズム」の適用によに，好みの適合において差があったかという検証において，り，朝食と夕食に「サクサク長芋のまぐろ丼」と「牛肉のベースラインでは差が認められたが提案手法では差が認め

ミニのり巻き」が再び現れてしまっていた．

られなかったという結果になった．この原因として，LLM

7. 議論
7.1 ユーザ嗜好への適合と制約充足の両立が生成した手本にはユーザが明示的に避けるように指示したレシピが含まれていなかったにも関わらず，提案手法における栄養条件を満たすための修正アルゴリズムの結果，実験結果から，提案手法がユーザ嗜好への適合と制約の禁止されたレシピが再度献立に入ってしまった，というこ充足を両立した推薦を行うことができたと考える．対話をとが考えられる．この提案アルゴリズムの対話性に関する通して推薦された献立が好みに合っていたかという質問へ

課題の解決策としては，明示的な禁止リストを作ることでの回答において，提案手法とベースライン手法に有意な差

ユーザーに避けるよう指示された品目を推薦候補に入れな

異は確認できなかった．また，献立推薦が得られたすべて

いことが考えられる．また，なぜ指示した内容が満たせなの例において栄養制約が充足されていたことも確認した．

いのかに関する説明（例えば，脂質の上限を超えてしまう

一方で，本実験においてもベースライン手法が制約を満たため，揚げ物を追加するように指示されても追加することした推薦が一度もできないことも確認された．

ができない，など）を，LLM により生成させるといった説

しかしながら，すべての実験参加者にとって好みを満た

明性を上昇させる仕組みも有効であると考える．

した推薦が行われた訳ではない．要因の一つとしては LLM

また，献立そのものとその前後の説明の間の整合性が失が生成した初期の献立（手本）自体がよくないことが考えわれたケースも観察された．これは，修正アルゴリズムに© 2024 Information Processing Society of Japan174

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

よって献立の各品目を機械的に置換していることに起因す

INT24020
2024/2/28[9]ると考えられる．解決策としては，修正アルゴリズムの結果に応じて献立の説明文を生成し直すことが考えられる．

8. まとめ[10]

本研究では，大規模言語モデルによって生成した推薦内容に対して，制約を満たす初期解の生成と解の局所的変化を組み合わせたアルゴリズムによる近似を行うことで，[11]

ユーザ嗜好への適合と制約の遵守を両立した推薦を，平易でインタラクティブなユーザインターフェースによって行う枠組みを提案した．さらに，この枠組みを一日分の献立[12]の提案という具体的な問題に対してアプリケーションを実装し，評価実験を通して有用な推薦システムとして実際に機能するかを検証した．その結果，ユーザの嗜好を反映さ[13]

せつつ厳密に栄養の制約条件を満たした内容の推薦を行うことができることを確認した．今後はショッピングなど
食事推薦以外の問題にもこの枠組みを適用したい．また，
データベースを拡充するなどによる性能の改善や，推薦内[14]

容の修正の際に参照する禁止レシピのリストを大規模言語モデルに出力させるなどの枠組みの発展にも取り組みたい．
謝辞

本研究に取り組んでいる間，Preferred Networks[15]の王 允卓さんと京都大学の角野 祐弥さんと盛んに議論させていただきました．深く感謝申し上げます．
[16]

参考文献
[1]

[2]
[3]

[4]

[5]

[6]

[7]

[8]

Ozeki, S., Kotera, M., Ishiguro, K., Nishimura, T. andHiguchi, K.: Recipe Recommendation for Balancing Ingredient Preference and Daily Nutrients, in The 1st International Workshop on Multimedia for Cooking, Eating, and related APPlications, pp. 11–19 (2022).
OpenAI, : GPT-4 Technical Report (2023).
Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., Neelakantan, A., Shyam, P.,
Sastry, G., Askell, A., et al.: Language Models are FewShot Learners, Advances in neural information processing systems, Vol. 33, pp. 1877–1901 (2020).
Von Oswald, J., Niklasson, E., Randazzo, E., Sacramento, J., Mordvintsev, A., Zhmoginov, A. and Vladymyrov, M.: Transformers Learn In-Context by Gradient Descent, in The 40th International Conference on
Machine Learning, pp. 35151–35174 (2023).
Zhang, J., Bao, K., Zhang, Y., Wang, W., Feng, F. andHe, X.: Is ChatGPT Fair for Recommendation? Evaluating Fairness in Large Language Model Recommendation, ACM (2023).
Yang, Z., Ding, M., Lv, Q., Jiang, Z., He, Z., Guo, Y.,
Bai, J. and Tang, J.: GPT Can Solve Mathematical Problems Without a Calculator, arXiv preprint
arXiv:2309.03241 (2023).
Sarwar, B., Karypis, G., Konstan, J. and Riedl, J.: Itembased Collaborative Filtering Recommendation Algorithms, in The 10th International Conference on World
Wide Web, WWW ’01, pp. 285–295 (2001).
Linden, G., Smith, B. and York, J.: Amazon.com Recommendations: Item-to-Item Collaborative Filtering, IEEE
Internet Computing, Vol. 7, No. 1, pp. 76–80 (2003).

© 2024 Information Processing Society of Japan

[17]
[18]
[19]

[20]

[21]

[22]

[23]

[24]

Park, D. H., Kim, H. K., Choi, I. Y. and Kim, J. K.:
A Literature Review and Classiﬁcation of Recommender
Systems Research, Expert systems with applications,Vol. 39, No. 11, pp. 10059–10072 (2012).
Yoshii, K., Goto, M., Komatani, K., Ogata, T. andOkuno, H. G.: An Eﬃcient Hybrid Music Recommender
System Using an Incrementally Trainable Probabilistic Generative Model, IEEE Transactions on Audio,
Speech, and Language Processing, Vol. 16, No. 2, pp.
435–447 (2008).
Su, X. and Khoshgoftaar, T. M.: A Survey of Collaborative Filtering Techniques, Advances in artiﬁcial intelligence, Vol. 2009, (2009).
Li, L., Chu, W., Langford, J. and Schapire, R. E.: A
Contextual-bandit Approach to Personalized News Article Recommendation, in The 19th International Conference on World Wide Web, WWW ’10, pp. 661–670,
ACM (2010).
Brodén, B., Hammar, M., Nilsson, B. J. andParaschakis, D.:
Ensemble Recommendations via
Thompson Sampling: An Experimental Study Within
e-Commerce, in The 23rd International Conference onIntelligent User Interfaces, IUI ’18, pp. 19–29, ACM(2018).
Trichopoulos, G., Konstantakis, M., Alexandridis, G.
and Caridakis, G.: Large Language Models as Recommendation Systems in Museums, Electronics, Vol. 12,
No. 18, p. 3829 (2023).
Wu, L., Qiu, Z., Zheng, Z., Zhu, H. and Chen, E.:
Exploring Large Language Model for Graph Data Understanding in Online Job Recommendations, arXiv
preprint arXiv:2307.05722 (2023).
Gao, Y., Sheng, T., Xiang, Y., Xiong, Y., Wang, H.
and Zhang, J.: Chat-REC: Towards Interactive andExplainable LLMs-Augmented Recommender System,
arXiv preprint arXiv:2303.14524 (2023).
Russell, S. J.: Artiﬁcial Intelligence: A Modern Approach, Pearson Education, Inc. (2010).
Selman, B. and Gomes, C. P.: Hill-climbing search, in
Encyclopedia of cognitive science, Vol. 81, p. 82 (2006).
Reimers, N. and Gurevych, I.: Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks, arXiv
preprint arXiv:1908.10084 (2019).
Gao, T., Yao, X. and Chen, D.: SimCSE: Simple
Contrastive Learning of Sentence Embeddings, arXiv
preprint arXiv:2104.08821 (2021).
Burkard, R., Dell’Amico, M. and Martello, S.: Assignment Problems, SIAM e-books, Society for Industrial
and Applied Mathematics (SIAM, 3600 Market Street,
Floor 6, Philadelphia, PA 19104) (2009).
「日本人の食事摂取基準」策定検討会：日本人の食事摂取基準（2020 年版） 「日本人の食事摂取基準」策定検討会
報告書, https://www.mhlw.go.jp/content/10904750/000586553.pdf, 2023 年 9 月 26 日閲覧．
文 部 科 学 省 科 学 技 術・学 術 審 議 会 資 源 調 査 分
科 会：日 本 食 品 標 準 成 分 表 2015 年 版（ 七 訂 ）,https://www.mext.go.jp/a menu/syokuhinseibun/1365297.htm, 2023 年 9 月 26 日閲覧．
Bijsterbosch, J. and Volgenant, A.: Solving the Rectangular assignment problem and applications, Annals of
Operations Research, Vol. 181, pp. 443–462 (2010).

175