\documentclass[japanese,other]{jnlp_3.8}
\usepackage{jnlpbbl_2.2}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\usepackage{array}
\allowdisplaybreaks


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition


%%%%%\usepackage{booktabs}        
%%%%%\usepackage{amsmath}         
%%%%%\usepackage{amssymb}         
%%%%%\usepackage{amsfonts}        
%%%%%\usepackage{autobreak}       
%%%%%\usepackage{mathtools}       
%%%%%\usepackage{multirow}        
\usepackage{bbm}   

%------------------------------------------
% 追加パッケージ
%%%%%\usepackage{booktabs}
%%%%%\usepackage{multirow}
%%%%%\usepackage[utf8]{inputenc}
%------------------------------------------

%------------------------------------------
% 追加マクロ1
%%%%%\newcommand{\blue}[1]{\colorbox[rgb]{0.92,0.96,1}{#1}} 
%%%%%\newcommand{\red}[1]{\colorbox[rgb]{1,0.9,0.9}{#1}} 
%%%%%\newcommand{\prompt}{\texttt}
%------------------------------------------

% ------------------------------------------------
%%%%%\usepackage{amssymb}  
\def\vec#1{\ensuremath{\boldsymbol{#1}}} 
\def\v#1{\ensuremath{\vec{v}_{\mathit{#1}}}} 
%%%%%\newcommand{\w}[1]{\ensuremath{\mathit{#1}}}  
\newcommand{\set}[1]{\ensuremath{\mathit{#1}}}  
%%%%%\newcommand{\Span}[1]{\ensuremath{\mathbb{#1}}}  
%%%%%\newcommand{\Subs}[1]{\ensuremath{\Span{S}_{\mathit{#1}}}}  
%%%%%\newcommand{\m}[1]{\boldsymbol{\mathrm{#1}}}  
%%%%%\newcommand{\ms}[1]{\ensuremath{\m{S}_{\mathrm{#1}}}}  

%%%%%\usepackage{pifont}
%%%%%\newcommand{\pifontcheckmark}{\text{\ding{52}}}
%%%%%\newcommand{\pifontcrossmark}{\text{\ding{56}}}
%%%%%\newcommand{\chk}{\textcolor{teal}{\pifontcheckmark}}
% \newcommand{\x}{\textcolor{red}{\times}}
%%%%%\newcommand{\x}{\textcolor{magenta}{\pifontcrossmark}}
%%%%%\newcommand{\xm}{$^{\x}$}
%%%%%\newcommand{\chm}{$^{\chk}$}
%%%%%\newcommand{\dchm}{$^{\chk\chk}$}
%%%%%\newcommand{\hardin}{\mathbbm{1}_{\mathrm{hard}}} 
%%%%%\newcommand{\softin}{\mathbbm{1}_{\mathrm{subspace}}} 
%%%%%\newcommand{\setin}{\mathbbm{1}_{\mathrm{set}}} 
%%%%%\newcommand{\mem}[1]{\mathbbm{1}_{\mathrm{#1}}} 

%%%%%\newcommand{\na}{\nal/\nar}
%%%%%\newcommand{\nar}{~-~~~~~~~~}
%%%%%\newcommand{\nal}{~~~~~~~~-~}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Volume{31}
\Number{4}
\Month{December}
\Year{2024}
%%%%\Issuetitle{「　　　　」特集号}

\setcounter{page}{1761}



\jsubject{学会記事}
\jtitle{部分空間表現によるソフトな集合演算と文類似度}
\jauthor{石橋　陽一\affiref{Author_1}}

\etitle{Subspace Representations for Soft Set Operations and Sentence Similarities}
\eauthor{Ishibashi Yoichi\affiref{Author_1}} 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\headauthor{石橋}
\headtitle{部分空間表現によるソフトな集合演算と文類似度}



%%%% 所属を指定して下さい．
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\affilabel{Author_1}{日本電気株式会社}{NEC}




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S1
\section{はじめに}
本解説記事では NAACL 2024 に採択された著者ら\footnote{本研究は筆者が奈良先端科学技術大学院大学博士後期課程在籍時に行った研究である．}の論文 ``Subspace Representations for Soft Set Operations and Sentence Similarities'' \cite{DBLP:conf/naacl/IshibashiYS024} について紹介する．
本研究では自然言語処理において頻繁に扱う単語の集合を埋め込み空間において自然に表現する方法を定式化した．集合だけでなく集合演算も自然に表現できる上，文類似度や単語集合の拡張など様々な応用が可能なツールとなっている．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2
\section{着想まで}
単語埋め込み空間には非常に面白い「意味の演算」が成立することが知られている．
例えば「king $-$ man + woman = queen」といったアナロジーが単語ベクトルの加算減算で実現できる．
筆者はこのような単語埋め込み空間における意味の演算に強い興味を抱いていた．
本研究を開始したのは，博士後期課程1年の冬頃であるが，意味の演算についてこれ以前から興味を持っており，博士前期課程ではアナロジー演算（加法構成）を拡張し，単語の意味を反転する演算の研究に取り組んでいた \cite{DBLP:conf/acl/IshibashiSYN20}．
しかし，他に実用的な意味の演算はないだろうか，そしてそれを汎用的なツールとして使えないだろうか，という問いが常に頭の片隅にあり，博士前期時代の研究を国際会議で発表し終えた後，次の新たな意味演算を考えていた．
筆者は日頃からふと気になった事についてWikipediaの記事を読むことが習慣になっており，その日も何気なくベクトル空間に関する記事を読んでいると \emph{Quantum Logic}（量子論理）というページに辿り着いた．
これは量子力学のために整理された形式論理の体系とのことであったが，読み進めるうちに，これが単語埋め込み空間との親和性が非常に高いこと，そして新しい意味の演算に使えそうだと気づいた．
量子論理はベクトル空間における集合と集合演算のフレームワークである．
量子論理では集合における「要素」を「ベクトル」で，「集合」をベクトルが張る「部分空間」で表現するため，単語埋め込み空間でも適用できる．
しかし単語集合を表現したり集合演算をおこなうことにどのような効果があるだろうか？
量子論理を単語埋め込み空間に当てはめて考える．
例えば「man」「king」「boy」などの男性に関連する単語ベクトルで部分空間を作ると，それらの加法構成で表せるような単語ベクトル（例 $\vec{v}_{\mathit{prince}} = \alpha \vec{v}_{\mathit{man}} + \beta \vec{v}_{\mathit{king}}$）もその中に含まれるので，この部分空間があらゆる「男性」に関する単語を含む集合として表現できそうである．
また，量子論理には補集合の演算もあり，直交補空間として定義されている．
直交補空間とは部分空間$S$のベクトル全てに直交するベクトルが張る部分空間$S^{\bot}$である．
単語埋め込み空間にこの概念を持ち込むと補集合\footnote{本来の補集合は与えられた単語集合以外の単語の集まりであるが，ここでは「与えられた単語集合と意味的な関係性が最も少ない単語の集合」と考える．}を自然に表現できる．
例えば，男性に関連する単語で作った部分空間$S_{\mathit{male}}$の直交補空間$S_{\mathit{male}}^\bot$を考えると，補集合の中の単語 $\v{} \in S_{\mathit{male}}^\bot$はすべての男性的意味を持つ単語 $\vec{u} \in S_{\mathit{male}}$ と直交，すなわちコサイン類似度が必ず$0$なので，直交補空間の単語は男性的な意味と比較的無関係な単語の集合と言えそうである．
このような経緯で，量子論理を応用すれば単語埋め込み空間で単語集合や集合演算を自然に定義できるのではないかという着想に至った．

しかし，なぜ集合と集合演算を考えることが重要なのだろうか．それは単語の集合が自然言語処理で頻繁に遭遇する計算対象だからである．例えば，「りんご」と「オレンジ」はそれぞれ異なる意味を持つが，これらを集合として捉えると「果物」というより広い概念を表現できる．また，一つの文全体も単語の集合と見なすことができ，これによってテキストの類似性を計算することができる．
また，集合演算を考えることで，単語集合間の関係をより豊かに表現できる．例えば，$w_\text{オレンジ}\in Set_\text{果物} \cap Set_\text{色}$のように集合と単語の関係を埋め込み表現を使って表現できる．
これは，意味的類似性の判断や単語集合の拡張など，様々なタスクに応用できる可能性を秘めている．
このような背景と着想から，量子論理を応用した単語埋め込み空間における集合演算の研究に取り組むことに決めた．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S3
\section{部分空間に基づく集合表現・演算}
筆者らは量子論理の概念を応用して，事前学習された単語埋め込み空間内での単語集合とその演算の新しい表現方法を提案した．
これにより，単語集合を部分空間で表現することで和集合，共通部分，補集合などの基本的な演算が実現できる．
また，本研究では単語集合と単語間の類似度（ソフトメンバーシップ）を提案しており，非常に汎用性の高いツールとなっている．
これを用いると文類似度 BERTScore \cite{DBLP:conf/iclr/ZhangKWWA20}を自然に拡張できる．本研究ではBERTScoreを拡張した新たな文類似度 (SubspaceBERTScore) が一貫してBERTScoreよりも優れた性能を示すことを実証している．
このセクションでは量子論理の概要と，部分空間を用いた集合表現と集合演算をもう少し具体的に説明する．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S3.1
\subsection{量子論理}
量子論理 \cite{birkhoff1936logic}は，本来は量子力学的現象を記述するためのもの\footnote{ベクトルが物理系の状態を表し，量子力学的な命題の真理値を閉部分空間で表す．}だが，本質的にはベクトル空間における集合演算のためのフレームワークとして捉えることができる．
量子論理では，ベクトルの集合は部分空間として表現され，和集合，共通部分，補集合も同様に部分空間として定義されている．
量子論理はド・モルガンの法則 ($\overline{\set{A}} \cup \overline{\set{B}} = \overline{(\set{A} \cap \set{B})}$)，二重否定 ($\overline{\overline{\set{A}}} = \set{A}$) などの基本的な集合演算の性質が保持されることが保証される\footnote{ただし，量子論理は完備オーソモジュラー束という数学的構造に基づいていおり，分配律が成り立たない．}．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S3.2
\subsection{量子論理を単語埋め込み空間に適用する}
実際筆者らがどのようにして量子論理を自然言語処理の世界に当てはめたのか，ここで簡単に紹介する．

\paragraph{集合と要素の表現}
単語埋め込み空間内の各単語をベクトルとして表現し，単語集合を，それらの単語ベクトルによって張られる部分空間として表現する．

\paragraph{基本的な集合演算}
補集合，和集合，共通部分といった基本的な集合演算は，部分空間として定義される．例えば，補集合はある部分空間の直交補空間として，和集合は二つの部分空間の和空間として，共通部分は二つの部分空間の共通部分空間として表現される．

\paragraph{指示関数（メンバーシップ）}
要素が集合に属するか否か（メンバーシップ，$\in$）を二値的に決定する指示関数も部分空間を用いてソフトに表現できる．
これにより，単語と単語集合の間のメンバーシップの度合いを0から1の連続値で表現することが可能となる．
このソフトメンバーシップの導入により，例えば「boy」という単語が「Male」という集合に\textbf{どの程度}属しているかを\textbf{連続値}で定量的に評価することができる．
これは，ベクトル集合とベクトルとの類似度として利用でき，単語集合に含まれる暗黙的な意味を捉える上で非常に有用である．


\paragraph{集合類似度（文類似度）}
従来の記号的集合類似度（例：Recall, Precision）は，主に集合間の「単語の重複数」を類似度として利用してきた．しかしながら，この手法では意味的に類似した文であっても，適切に類似性を捉えられない問題が存在する．例えば，以下の二つの文を考える：
\begin{enumerate}
    \item \textit{The king and queen reside in the palace}
    \item \textit{Royal family lives in this castle}
\end{enumerate}
これらの文は意味的には類似しているが，共通する単語は ``in'' のみであり，従来の手法では非常に低い類似度しか得られない．
この問題に対処するため，本研究では BERTScore の概念を拡張した「SubspaceBERTScore」を提案する．BERTScore は以下の特徴を持つ：
\begin{itemize}
    \item 文を\textbf{トークンベクトルの集合}として表現
    \item \textbf{ベクトル集合とベクトルの類似度}を計算
\end{itemize}
提案手法である SubspaceBERTScore は，部分空間に基づく文表現と指示関数を用いて BERTScore を拡張したものであり，以下の特徴を持つ：
\begin{itemize}
    \item 文をトークンベクトルの\textbf{部分空間}として表現
    \item \textbf{部分空間とベクトルとの類似度}（ソフトメンバーシップ）を計算
\end{itemize}
この拡張は非常に自然であるだけでなく，文が表現する複雑で暗黙の意味をより適切に捉えることが可能となる．
例えば，文1の各単語と文2の単語「Royal」のメンバーシップを計算することを考える．集合演算の観点では，指示関数$\mathbbm{1}[\text{Royal} \in \{\text{The, king, and, queen, reside, in, the, palace}\}]$の計算に対応する．
BERTScore の Recall・Precision は，単語ベクトルとコサイン類似度を用いてこれを計算することで，文1に「Royal」がなくても意味的類似度を返し，記号的集合類似度の問題を解決している．
しかしながら，BERTScore で類似度を計算する際，文1の単語ベクトルと「Royal」の類似度の最大値を返すため，「king」または「queen」のいずれかと強く関連づけられてしまう問題がある．
しかし文1には貴族や王族といった暗黙的な（明示的に文に含まれていない，「king」と「queen」の加法構成で表現できる）意味が含まれている．
SubspaceBERTScore では文1を部分空間で表現する．「king」と「queen」などの単語で張られるこの部分空間には，貴族や王族などの意味が埋め込まれている．そして部分空間専用のメンバーシップを使用することで，貴族的なニュアンスと「royalty」との類似度をより適切に計算することが可能となる．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S3.3
\subsection{提案法の効果}
本研究では，提案手法の有効性を検証するために，テキスト類似度計算タスク (STS) と集合拡張タスクという2つの実験を行った．
ここでは，STSの結果について紹介する．
STSは2つの文の意味的な類似度を数値化するものである．この実験では，複数のデータセットを用いて，提案手法のSubspaceBERTScoreを既存手法と比較した．結果として，SubspaceBERTScoreは，F値，適合率，再現率のすべての指標において，BERTScoreを含む既存手法を一貫して上回る性能を示した．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4
\section{採択までの道のり}
本研究の論文がNAACL 2024に採択されるまでにはやや長い道のりがあった．
当初はスムーズな学位取得のためにジャーナルへの投稿を目指していたが，最初の投稿版 \cite{nlpishibashi22}はTACLにリジェクトされ，その後別のジャーナルにも投稿したが再びリジェクトされた．
この時点ではSubspaceBERTScoreは考えておらず，Jaccard係数のような古典的な集合類似度を部分空間とソフトメンバーシップで拡張した文類似度を提案していたが，思うような性能を達成できておらず再考の必要性を感じていた．
この頃は様々な（記号的な）集合類似度を部分空間を用いて拡張しており，Dice係数やSimpson係数などの有名な類似度はもちろん，Johnsonと呼ばれるほぼ文献がないようなものも実験していた．
Johnsonはどうやら部分空間的な拡張との相性が良かったのか，Jaccardなどと比べてかなり性能は高かったが，それでもまだ十分と言える結果ではなく，他の研究も始めていたこともあり徐々にこの研究に対するモチベーションを維持するのが難しくなっていった．
そんな中でBERTScoreの論文を読んだ際，使われているベクトル集合表現や指示関数を量子論理で拡張できることに気がついた．この着想を早速実装し実験したところ，予想以上に良い結果が得られた．これを受けて，新しい結果を論文に盛り込み，また，言語処理学会でも発表も行った \cite{nlpishibashi23}．
幸いなことにこの頃には学位を取得していたため，ジャーナルにこだわる必要性がなくなっていた．
そこで投稿先を国際会議 (NAACL) に変更し投稿したところ，採択となった．

採択後，2024年6月にメキシコシティで開催されたNAACL 2024で本研究を発表する機会を得た．
コロナ禍でのリモート留学時にお世話になった先生と初めて対面で会うこともでき，良い機会となった．また，メキシコシティでは現地の音楽や食文化も楽しみ\footnote{屋台のタコスを食べて食中毒になった．}，当初心配していた治安も（少なくとも会場周辺では）比較的良好で，充実した学会参加となった．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S5
\section{おわりに}
博士後期課程をほぼすべて捧げたこの研究を振り返ってみると，着地点の見えない状況が長く，苦しみ続けたテーマであったと思う．しかしその反面，研究の効率性や生産性，良いテーマの設定を意識するようになったし，研究としての面白さだけでなく，より実用的な技術を作るべきだという価値観を得ることができた．

最後に，本稿執筆の機会をくださった編集委員の皆様，そして採択まで長く伴走していただいた共著者の方々に感謝する．




%%% Bibliography %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \bibliographystyle{jnlpbbl_1.7}
\bibliography{34refs}



%%% Biography %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{biography}
\bioauthor{石橋　陽一}{%
2018年 京都産業大学コンピュータ理工学部卒業．
2020年 奈良先端科学技術大学院大学 先端科学技術研究科 博士前期課程修了．
2023年 奈良先端科学技術大学院大学 先端科学技術研究科 博士後期課程修了．博士（工学）．
京都大学大学院情報学研究科 特定研究員 を経て，
2024年 日本電気株式会社 (NEC) 入社．
ACL，言語処理学会 各会員．
}

\end{biography}


%%%%\biodate   %%%% 受付日の出力（編集部で設定します）

\end{document}