\section{はじめに}
label{sec:introduction}予測は人間が生来備えている能力である．我々は日常生活において，様々な予測を行い，それを基に行動を行っている．例えば，調理においては，手順や調理動作によって得られる目標の状態を先に予測し，それを手掛かりに動作を実行しているといえる．これには動作や対象の物体に関する知識が必要であり，同時に作業全体のワークフローについても理解する必要がある．したがって，調理レシピを基に人間と同様に調理を行う自律エージェントを確立するためには，これらの能力の実現が必須であるといえる．\figref{fig:introduction-example}に例を示す．この例では，エージェントは二つ目の調理動作に必要な食材を特定しつつ動作後に得られる観測を予測している．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[b]\begin{center}\includegraphics{30-3ia7f1.pdf}\end{center}\hangcaption{調理エージェントによる調理動作結果の予測の例．ここでは，2つ目の調理動作（入れる）の結果を予測している．}\label{fig:introduction-example}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%この方向の先行研究として，調理手順に視覚的なアノテーションを施したものが存在する\cite{nishimura2020visual,pan2020multimodal}．ここで，\citeA{nishimura2020visual}は各調理手順に対応する1枚の画像に対して，動作や食材の表現に対応する箇所に矩形領域のアノテーションを行った．また，\citeA{pan2020multimodal}は調理手順を文レベルに分割した後，各文に対応するフレーム列を，レシピに紐づく調理動画から抽出してアノテーションを行った．これらは調理手順に視覚的な情報を結びつけているが，調理動作の結果を予測したい場合には，まだアノテーションが不十分である．例えば，“トマトを切ってボウルに入れる．”には，1文に「切る」と「入れる」の二つの調理動作が含まれているが，上記の先行研究のアノテーションでは，これらを個別に扱うことが出来ない．従って，調理動作結果を予測するためには，調理動作レベルのアノテーションが必要であり，率直な解決策としてはより密なアノテーションを用意することが考えられる．本稿では，レシピにおける調理動作後の物体\footnote{本稿では，物体は食材か道具のいずれかを指すものとする．}の状態の予測を目指し，新たにVisualRecipeFlow(VRF)データセットを提案する．\figref{fig:dataset-example}に示す通り，VRFデータセットは(i)調理動作による物体の視覚的な状態の遷移と(ii)レシピ全体のワークフローに対するアノテーションから成る．視覚的な状態遷移は動作前後に対応する観測の組として表現し，ワークフローは先行研究のレシピフローグラフ(Recipeflowgraph;r-FG)\cite{mori2014flow}を用いて表現する．ここで，観測の組はr-FG中の調理動作と紐づいており，これによって実世界とテキストのクロスモーダルな関係を考慮することが可能となる．また，ウェブサイトにてデータセット作成に用いたレシピのURLリストとダウンロードしたデータを基にデータセットを構築するスクリプトを公開している\footnote{\url{https://github.com/kskshr/Visual-Recipe-Flow}．}．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.2\begin{figure}[t]\begin{center}\includegraphics{30-3ia7f2.pdf}\end{center}\hangcaption{アノテーションの例．画像の組は物体毎の動作前後の観測を表しており，これらは手順リスト内の調理動作に紐づけられている．手順リスト内では，r-FGを用いて調理動作を含む表現間の依存関係を表現している．}\label{fig:dataset-example}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%また，本研究と関わりの深い研究として，手順書上での物体の状態遷移の追跡を行うものが存在する\cite{dalvi2018tracking,bosselut2018simulating,tandon2020dataset}．これは，各手順による実世界における影響を考慮することで，手順書の理解を目指したものである．本研究はこれらの流れを汲んだものでもあり，大きな違いは状態遷移をテキストでなく画像で表現している点にある．画像は物体の外観に関する情報を与えるため\cite{isola2015discovering,zhang2021mirecipe}，先行研究と比較して実世界に関するより豊富な情報を提供することが期待される．また，調理の持つ逐次的な性質を活かし，大規模言語モデルの文書理解能力の評価\cite{srivastava2022beyond}や，vision-languageモデルのfew-shot設定における学習能力の評価\cite{alayrac2022flamingo}に用いることも考えられる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{VisualRecipeFlowデータセット}
label{sec:dataset}VisualRecipeFlow(VRF)データセットでは，レシピ上の物体の調理動作前後の状態を，視覚的なアノテーションを用いて表現する．ここで，物体や調理動作等の重要表現はレシピ固有表現(Recipenamendentity;r-NE)\cite{mori2014flow}を用いて識別される．また，r-NEを基に，レシピ全体のワークフローをレシピフローグラフ(Recipeflowgraph;r-FG)\cite{mori2014flow}を用いて表現する．本節では，まずr-FGについて概説し，その後，本データセットにおける視覚的なアノテーションの特徴について説明する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{Recipeflowgraph(r-FG)}r-FGは\figref{fig:dataset-example}に示すような非巡回有向グラフである．r-FGにおいて，点はr-NEによって識別された表現であり，辺は二つのr-NE間の依存関係をラベルを用いて表したものである．r-FGの特徴の一つとして，動作が必要とする物体を特定出来ることが挙げられる．例えば，\figref{fig:dataset-example}で動作``入れ''が対象とする物体``1''は手順1の生成物であり，細切りにしたキャベツとにんじんを指しているが，これはr-FGの辺を辿ることで特定可能である．また，本データセットでは，先行研究\cite{mori2014flow}と異なり，食材リストから手順リストへの依存関係もアノテーションしており，原材料の情報を考慮することも可能である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{視覚的アノテーション}視覚的アノテーションは，調理動作による物体の視覚的な状態遷移を表したものであり，動作前後に対応する画像の組として表現する．ここで，各画像の組は手順リスト中の調理動作に紐づいている．また，一つの調理動作が複数の物体を対象とする場合に関しては，\figref{fig:dataset-example}のように，物体毎に個別の画像の組を提供する．これによって，一動作が扱う物体が複数個ある場合にも，それらの状態遷移も捉えることが出来る．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{アノテーション仕様}
label{sec:annotation-standards}本節では，VRFデータセットを構成する各アノテーションについて説明する．アノテーションは，(i)レシピ固有表現(r-NE)の付与，(ii)レシピフローグラフ(r-FG)の付与，(iii)，物体の動作前後の画像の付与の3段階から成る．また，各レシピは日本語で記述されており，それぞれ材料リスト，手順リスト，調理動画を備えていると想定する．\figref{fig:annotation-steps}にアノテーションの例を示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{r-NE}まず，材料リストと手順リスト中の表現に対して\pagebreakレシピ固有表現タグ(Recipenamedentity;r-NE)のアノテーションを行う．文は日本語テキスト解析機KyTea\cite{neubig2011pointwise}によって，事前に単語レベルに分割されているものとする．r-NEタグの定義に関しては，先行研究\cite{mori2014flow}に従い，\tabref{tab:r-NE-tags}に示す8種類のものを用いる．これらのうち，\textsf{Ac}(Actionbychef;Ac)，\textsf{F}(Foods;F)，\textsf{T}(Tools;T)の3タグは，調理動作に直接関わるという点で，本研究において重要な意味をもつ．また，材料リスト中における動作の表現（茹でた，スライス等）に関しては，調理作業の開始時点で既に完了しているものとし，動作(\textsf{Ac})ではなく食材の状態\textsf{Sf}(Stateoffoods;Sf)としてアノテーションする．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.4-->3\begin{figure}[t]\begin{center}\includegraphics{30-3ia7f4.pdf}\end{center}\caption{各アノテーション手順における例．アノテーションは前段階の結果をもとに行われる．}\label{fig:annotation-steps}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table1\begin{table}[p]\input{07table01.tex}%\caption{r-NEタグと各タグの付与数．}\label{tab:r-NE-tags}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table2\begin{table}[p]\input{07table02.tex}%\caption{r-FGラベルと各ラベルの付与数．}\label{tab:r-FG-labels}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{r-FG}次に，前段階でアノテーションしたr-NEを基に，r-FGのアノテーションを行う．ラベルは先行研究\cite{maeta2015framework}に従い，\tabref{tab:r-FG-labels}に示す13種類の依存関係ラベルを用いる．これらのうち，\textsf{Targ}（動作の対象）と\textsf{Dest}（動作の方向）は動作(\textsf{Ac})，食材(\textsf{F})，道具(\textsf{T})間の関係を記述するため，本研究において重要な意味をもつ．\figref{fig:fg-annotation-example}に材料リスト，手順リストに対するr-NE,r-FGのアノテーション例を示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.3-->4\begin{figure}[t]\begin{center}\includegraphics{30-3ia7f3.pdf}\end{center}\caption{材料リスト，手順リストに対するr-NE,r-FGのアノテーション例．}\label{fig:fg-annotation-example}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{動作前後の画像の組}\label{sec:image-annotation}最後に，画像による物体の状態遷移のアノテーションを行う．画像は，調理動画から3FPSで抽出したものを用いる．アノテーション候補の画像が複数枚存在する場合は，対象の物体が最もはっきりと見えるものを選択する．また，調理動作が動画中に収録されていない場合や物体の大部分が手や道具に隠れている場合は，アノテーションを行わず，代わりに欠損値を記録する．従って，全ての状態遷移に対して2枚の画像がアノテーションされているとは限らない点に関して，注意が必要である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{アノテーション結果}
label{sec:annotation-results}本節では，まずデータ収集とアノテーション手順について説明し，アノテーションから得られた統計量について説明する．次に，アノテーションの品質の調査を行い，最後にデータセット評価のための実験とその結果について述べる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{アノテーション手順}\label{subsec:annotation-procedure}$200$記事の日本語レシピをクラシル\footnote{\url{https://www.kurashiru.com}(2021/12/14).}から収集した．ここで，既存のフローグラフコーパス\cite{mori2014flow}を用いない理由は，レシピを基にした調理動画が必ずしも存在するとは限らないためである．本レシピに付属する調理動画では，各調理の手順が固定カメラによって収録されているため，固定視点での物体の視覚的な状態遷移のアノテーションが可能である．\secref{sec:introduction}で述べた通り，本研究の目標は調理レシピを入力として受け取り，実世界で調理動作を実行するエージェントの確立である．しかし，調理レシピによっては複雑な手順が含まれることがある．そこで，本研究では手始めとして比較的手順が容易であるサラダのカテゴリを対象とし，調理レシピの収集，アノテーションを行った．本データセットの構築には複雑なアノテーションが要求されるだけでなく，対象とするデータの特性上，調理に関する経験が必要であると考えられる．従って，ここでは自然言語処理に関わるアノテーションと調理の経験を持つ1人のアノテータに依頼し，アノテーションを行った．アノテータの訓練は，既存のr-FGコーパス\cite{mori2014flow}から無作為に収集した20レシピを用い，それらにおけるr-NE,r-FGの既存のアノテーションとの一致率が80\%を超えるまでアノテーションを繰り返すことで行った．また，画像アノテーションの訓練に関しては，アノテーション対象である全体200レシピのうちの50レシピを用いて，10,20,50レシピのアノテーションが終了するごとに結果を確認し，仕様と異なる場合には修正の指示を出すことで行った．また，このとき，必要に応じてアノテーション仕様の修正を行った．先行研究\cite{mori2014flow}ではスプレッドシートに入力する方式でr-NEとr-FGのアノテーションを行っているが，この形式はコストが高く，手作業のために予期せぬアノテーションミスを生む可能性がある．従って，本研究では，フローグラフアノテーションのためのツールを開発し，これを用いてアノテーションを行った．なお，本アノテーションツールの実装はウェブ上にて公開済みである\footnote{\url{https://github.com/kskshr/Flow-Graph-Annotation-Tool}.}．\figref{fig:web-interface}にツールを用いたアノテーションの例を示す．全アノテーションには，計$120$時間を要した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.5\begin{figure}[t]\begin{center}\includegraphics{30-3ia7f5.pdf}\end{center}\caption{アノテーションツールを用いたアノテーションの例．}\label{fig:web-interface}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{統計量}収集したレシピには，合計$1,701$個の材料と$1,077$個の手順が含まれており，$1$レシピ平均$8.51$個の材料と$5.31$個の手順で構成されていた．また，全体を通して$89$種類の調理動作と$275$種類の材料表現が確認できた．r-NEとr-FGのアノテーション結果を\tabref{tab:r-NE-tags}，\tabref{tab:r-FG-labels}にそれぞれ示す．表から，r-NEアノテーションでは$11,686$個のタグが，r-FGアノテーションでは$11,291$個のラベルが，それぞれ得られていることがわかる．視覚的アノテーション結果を\tabref{tab:image-annotation}に示す．表から，動作対象となる物体の総数は$3,705$であることがわかる．このうち，$2,551$例は動作前後共に，$485$例は動作後のみに，$72$例は動作前のみに，それぞれ画像を付与することが出来た．残りの$597$例に関しては，動作前後の双方ともに画像の付与が出来なかった．また，このアノテーションでは，合計$5,659$枚（重複なしで$3,824$枚）の画像を使用した．ここで，重複が発生しているのは，ある動作の動作後画像と次の動作の動作前画像が一致する場合があるためである．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{アノテーション品質}アノテーションの品質を調査するため，\secref{subsec:annotation-procedure}とは別の，自然言語処理と調理の経験を持つアノテータに，データセット全体から無作為に収集した10レシピ（全体の5\%）\footnote{抽出した$10$レシピには，$623$個のr-NEタグ，$616$のr-FGラベル，$199$個の物体を対象とした画像の組が含まれていた．}のアノテーションを依頼し，それらの一致率を計算した．アノテータの訓練は，r-NEとr-FGに関しては\secref{subsec:annotation-procedure}と同様の手順で行い，画像アノテーションに関しては，\secref{subsec:annotation-procedure}で作成した仕様を元に，アノテーション対象外の5レシピにおけるアノテーション結果を確認，修正した．結果を\tabref{tab:annotator-agreement}に示す．ここでは，\secref{subsec:annotation-procedure}で得られたアノテーションを正解データとして捉え，それらの間の精度，再現率，F値を計算することで，一致率を算出した．r-NE,r-FGのアノテーションにおいては，それぞれ$98.40\%$，$86.11\%$という非常に高い一致率が得られた．また，画像アノテーションに関しては，$72.80\%$と前2段階のアノテーション結果と比較すると低い一致率となったが，前段階からのアノテーションミスの影響や，画像アノテーション時に複数の画像が候補となることを考慮すると，この値は十分に高いといえる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table3and4\begin{table}[b]\begin{minipage}[b]{0.49\textwidth}\begin{center}\input{07table03.tex}%\caption{画像アノテーションの統計量．}\label{tab:image-annotation}\end{center}\end{minipage}\hfill\begin{minipage}[b]{0.49\textwidth}\begin{center}\input{07table04.tex}%\caption{アノテーション一致率．}\label{tab:annotator-agreement}\end{center}\end{minipage}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.6\begin{figure}[b]\begin{center}\includegraphics{30-3ia7f6.pdf}\end{center}\hangcaption{検索タスクの例．調理動作と物体に対応するテキストの情報，動作前画像をもとに対応する動作後画像の検索を行う．この例では，赤枠で囲われている画像が正しい動作後画像である．}\label{fig:task-example}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験}\label{subsec:experiments}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{タスク設定}データセットにおける各アノテーション要素の重要性について調査するため，マルチモーダルな情報検索のタスクを考え，実験を行った．このタスクでは，調理動作を表す動詞$a$と物体$o$のテキスト情報，動作前画像$i^{\text{pre}}$を基に，候補の画像の集合${i_1,i_2,\cdots,i_n}$から正解の動作後画像$i^{\text{post}}$を検索することを目指す．\figref{fig:task-example}に例を示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{モデル}\label{subsec:joint-embedding-model}まず，調理動作$a$，物体$o$のテキスト情報と動作前画像$i^{\text{pre}}$から，動画後画像に対応するベクトル表現の計算を行う．ここで，$a$と$o$はBiLSTM\cite{lample2016neural}を用いて$d_v$次元のベクトル$h_a$，$h_o$に変換する．この$h_a$，$h_o$はレシピ全体をBiLSTMでエンコードして得られる単語の分散表現のうち，$a$，$o$に対応する表現である．$a$，$o$が複数の単語からなる場合には，それらの平均を取ることで対応する分散表現を獲得する．$i^{\text{pre}}$は事前学習済みの畳み込みニューラルネット(ConvolutionalNeuralNetwork;CNN)を用いて$d_t$次元のベクトル$h^{\text{pre}}_i$を以下のように計算する．\[h^{\text{pre}}_{i}=W^{\text{pre}}_{1}\text{CNN}(i^{\text{pre}})+b^{\text{pre}}_{1}.\]ここで，$W^{\text{pre}}_{1}\in\mathbb{R}^{d_t\timesd_i}$,$b^{\text{pre}}_{1}\in\mathbb{R}^{d_t}$は学習可能なパラメータである．これらを基に，$\tilde{h}^{\text{pre}}$を以下のように計算する．\[\tilde{h}^{\text{pre}}=W^{\text{pre}}_{3}(\textrm{ReLU}(W^{\text{pre}}_{2}[h_a;h_o;h^{\text{pre}}_{i}]+b^{\text{pre}}_{2}))+b^{\text{pre}}_{3}.\]ここで$;$は結合を指し，$W^{\text{pre}}_{2}\in\mathbb{R}^{3d_t\times3d_t}$,$W^{\text{pre}}_{3}\in\mathbb{R}^{d_t\times3d_t}$,$b^{\text{pre}}_{2}\in\mathbb{R}^{3d_t}$,$b^{\text{pre}}_{3}\in\mathbb{R}^{d_t}$は全て学習可能である．最後に，$\tilde{h}^{\text{pre}}$を以下のように共有埋め込み空間上にマッピングする\cite{miech2018learning}ことで，動作後画像検索のための表現$\hat{h}^{\text{pre}}$を獲得する．\[\hat{h}^{\text{pre}}=\frac{f(\tilde{h}^{\text{pre}})}{||f(\tilde{h}^{\text{pre}})||_2}.\]ここで，\[f(h)=(W^{\text{pre}}_{4}h+b^{\text{pre}}_{4})\circ\sigma(W^{\text{pre}}_{5}(W^{\text{pre}}_{4}h+b^{\text{pre}}_{4})+b^{\text{pre}}_{5})\]である．また，$\sigma$はシグモイド関数であり，$\circ$は要素ごとの掛け算を指す．$W^{\text{pre}}_{4}\in\mathbb{R}^{d_e\timesd_t}$,$W^{\text{pre}}_{5}\in\mathbb{R}^{d_e\timesd_e}$,$b^{\text{pre}}_{4},b^{\text{pre}}_{5}\in\mathbb{R}^{d_e}$は全て学習可能である．動作後画像$i^{\text{post}}$は動作前画像と同様に，事前学習済みCNNを用いて$d_t$次元のベクトル$h^{\text{post}}_{i}$を以下のように計算する．\[\tilde{h}^{\text{post}}_{i}=W^{\text{post}}_{2}(\textrm{ReLU}(W^{\text{post}}_{1}\text{CNN}(i^{\text{post}})+b^{\text{post}}_{1}))+b^{\text{post}}_{2}.\]$W^{\text{post}}_{1},W^{\text{post}}_{2}\in\mathbb{R}^{d_i\timesd_i}$，and$b^{\text{post}}_{1},b^{\text{post}}_{2}\in\mathbb{R}^{d_i}$は学習可能であり，同様に共有埋め込み空間上へのマッピングを行う．\[\hat{h}^{\text{post}}=\frac{g(\tilde{h}^{\text{post}})}{||g(\tilde{h}^{\text{post}})||_2}.\]ここで，\[g(h)=(W^{\text{post}}_{3}h+b^{\text{post}}_{3})\circ\sigma(W^{\text{post}}_{4}(W^{\text{post}}_{3}h+b^{\text{post}}_{3})+b^{\text{post}}_{4})\]である．$W^{\text{post}}_{3}\in\mathbb{R}^{d_e\timesd_i}$,$W^{\text{post}}_{4}\in\mathbb{R}^{d_e\timesd_e}$,and$b^{\text{post}}_{3},b^{\text{post}}_{4}\in\mathbb{R}^{d_e}$は学習可能である．検索候補となる他の画像も同様に，上記の計算を経て共有埋め込み空間上へのマッピングを行う．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{誤差関数．}共有埋め込み空間上での$\hat{h}^{\text{pre}}$,$\hat{h}^{\text{post}}$間の距離は以下のように計算する．\[D(\hat{h}^{\text{pre}},\hat{h}^{\text{post}})=||\hat{h}^{\text{pre}}-\hat{h}^{\text{post}}||_2.\]これを基に，$n$例のベクトルの組($(\hat{h}^{\text{pre}}_1$,$\hat{h}^{\text{post}}_1),\cdots,(\hat{h}^{\text{pre}}_n,\hat{h}^{\text{post}}_n)$)が与えられた時，以下の誤差関数の最小化を考える\cite{balntas2016learning}:\begin{equation}\mathcal{L}=\frac{1}{n}\sum^{n}_{i=1}\{\max(D_{i,i}-D_{i,j}+\delta,0)+\max(D_{i,i}-D_{k,i}+\delta,0)\}.\label{equ:triplet-loss}\end{equation}ここで，$D_{i,j}=D(\hat{h}^{\text{pre}}_i,\hat{h}^{\text{post}}_j)$であり，$\delta$はマージンを指す．$D_{i,i}$は$i$番目の正例のベクトル間の距離を表す．$D_{i,j}$は$h^{\text{post}}_i$の負例として$h^{\text{post}}_j$を，$D_{k,i}$は$h^{\text{pre}}_i$の負例として$h^{\text{pre}}_k$を，それぞれ用いた時の距離を表す．負例のサンプリングに関しては，ここでは単純にミニバッチ内から無作為に選択することを考える．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{実験設定}\label{sec:exp-settings}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{データ分割．}本実験では，アノテーションで得られた動作前後の観測のうち，その双方がアノテーションされている$2,551$例のみを用いた．全体の$200$レシピを$10$分割し，そのうち$1$分割（$20$レシピ）をテストデータ，残りの$9$分割を結合したもの（$180$レシピ）を学習データとして割り当てた．このテストデータに対応する分割を変更することで，後述する$10$分割交差検証を実現した．ここで，学習データ，テストデータに含まれるサンプル数はそれぞれ平均で$2296.8$例，$255.2$例であった．また，動作後画像の候補は，学習時はミニバッチ内の他の動作後画像を，テスト時にはテストセットに含まれる他の全ての動作後画像を，それぞれ用いた．各動作前後の画像のペアは手順リスト中の動作表現に紐付いているが，これを動詞のテキスト情報として用いた．また，物体のテキスト情報はこの動詞を終点とし，r-FGの\textsf{Targ}ラベルで紐付けられている始点の表現のうち，r-NEの\textsf{F}（食材）または\textsf{Ac}（調理者の動作）が振られているものを選択することで，自動的に特定し，用いた．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{モデルパラメータ．}実験では1層で$256$次元のBiLSTMを用いてテキストのエンコードを行った．また，次元数に関しては，$(d_v,d_t,d_i,d_e)=(496,512,2048,128)$とした．事前学習済みCNNにはResNet-152\cite{he2016deep}を用い，$2048$次元の特徴量を画像から抽出した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{最適化．}最適化手法として，AdamW\cite{loshchilov2019decoupled}を初期学習率$1.0\times10^{-5}$として用いた．学習中は，CNNのパラメータは固定した．各モデルの学習には，$4$レシピからミニバッチを構成し，$350$エポック分行った．\equref{equ:triplet-loss}の$\delta$は実験的に$0.1$に設定した．また，データセットのうち$90\%$を学習データに，$10\%$をテストデータに分割することで，$10$分割交差検証を行い，モデルの評価を行った．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{評価指標．}評価指標として，Recall@5(R@5)とMedianrank(MedR)を用いた．ここで，R@5は検索結果の上位5件に正解画像が含まれている割合を調査するために，MedRは正解画像の候補画像中における順位を調査するために，それぞれ用いている．また，これらの指標はクロスモーダルな検索タスクの評価において，先行研究でも用いられている\cite{socher2014grounded,salvador2017learning,miech2019howto100m}．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{実験結果}動作後画像の検索に用いるテキスト情報($a$,$o$)と動作前画像($i^{\text{pre}}$)に関して，いずれか片方を用いる場合と両方を用いる場合を考え，それぞれ実験を行った．\tabref{tab:experimental-results}に実験結果を示す．1行目はランダムベースラインを表している．2行目と3行目の比較から，画像かテキストのいずれか一方を用いる場合では，画像を用いた方がより良いR@5(33.77)とMedR(12.60)を獲得出来ていることがわかる．次に，これらと4行目の比較から，画像とテキストの両方を用いることで，R@5で3.24,MedRで2.2の改善が得られていることがわかる．これらの結果は，動作後画像の検索において，画像はテキスト以上に重要な情報を与えていることを示唆している．また，テキストと画像を組み合わせることでさらなる改善が得られることから，テキストは画像とは異なる手がかりをモデルに与えていることが推察できる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table5\begin{table}[b]\input{07table05.tex}%\hangcaption{実験結果．テキストは調理動作と物体の表現を指している．また，枠内のチェックマークは動作後画像の検索に用いた要素を表している．}\label{tab:experimental-results}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{考察}本タスクに残された課題としては，(i)動作前後で変化が少ない例と(ii)動作結果の画像の予測の際に，過去の動作を遡って解析する必要がある例への対処が挙げられる．(i)は例えば，「ドレッシングの材料をボウルに加える」等が対応する．この例では，加える食材に応じた動作結果の画像を検索できることが望ましいが，食材が塩や油などの場合，動作前後で見た目の変化が起こりにくいという問題があり，実際にこういった例に対しては，モデルによる検索の失敗が多く見受けられた．これの解決策としては，例えば，加える原材料の見た目や形状に関する特徴量を予め用意しておき，$\hat{h}^{\text{pre}}$の計算時に用いること等が考えられる．(ii)に関しては，物体のテキスト情報が過去の手順の番号\footnote{「1をボウルに加える」の「1」等．}や過去の動作\footnote{例えば，\figref{fig:fg-annotation-example}の手順2では，「入れる」と「混ぜ合わせる」の2つの動作が登場しているが，後者の動作に対応する物体のテキスト情報はr-FGの性質上，「入れる」となる．これは「入れる」という動作の生成物が「混ぜ合わせる」の入力となっていることを表している．}となる場合が挙げられる．これの解決策としては，例えば，対象の動作からフローグラフを逆に辿ることで，過去の動作やそれに含まれる食材の情報を利用することが考えられる．このとき，r-NEタグの情報を合わせて用いることで，物体の形状や原材料まで特定することが可能となる．また，NeuralProcessNetworks\cite{bosselut2018simulating,nishimura2021state}のように，食材の状態遷移を追跡する機構を用いて，実際の動作後画像の検索時に用いることも考えられる．さらに，これらの課題に加え，本実験で用いた以外のr-NEタグ，r-FGラベルの情報を用いてさらなる精度向上を図ることも期待できる．例えば，r-NEの\textsf{Sf}（食材の状態）タグやr-FGの\textsf{Dest}（動作の方向）は動作や物体に関するより細かい情報を提供できるため，モデルの検索精度向上に利用できる可能性がある．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{応用}
label{sec:application}本節では，本データセットの応用先について述べる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{マルチモーダル常識推論}マルチモーダルな情報を用いた手順書の常識推論は近年注目を集めている研究の一つである\cite{zellers2019from,yagcioglu2018recipeqa,alikhani2019cite}．調理分野においては，食材の状態遷移に関する推論\cite{bosselut2018simulating,nishimura2021state}が存在する．この方向において，本データセットを用いることで，食材の視覚的な状態遷移を考慮した推論を行うことが可能となる．また，r-FGが表すワークフローを利用して，各調理動作がレシピ全体に与える影響について分析することも可能である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{手順書生成}画像や動画等，視覚的な情報からの手順書生成\cite{ushiku2017procedural,nishimura2019procedural}は，作業の再現性を高める上で重要なタスクであるといえる．ここで，正しく作業を再現するためには，生成された手順列が一貫性を持つことが重要である．r-FGは手順間の依存関係を表現するため，これを利用することで，より一貫した手順書の生成が行える可能性がある．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}
label{sec:conclusion}本稿では，調理レシピにおいて，調理動作後の物体の視覚的状態の予測を目指し，VisualRecipeFlowデータセットを提案した．データの収集方法やアノテーション手順について述べ，アノテータ間の一致率を測ることでデータセットの品質を調査した．また，マルチモーダルな情報を用いた情報検索タスクを考えることで，各アノテーション要素の重要性について調べた．最後に，本データセットの応用例として，マルチモーダル常識推論や手順書生成について述べた．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\acknowledgment本研究はJSPS科研費JP20H04210,JP21H04910,JP22K17983とJST,さきがけ，\linebreakJPMJPR20C2の助成を受けたものです．また，研究の過程でオムロンサイニックエックス株式会社の牛久祥孝氏にはご助言をいただきました．本論文の一部は言語処理学会第28回年次大会\cite{shirai2022recipe}およびThe29thInternationalConferenceonComputationalLinguistics(COLING2022)\cite{shirai2022visual}で発表したものです．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\bibliographystyle{jnlpbbl_1.7}\bibliography{07refs}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\begin{biography}\bioauthor{白井圭佑}{%2017年愛媛大学工学部卒業．2020年京都大学大学院情報学研究科修士課程修了．現在同大学院博士課程．自然言語処理，マルチメディアに関する研究に従事．言語処理学会会員．}\bioauthor{橋本敦史}{%2005年京都大学工学部卒業．2013年京都大学大学院情報学研究科にて博士（情報学）取得．2012年より同大助手，2015年より同大助教として勤務．2018年よりオムロンサイニックエックス株式会社シニアリサーチャー．2021年より慶應義塾大学特任講師を兼任して現在に至る．主に機械学習，画像処理，および，料理や組立作業を対象とした人と機械のインタラクション理解に関する研究に従事．IEEE，IEICE，IPSJ各会員．}\bioauthor{西村太一}{%2019年九州大学芸術工学部卒業．2020年京都大学大学院情報学研究科修士課程修了．現在同大学博士課程．修士（情報学）．マルチメディア，自然言語処理，コンピュータビジョンの研究に従事．学術振興会特別研究員(DC1)．2023年言語処理学会論文賞受賞．}\bioauthor{亀甲博貴}{%2018年東京大学大学院工学系研究科博士課程修了．博士（工学）．同年より京都大学学術情報メディアセンター助教．自然言語処理，ゲームAI等に関する研究に従事．言語処理学会，情報処理学会各会員．}\bioauthor{栗田修平}{%2013年京都大学理学部卒業．2015年同大学院理学研究科物理学教室修士課程修了．2019年京都大学大学院情報学研究科にて博士（情報学）取得．現在国立研究開発法人理化学研究所革新知能統合研究センター研究員．深層学習を用いた自然言語処理ならびにコンピュータビジョンの研究に従事．言語処理学会，情報処理学会，人工知能学会，ACL各会員．}\bioauthor{森信介}{%1998年京都大学大学院工学研究科電子通信工学専攻博士後期課程修了．同年日本アイ・ビー・エム株式会社入社．2007年より京都大学学術情報メディアセンター准教授．2016年同教授．現在に至る．計算言語学ならびに自然言語処理の研究に従事．博士（工学）．1997年情報処理学会山下記念研究賞受賞．2010年，2013年情報処理学会論文賞受賞．2010年第58回電気科学技術奨励賞．2023年言語処理学会論文賞受賞．言語処理学会，情報処理学会，日本データベース学会各会員．}\end{biography}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\biodate\end{document}