# 最小コスト法に基づく形態素解析における CPU キャッシュの効率化

神田峻介 1 赤部晃一 1 後藤啓介 1 小田悠介 ${ }^{2}$
${ }^{1}$ LegalOn Technologies Research ${ }^{2}$ 東北大学 データ駆動科学・AI 教育研究センター
\{shunsuke.kanda, koichi.akabe, keisuke.goto\}@legalontech.jp
yusuke.oda.c1@tohoku.ac.jp

## 概要

最小コスト法に基づく形態素解析において、木の 探索やコスト行列の参照により発生するランダムア クセスは、CPU キャッシュ効率低下の原因となる。本稿では、参照の局所性を改善するデータ構造を提案し、解析速度の改善を図る。実験の結果、提案法 を適用しなかった場合と比べ、提案法は $40 \%$ 程度の 時間短縮を達成した。また、提案法を組み込んだ形態素解析器 Vibrato $^{1)}$ を新たに開発し、既存のソフト ウェアよりも高速に動作することを実証した。

## 1 はじめに

形態素解析は、自然言語を大力とし、形態素の列 を返す処理である。日本語の情報検索やテキストマ イニングなどの自然言語処理において、形態素解析 は重要な前処理である。形態素解析を実現する代表的な手法の 1 つに最小コスト法 [1] があり、MeCab [2] や Sudachi [3] などの形態素解析器で利用されて いる。

最小コスト法の時間的ボトルネックの一つに、辞書の肥大化に伴う CPU キャッシュ効率の低下が挙 げられる。単語列挙のための木構造の探索や、コス 卜計算のための行列参照では、メモリ上のランダム アクセスが頻繁に発生する。巨大な辞書では、この ランダムアクセスがキャッシュミスを引き起こし、速度低下の原因となる。

本稿では、参照の局所性の良いデータ構造を設計し、キャッシュ効率を改善することで最小コス トの高速化を達成する。IPADIC [4] や Neologd [5]、 UniDic [6, 7] を使った実験により、その有効性を実証する。実験の結果、提案法を適用しなかった場合 と比べて、提案法は $40 \%$ 程度の高速化を達成した。

図 1 入力文「元気になった」についての形態素ラティ ス。太線はコストの和が最小となる経路を表す。

また、提案法を実装した形態素解析器 Vibrato を 新たに開発した。実験により、Vibrato は MeCab の 2 倍以上の速度性能であることを実証する。

## 2 最小コスト法

## 2.1 アルゴリズム

最小コスト法は、以下の手順により入力文から形態素列2)を得るアルゴリズムである。

1. 入力文に現れる形態素をノードとしたグラフ構造（形態素ラティス）を構築

2. コストが最小となる経路を探索し、対応する形態素列を出力

図 1 に入力文「元気になった」から構築された形態素ラティスを示す。BOS と EOS は、文の先頭と 末尾を表すダミーのノードである。形態素に対応す るノードと形態素の並びの対応するエッジにはコス トが割り当てられる。ノードのコストは、その形態素自体の出現しやすさを表す。エッジのコストは、 その形態素の並びの出現しやすさを表す。以降で は、形態素辞書やコスト値は所与として各手順を説明する。

形態素ラティスの構築 入力文が与えられたと き、形態素ラティスは以下のように構築される。

2）本稿では、辞書のエントリを形態素と呼ぶ。

1. 入力文に現れる形態素を列挙（辞書引き）

2. 形態素をノードとして、文の位置について隣り 合うノード同士をエッジで連結

辞書引きはトライ [8] という木構造を使って効率的に計算できる。詳しくは 3 節で解説する。

経路の探索形態素ラティスの BOS から EOS ま でを繋ぐ、コストの和が最小となる経路を探索す る。そして、その経路に対応する形態素列を解とし て出力する。例えば、図 1 では太線の経路が該当す る。そのような経路は、ビタビアルゴリズム [9]を 用いてエッジ数に線形の時間で計算できる。

## 2.2 高速化の方針

本研究では、最小コスト法のボトルネックは以下 の 2 点であると指摘し、これらを解消することで解析速度の改善を試みる。

$\cdot$辞書引きでのトライの探索
- 経路探索中のコストの参照

これらに共通する点は、メモリ上の頻繁なランダ ムアクセスである。巨大な辞書では、このランダム アクセスがキャッシュミスを引き起こし、速度低下 の原因となる。そこで、それぞれに参照の局所性が 良いデータ構造を設計する。詳しくは、 3 節と 4 節 で解説する。

## 3 辞書引きのキャッシュ効率化

## 3.1 事前知識

多くの形態素解析器では、トライ [8]を使った共通接頭辞検索により辞書引きを実現する。トライと は文字列の接頭辞を併合して構築される木構造で あり、図 2 に見られるようにエッジにラベルを付随 したオートマトンの一種である。共通接頭辞検索と は、あるクエリ文字列の接頭辞として現れる登録文字列を列挙する操作であり、文字を使って根から ノードを遷移することで実現される。形態素をトラ イに登録し、入力文の全ての開始位置から共通接頭辞検索を実行することで辞書引きは実現される。

トライを表現するデータ構造としてはダブル配列 [10] が広く用いられている。ダブル配列とは、ノー ドからノードへの探索を定数時間で実現する高速な データ構造である。入力文の長さを $N$ 、登録形態素 の最大長 $K$ としたとき、ダブル配列を使った場合の 辞書引きの実行時間は $O(N K)$ である。

図 2 形態素「元気」「活気」を登録したトライ。文字列 のエンコードが Unicode である場合の、上図は Bytewise で表現した例、下図は Charwise で表現した例を示す。

## 3.2 背景と問題点

ダブル配列の代表的な実装として、Darts ${ }^{3}$ や Darts-clone ${ }^{4}$ があり、MeCab や Sudachi などで用いら れている。これらの共通点として、文字列をその データ表現のバイト列として扱う点が挙げられる。 この方法を Bytewise と表記する。図 2 の上部に例 を示す。

Bytewise の利点は、文字列のエンコードに関わら ずバイト列として処理できることと、エッジラベル の種類数の上限が 256 に定まることである。これら は実装の汎用性や容易さに関係する。

Bytewise の欠点は、日本語などのマルチバイト文字を扱う場合にバイト列が長くなることである。図 2 の例では、Unicode で符号化された長さ 2 の形態素「元気」が、長さ 6 の UTF-8 バイト列として表現されている。これは「元気」を検索するときに 6 回のランダムアクセスが必要となることを意味し、 キャッシュミス増加の原因となる。

## 3.3 改善案

文字列を Unicode のコードポイント値の系列とし て処理する。この改善案を Charwise と表記する。図 2 の下部に例を示す。

日本語の多くの文字は UTF-8 で 3 バイトを使って 表現される。そのような文字について、Charwise で は Bytewise に比べランダムアクセスの回数を 3 分の 1 に削減できる。ダブル配列では定数時間でノード の探索ができるので、計算量にも影響は無い。

Charwise の実装上の注意点は、エッジラベルの種類数が大きくなる点である。コードポイント值は U+0000 から U+10FFFF までの 110 万種類を扱う。そ のようなダブル配列は、素朴に実装すると構築速度 やメモリ効率が低化する [11]。そこで、コード值を

3) http://chasen.org/ taku/software/darts/

4) https://github.com/s-yata/darts-clone
頻度順に割り当て直すことで、多くのコード値が小 さい値になるように修正する。自然言語において文字の出現頻度には偏りがあるため、この修正で問題 が解消されることが経験的に知られている [11]。

## 4 コスト参照のキャッシュ効率化

## 4.1 事前知識

形態素ラティスのエッジに付随したコストを連接 コストとよぶ。連接コストは左側と右側ノードの素性情報のぺアによって決定される。具体的には、形態素には左文脈 ID と右文脈 ID が割り当てられ、そ れら IDのペアによって連接コストは決定される。

本稿では、左文脈 ID の集合を $X=\{0,1, \ldots,|X|-$ 1\}、右文脈 ID の集合を $Y=\{0,1, \ldots,|Y|-1\}$ と定義 する。連接コストは $|X| \times|Y|$ の連接表 $M$ に保存さ れ、文脈 $\operatorname{ID~ペア~}(x, y) \in X \times Y$ の連接コスト値は表 $M$ の $(x, y)$ 成分 $M[x, y]$ に格納される。 $M$ は単純な 二次元配列で実装され、 $M[x, y]$ には値 $x, y$ を使っ て定数時間でアクセスできる。

## 4.2 背景と問題点

現代書き言葉 UniDic [7] では素性を詳細に設計し ており、結果として連接表が肥大化している。例え ば、IPADIC v2.7.0 では $|X|=|Y|=1,316$ で連接表の サイズは高々 $3.3 \mathrm{MiB}$ である。5)それに対し、UniDic v3.1.0 では $|X|=15,388,|Y|=15,626$ で連接表のサ イズは $459 \mathrm{MiB}$ にもなる。事前実験（付録 A）では、解析時間は連接表のサイズに比例して増加する傾向 が見られており、参照の局所性の悪化が解析速度の 低下の原因になると考察される。

## 4.3 改善案

訓練コーパスを用いて文脈 ID の使用頻度を収集 し、よく使用される順に若い文脈 IDを割り当て直 す。この方法により、頻繁に使用される連接コスト 値がメモリ上で近接する。使用頻度に大きな偏りが ある場合、参照の局所性が改善する。図 3 に例を 示す。本稿では、標準の文脈 ID を使用する場合を Default、頻度順にマッピングする場合を Mapped と 表記する。

頻繁に使われる連接コスト

図 3 文脈 IDを頻度順に割り当て直した例。ある左文脈 ID $x_{i}$ に対応する行と、 $x_{i}$ について右文脈 ID $y_{1}, y_{2}, y_{3}$ の順 でコスト値を参照した様子を図示している。 $x_{i}^{\prime}, y_{j}^{\prime}$ は頻度順に割り当て直された文脈 IDを表す。 $y_{1}, y_{2}, y_{3}$ が頻繁に 使用される文脈 IDであった場合、 $y_{1}^{\prime}, y_{2}^{\prime}, y_{3}^{\prime}$ は小さい値と なる。つまり、その連接コスト值は行の先頭付近に密集 し、参照の局所性は改善する。

表 1 辞書の統計

## 5 実験

## 5.1 実験設定

形態素解析用の辞書は以下の 4 種類を評価した。
- ipadic-mecab (v2.7.0) [4]
- ipadic-neologd (2020-09-10) [5]
- unidic-mecab (v2.1.2) [6]
- unidic-cwj (v3.1.0) [7]

文章コーパスには BCCWJ v1.1 $[12,13]$ を使用し た。マッピングの訓練にはコアデータ $60 \mathrm{k}$ 文を使用 した。形態素解析の速度評価には、サブコーパスか らランダムに抽出した $100 \mathrm{k}$ 文を使用した。

手法の実装にはプログラミング言語 Rust を用 いた。コンパイルに使用した rustc はv1.63.0であ り、最適化フラグは opt-level=3 である。計算機環境は、Intel Core i9-12900K @ 3.2-5.2GHz CPU (Cacheline: 64B, L1d: 640KiB, L2: 14MiB, L3: 30MiB), 64GiB RAM であり、OS は Ubuntu 22.04 である。実験は全 てシングルスレッドで実施した。ダブル配列につ いて、Bytewise の実装には Yada v0.5.06)を用いた。

6) https://github.com/takuyaa/yada
表 2 各手法を適用した場合の解析時間 [ms]。括弧内の 数値は Bytewise+Default からの変化率を表す。

 &  &  \\

mecab-neologd & 538 & $479(-11.1 \%)$ & $467(-13.3 \%)$ \\
unidic-mecab & 616 & $567(-8.0 \%)$ & $499(-19.0 \%)$ \\
unidic-cwj & 1,012 & $949(-6.3 \%)$ & $587(-42.1 \%)$ \\

表 3 L1 キャッシュへのデータ読み込みにおけるキャッ シュミス回数 $\left[10^{6}\right]$ 。括弧内の数値は Bytewise+Default か らの変化率を表す。

 &  &  \\

ipadic-neologd & 86.0 & $79.9(-7.1 \%)$ & $56.3(-34.6 \%)$ \\
unidic-mecab & 136.1 & $130.3(-4.3 \%)$ & $71.4(-47.5 \%)$ \\
unidic-cwj & 231.8 & $226.3(-2.4 \%)$ & $104.6(-54.9 \%)$ \\

Charwise の実装には Crawdad v0.3.07)を用いた。

## 5.2 提案法の分析

提案法の Charwise と Mapped を用いた場合の解析速度を評価する。評価データ $100 \mathrm{k}$ 文の解析に要し た時間を表 2 に示す。結果は 10 回試行した平均で あり、結果中に示す「変化率」は、变化先-変化元 で算出した值である。

文脈 ID が Default の場合での Bytewise と Charwise の解析時間を比較する。全ての辞書で Charwise が 高速であり、IPADIC では $10 \%$ 以上の改善が確認さ れた。一方で、巨大な連接表を持つ unidic-cwjでは、相対的にコスト参照のボトルネックの方が大きく、 6.3\%の改善に留まった。

続いて、文脈 ID の割り当てを Mapped に変更した 場合と比較する。全ての辞書で Mapped が高速であ り、特に連接表が最も大きい unidic-cwj では $42.1 \%$ の大きな改善が確認された。

表 3 に、評価データ $100 \mathrm{k}$ 文の解析時に発生した、 L1 データキャッシュへの読み込み時のキャッシュ ミス回数を示す。計測には perf コマンドを使用し、結果は 100 回試行した平均である。

全ての場合において、提案法によりキャッシュ ミスの回数が削減している。Charwise 適用時には ipadic-neologd で、Mapped 適用時には unidic-cwj で 改善率が最も大きく、提案法が巨大な辞書について 効果的であることが確認できる。

これらの結果から、最小コスト法に基づく形態素解析器において、辞書引きとコスト参照のキャッ

表 4 形態素解析器の比較実験の結果。

シュ効率は解析速度に大きな影響を与えることが 確認された。特に連接表が巨大な場合、コスト参照 にかかる時間の割合が大きく、コスト参照のキャッ シュ効率改善が解析の高速化に有効であった。

## 5.3 形態素解析器の比較

提案法の実装である Vibrato の速度性能を、既存 の形態素解析器と比較し評価する。比較したソフト ウェアは以下の 4 種類である。
- Vibrato v0.1.2
- MeCab v0.996 ${ }^{8}$
- Lindera v0.16.19)
- sudachi.rs v0.6.4-a $1^{10)}$

Vibrato と MeCab は ipadic-mecab と unidic-cwjを用 いて評価した。Lindera はライブラリでサポートさ れている ipadic-mecab と unidic-mecabを用いて評価 した。 sudachi.rs は形態素解析器 Sudachi [3] の Rust 移植であり、辞書には SudachiDict-core ${ }^{11)}$ を用いて評価した。計測には tokenizer-speed-bench ${ }^{12)}$ を用いた。

表 4 に結果を示す。IPADIC とUniDic の両方の ケースについて、Vibrato が最速であることが確認 できた。二番目に高速な $\mathrm{MeCab}$ と Vibrato を比較し て、IPADIC で 2.1 倍、UniDic で 2.3 倍高速である。

## 6 おわりに

本稿では、形態素解析の高速化を目的とし、最小 コスト法のキャッシュ効率化技法を提案した。実験 により提案法の有効性を実証した。また、提案法を 実装した形態素解析器 Vibrato を開発し、その速度性能を実証した。今後は機能面と性能面について、 Vibrato のさらなる改良を予定している。

## 参考文献

[1] 久光徹, 新田義彦. 接続コスト最小法による日本語形態素解析. 全国大会講演論文集, 人工知能及び認知科学, pp. 1-2, 1991.

[2] Taku Kudo, Kaoru Yamamoto, and Yuji Matsumoto. Applying conditional random fields to japanese morphological analysis. In Proceedings of the $\mathbf{2 0 0 4}$ conference on empirical methods in natural language processing, pp. 230-237, 2004.

[3] Kazuma Takaoka, Sorami Hisamoto, Noriko Kawahara, Miho Sakamoto, Yoshitaka Uchida, and Yuji Matsumoto. Sudachi: a japanese tokenizer for business. In Proceedings of the 11th International Conference on Language Resources and Evaluation, 2018.

[4] Masayuki Asahara and Yuji Matsumoto. ipadic version 2.7.0 User's Manual. https://ja.osdn. net/projects/ ipadic/docs/ipadic-2.7.0-manual-en. pdf, 2003.

[5] 佐藤敏紀, 橋本泰一, 奥村学. 単語分かち書き辞書 mecab-ipadic-neologd の実装と情報検索における効果的な使用方法の検討. 言語処理学会第 23 回年次大会 (NLP2017), pp. NLP2017-B6-1. 言語処理学会, 2017.

[6] 伝康晴, 小木曽智信, 小椋秀樹, 山田篤, 峯松信明, 内元清貴, 小磯花絵. コーパス日本語学のための言語資源 : 形態素解析用電子化辞書の開発とその応用. 日本語科学, Vol. 22, pp. 101-123, 2007.

[7] 岡照晃. CRF 素性テンプレートの見直しによるモ デルサイズを軽量化した解析用 UniDic — unidiccwj-2.2.0 と unidic-csj-2.2.0 一. 言語資源活用ワーク ショップ 2017 発表予稿集, 143-152.

[8] 青江順一. キー検索技法-IV: トライとその応用. 情報処理, Vol. 34, No. 2, 1993.

[9] Andrew Viterbi. Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE transactions on Information Theory, Vol. 13, No. 2, pp. 260-269, 1967.

[10] Jun'ichi Aoe. An efficient digital search algorithm by using a double-array structure. IEEE Transactions on Software Engineering, Vol. 15, No. 9, pp. 1066-1077, 1989.

[11] Huidan Liu, Minghua Nuo, Longlong Ma, Jian Wu, and Yeping He. Compression methods by code mapping and code dividing for chinese dictionary stored in a doublearray trie. In Proceedings of 5th International Joint Conference on Natural Language Processing, pp. 1189-1197, 2011.

[12] 前川喜久雄. 代表性を有する大規模日本語書き言葉 コーパスの構築 (<特集>日本語コーパス). 人工知能, Vol. 24, No. 5, pp. 616-622, 2009.

[13] 国立国語研究所コーパス開発センター. 『現代日本語書き言葉均衡コーパス』利用の手引第 1.1 版. https://clrd.ninjal.ac.jp/bccwj/doc.html, 2015.

図 4 右文脈 ID の使用頻度上位 100 件の割合。値は累積 を表し、上位 $k$ 番目の値は 1 番目から $k$ 番目までの割合 の合計である。ipadic-neologd の結果は ipadic-mecab と僅差だったため省略している。

表 5 ダブル配列の実装を変化させた場合の解析時間 $[\mathrm{ms}]$ 。括弧内の数値は Default からの変化率を表す。

## A コスト参照についての事前実験

文脈 ID の使用頻度の調査. 文脈 ID の使用頻度の偏り について調査する。各辞書について、訓練用テキストを 解析したときの文脈 ID の使用頻度を算出した。右文脈 ID の使用頻度上位 100 件について、その割合を図 4 に示 す。 ${ }^{13)}$ 文脈 ID の使用頻度に大きな偏りが確認された。例 えば、右文脈 ID が $15 \mathrm{k}$ 種類も定義されている unidic-cwj

ボトルネックの調査. 巨大な連接表がボトルネックなの かを検証するために、連接表へのアクセスを完全に排除 し、連接コスト値を全て0 として解析した場合（Ideal）の 結果とも比較する。表 5 に実験結果を示す。unidic-cwjで 解析時間が $57 \%$ 短縮した。定数時間の配列参照を取り除 いただけの簡単な修正であることから、巨大な連接表へ の参照がいかにボトルネックであるかが推察できる。

## B 訓練データに関する調査

文脈 ID の使用頻度について、均衡コーパスを用いて算出した場合と、ドメインに特化したコーパスを用いて算出した場合を比較し、訓練コーパスにより Mapped の性能 が変化するのかを調査する。

実験設定. BCCWJ サブコーパスは、新聞 (PN) や Yahoo!知恵袋（OC）などの 13 カテゴリから構成される [13]。各 カテゴリから $10 \mathrm{k}$ 文ずつをサンプルし、13 種類の評価用 データを構築する。そして、各カテゴリについて、以下の 2 つの方法でマッピングを訓練し、解析時間を比較する。

・均衡データ：BCCWJ コアデータからサンプルし得ら れた 10k 文で訓練

・カテゴリ別 : 各カテゴリの評価用テキスト $10 \mathrm{k}$ 文に ついて 5 分割交差検証

辞書には unidic-cwj を使用する。計算機環境など、その 他の実験設定は 5 節と同じである。

13）左文脈 ID の結果も大差は確認されなかった。

図 5 カテゴリ別の評価データについての解析時間。

表 6 各コーパスについて、頻繁に使用された右文脈 ID の上位 10 件。PN は新聞、LB は書籍、OC は Yahoo!知恵袋。ID unidic-cwj で定義されている標準のものを表示。

解析時間に関する結果. 13 カテゴリについて、評価デー タ $10 \mathrm{~K}$ 文の解析に要した時間を図 5 に示す。訓練データ をドメインに特化しても、解析時間は大きく変化しない ことが確認された。

高頻度な文脈 ID に関する分析. コアデータといくつか のカテゴリで頻繁に使用された右文脈 ID の上位 10 件を 表 6 に示す。上位 7 件まではどのコーパスでも同一で、カ テゴリによって使用される文脈 ID に大差は無い。

これらの右文脈 ID に対応した素性列を図 7 に示す。頻出 ID は品詞などの一部の情報によって識別可能な形態素 に割り当てられている。そして、そのような形態素はド メインを問わずコーパスの大部分を占めている。

これらの結果は、「幅広いドメインのテキストを解析 するために、均衡データから訓練したマッピングを一つ 持っておけば十分である」ということを示唆している。 つまり辞書を配布する場合、 1 種類のマッピング適用済 みの辞書を配布すればよい。

表 7 unidic-cwj で頻繁に使用された素性列の例。


# 最長一致パターンに基づく高速・高精度な日本語形態素解析

吉永 直樹
東京大学生産技術研究所
ynaga@iis.u-tokyo.ac.jp

## 概要

膨大な量のテキストを解析したり，言語処理応用 で大量にユーザのクエリを処理する場合，処理効率 の悪いモデルは高精度でも利用し難い. 本稿では高効率な手法の精度を改善すべく, 最長一致パターン に基づく高精度な形態素解析手法を提案する. 提案手法では，既存の辞書項目を元に，学習データから 抽出したパターンを用いて形態素解析を行う．実験 では，複数の品詞タグ付きコーパスと辞書を用いて 提案手法の評価を行い，最小コスト法や点推定に基 づく形態素解析手法の既存実装と同程度の精度, $1 / 2$ から $1 / 20$ 程度の消費メモリで，1,000,000 文/秒を超 える速度の形態素解析が可能なことを確認した. 本手法の実装（C++で約 1000 行）は以下で公開する. http://www.tkl.iis.u-tokyo.ac.jp/ ynaga/jagger

## 1 はじめに

Twitter や Zoom, Slack などのコミュニケーション プラットフォームの普及に従い，電子化された言語 データの量は爆発的に増加し続けており, 深層学習 によって高精度化された機械翻訳などの実サービス は数千万を超えるユーザを獲得するようになった。 このように，実世界テキストの量や実時間処理する ユーザクエリがこれまでになく増加する状況下で は，現実的な計算資源で運用できる効率の良い言語処理技術の重要度が高まっている。

しかしながら，深層学習の導入以降，精度に偏重 して研究が行われた結果，「効率の良い」手法 [1] は 他分野のように処理速度や消費メモリの限界を更新 するものではなく, 低速で消費メモリの大きい深層学習モデルの効率を, 深層学習の枠内で相対的かつ 限定的に改善するものが大半である. 結果, 最高精度のモデルと古典的ではあるが効率の良いモデルと の間の速度差は埋め難く, 深層学習を用いた高精度 の言語処理サービスは，膨大な GPU 資源を有する 一部の企業のみが展開するに留まっている.本研究では，遅いモデルの効率を改善するのでは なく，効率の良いモデルの精度を改善する，真に 「効率の良い」言語処理を実現すべく，機械学習を 経由しない単純で高精度な日本語形態素解析手法を 提案する. 日本語における形態素解析は，一般に，単語分割, 品詞解析, 見出し語化の混合タスクとし てモデル化されるが，我々の提案手法は，古典的な 最長一致法に基づく単語分割手法を拡張したもの で, 次の分割位置と切り出した単語の品詞・見出し 語を決定するパターンに基づき形態素解析を行う.解析に用いるパターンは形態素解析辞書の項目を シードとして，学習データから頻度に基づいて抽出 する。抽出したパターンはダブル配列 $[2,3]$ に格納 し，時空間効率の良い処理を実現する。

実験では，多様なドメインの標準コーパス $[4,5]$ と形態素解析辞書を組み合わせて提案手法の評価を 行った. その結果, 提案手法が，探索 (最小コスト 法) や分類 (点推定) に基づく実装 (MeCab, Vaporetto) と同程度の精度で，MeCab の約 15 倍，Vaporetto の 約 10 倍 (M2 MacBook Air で 1,000,000 文秒以上) の 速度で形態素解析を行えることを確認した。

## 2 パターンに基づく形態素解析

本節では，単語分割，品詞タグ付け，見出し語化 を同時に行う決定的な形態素解析手法を提案する.速度に妥協のない実装を得るため, 本研究では古典的な最長一致法 [6] を拡張した最長一致パターンに 基づく形態素解析アルゴリズムを提案する.

最長一致法は辞書 (単語の集合) に基づく決定的 な単語分割手法であり, 入力文字列の先頭から辞書中の単語と一致する最長の文字列を, 繰り返し単語 として認識することで単語分割を行う. 最長一致法 は，日本語や中国語の単語分割において，修正規則 と組み合わせることで高精度化できること $[7,8]$ が 知られているが，機械学習を用いた最小コスト法や 点推定などの標準的な単語分割手法 $[9,10]$ と比べる と分割精度には一定の差 [11] が存在する.

## 2.1 基本的なアルゴリズム

本節では, 単語分割, 品詞タグ付け, 見出し語化 ${ }^{1)}$ を同時に行う決定的な形態素解析アルゴリズム を提案する. Algorithm 1 は，与えられた文字列に対 し，トライに格納されたパターン $\mathscr{P}$ 繰り返し適用 して, 後続する単語 $w=\boldsymbol{c}_{i}^{i+\text { shift }}$ を切り出すと同時に 品詞 (と見出し語) を決定するアルゴリズムである.単語分割に対する最長一致法と同様に, 本手法でも 最長一致するパターンが選択・適用されるが，分割位置がパターン長と必ずしも一致しない点に注意さ れたい， 3 節で確認するように，この単純なアルゴ リズムは有効なパターン集合が用意できれば，最小 コスト法や点推定などの探索・分類ベースの手法に 匹敵する精度で動作する。

本手法は，系列ラベリングや組合わせ特徴に基づ く分類器における事前計算 $[9,12,13,14]$ に着想を得 ている。これらの効率的な実装では，事前計算した 特徴量の重みを，表層など単純な特徴の系列をキー として取得することで推論を行う．機械学習で用い る特徴量が単純なキー (パターン) に畳み込めるので あれば，直接，分類結果 (単語分割の有無, 品詞, 見出し語) に写像可能なパターン (特徴列) が存在し うるというのが本手法の基本的なアイデアである.

## 2.2 辞書に基づく特徵列パターンの抽出

最小コスト法 [9] や点推定 [10] を実装した形態素解析器の素性テンプレートを参考に, 本稿では提案手法のためのパターンテンプレートとして，分割位置以降の表層文字列 $\boldsymbol{c}_{p}$ と直前の単語の品詞 $t_{j-1}$ の 連結，すなわち $\boldsymbol{c}_{p} ; t_{j-1}($; は文字の連結) を採用した。

Algorithm 2 は, 形態素解析の学習データから特徵列パターンをマイニングするアルゴリズムである.単語分割, 品詞タグ及び見出し語が付与された学習

データ Dと単語がとりうる品詞タグ・見出し語を 定義した形態素解析辞書 $\mathscr{V}$ を力として, 本手法 は逐次的に特徴列パターンを学習データから抽出 する。

具体的にはまず，学習データ中の全ての単語分割位置に対し，その位置から次の分割位置以降までを 含む文字列 $\boldsymbol{c}_{i}^{i+k}$ を表層パターンとして抽出し, 直前 の単語の品詞タグ $t_{j-1}$ と組み合わせてパターン候補 を得る (4-8 行目). これらのパターン候補に対して，分割位置 (shift) ・品詞タグ $($ ・見出し語, 以後省略) $t$ の頻度を数えて，最多の分割位置・品詞タグをその パターンが適用されたときの分割位置・品詞タグと して採用する (12-13 行目). 冗長なパターンを枝刈 りするために，接頭文字列が同じで分割位置・品詞 タグが同じパターンについては，最も短いパターン のみを採用する (14-16 行目)。提案手法は最長一致法と比べて，後続文脈や前文脈品詞について追加の 走査が必要となるが，大きなオーバーヘッドとなら ないことを確認している.2)

## 3 実験

本節では提案手法を多様なドメインの形態素情報付きコーパス $[4,5]$ を用いて評価し，探索や分類に 基づく効率的な形態素解析手法 $[9,10]$ と速度，消費 メモリ，精度の観点で比較する。

2）Aho-Corasickライクな手法で表層について戻り読みのない 処理を行うことも可能だが，逆に処理速度が低下した。
表 1 評価データの統計.

## 3.1 設定

データセット 実験では新聞記事に注釈を付与し た京都大学テキストコーパス33) (куОто) [4] とウェブ ページの冒頭三文に注釈を付与した京都大学ウェブ 文書リードコーパス ${ }^{4}$ (KWDLC) [5]を用いた。開発・評価データとしては， github リポジトリに含まれる 分割を用い，残りを学習データに用いた (表 1).

比較モデル 本稿では，以下の実装を比較する。学習ベースのモデルではハイパーパラメタ $c^{5)}$開発データを用いて調整し，活用を含む品詞タグ (level 1-4)の $\mathrm{F}_{1}$ が最大となるモデルを評価に用いた.

Jagger は提案手法の C++実装であり，入力テキスト の先頭から後続する表層文字列と前文脈品詞に対し て特徴列パターンを繰り返し適用し, 決定的に単語分割, 品詞タグ付け, 見出し語化を行う. これらの パターンは学習データと辞書から抽出される。

$\mathbf{M e C a b}^{6}$ (は最小コスト法の $\mathrm{C}++$ 実装7)であり, 条件付き確率場 [15] により, 学習データからパラメタを 推定する [9]. 最小コスト法では，辞書に基づき可能 な分割と品詞の組み合わせをラティスで表現して，最尤となる分割・品詞を動的計画法で求める.

Vaporetto は点推定 [10]の Rust 実装9) である. 点推定 では，各文字間を分割候補とする二値分類により単語分割を行った後, 各単語に対して多クラス分類に より品詞タグ付けを行う. 公平な比較のために，単語特徴量には他の手法と同じ形態素解析辞書を用い る. Vaporettoでは単語の品詞候補ごとに分類器を学習しており，学習データに出現しない単語10)には，辞書中で最初に現れる品詞タグが付与される [16].

3) https://github.com/ku-nlp/KyotoCorpus

4) https://github.com/ku-nlp/KWDLC
5) $c=\{0.1,0.2,0.5,1.0,2.0,5.0,10.0\}$ を試した.

6) https://taku910.github.io/mecab/

7） $\mathrm{MeCab}$ の高速な再実装である Vibrato $\left.^{8}\right)$ は，今回用いた実験設定で品詞タグ付けまで行うと， MeCabより遅くメモリ 消費も大きかったため，比較しなかった.

8) https://github.com/daac-tools/vibrato

9) https://github.com/daac-tools/Vaporetto

10）学習データにも辞書にも出現しない単語には品詞タグが 付与されないため, 文献 [9]を参考にサ変名詞を割り当てた. なお，この処理にかかる時間は処理速度には含めない.表 2 形態素解析辞書の統計

なお, Rust と C++が生成するコードの実行速度は，多くのベンチマークで同程度 ${ }^{11)}$ である.

提案手法は，大域的な最適化を行う最小コスト法 よりは，局所的な最適化を行う点推定に近い手法で あるが，二つの点で異なる. まず，提案手法は全て の文字間に対して分割の有無を判定するのでなく, パターンに基づき，次の分割位置を決定する (分類問題としては次の分割位置を予測する多クラス分類 に相当)。また，提案手法では，単語分割，品詞タグ 付け (，見出し語化)を同時かつ決定的に行う.

形態素解析辞書 各手法が用いる辞書としては,形態素解析器 JUMAN ${ }^{12)}$ の辞書を MeCab 用に変換 したものを用いる。具体的には mecab-jumandic-5.120070304 と mecab-jumandic-7.0-20130310を，辞書の 質とカバレッジの影響を分析するために比較する。 このうち, jumandic-7.0ではウェブから自動獲得し た語彙 [17] が含まれており, 収録語数が 475,716 語 (jumandic-5.1) から 702,358 語 (jumandic-7.0) に増加 している. 品詞タグは 4 階層 (2 段階の品詞分類, 活用型, 活用形) からなる形態・統語論的なカテゴリ が付与されている (表 2).

評価方法 解析精度に関する評価尺度としては,既存研究 [9] に倣い，単語分割と品詞タグに関する 精度, 再現率, $\mathrm{F}_{1}$ 値を用いる. 処理効率の評価と しては，評価データを 1000 回コピーしたデータの 解析時間 (秒), 解析速度 (文秒), 最大消費メモリ (MiB)を/usr/bin/time - l コマンドにより 3 回計測 して，中央値となる処理時間 (速度) と，そのときの 最大消費メモリを報告する. 実験は $3.5 \mathrm{Ghz} \mathrm{CPU}$ と 主記憶 $24 \mathrm{~GB}$ を備えた M2 MacBook Air 上で行った. なお，付録 $\mathrm{C}, \mathrm{D}$ に単語分割のみの評価，及び深層学習に基づく形態素解析器との比較を載せた.

## 3.2 結果

表 3, 4 に кYото, кWDLC コーパスでの単語分割・品詞タグ付けの評価結果を示す. 我々の提案手法の 参照実装である Jaggerが，最小コスト法を実装した MeCab や点推定を実装した Vaporetto と遜色のない

11) https://github.com/kostya/benchmarks/

12) https://nlp.ist.i.kyoto-u.ac.jp/?JUMAN
表 3 куото コーパスの解析結果, $\mathrm{F}_{1}$ (precision/recall).

表 4 KWDLC コーパスの解析結果, $\mathrm{F}_{1}$ (precision/recall).

精度を示すと共に，MeCab の約 15 倍，Vaporetto の 約 10 倍高速，かつ MeCab の約 1/2, Vaporetto の約 1/20 程度の消費メモリで解析が行えている. Jagger が用いる特徴列パターンは枝刈り (Algorithm 2 の 14 行目) によって最小限に抑えられており, 機械学習 を経由せず，浮動小数点数で表現されるパラメタも 含まないことから，高効率となったと考えられる (他手法の学習に相当するパターンの抽出時間は 6 秒未満であった). MeCab の解析精度は辞書の性質 に依存し，jumandic-7.0を用いた場合，KWDLC で優れ た精度を示す一方で куото では単語分割精度が低下 している. Vaporetto は，学習データの多い куотоで は MeCab や Jagger より高精度だが，学習データの 少ない KWDLC では Jagger と同程度の精度に留まる。

表 5 に，学習データとは異なるドメインの評価 データを用いて各手法を評価したときの解析精度 を示す. 辞書に基づいて単語分割候補を列挙する最小コスト法 (MeCab) に対し，辞書を間接的に用いる 点推定 (Vaporetto) の解析精度が低く, 学習ドメイン に依存する点推定のリスクを示している. 提案手法 の実装である Jagger は MeCabよりは性能が低下し ているものの, Vaporetto ほどには性能が落ちておら ず，辞書と学習データの両方をバランスよく活用し た手法となっている. 提案手法は，辞書，あるいは パターンを追加する形で学習という余分なプロセス を経ずに処理を即座に変更することもできる。

## 4 まとめ

本稿では最速の言語処理技術を高精度化すべく，最長一致パターンに基づく高精度な形態素解析器を 提案した. 我々の手法は, 辞書中の単語をシードと して学習データから単語分割位置と品詞タグ (及び 見出し語)を決定するパターンを抽出し，最長一致 パターンを順次切り出す形で効率よく高精度の解析 を行う．複数の品詞タグ付きコーパスを用いた実験 により, 提案手法が最小コスト法や点推定の効率的 な既存実装に匹敵する解析精度を達成し, 同時に, ノート PCで $1,000,000$ 文秒という基礎解析として 望ましい解析速度を実現することを確認した。

今後は，深層学習により得られる埋め込み表現を 離散化してパターンに組み込むなどして，本論文の アプローチを他の言語処理タスクに応用したい.

## 謝辞

本研究は JSPS 科研費 JP21H03494 の助成を受けた ものです. Vaporettoの未知語処理に関する実装をご 教示くださった LegalOn Technologies の赤部晃一氏，本稿の草稿にコメントをくださった Rakuten Institute of Technology Americas の新里圭司氏に感謝いたし ます.

## 参考文献

[1] Marcos Treviso, Tianchu Ji, Ji-Ung Lee, Betty van Aken, Qingqing Cao, Manuel R. Ciosici, Michael Hassid, Kenneth Heafield, Sara Hooker, Pedro H. Martins, André F. T. Martins, Peter Milder, Colin Raffel, Edwin Simpson, Noam Slonim, Niranjan Balasubramanian, Leon Derczynski, and Roy Schwartz. Efficient methods for natural language processing: A survey, 2022.

[2] Jun'ichi Aoe. An efficient digital search algorithm by using a double-array structure. IEEE Transactions on Software Engineering, Vol. 15, No. 9, pp. 1066-1077, 1989.

[3] Naoki Yoshinaga and Masaru Kitsuregawa. A self-adaptive classifier for efficient text-stream processing. In Proceedings of COLING 2014, the 25th International Conference on Computational Linguistics: Technical Papers, pp. 1091-1102, Dublin, Ireland, August 2014.

[4] Sadao Kurohashi and Makoto Nagao. Building a Japanese parsed corpus. In Treebanks: Building and Using Parsed Corpora, pp. 249-260. Kluwer Academic Publishers, 2003.

[5] Masatsugu Hangyo, Daisuke Kawahara, and Sadao Kurohashi. Building a diverse document leads corpus annotated with semantic relations. In Proceedings of the 26th Pacific Asia Conference on Language, Information, and Computation, pp. 535-544, Bali, Indonesia, November 2012.

[6] Masaaki Nagata. A stochastic Japanese morphological analyzer using a forward-DP backward-A* $n$-best search algorithm. In COLING 1994 Volume 1: The 15th International Conference on Computational Linguistics, Kyoto, Japan, August 1994.

[7] David D. Palmer. A trainable rule-based algorithm for word segmentation. In 35th Annual Meeting of the Association for Computational Linguistics and 8th Conference of the European Chapter of the Association for Computational Linguistics, pp. 321-328, Madrid, Spain, July 1997.

[8] Julia Hockenmaier and Chris Brew. Error-driven learning of Chinese word segmentation. In Proceedings of the 12th Pacific Asia Conference on Language, Information and Computation, pp. 218-229, Singapore, February 1998.

[9] Taku Kudo, Kaoru Yamamoto, and Yuji Matsumoto. Applying conditional random fields to Japanese morphological analysis. In Proceedings of the $\mathbf{2 0 0 4}$ Conference on Empirical Methods in Natural Language Processing, pp. 230-237, Barcelona, Spain, July 2004.
[10] Graham Neubig, Yosuke Nakata, and Shinsuke Mori. Pointwise prediction for robust, adaptable Japanese morphological analysis. In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies, pp. 529533, Portland, Oregon, USA, June 2011.

[11] Manabu Sassano. Deterministic word segmentation using maximum matching with fully lexicalized rules. In Proceedings of the 14th Conference of the European Chapter of the Association for Computational Linguistics, volume 2: Short Papers, pp. 79-83, Gothenburg, Sweden, April 2014.

[12] Nobuhiro Kaji, Yasuhiro Fujiwara, Naoki Yoshinaga, and Masaru Kitsuregawa. Efficient staggered decoding for sequence labeling. In Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics, pp. 485-494, Uppsala, Sweden, July 2010.

[13] Naoki Yoshinaga and Masaru Kitsuregawa. Kernel slicing: Scalable online training with conjunctive features. In Proceedings of the 23rd International Conference on Computational Linguistics (Coling 2010), pp. 12451253, Beijing, China, August 2010.

[14] 赤部晃一森信介. Vaporetto: 点予測法に基づく高速 な日本語トークナイザ. 言語処理学会 第 28 回年次大会 発表論文集, pp. 256-261, 2022.

[15] Percy Liang, Hal Daumé, and Dan Klein. Structure compilation: Trading structure for features. In Proceedings of the 25th International Conference on Machine Learning, ICML '08, p. 592-599, New York, NY, USA, 2008.

[16] 森信介, 中田陽介, Neubig Graham, 河原達也. 点予測 による形態素解析. 自然言語処理, Vol. 18, No. 4, pp. 367-381, 2011.

[17] Yugo Murawaki and Sadao Kurohashi. Online acquisition of Japanese unknown morphemes using morphological constraints. In Proceedings of the $\mathbf{2 0 0 8}$ Conference on Empirical Methods in Natural Language Processing, pp. 429-437, Honolulu, Hawaii, October 2008.

[18] 工藤拓. 形態素解析の理論と実装. 近代科学社, 2018.

[19] Huidan Liu, Minghua Nuo, Longlong Ma, Jian Wu, and Yeping He. Compression methods by code mapping and code dividing for Chinese dictionary stored in a doublearray trie. In Proceedings of 5th International Joint Conference on Natural Language Processing, pp. 1189-1197, Chiang Mai, Thailand, November 2011.

[20] Arseny Tolmachev, Daisuke Kawahara, and Sadao Kurohashi. Juman++: A morphological analysis toolkit for scriptio continua. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, pp. 54-59, Brussels, Belgium, November 2018.

[21] Hajime Morita, Daisuke Kawahara, and Sadao Kurohashi. Morphological analysis for unsegmented languages using recurrent neural network language model. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 2292-2297, Lisbon, Portugal, September 2015.
表 6 JUMAN++との比較, $\mathrm{F}_{1}$ (precision/recall).

## A 未知語処理

最小コスト法と同様に, 提案手法でも辞書・学習 データに含まれない未知語の扱いは，問題となる。現在の実装では, 既存手法 [9] と同様に, 文字種に 基づいて，数字，アルファベット，カタカナを連結 する単純な未知語処理を実装している。具体的に は，連続する数字，アルファベットはそれぞれ単純 に連結し，連続するカタカナ語については，単語の 合計長が一定サイズ以下のときに連結する。いずれ の場合も，前文脈品詞，および連結する末尾の語に 対するパターンに基づき品詞を割り当てる.

## B 実装上の工夫

Jagger の C++実装には，MeCab で用いられている ゼロコピーや mmap [18], J.DepP ${ }^{13)}$ でも用いられて いるキャッシュ効率化のための頻度順 ID[19] に加え て, Vaporetto や Vibrato で用いられている文字単位 で遷移するダブル配列を利用している。文字単位の ダブル配列には，バイト単位で遷移する動的ダブル 配列 cedar ${ }^{14)}$ に軽微な修正を加えたものを用いた。

## C 単語分割のみの処理効率の比較

品詞タグ付けに対するアプローチ（未知語処理,見出し語化への対応）の違いから, MeCab / Jagger と Vaporetto を形態素解析器として厳密な意味で公平に比較することは困難である。 そこで，各実装で jumandic-7.0を用いて，単語分割のみを行い，処理速度・消費メモリを比較した。なお，MeCab, Jagger については表 3,4 と同じモデルを用いた. Vaporetto については，省メモリ化のため単語分割のみの学習 データから, 単語リストとして辞書を与えて, 単語分割のみを行うモデルを再学習した ${ }^{15)}$.

表 7 単語分割の処理効率 (辞書: jumandic-7.0).

表 7 に， 3.1 節の評価方法に倣って計測した単語分割の処理効率を示す. 表で UTF-8 split は，UTF-8 で符号化された評価データを文字ごとに分割して 出力する処理である. Vaporetto の処理効率が改善し ているが，(モデルの読み込みのオーバーヘッド (約 1.7 秒) 点を考慮しても) 提案手法による処理の方が 高速かつ省メモリである.

## D ニューラル形態素解析との比較

現時点で最高精度の日本語形態素解析器である JUMAN++-V2 [2016) との比較を行った. モデルは,表 1 と同じ学習データから公式スクリプト ${ }^{17)}$ 及び，学習コーパスに対し最適化されたハイパーパラメタ を用いて学習した。なお，JUMAN++は，Wikipedia から抽出した辞書と大規模コーパスから訓練された RNN 言語モデルを追加で用いており, 精度の観点 では Jagger に不利で，速度の観点では JUMAN++に 不利な比較となっている点に注意されたい。

表 6 に jumandic-7.0 を辞書に用いた Jagger と比較 した結果を示す. Jagger と JUMAN++の解析精度の 差は, 品詞タグ付けでは大きいが単語分割では $1 \%$ 以内に収まっている。JUMAN++-V2 は JUMAN++ [21] に対して 250 倍の高速化を達成したと報告されてい るが，Jagger はその JUMAN++-V2 よりさらに 180 倍以上高速で，1/7 以下の消費メモリであった.

16) https://github.com/ku-nlp/jumanpp

17) https://github.com/ku-nlp/jumanpp-jumandic


# 埋め込み表現の意味適応による知識ベース語義曖昧性解消

水木栄
東京工業大学情報理工学院
sakae.mizuki@nlp.c.titech.ac.jp
}

岡崎直観
東京工業大学情報理工学院
okazaki@c.titech.ac.jp

## 概要

知識ベース語義曖昧性解消（WSD）の有望な方法論は，文脈依存埋め込みによる埋め込み空間上で 対象単語に最も近い語釈文の語義を選ぶことであ る. 本研究では, 語彙知識を用いて埋め込み表現を WSD に適応させる手法を提案する. 提案手法の鍵 は，関連する語義対および語義・用例対を近づけ て，無関連な語義対および異義対を遠ざけることで ある.これらを実現するため，吸引・反発学習およ び自己学習を用いる。提案手法は知識べース WSD の最高精度を達成した. また分析により, 両学習を 併用する有効性を確認した。

## 1 はじめに

語義曖昧性解消（WSD）とは，文脈を考慮して適切な語義を選択するタスクである．WSD の用途は 評判分析 $[1,2]$, 情報検索 [3], 機械翻訳 [4] がある.本研究は, WordNet [5] の語彙資源のみを用いる知識ベース WSD の精度向上に取り組む. 知識ベース WSD は教師あり WSD に対して精度面で劣るが，高 コストな語義注釈付き用例文を用いずに済む.

知識ベース WSD の有望な方法論は，文脈依存埋め込みによる最近傍法である [6]. 具体的には， BERT [7] などの事前学習ずみ言語モデルを用いて，語釈文の埋め込み一語義埋め込み一および，用例文内の対象単語の埋め込み一文脈埋め込み一を計算 し，文脈に最も近い語義を選択する。最近傍法の鍵 は，語釈文と用例文の対応付けである。すなわち埋 め込み空間上で正しい語義・用例対を近づけ，WSD に適応させたい. 語義注釈付き用例文を用いず，語彙資源のみで対応付けを改善できるだろうか?

既存研究ではふたつの改善策がある. ひとつは語彙知識による埋め込み表現の適応である. SREF [6] は，意味的に関連する語義対の埋め込みを近づけて 精度を改善した. しかし関連しない語義対や，語義・用例対は活用していない，もうひとつは文脈情

a) 吸引・ 反発学習

d) 適応後の理想

b) 自己学習

c) 距離制約図 1 提案手法の概要. BERT の語義・文脈埋め込みを変換して適応させる (上). 変換関数の最適化は，距離制約 のもとで，吸引・反発学習と自己学習を併用する（下）.

報の拡張である。COE [8] は，評価文書内の隣接文な どを用いて最高精度を達成した。しかし，SNS 短文 などの文単体には適用できず，汎用性に欠ける。

本研究は，BERT 埋め込みを変換してWSD に適応させる手法（図 1）に取り組む. 本研究の提案の 核心は，関連する語義対および語義・用例対を近づ け，関連しない語義対および異義対は遠ざけること である。具体的には，距離制約のもとで，吸引・反発学習（図 1-a) および自己学習（図 1-b）を行う.前者は語義間の識別性を，後者は語義と用例の擬似的な対応付けをそれぞれ学習する. 提案手法の主 な新規性は，知識ベース WSDへの吸引・反発学習 の適用および自己学習の併用である。埋め込み表現の意味適応手法の総称 [9] に準じて，提案手法を Semantic Specialization for WSD (SS-WSD) と呼ぶ.

実験の結果，提案手法の精度は従来の埋め込み表現適応法を上回った. また既存研究で有効とされる 最近傍語義探索の経験則を併用すると，文書の情報 を用いずに現時点の世界最高精度を達成した. 本研究の貢献は次の 2 点である. 文単体に適用可能な,吸引・反発学習と自己学習の併用による新手法の提案. 知識ベース WSD の最高精度の達成.

## 2 既存研究

## 2.1 知識ベース WSD

知識ベース WSD では古くから語釈文と用例文の 類似性が使用されている [10]. また BERT 埋め込み は文脈を考慮して疎粒度の語義を捉えるとの報告が ある [11,12]. かかる背景のもと, SREF [6] は BERT 埋め込み表現による最近傍法および，上位下位語義等との加重平均による語義埋め込み適応の有効性を 報告した.これを発展させた COE [8] は, 評価文書内 の隣接文や共起語義1)による文脈埋め込みを併用し て最高精度を達成した. 本研究は文書情報を用いず に，これらを上回る埋め込み表現適応を提案する。

## 2.2 埋め込み表現の意味適応

語彙資源に含まれる知識を事前学習ずみの埋め 込み表現に注入して意味適応させる手法は Semantic Specialization (SS) と総称される. SS の目的は, 文脈類似性に基づく意味的類似度と，語彙資源に基づく 詳細な意味関係の統合である [9]. 先行研究 $[9,14]$ は，上位下位・対義などの関係知識を用いて静的な 単語埋め込みを意味適応させ，単語間意味関係識別 タスクでの有効性を報告した. 本研究は，文脈依存埋め込みの意味適応によるWSDに取り組む。

## 3 提案手法

## 3.1 埋め込み表現の意味適応による WSD

提案手法は，BERTによる埋め込みを変換する。

$
\begin{aligned}
\mathbf{v}_{w} & =H_{w}\left(\hat{\mathbf{v}}_{w}\right) \\
\mathbf{e}_{s} & =H_{s}\left(\hat{\mathbf{e}}_{s}\right)
\end{aligned}
$

入力 $\hat{\mathbf{v}}_{w}$ および $\hat{\mathbf{e}}_{s}$ は BERT を用いて計算した文脈 $w$ および語義 $s$ の埋め込み, 出力 $\mathbf{v}_{w}$ および $\mathbf{e}_{s}$ は適応 ずみ埋め込み, $H_{w}$ および $H_{s}$ は変換関数である. 訓練時は，変換関数を学習する。具体的には $\mathbf{v}_{w}$ およ び $\mathbf{e}_{s}$ を使って吸引・反発学習および自己学習の損失加重和を最小化する．BERT 自体はファインチュー ニングしない. 埋め込みそのものを適応させるので はなく，変換関数を学習することで，任意の文脈埋 め込みを処理できるようにする．推論時は，変換し た（適応ずみの）埋め込みを用いて最近傍の語義を 選ぶ. 具体的には，曖昧性を解消する単語 $w$ および

候補語義 $s^{\prime} \in \mathcal{S}_{w}$ の埋め込みをそれぞれ変換してか ら, cosine 類似度が最大の語義 $s^{*}$ を選択する。

$
\begin{aligned}
s^{*} & =\underset{s^{\prime} \in \mathcal{S}_{w}}{\arg \max } \rho_{w, s^{\prime}} \\
\rho_{w, s} & =\cos \left(\mathbf{v}_{w}, \mathbf{e}_{s}\right)=\frac{\mathbf{v}_{w} \cdot \mathbf{e}_{s}}{\left.\|\mathbf{v}_{w}\right.\|\left.\|\mathbf{e}_{s}\right.\|}
\end{aligned}
$

訓練および推論に必要な語彙資源は WordNetから 取得する。語義の識別子は sense key である. BERT による文脈・語義埋め込みの計算方法は, 先行研究 [6] にならう (付録 B). 語義埋め込みの計算には レンマ・同義語・語釈文・例文の連結を使用する.

## 3.2 変換関数

埋め込みを適応させる変換関数（式 2）は，順伝播型 NN（FFNN）による残差接続で定式化する2).

$
\begin{gathered}
\mathbf{v}_{w}=H_{w}\left(\hat{\mathbf{v}}_{w}\right)=\hat{\mathbf{v}}_{w}+\epsilon\left.\|\hat{\mathbf{v}}_{w}\right.\| F_{w}\left(\hat{\mathbf{v}}_{w}\right) \\
\mathbf{e}_{s}=H_{s}\left(\hat{\mathbf{e}}_{s}\right)=\hat{\mathbf{e}}_{s}+\epsilon\left.\|\hat{\mathbf{e}}_{s}\right.\| F_{s}\left(\hat{\mathbf{e}}_{s}\right) \\
F_{w}(\cdot)=2 \sigma\left(\operatorname{FFNN}_{w}(\cdot)\right)-1 \\
F_{s}(\cdot)=2 \sigma\left(\operatorname{FFNN}_{s}(\cdot)\right)-1
\end{gathered}
$

$\sigma$ はシグモイド関数である. $\epsilon$ は変換による移動 を調整するハイパーパラメータである。具体的に は，変換前の BERT 埋め込みからの相対 L2 距離を $\left.\|\mathbf{v}_{w}-\hat{\mathbf{v}}_{w}\right.\| /\left.\|\hat{\mathbf{v}}_{w}\right.\| \leq \epsilon \sqrt{N_{d}}$ に抑える ${ }^{3)}$. この距離制約 の意図は，自己学習の促進である，BERTによる類似度特性を適度に保つことで，語義・用例の不正確 な対応付けによる精度低下の悪循環を回避する. 距離制約の有効性は実験的に検証する（§ 5.2）.

## 3.3 訓練の目的関数

訓練時の目的関数は，吸引 - 反発学習損失 $L^{\mathrm{AR}}$ お よび自己学習損失 $L^{S T}$ の加重和である.

$
L=L^{\mathrm{AR}}+\alpha L^{\mathrm{ST}}
$

$\alpha$ は自己学習の重要度を制御するハイパーパラメー タである。両学習を併用する動機は，相互補完的な 役割にある。吸引・反発学習は語義間の識別性に寄与するが，語義・用例対への教師信号はない。一方 で自己学習（§ 3.3.2）は語義・用例対への教師信号 を提供するが，単体では BERT が既に対応付けた語義・用例対を強化するのみで新規の情報は限られる はずである。その効果は実験的に検証する（§ 5.1）.

2）層数は 2，活性化関数は ReLU とする.

3）残差接続 $F$ の出力は各次元要素が $[-1,1]$ に制約されるた め. $N_{d}$ は次元数. bert-large-cased では $N_{d}=1,024$.

## 3.3.1 吸引・反発学習

吸引・反発学習に用いる語義対は，WordNet の意味関係知識から作成する. 具体的には語義 $s$ に対し $\tau$, 関連 $\delta_{s}^{P}$, 異義 $\delta_{s}^{N}$, 無関連 $\delta_{s}^{U}$ の 3 種類の語義集合を取得する． $\mathcal{S}_{S}^{P}$ は同義や上位下位など，意味関係でつながる語義である. 正確な定義は先行研究 [6] に従う（付録 A）. $\delta_{s}^{N}$ は共通のレンマを持つ異 なる語義である ${ }^{4)} . \delta_{s}^{U}$ は乱択した語義である. 語義の統計量を付録表 5 に示す.

吸引・反発損失 $L^{\mathrm{AR}}$ の定式化は，対照損失を用い る. 具体的には語義 $s$ に対して, 関連 $\delta_{s}^{P}$ を近づけ て，異義 $\delta_{s}^{N}$ および無関連 $\delta_{s}^{U}$ を遠ざける.まず，乱択ミニバッチ内の語義 $s \in \mathcal{S}^{B}$ を所与とする. 次 に $s$ を除いたものを無関連 $\mathcal{S}_{S}^{U}=\mathcal{S}^{B} \backslash\{s\}$ とする. 同様に $s_{p}$ は $\delta_{s}^{P}$ から 1 個を乱択， $\tilde{S}_{s}^{N}$ は $\delta_{s}^{N}$ から最大 5 個を乱択する。 $L^{\mathrm{AR}}$ の定義は以下のとおり ${ }^{5)}$.

$
\begin{gathered}
L^{\mathrm{AR}}=-\sum_{s \in \mathcal{S}^{B}} \ln \frac{\exp \left(\beta \rho_{s, s_{p}}\right)}{\sum_{s^{\prime} \in\left(\left.\{s_{p}\right.\} \cup \mathcal{S}_{s}^{U} \cup \tilde{\mathcal{S}}_{s}^{N}\right)} \exp \left(\beta \rho_{s, s^{\prime}}\right)} \\
\rho_{s, s^{\prime}}=\cos \left(\mathbf{e}_{s}, \mathbf{e}_{s^{\prime}}\right)
\end{gathered}
$

## 3.3.2 自己学習

自己学習に用いる語義 - 用例対は, WordNet の語義目録から作成する. 具体的には，対象単語 $w$ のレ ンマ・品詞ペアに紐づく語義の集合 $S_{w}$ を取得する.

自己学習損失 $L^{\mathrm{ST}}$ の定式化は，用例に最も近い語義との類似度を最大化する. すなわち, 最近傍語義 を擬似的な正解とする学習である. 具体的には，用例文に含まれる対象単語 $w \in \mathscr{W}^{B}$ の候補語義集合 $S_{w}$ を取得する. そして単語と語義の埋め込みをそ れぞれ変換して cosine 類似度を計算し，候補内での 最大値を取る.

$
\begin{gathered}
L^{\mathrm{ST}}=\sum_{w \in \mathscr{W}^{B}}\left(1-\max _{s \in \mathcal{S}_{w}} \rho_{w, s}\right) \\
\rho_{w, s}=\cos \left(\mathbf{v}_{w}, \mathbf{e}_{s}\right)
\end{gathered}
$

最近傍語義は不変ではなく，変換関数の学習につれ て変わることに注意されたい，変化させる意図は ブートストラップである。すなわち訓練が進捗して 精度が向上する過程で，擬似正解の正確性も向上す る好循環を期待する。変換前後の距離制約（§ 3.2） はその逆，すなわち悪循環を回避する意図である。

4）すなわち，多義語の語義集合から自身を除いたもの.

5）距離学習の先行研究 $[15,16]$ に倣い， $\beta=64$ に設定した.

## 3.4 Try-again Mechanism (TaM) 経験則

推論で最近傍語義を選ぶとき, Try-again Mechanism (TaM) なる経験則が有効であると知られている $[17,6,8]$. そこで，提案手法に TaMを併用する効果 を報告する．TaM の概要は，候補語義を 2 つに絞り 込み，各語義が属する意味カテゴリとの類似度を考慮して再順位付けする処理である。具体的なアルゴ リズム（付録 C）は，先行研究 [17] を参照されたい.

## 4 実験

吸引・反発学習の訓練データとなる語義対は WordNetを用いた（語義数は 206,949）。自己学習 の用例文は，正解語義を削除した ${ }^{6)}$ SemCor コーパ ス [20]を用いた（単語数は 226,036），ハイパーパラ メータ調整（付録 D）の開発データは，評価データ のサブセット SE07 を使用した. WSD タスクの評価 データ・方法は, 標準評価プロトコル [21] に従った.

表 1 にWSD タスクの性能を示す. 提案手法

ベースの先行研究を上回った. 特に $\mathrm{TaM}$ 経験則併用時の SS-WSD $\mathrm{k}_{\mathrm{kb}}$ は，文のみの情報を用いるにも関わ らず，既存の最高精度である COE 0.8 ポイント上回り, 知識ベース WSD の最高精度を更新した. TaM 経験則の寄与は+2.2 ポイント（SS-WSD $\left.\mathrm{kb}_{\mathrm{kb}}-\mathrm{SS}-\mathrm{WSD}_{\mathrm{emb}}\right)$ だった.

次に， TaM 経験則を使用しない場合に注目す る. 提案手法による適応の効果は+9.3 ポイント （SS-WSD emb $-\mathrm{BERT})$ だった. 関連語義対の吸引のみ で適応を行う先行研究 SREF の効果は+5.4 ポイント （SREF emb $-\mathrm{BERT}$ ）なので，提案手法は語彙知識の活用効率が高いことが示唆される。また品詞別に効果を 調べると，動詞の 10.2 ポイントが最大である. この 結果は，動詞の関連語義数・異義数が平均 13.0 およ び 4.1 個と最多であること（付録表 5），すなわち吸引・反発学習の教師信号が豊富な事実と整合する.

最後に, 教師ありWSD の先行研究と比較する.用例文の正解語義を用いて語義埋め込みを計算する Sup-kNN および，正解の語義・用例対を用いて BERT をファインチューニングする BEM に対して，提案手法 SS-WSD $\mathrm{emb}_{\mathrm{mb}}$ との差はそれぞれ +1.4 と -4.1 ポイント だった. 提案手法が教師あり WSD の性能に近づき つつあることは，特筆すべき結果である.

6）自己学習に必要なのはレンマ・品詞のみであるため. 形態素解析・複単語表現解析ずみ平文コーパスでも代用できる.

(括弧内)，および先行研究最高精度との有意差（スチューデントの両側 $t$ 検定， $*: p<0.05$ )を報告. 太字は各区分の最高精度. 下線は開発データの精度. “文書” 列は推論時の文書情報の要否. $\{$ BEM, Sup-KNN, SREF kb, COE $\}$ は原論文から引用.

} & BERT & $x$ & 67.8 & 62.7 & $\overline{54.5}$ & 64.5 & 72.3 & 67.8 & 52.3 & 74.0 & 77.7 & 65.6 \\

表 2 提案手法の一部無効化による性能変化. アブレー ション列は無効化した対象. $\Delta$ 列は無効化前との差分.全差分は統計的に有意 (Welchの両側 $t$ 検定, $p<0.05$ ).

表 3 語義対, 正解語義・用例対の平均 cosine 類似度.

## 5 考察

## 5.1 目的関数の効果

表 2 に，目的関数（§3.3）の一部無効化による性能変化を示す．変化から有効性の源泉を探る。

吸引・反発学習または自己学習を無効化すると， それぞれ 3.3 と 4.4 ポイント性能が低下する. ゆえ に両学習の併用は相補的であることが示唆される.

吸引・反発学習から無関連語義または異義との反発を無効化すると，精度はそれぞれ 5.0 および 1.4 ポイント低下する. したがって意味的なつながりが ない，または異なる語義を遠ざけることはいずれも 有効である。なお無関連語義の寄与が異義を上回る 理由は, 訓練事例数が考えられる。前者は 255 個 ${ }^{7}$ であるが，後者は平均 1.3 個（付録表 5）である.

文脈埋め込みの変換関数を無効化すると，精度は 3.2 ポイント低下する. したがって語義・文脈埋め 込みはいずれも適応させるべきであり，SERFのよう な語義埋め込みの適応のみでは不十分である。

表 3 に類似度の変化を示す. 適応により，無関連

図 2 埋め込み変換関数の距離制約ハイパーパラメータ $\epsilon$ （§3.2）と WSD 性能の関係. デフォルト設定（ $\epsilon=0.015 ）$ の精度を水平点線で表示. *は精度差分の統計的有意性 (Welch の両側 $t$ 検定, $*: p<0.05, * *: p<0.005$ ).

および異義がお互いに離れ，正解語義・用例が近づ いた.この結果は提案手法の狙いと整合している.

## 5.2 距離制約の効果

図 2 に，変換による移動を制約するハイパーパラ メータ $\epsilon$ の性能への影響を示す. $\epsilon$ に対して精度は 逆 $\mathrm{U}$ 字曲線を示すことから，厳しい制約（ $\epsilon$ 小）と 緩い制約 $(\epsilon$ 大) の中間が最適であることが分かる. ゆえに，意味適応を有効に機能させるため，適応時 の類似度空間の変化を制限することが重要である。

## 6 まとめ

本研究では, BERT が計算する語義・文脈埋め込 みを，語彙知識を用いて WSD に適応させる手法を 提案した. 提案手法の性能は，文書情報を用いずに 従来の知識ベース WSD 最高精度を上回った. これ により，文単体のみでも意味適応による高精度が実現できることを示した，有効性の主要因は，吸引・反発学習と自己学習の併用, 文脈埋め込みの適応, および変換時の距離制約であることを示した。

語彙資源のみで高精度を実現する本手法は，資源 が乏しい言語 [22]に好適である. 多言語モデルによ る英語からのゼロショット転移学習，および多言語語彙資源の学習による多言語 WSDに取り組みたい.

## 謝辞

本研究は JSPS 科研費 $19 H 01118$ の助成を受けた.

## 参考文献

[1] Chiraag Sumanth and Diana Inkpen. How much does word sense disambiguation help in sentiment analysis of micropost data? In Proceedings of the 6th Workshop on Computational Approaches to Subjectivity, Sentiment and Social Media Analysis, WASSA@EMNLP 2015, pp. 115-121, 2015.

[2] Chihli Hung and Shiuan-Jeng Chen. Word sense disambiguation based sentiment lexicons for sentiment classification. Knowledge-Based Systems, Vol. 110, pp. 224-232, 2016

[3] Zhi Zhong and Hwee Tou Ng. Word sense disambiguation improves information retrieval. In Proceedings of the 50th Annual Meeting of the formation retrieval. In Proceedings of the 50th Annual Meeting

[4] Niccolò Campolungo, Federico Martelli, Francesco Saina, and Roberto Navigli. Dibimt: A novel benchmark for measuring word sense disambiguation biases in machine translation. In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics, pp. 4331-4352, 2022 .

[5] Christiane Fellbaum. WordNet: An Electronic Lexical Database. The MIT Press, 1998.

[6] Ming Wang and Yinglin Wang. A synset relation-enhanced framework with a try-again mechanism for word sense disambiguation. In Proceedings of the $\mathbf{2 0 2 0}$ Conference on Empirical Methods in Natural Language Processing, pp. 6229-6240, 2020.

[7] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: pre-training of deep bidirectional transformers for language understanding. In pre-training of deep bidirectional transformers for language understanding. In of the Association for Computational Linguistics: Human Language Technologies, pp. 4171-4186, 2019.

[8] Ming Wang, Jianzhang Zhang, and Yinglin Wang. Enhancing the context representation in similarity-based word sense disambiguation. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pp. 8965-8973, 2021.

[9] Ivan Vulic and Nikola Mrksic. Specialising word vectors for lexical entailment. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 1134-1145, 2018.

[10] Michael Lesk. Automatic sense disambiguation using machine readable dictionaries: how to tell a pine cone from an ice cream cone. In Proceedings of the 5th Annual International Conference on Systems Documentation, SIGDOC 1986, pp. 24-26, 1986 .

[11] Emily Reif, Ann Yuan, Martin Wattenberg, Fernanda B. Viégas, Andy Coenen, Adam Pearce, and Been Kim. Visualizing and measuring the geometry of BERT. In Advances in Neural Information Processing Systems 32. pp. 8592-8600, 2019 .

[12] Daniel Loureiro, Kiamehr Rezaee, Mohammad Taher Pilehvar, and José Camacho-Collados. Analysis and evaluation of language models for word sense disambiguation. Comput. Linguistics, Vol. 47, No. 2, pp. 387-443, 2021 .

[13] William A. Gale, Kenneth Ward Church, and David Yarowsky. One sense per discourse. In Speech and Natural Language: Proceedings of a Workshop Held at Harriman, New York, USA, February 23-26, 1992, 1992.

[14] Kim Anh Nguyen, Maximilian Köper, Sabine Schulte im Walde, and Ngoc Thang Vu. Hierarchical embeddings for hypernymy detection and directionality. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, pp. 233-243, 2017.

[15] Jiankang Deng, Jia Guo, Niannan Xue, and Stefanos Zafeiriou. Arcface: Additive angular margin loss for deep face recognition. In IEEE Conference on Computer Vision and Pattern Recognition, pp. 4690-4699, 2019.

[16] Hao Wang, Yitong Wang, Zheng Zhou, Xing Ji, Dihong Gong, Jingchao Zhou, Zhifeng Li, and Wei Liu. Cosface: Large margin cosine loss for deep face recognition. In 2018 IEEE Conference on Computer Vision and Pattern Recognition, pp. 5265-5274, 2018.

[17] Ming Wang and Yinglin Wang. Word sense disambiguation: Towards interactive context exploitation from both word and sense perspectives. In putational Linguistics and the 11th International Joint Conference on Natural Language Processing, pp. 5218-5229, 2021.

[18] Daniel Loureiro and Alípio Jorge. Language modelling makes sense: Propagating representations through wordnet for full-coverage word sense disamfor Computational Linguistics, pp. 5682-5691, 2019

[19] Terra Blevins and Luke Zettlemoyer. Moving down the long tail of word sense disambiguation with gloss informed bi-encoders. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 1006-1017, 2020.

[20] George A. Miller, Claudia Leacock, Randee Tengi, and Ross Bunker. A semantic concordance. In Human Language Technology: Proceedings of a Workshop Held at Plainsboro, New Jersey, USA, March 21-24, 1993, 1993 .

[21] Alessandro Raganato, José Camacho-Collados, and Roberto Navigli. Word sense disambiguation: A unified evaluation framework and empirical comparison. In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics, pp. 99-110, 2017.

[22] Tommaso Pasini. The knowledge acquisition bottleneck problem in multilin- gual word sense disambiguation. In Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, pp. 4936-4942, 2020

[23] Yinglin Wang, Ming Wang, and Hamido Fujita. Word sense disambiguation: A comprehensive knowledge exploitation framework. Knowledge Based System, Vol. 190, p. 105030, 2020.

[24] Michele Bevilacqua and Roberto Navigli. Breaking through the $80 \%$ glass ceiling: Raising the state of the art in word sense disambiguation by incorporating knowledge graph information. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 2854-2864, 2020 .

[25] Caterina Lacerra, Michele Bevilacqua, Tommaso Pasini, and Roberto Navigli. CSI: A coarse sense inventory for $85 \%$ word sense disambiguation. In The Thirty-Fourth AAAI Conference on Artificial Intelligence, AAA 2020, The Thirty-Second Innovative Applications of Artificial Intelligence Conference, IAAI 2020, The Tenth AAAI Symposium on Educational Advances in Artificial Intelligence, EAAI 2020, pp. 8123-8130, 2020.

[26] Takuya Akiba, Shotaro Sano, Toshihiko Yanase, Takeru Ohta, and Masanori Koyama. Optuna: A next-generation hyperparameter optimization framework. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining, pp. 2623-2631, 2019.

[27] Tommaso Pasini, Alessandro Raganato, and Roberto Navigli. XL-WSD: an extra-large and cross-lingual evaluation framework for word sense disambiguation. In Thirty-Fifth AAAI Conference on Artificial Intelligence, AAAI 2021, Thirty-Third Conference on Innovative Applications of Artificial Intelligence, IAAI 2021, The Eleventh Symposium on Educational Advances in Artificial Intelligence, EAAI 2021, pp. 13648-13656, 2021.

[28] Sameer Pradhan, Edward Loper, Dmitriy Dligach, and Martha Palmer Semeval-2007 task-17: English lexical sample, SRL and all words. In Proceedings of the 4th International Workshop on Semantic Evaluations SemEval@ACL 2007, pp. 87-92, 2007.

[29] Jens Behrmann, Will Grathwohl, Ricky T. Q. Chen, David Duvenaud, and Jörn-Henrik Jacobsen. Invertible residual networks. In Proceedings of the 36th International Conference on Machine Learning, Vol. 97 of Proceedings of Machine Learning Research, pp. 573-582, 2019.

## A 語彙資源

表 4 WordNet 語彙資源の語義の具体例

表 4 に，提案手法が使用する語彙資源の具体例として，語義 computer\%1:06:00: :8) を示す.

関連語義の定義は先行研究 [6] の論文および実装9) に 従う，具体的には，それぞれの sense key に対して，まず derivationally_related_forms 関係にある sense keys を加 えて集合を拡張する. 次に sense keys が接続する synsets を収集する。そして，各 synset に対して，表 6 で示した 意味関係にある synsetを加えて集合を拡張する．最後に， synsets に属する sense keys を収集し，関連語義とする ${ }^{10)}$.

## B BERTによる埋め込みの計算

BERTによる埋め込みの計算は，先行研究 $[23,24,6]$ に 倣う。モデルは bert-large-cased ${ }^{11}$ を用いる. エンコー ド時には [CLS]および [SEP] トークンを付与して, 次元要素ごとの最終 4 層の和を，サブワードの埋め込みとする。文脈埋め込みは，対象単語を構成するサブワードの平均 とする. 語義埋め込みの計算は，先行研究 SREF [6] に従 う. 具体的には, 所与の sense key に対して，レンマ・同義語 $n$ 個・語釈文・例文 $m$ 個からなる連結文をエンコードす る. そして連結文を構成する全サブワードの平均を，語義埋め込みとする。連結文のテンプレートを以下に示す.

具体例として, 語義 computer\%1:06:00: : の連結文を示す. computer - computer, computing device, data processor, ... - a machine for performing calculations automatically

なお，WordNet 語義の大半は例文がないか，短文であ る. 先行研究 [6] は独自に収集した例文を併用している が，我々は WordNet に収録された例文のみを使用した。

## C Try-again Mechanism (TaM)

Try-again Mechanism (TaM) はいくつかの派生版があ る $[6,8,17]$. 本研究では簡便性に優れる Wang ら [17] のア ルゴリズム ${ }^{12)}$ を使用する。具体的には，対象単語 $w$ に対 する類似度 $\rho_{w, s}$ （式 4）が上位 2 個の候補語義 $s \in\left.\{s_{1}, s_{2}\right.\}$ について，各語義が属する Coarse Sense Inventory (CSI) [25]

8）単語 computer の “計算機” の意味を指す.なお異義 computer\%1:18:00: : は“計算手”の意味を指す.

9) https://github.com/lwmlyy/SREF

10）実装には nltk.corpus.wordnet package を用いた.

11）実装には transformers package を用いた。

12) https://github.com/lwmlyy/SACE表 5 WordNet 語彙資源の統計量（関連・異義数は平均値）

表 6 関連語義の収集に使用する WordNet の意味関係

の意味カテゴリとの類似度を加算した類似度 $\rho_{w, s}^{+}$を計算 する. そのうえで $\rho_{w, s}^{+}$が最大の語義を選択する.

$
\rho_{w, s}^{+}=\rho_{w, s}+\max _{s^{\prime} \in \mathcal{S}_{s}^{\mathrm{CSI}}} \rho_{w, s^{\prime}}
$

$\delta_{s}^{C S I}$ は, 語義 $s$ と同じ意味カテゴリに属する語義の集合13) である. CSI は WordNet 語義を 45 個の意味カテゴリ に分類 ${ }^{14)}$ した語義目録である. よって式 14 の右辺第 2 項 は，粗粒度で同一視できる語義との類似度を表している。

## D 実験設定の詳細

訓練時の最適化アルゴリズムは，Adam (学習率 0.001) を用いた. エポック数は 15 とした. 提案手法のハイパー パラメータは，ミニバッチサイズ $N_{B}=256$, 自己学習の 重要度 $\alpha=0.2$, 変換時の距離制約 $\epsilon=0.015$ に設定した.

ハイパーパラメータの調整は，開発データによる八 イパーパラメータ最適化を使用した。具体的には，パ ラメータ空間 $N_{B} \in\{64,128,256,512,1024\} ， \alpha \in[0.1,10]$, $\epsilon \in[0.001,0.1]$ を探索 ${ }^{15)}$ したあとで， $\epsilon \in[0.01,0.02]$ を刻 み幅 0.001 でグリッドサーチした．最適化の目標は，TaM 経験則無効時の WSD タスク精度とした. 開発データは先行研究 [27] の慣習にならい，評価データのサブセットで ある SE07 (SemEval-2007 [28])を使用した。なお最適化の 結果，256より大きいミニバッチサイズは性能に寄与しな かった. また $\alpha$ は $\epsilon$ よりも鈍感であった.

WSD タスクの評価データ・方法は，標準評価プロトコ ル [21] に従った. 推論アルゴリズムは， TaM 経験則無効 の場合は式 4 ，有効の場合は式 14 である. 評価指標はマ イクロ $\mathrm{F}$ 値である ${ }^{16)}$. 訓練は異なるランダムシードで 5 回実行して，平均および標準偏差を報告した。

## E 性能が向上しなかった手法

予備実験で性能向上に寄与しなかった手法を報告する。

・吸引・反発学習で，異義に重み付けすること

・自己学習で，非最近傍の候補語義を遠ざけること

・移動距離に対する L2 正則化を併用すること

・変換関数を可逆 [29] にすること

・語義・文脈変換関数をパラメータ共有すること

13）語義が CSI に未採録の場合は空集合になる.

14）たとえば語義 computer $\% 1: 06: 00:$ : は，意味カテゴリ CRAFT_ENGINEERING_AND_TECHNOLOGY_に分類される。

15） 探索アルゴリズムは optuna [26] の TPESampler を用いた.

16）提案手法の予測語義数は常に 1 個なので，マイクロ $\mathrm{F}$ 值 は適合率および再現率と一致する [27].


# 文書の分散表現を用いたトピック分析手法の提案

中山悠理 ${ }^{1}$ 小林亮太 ${ }^{1,2}$
1 東京大学大学院 新領域創成科学研究科
2 東京大学 数理・情報教育研究センター
\{3645588575,r-koba\}@edu.k.u-tokyo.ac.jp

## 概要

トピック分析は，多数の文書から主要なテーマを 抽出する技術であり，大規模なテキストデータの分析を可能にする．トピック分析を行う代表的手法と してトピックモデル (LDA など) があり，様々な分野に応用されてきた. 一方で, この手法を文書の単語数が少ないソーシャルメディアデータなどに適用 すると，人間が解釈しやすいテーマ(トピック)が得 れないという問題がある。本研究では文書の分散表現に基づくトピック分析手法を提案し，2つのデー タセットを用いてトピック分析手法の性能を評価 した.

## 1 はじめに

デジタル化が進み，ニュース，Webページ，論文，書籍など様々な形のテキストデータを利用できるよ うになりつつある. テキストデータを整理，理解す るための 1 つの方法は，人間が実際にテキストを読 んで意味解釈を行うことである. しかし，オンライ ン上のテキストデータは爆発的に増えているため，全てのデータを人手で意味解釈することは不可能で ある.

テキストデータの例として，多数のニュース記事 (文書) の集合を考えよう，それぞれのニュース記事 には，政治，経済，スポーツ，科学など記事のテー マがあるだろう．トピック分析の目的は，テキスト データから記事のテーマを自動的に発見し，ニュー ス記事をテーマが似たいくつかのグループに分類 することである．トピック分析を行う代表的手法 として，トピックモデル (Latent Dirichlet Allocation, LDA) [1] が挙げられる. LDA は，1)トピックはいく つかの単語の組み合わせによって決まる，2) 文書 はいくつかのトピックが組み合わさったものであ る，という仮定のもとで，多量のテキストデータか らトピック群を抽出する統計モデルである。トピッ
クモデルは，テキストデータの分析で広く使われ ており，バイオインフォマティクス [2], 科学計量学 (scientometrics) [3], 政治学 [4] などに応用されて いる.

Twitter や Reddit などのソーシャルメディアから 得られるテキストデータの分析は, 東日本大震災 [5] [6] [7] や Covid-19 [8] などの災害，あるいは，選挙 [9] や Covid-19 ワクチン [10] [11] などの社会的課題に対する人々の認識を把握することへの一助 となることが期待されている。 その一方で，ソー シャルメディアデータの特徵として，1) 文書 (ツ イートやコメント)の単語数が少ない，2）誤字脱字 などにより出現頻度の少ない単語が多数現れる， という 2 点が挙げられる. そのため，このような データにLDAを適用すると，人間にとって解釈困難なトピックが得られてしまう. 前者の問題 (文書 の短さ) に対応するため, Author Topic Model [12] や TwitterLDA [13] など LDA を拡張したモデルが提案 されている. しかしながら，ソーシャルメディア データからトピック抽出を行うことは依然として困難な状況にある。

本研究では, 文書の分散表現 (文書の埋め込み) に 基づくトピック分析手法を提案する。 そして，20 Newsgroup と AG's corpus の 2 つのデータセットを 用いて提案手法の性能評価を行い，既存手法である LDA と比較を行った.

## 2 提案手法

本研究では，多量の文書を $K$ 個のトピックに分類 する手法を提案する。提案手法は，

・文書をベクトルに埋め込む（3.1 節）.

・得られた埋め込みべクトルを混合ガウスモデル を用いてクラスタリングを行う（3.2 節）。

の 2 段階に基づく．以降では，上の 1)，2にについて
説明する。

## 2.1 埋め込みべクトルの計算

この節では，文書 (単語列) から埋め込みベクトル を計算する方法を説明する。自然言語処理で広く用 いられている単語埋め込みは文書中の個々の単語を ベクトルに変換することであるが，文書埋め込みは 文書全体を 1 つのベクトルに変換することである. これにより，単語数が異なる文書群をべクトル群と して表現できる.

本研究では 2 つの機械学習モデル, doc2vec [14] と Sentence-BERT (SBERT) [15] を用いた. doc2vec は，単語の埋め込みべクトルを計算する word2vec [16] か ら着想を得て開発されたものである. doc2vecでは 埋め込みべクトルの次元 $D$ を変えることができる.今回は $D=2,4, \cdots, 160$ を検討した. 本研究では, Python ライブラリ gensim[17]を使用して doc2vec の 埋め込みベクトルを計算した.

SBERT [15] は NLI データセットから事前学習さ れた機械学習モデルである. SBERT は, 文書埋め込 みべクトルを得るため，BERT [18]に pooling 処理を 追加したものである. SBERT の出力ベクトルの次元は変更できないため, 固定値 $D=384$ を用いた.本研究では, hugging face を通して公開されている all-MiniLM-L6-v2 ${ }^{1)}$ を使用した.

前処理として, 文書べクトル $\mathbf{v}_{i}$ から平均ベクトル を引いて中心化された文書べクトル $\overline{\mathbf{v}}_{i}$ を計算した.

$
\overline{\mathbf{v}}_{i}=\mathbf{v}_{i}-\mathbf{m}_{\mathbf{v}}
$

ただし, $\mathbf{m}_{\mathbf{v}}=\frac{1}{n} \sum_{i=1}^{n} \mathbf{v}_{i}$ は平均ベクトル,$n$ はデータ セットの文書数を表す。必要に応じて，中心化され たべクトル $\overline{\mathbf{v}}_{i}$ のノルムが 1 になるように正規化を 行なった.

## 2.2 混合ガウス分布によるクラスタリング

次に，埋め込みべクトルを混合ガウスモデルを用 いてクラスタリングした. 埋め込みベクトルの確率分布 $p(\mathbf{x})$ を以下の式で表される混合ガウス分布で フィットした:

$
p(\mathbf{x} \mid \mu, \boldsymbol{\Sigma}, \pi)=\sum_{i=1}^{K} \pi_{i} \mathcal{N}\left(\mathbf{x} \mid \mu_{i}, \boldsymbol{\Sigma}_{i}\right)
$

ただし, $K$ はトピック数, $\mathcal{N}\left(\mathbf{x} \mid \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)$ は $D$ 次元ガ ウス分布 (平均ベクトル: $\mu_{i}$, 共分散行列: $\boldsymbol{\Sigma}_{i}$ ), $\pi_{i}$ は 混合比を表す.

1) https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2本研究では，共分散行列 $\Sigma_{i}$ として，以下の 3 つの 場合で比較を行なった:
- full: $\Sigma_{i}$ は正定値行列 (制約なし).
- diag: $\Sigma_{i}$ は正定値かつ対角行列.
- scalar: $\Sigma_{i}$ は正定値かつ単位行列の定数倍.

パラメータ $\mu_{i}, \Sigma_{i}, \pi_{i}$ は逐次的に計算することによっ て推定できる [19]. 混合ガウス分布のパラメータ推定は，python パッケージ scikit-learn[20] を用いて行 なった。

## 3 実験

## 3.1 データセット

本研究では, 20 Newsgroups(20News) [21], AG's corpus [22]の 2 つのデータセットを用いた. 20News はニュース記事のデータが 20 種類のテーマ (医学,銃問題, 中東の政治など) に分類されたものである. このデータセットには，自然言語でない長文が含ま れていたため，単語数が上位 $0.01 \%$ の文書を除いて 分析した.

AG's corpus は 12 万件のニュース記事を集めたも のであり，ニュース記事の本文とタイトルが 4 つ のテーマ (世界, 科学/技術，スポーツ，ビジネス) に分類されている. データセットを，ニュース記事 (AgNews) とタイトル (AgTitle) に分けて分析を行 なった. 表 1 は，データセットの平均単語数，文書数を示す.

表 1 本研究で用いたデータセット

## 3.2 評価指標

本研究では，抽出されたトピックの性能を評価す るための指標として，補正された相互情報量 (AMI, Adjusted Mutual Information) [23] と Coherence スコア $C_{V}$ [24] を用いた. AMI は分類の類似度についての 指標である．今回は人手でつけられた文書の分類結果と，トピック抽出モデルで得られた分類結果の類似度を AMI で評価し，AMI をトピックの分類精度 であると考える。 AMI は 1 以下の值を取る指標であ る. 2 つの分類結果が完全に一致するときのみ AMI

は 1 をり，2つの分類結果の類似度はランダムな 場合と同程度の場合には AMI は 0 をとる. AMI は Python ライブラリ scikit-learn[20] を用いて計算した.

Coherence score $C_{V}$ はトピックの解釈性について の指標であり，トピック内の文書の単語分布によ り計算される。 $C_{V}$ は人間による解釈結果と相関 があり，人にとって解釈しやすいトピックでは高 い値を取る傾向にある. $C_{V}$ は Python ライブラリ gensim [17] を用いて計算した。

## 3.3 埋め込み方法の検討

まず，埋め込み次元を変更できる doc2vec につ いて，次元が分類精度 (AMI) に与える影響を調べ た. 混合ガウスモデルの共分散行列を scalar とし て，トピック数 $K$ はそれぞれのデータセットと同じ 数 (20News: 20, AgNews: 4) にしてトピック抽出を行 なった. 図 1 は，2つのデータセット (A. 20news, B. AgNews) から分類精度を計算した結果である。そ の結果，分類精度は埋め込みの次元に大きく影響を 受け, 20News では 80 次元, AgNews では 8 次元，と すると精度が最も高くなった. また，埋め込み次元 が低次元の場合を除き，正規化 (図 1: オレンジ) は 分類精度を向上させた.

次に，SBERTを用いて文書埋め込みを計算し，正規化が分類精度 (AMI) に与える影響を調べた (表 2). doc2vec の時ほど大きな効果はないものの，正規化 はSBERT を用いた場合でも分類精度を向上させる ことがわかった。また，最適な埋め込み次元を用い た doc2vec と SBERT で分類精度 (AMI)を比較した (表 3). いずれのデータセットに対しても，SBERT の方が高い分類精度を達成した。

以降の解析では，データセットに応じて埋め込み 次元を調整する必要がなく, 高い分類精度を達成し たSBERT (正規化あり)を用いて文書埋め込みを行 なった.

表 2 正規化が分類精度 (AMI) に与える影響. 埋め込み モデルはSBERTを用いた。

埋め込み次元

埋め込み次元

図 1 埋め込み方法 (埋め込み次元と正規化) が分類精度 (AMI) に与える影響 (A. 20news, B. AgNews). 埋め込みモ デルは doc2vecを用いた。

表 3 埋め込み用いる機械学習モデルの違いによる分類精度 (AMI) の比較.太字は最も精度の高い機械学習モデル を示す.

## 3.4 混合ガウスモデルの共分散行列の検討

クラスタリングアルゴリズム ( 2.2 節) の違いが分類精度 (AMI) に与える影響を調べるため，3 種類の 共分散行列 (full， diag， scalar) を用いた混合ガウス モデルでトピック抽出を行い，分類精度を比較し た (表 4).この結果，共分散行列に制限を加えない (full) と，単位行列 (scalar) に比べて分類精度がわず かに向上することがわかった．以降では，共分散行列には制限を加えずに (full) 分析を行なった.

表 4 共分散行列が分類精度 (AMI) に与える影響. 太字 は最も精度の高い共分散行列を示す。

## 3.5 実験結果

最後に，提案手法と既存手法である LDAを用い て，文書群のトピック分析を行い，性能比較を行 なった。提案手法では，機械学習モデルSBERTを 用いて埋め込みを行い，正規化をした上で，制約 なし (full) の共分散行列を持つ混合ガウスモデル を使ってクラスタリングを行なった。また，LDA を用いた実験では，前処理として"I"，"is"，"a"な ど，文書の内容にかかわらず出現する単語（stop words) を除去し, LDA の分析には Python ライブラ リ gensim [17]を用いた。

表 5 は, 20News, AgNews の 2 つのデータセットに ついて，分類精度についての指標である AMI とト ピックの解积性についての指標である $C_{V}$ を比較し たものである. 提案手法は， AMI， $C_{V}$ のいずれの 指標についても, 既存手法 (LDA) に比べて高い性能 を達成した. この結果は, 提案手法のトピック分析結果は, 既存手法に比べて, 人間が分類した結果に より近く，トピックもより解釈しやすいものになっ ていることを示唆している.

次に，ツイートのような文書の単語数が少ない場合の性能を評価するため， AG's corpus のニュースタ イトルを文書としたデータセット (AgTitle) につい てトピック分析を行なった. ニュース記事のデータ セットと同様に，提案手法は，AMI， $C_{V}$ のいずれ の指標についても，既存手法 (LDA) に比べて高い 性能を達成した. 既存手法 (LDA) の分類精度 (AMI)
はチャンスレベルと同程度になっている.この結果は，LDA はトピック分類ができていないことを 示唆している。 その一方で，提案手法は， AgNews (ニュース記事データ)に比べると性能が低下するも のの，ニュースタイトルだけを分析した場合にも AMI: $0.50, C_{V}: 0.84$ と高い性能を示した. この性能 は, AgNewsの LDA よりも高い性能であった.

表 5 提案手法 (SBERT) と既存手法 (LDA) の性能比較.太字は精度が高い手法を示す。

## 4 おわりに

本研究では，テキストデータからトピックを抽出するタスクにおいて, 文書埋め込みと混合ガウ スモデルを組み合わせた手法を提案した。そして，人手によってトピックが付与された 20 News，AG's corpusの 2 つのデータセットを用いて，トピック分析手法の性能評価を行なった。その結果，提案手法は，既存手法である LDA に比べて高い性能であ ること，つまり，より人間に近いトピック分類を 行い (AMI が高い)，トピックが解釈しやすい (Topic Coherence $C_{V}$ が高い)ことが示された. さらに，提案手法は短い文書 (ニュースタイトルのみ) に対して も，高性能なトピックを抽出できることを示唆する 結果が得られた。

## 謝辞

本研究は, JSPS 科研費 JP18K11560, JP19H01133, JP21H03559, JP21H04571, JP22H03695, AMED JP21wm0525004，JST さきがけ JPMJPR1925 の支援を受けたものである.

## 参考文献

[1] David M Blei, Andrew Y Ng, and Michael I Jordan. Latent dirichlet allocation. Journal of machine Learning research, Vol. 3, pp. 993-1022, 2003.

[2] Lin Liu, Lin Tang, Wen Dong, Shaowen Yao, and Wei Zhou. An overview of topic modeling and its current ap-
plications in bioinformatics. SpringerPlus, Vol. 5, No. 1, p. 1608.

[3] Thomas L. Griffiths and Mark Steyvers. Finding scientific topics. Proceedings of the National Academy of Sciences, Vol. 101, No. suppl_1, pp. 5228-5235, 2004.

[4] Justin Grimmer and Brandon M. Stewart. Text as Data: The Promise and Pitfalls of Automatic Content Analysis Methods for Political Texts. Political Analysis, Vol. 21, No. 3, pp. 267-297.

[5] Son Doan, Bao-Khanh Ho Vo, and Nigel Collier. An Analysis of Twitter Messages in the 2011 Tohoku Earthquake. In Patty Kostkova, Martin Szomszor, and David Fowler, editors, Electronic Healthcare, Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, pp. 58-66. Springer.

[6] Misako Takayasu, Kazuya Sato, Yukie Sano, Kenta Yamada, Wataru Miura, and Hideki Takayasu. Rumor Diffusion and Convergence during the 3.11 Earthquake: A Twitter Case Study. PLOS ONE, Vol. 10, No. 4, p. e0121443.

[7] Takako Hashimoto, David Lawrence Shepard, Tetsuji Kuboyama, Kilho Shin, Ryota Kobayashi, and Takeaki Uno. Analyzing temporal patterns of topic diversity using graph clustering. The Journal of Supercomputing, Vol. 77, No. 5, pp. 4375-4388.

[8] Shu-Feng Tsao, Helen Chen, Therese Tisseverasinghe, Yang Yang, Lianghua Li, and Zahid A. Butt. What social media told us in the time of COVID-19: A scoping review. The Lancet Digital Health, Vol. 3, No. 3, pp. e175-e194.

[9] Hao Wang, Doğan Can, Abe Kazemzadeh, François Bar, and Shrikanth Narayanan. A system for real-time twitter sentiment analysis of 2012 us presidential election cycle. In Proceedings of the ACL 2012 System Demonstrations, pp. 115-120.

[10] Ryota Kobayashi, Yuka Takedomi, Yuri Nakayama, Towa Suda, Takeaki Uno, Takako Hashimoto, Masashi Toyoda, Naoki Yoshinaga, Masaru Kitsuregawa, and Luis E. C. Rocha. Evolution of public opinion on covid-19 vaccination in japan: Large-scale twitter data analysis. Journal of Medical Internet Research, Vol. 24, No. 12, p. e41928.

[11] Takako Hashimoto, Takeaki Uno, Yuka Takedomi, David Shepard, Masashi Toyoda, Naoki Yoshinaga, Masaru Kitsuregawa, and Ryota Kobayashi. Two-stage clustering method for discovering people's perceptions: A case study of the covid-19 vaccine from twitter. In 2021 IEEE International Conference on Big Data (Big Data), pp. 614-621, 2021.

[12] Michal Rosen-Zvi, Thomas Griffiths, Mark Steyvers, and Padhraic Smyth. The author-topic model for authors and documents. In Proceedings of the 20th Conference on Uncertainty in Artificial Intelligence, pp. 487-494. AUAI Press.

[13] Wayne ZHAO, Jing JIANG, Jianshu WENG, Jing HE, Ee Peng LIM, Hongfei YAN, and Xiaoming LI. TwitterLDA. SMU Research Data.

[14] Quoc Le and Tomas Mikolov. Distributed representations of sentences and documents. In Proceedings of the 31st International Conference on International Conference on Machine Learning - Volume 32, p.
II-1188-II-1196. JMLR.org, 2014.

[15] Nils Reimers and Iryna Gurevych. Sentence-bert: Sentence embeddings using siamese bert-networks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 112019.

[16] Tomás Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation of word representations in vector space. In 1 st International Conference on Learning Representations, ICLR 2013, Scottsdale, Arizona, USA, May 2-4, 2013, Workshop Track Proceedings, 2013.

[17] Radim Rehurek and Petr Sojka. Gensim-python framework for vector space modelling. NLP Centre, Faculty of Informatics, Masaryk University, Brno, Czech Republic, Vol. 3, No. 2.

[18] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[19] Christopher M. Bishop. Pattern Recognition and Machine Learning (Information Science and Statistics). Springer-Verlag, Berlin, Heidelberg, 2006.

[20] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay. Scikitlearn: Machine Learning in Python. Journal of Machine Learning Research, Vol. 12, pp. 2825-2830.

[21] Youngjoong Ko. A study of term weighting schemes using class information for text classification. In Proceedings of the 35th International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 1029-1030. Association for Computing Machinery.

[22] Xiang Zhang, Junbo Zhao, and Yann LeCun. Characterlevel convolutional networks for text classification. In Proceedings of the 28th International Conference on Neural Information Processing Systems - Volume 1, p. 649-657, Cambridge, MA, USA, 2015. MIT Press.

[23] Nguyen Xuan Vinh, Julien Epps, and James Bailey. Information theoretic measures for clusterings comparison: Is a correction for chance necessary? In Proceedings of the 26th Annual International Conference on Machine Learning, pp. 1073-1080. Association for Computing Machinery.

[24] Michael Röder, Andreas Both, and Alexander Hinneburg. Exploring the Space of Topic Coherence Measures. In Proceedings of the Eighth ACM International Conference on Web Search and Data Mining, pp. 399-408. Association for Computing Machinery.


# 自己注意機構における注意の集中が相対位置に依存する仕組み

山本悠士 松崎拓也
東京理科大学 理学部第一部 応用数学科
1419096@ed.tus.ac.jp
matuzaki@rs.tus.ac.jp

## 概要

自己注意機構において各トークンは自身の周辺の トークンに注意を集中させる傾向がある。これによ り，各トークンの出力ベクトルは周辺のトークンか らの影響を受け，ニューラル言語モデルは文脈に依存した単語埋め込みを出力できると考えられる。

本研究では，自己注意機構において各トークンが 周辺のトークンに注意を集中させるメカニズムを分析する。結果として，自己注意機構は中間層の隠れ 状態から位置埋め込みの成分をトークンの位置に関 して周期的な波形として抽出し，その波形の位相が ずれる方向に注意を集中させていることを示す.

## 1 はじめに

自然言語処理のタスクを高精度で実行するために は，文脈を捉えることが不可欠である。例えば，回帰型ニューラルネットは時系列順に単語埋め込みを 入力することで，畳み込みニューラルネットは周辺 の単語埋め込みを集約することで文脈を捉えてい る。一方，Transformer [1] には単語の位置に依存し た処理がモデル内部に存在せず，代わりに単語埋め 込みに位置埋め込みを加えたものを入力する。

アテンション重み(式 (4))を観察することは，自己注意機構の推論過程を解釈する手がかりとなる [2] [3].このような分析により，自己注意機構にお いて各トークンは自身の周辺に注意を向ける傾向が 確認されている [4]. この現象は，自己注意機構が 位置に依存しない構造をしているにも関わらず，位置に基づいた推論をしていることを示している.

本研究では，学習に基づく位置埋め込みを用いた 自己注意機構に次の性質があることを示す.
- 自己注意機構は，学習された位置埋め込みに存在する周期性を隠れ状態から抽出できる。

・時系列として見たクエリとキーの間には位相に ズレが存在し，注意はこのズレの方向に向く.以上から，注意が相対位置に依存して集中する現象 は，自己注意機構が位置埋め込み由来の周期的な成分を利用することで引き起こされていると言える.

以下，本論文では，2 節で Transformer とその派生 モデルの構成について，3節で注意が相対位置に依存するメカニズムについて述べる。具体的には，ま ず，注意が相対位置に依存する事実と位置埋め込み の周期性を確認する。次に，自己注意機構内のクエ リとキーの共通点と相違点を分析し，それらと注意 の方向の関係を示す. 最後に，4 節で結論を述べる.

## 2 Transformer のアーキテクチャ

## 2.1 位置埋め込み

本節では Transformer，BERT [5] および RoBERTa [6] の位置埋め込みについて説明する。 入力文の トークン数を $T$, 埋め込みを $d$ 次元べクトルとする と，位置埋め込みは $T \times d$ 行列として定義される。位置埋め込みの各列はトークン位置方向の時系列と みなせることに留意されたい。

Transformer の位置埋め込みは，トークンの位置を pos とするとき，各成分が式 (1-2) で定義される.

$
\begin{aligned}
P E_{(p o s, 2 i)} & =\sin \left(\text { pos } / 10000^{2 i / d}\right) \\
P E_{(p o s, 2 i+1)} & =\cos \left(\text { pos } / 10000^{2 i / d}\right)
\end{aligned}
$

Vaswani らは，式 (1-2) に回転行列を掛けると位置 posをずらすことができ，この性質が相対位置に基 づく注意を学習するように促すと推測した [1].

$
\left[\begin{array}{cc}
\cos \theta & \sin \theta \\
-\sin \theta & \cos \theta
\end{array}\right]\left[\begin{array}{c}
\sin x_{i} \\
\cos x_{i}
\end{array}\right]=\left[\begin{array}{c}
\sin \left(x_{i}+\theta\right) \\
\cos \left(x_{i}+\theta\right)
\end{array}\right]
$

一方，BERT の位置埋め込みは $T \times d$ 行列のパラ メータとして定義され，平均 0 ，標準偏差 0.02 の正規分布に従う乱数で初期化した状態から学習され る. RoBERTa は，BERT とアーキテクチャは同一だ が，事前学習の手法が改善されている。特に，BERT は事前学習の $90 \%$ を 128 トークンという短い文章

で学習しているのに対して，RoBERTa は常に最大長 である 512 トークンの文章で学習しているため, 長文に対応することができる。 そこで，本研究では各位置での学習回数の偏りがない RoBERTaを用いた.

## 2.2 マルチヘッド自己注意機構

RoBERTa の各層にあるマルチヘッド自己注意機構は，各層のヘッド数を $n$ とするとき，第 $l$ 層の隠れ状態 $X_{l} \in \mathbb{R}^{T \times d}$ とパラメータ行列 $W_{l h}^{Q}, W_{l h}^{K}, W_{l h}^{V} \in \mathbb{R}^{d \times(d / n)}(h=1, \ldots, n), W_{l}^{O} \in \mathbb{R}^{d \times d}$ により次のように定義される. 以降，第 $l$ 層の $h$ 番目のヘッドを head $(l, h)$ と略記する.

$
\begin{aligned}
A_{l h} & =\operatorname{softmax}\left(\frac{X_{l} W_{l h}^{Q}\left(X_{l} W_{l h}^{K}\right)^{T}}{\sqrt{d / n}}\right) \\
V_{l h} & =A_{l h} X_{l} W_{l h}^{V} \\
\text { MultiHead }_{l} & =\operatorname{concat}\left(V_{l 1}, \ldots, V_{l n}\right) W_{l}^{O}
\end{aligned}
$

以下，すべての層，ヘッドで共通する議論では添字 の $l, h$ を省略する。行列 $X W^{Q}, X W^{K}, A$ は，それぞ れクエリ，キー，アテンション重みと呼ばれ，Aの $(i, j)$ 成分が大きい場合, 文中の $i$ 番目のトークンが $j$ 番目のトークンに注意を向けると解釈される.

## 3 位置に基づく注意のメカニズム

本節では，まず，各へッドは注意の方向と強さに 基づいて分類できることを k-means 法を用いて確認 する (3.1 項)。次に，位置埋め込みは学習によって 周期性を獲得しており (3.2 項), 自己注意機構内の クエリとキーにも同じ周波数の成分が含まれること を示す (3.3 項)．最後に，クエリとキーを比較する と，振幅スペクトルは類似しているが位相にズレが あることについて分析し (3.4 項)，このズレの方向 が注意の向きを決定づけることを示す（3.5 項）.

分析には，事前学習済みモデルである roberta-base を用いた. ${ }^{1)}$ モデルの構造は 12 層で各層にヘッドは $n=12$ 個あり， $T=512, d=768$ である. また，図を 作成する際は文献 [1] の 1 章までの本文を用いた。

## 3.1 自己注意機構の位置依存性の概要

アテンション重み $A_{l h}$ を可視化すると，例えば， $A_{8,9}, A_{2,3}$ では各トークンは隣のトークンに強く注意を向け, $A_{1,1}, A_{7,5}$ では左右の周辺トークンへ注意を緩やかに偏らせていることが分かる（図2）。

図 1 ヘッドごとに, 100 個 の $a_{l h}$ に振られたラベルの割合を円グラフで図示した.

図 215 トークン目までの アテンション重み. 赤点線 は対角線を示す。

ヘッドの注意の傾向を調べるため，各アテンショ ン重み $A_{l h}$ について，対角成分の $t$ 個右の成分の和

$
\operatorname{tr}_{t}(A)= \begin{cases}\sum_{i=1}^{512-t} a_{i, i+t} & (t \geq 0) \\ \sum_{i=1}^{512+t} a_{i-t, i} & (t<0)\end{cases}
$

を $t=-10, \ldots, 10$ について並べたべクトル $a_{l h}=$ $\left[\operatorname{tr}_{-10}\left(A_{l h}\right), \ldots, \operatorname{tr}_{10}\left(A_{l h}\right)\right]$ を計算した. ベクトル $a_{l h}$ は， $A_{l h}$ における相対位置による注意の偏りの平均的な傾向を表す. 入力として wikitext-2 [7] から 512 トークンの文章を 100 件作成し, $100 \times 12 \times 12$ 個の ベクトル $a_{l h}$ に k-means 法を適用した. クラスタ数 を 6 とすると，ベクトル $a_{l h}$ は注意の強さと向きに 基づいて分類され，ほとんどのへッドで注意の向き は入力文に依存しないことが確認できた（図 1).

## 3.2 位置埋め込みの振幅スペクトル

RoBERTa の位置埋め込み $P E \in \mathbb{R}^{512 \times 768}$ にも Transformer と同様にトークン位置方向に周期性があ るのかを調べるために，PE の各列べクトルに対し て離散フーリエ変換を適用した:

$
\begin{aligned}
& \operatorname{spec}_{i}=\mathrm{FT}\left(P E_{1, i}, P E_{2, i}, \ldots, P E_{512, i}\right) \\
& (i=1,2, \ldots, 768)
\end{aligned}
$

得られた $P E$ の各列のスペクトルの振幅を周波数 ごとに平均したものを図 3 に示す. 振幅スペクト ルがいくつかの周波数でピークをとることから， RoBERTa の位置埋め込みは Transformer のように明示的に正弦波を用いて定義されていないにもかかわ らず，学習により周期性を獲得していると言える. また，位置埋め込みを加える前の単語埋め込み列の 振幅スペクトルにはピークが存在しないため，周期性は位置埋め込み特有の性質である。

図 3 RoBERTa の位置埋め込みの振幅 スペクトル. 青線は $\operatorname{spec}_{i}$ の平均で網掛 け部分は四分位範囲. オレンジの線は， ある入力に対する，位置埋め込みを加 える前の単語埋め込みのスペクトル。

図 4 クエリ $Q_{1,1}$ とキー $K_{1,1}$ の 5,6 列目の先頭 64 行目までの値.

図 512 個のヘッドの $X, Q, K$ の振幅 スペクトルを，各周波数について最大値をとって層ごとに図示した.

## 3.3 クエリとキーの振幅スペクトル

特異値分解を用いてクエリとキーを再定義するこ とで，自己注意機構が位置埋め込みに類似した周期的な成分を隠れ状態から抽出できることを示す.

ヘッドのパラメータ $W^{Q}, W^{K}$ は $W^{A}=W^{Q}\left(W^{K}\right)^{T}$ とおけば， $X W^{Q}\left(X W^{K}\right)^{T}=X W^{A} X^{T}$ とまとめられる ため，積 $W^{A}$ のみが意味を持つ。 つまり， $W^{Q}, W^{K}$ ないし，これらと $X$ の積であるクエリとキーの役割は相対的なものである. 実際，クエリとキーの 関係を分析する際はパラメータを以下のように再定義すると結果が解釈しやすいことが分かった. すなわち $W_{l h}^{A}=U_{l h}^{Q} S\left(U_{l h}^{K}\right)^{T}$ (S は対角行列) と特異値分解して得られる左右特異べクトルを並べた行列 $U_{l h}^{Q}, U_{l h}^{K}$ を用いて, $\operatorname{head}(l, h)$ のクエリとキーをそれ ぞれ $Q_{l h}=X_{l} U_{l h}^{Q}, K_{l h}=X_{l} U_{l h}^{K}$ と再定義する. ここ で, $X W^{A} X^{T}=X U^{Q} S\left(U^{K}\right)^{T} X^{T}=Q S K^{T}$ である.こ の $Q, K$ の各列の成分を可視化すると, 注意が相対位置に依存するへッドでは約 4～12 個の列でトーク ン位置に関して周期性が見られた（図 4，付録B）。

各層について, 隠れ状態 $X_{l}$, クエリ $Q_{l h}$, および キー $K_{l h}$ の振幅スペクトルを 12 ヘッド・ 64 次元に 渡って計算して，各周波数における振幅の最大值を 求めた（図 5). すると，位置埋め込みで見られた周波数 50 付近で振幅スペクトルが大きくなる現象が，隠れ状態では見られないがクエリとキーでは見られ た. つまり, 自己注意機構は位置埋め込み由来の周期的な成分を隠れ状態から抽出できると考えられ る.しかし，層を通過するにつれて周波数 50 付近 の振幅スペクトルは減衰することから，位置埋め込 みの影響は次第に弱まり，推論が位置に依存しにく くなると考えられる.この現象は, 下層では構文的特徵を, 上層では意味的特徴を学習するという先行研究に対応していると予想される [8].

## 3.4 位相のズレと周波数の関係

図 4 を見ると，クエリとキーの位相がずれている ことが分かる. Vaswani らの推測通り，この現象は 回転行列によりクエリとキーがトークン位置方向に 相対的にずらされた結果であることを示す.

まず， $U^{K}$ をある行列 $R$ を用いて $U^{K}=U^{Q} R$ と分解する．つまり，隠れ状態 $X$ に $U$ を掛けてクエリ $Q=X U^{Q}$ を作成した後に，さらに $R$ で変換したも のがキー $K=X U^{K}=Q R$ であると解釈し， $R$ をと にクエリとキーの関係性を調査する。

特異ベクトルの直交性より，R の成分は左右の特異ベクトルの内積であり， $R$ も直交行列となる.

$
R=\left(U^{Q}\right)^{-1} U^{Q} R=\left(U^{Q}\right)^{-1} U^{K}=\left(U^{Q}\right)^{T} U^{K}
$

上式で求めた $R$ を対角化して固有值 $\lambda_{i}$ を得る.

$
\begin{array}{r}
\Lambda=P^{-1} R P=P^{-1}\left(U^{Q}\right)^{-1} U^{K} P=\left(U^{Q} P\right)^{-1}\left(U^{K} P\right) \\
\text { ただし, } \Lambda=\operatorname{diag}\left(\lambda_{1}, \cdots, \lambda_{768}\right)
\end{array}
$

直交行列の固有值は $\lambda_{i}=\cos \theta_{i} \pm j \sin \theta_{i}$ ( $j$ : 虚数単位 $)$ という形で表せるので，固有值の偏角を求めるこ とで $R$ が 768 次元空間をどのように回転させる行列なのかが分かる. 式 (3) より, 回転行列を掛ける ことは正弦波の位相をずらす変換であるため，偏角 $\theta_{i}$ は，固有值 $\lambda_{i}$ に対応する固有べクトル $\boldsymbol{p}_{i}$ に よってクエリおよびキーから抽出された 2 つ波形 $Q \boldsymbol{p}_{i}, K \boldsymbol{p}_{i} \in \mathbb{C}^{512}$ の間の位相のズレである.

偏角 $\theta_{i}$ の単位はラジアンなので，トークン数 を単位とする位相のズレ $\Delta$ を知るためには，各波形の周波数 $f$ を用いて $\Delta(f, \theta)=512 \theta_{i} / 2 \pi f$ を 計算する必要がある. そこで， $Q p_{i}$ の振幅スペク トルを $F T\left(Q \boldsymbol{p}_{i}\right) \in \mathbb{R}^{512}$ としたときの，2 変数関数 $g\left(f, \theta_{i}\right)=F T\left(Q \boldsymbol{p}_{i}\right)_{f}$ を（ $K \boldsymbol{p}_{i}$ についても同様に）可視化することで周波数と位相の関係を分析した.

図 62 変数関数 $g(f, \theta)$ の 2 次元ヒストグラム.

すると， $g(f, \theta)$ のピークは，左に弱く注意が偏る $\operatorname{head}(1,1)$ では $1 \leq \Delta \leq 3$ の領域内に，右隣に強く注意が集中する $\operatorname{head}(2,3)$ では $\Delta=-1$ の直線上に分布 することが分かった（図 6).

以上より，クエリとキーの違いを生じさせる行列 $R$ は 768 次元空間内の複数の軸方向に関して異なる 回転角を学習するが，周波数成分に分解してみると トークン単位では一定の個数だけ位相がずれるよう に学習され，ずれるトークン数と向きはアテンショ ン重みにおいて注意が向く位置に対応することが分 かった (図 2). 自己注意機構のパラメータに回転行列を導入した RoPE [9] を用いると学習の収束が早ま るのは，本項で述べた性質をより早く獲得するから であると考えられる。

## 3.5 位相のズレとアテンション重みの関係

2 信号間の時間遅れの計測等に用いられる相互相関と相互共分散を用いて，トークン数単位でクエリ とキーの位相のズレを定量化し，クエリとキーの位相のズレの方向に注意が平均的に偏ることを示す.

位相のズレを定量化するために，クエリとキーの 各列の相互相関 xcorr と相互共分散 xcov を計算し た. ただし，クエリとキーに存在する周期性のみに 焦点を当てるため，相互相関に中心化を適用した (式 12).また， $Q$ と $K$ の $j$ 列目を $\boldsymbol{q}_{j}$ および $\boldsymbol{k}_{j}, Q$ と $K$ の $(i, j)$ 成分を $q_{i, j}$ および $k_{i, j}$ とする.

$
\begin{aligned}
& \operatorname{xcov}_{j}(t)= \begin{cases}\sum_{i=1}^{512-t} q_{i, j} k_{i+t, j} & (t \geq 0) \\
\sum_{i=1}^{512+t} q_{i-t, j} k_{i, j} & (t<0)\end{cases} \\
& \operatorname{xcorr}_{j}(t)=\frac{\operatorname{xcov}_{j}(t)-\mathbb{E}_{t}\left[\operatorname{xcov}_{j}(t)\right]}{\left.\|\boldsymbol{q}_{j}\right.\|\left.\|\boldsymbol{k}_{j}\right.\|}
\end{aligned}
$

相互共分散を各列 $j$ に対応する特異值 $s_{j}$ で重み 付けた和は, $Q S K^{T}$ の対角成分の $t$ 個右の成分の和

図 7 上: $\operatorname{xcorr}_{j}(t)(j=1, \ldots 20)$. 下: $\sum_{j}^{64} s_{j} \operatorname{xcov}_{j}(t)$

$\operatorname{tr}_{t}\left(Q S K^{T}\right)$ と等しいことから，注意は位相のズレの 方向に平均的に集中する.

$
\begin{aligned}
\operatorname{tr}_{t}\left(Q S K^{T}\right) & =\sum_{i=1}^{512-t}\left(Q S K^{T}\right)_{i, i+t} \quad(\because \text { 式 }(7)) \\
& =\sum_{i=1}^{512-t} \sum_{j=1}^{64} s_{j} q_{i, j} k_{i+t, j} \\
& =\sum_{j=1}^{64} s_{j} \operatorname{xcov}_{j}(t)
\end{aligned}
$

注意の集中が相対位置に基づくへッドでは， $\boldsymbol{q}_{j}, \boldsymbol{k}_{j}$ の相互相関は複数の列 $j$ で周期的になり，相互共分散の重み付き和は，アテンション重みと同様に $\operatorname{head}(1,1)$ では $t=-2$ 付近で緩やかなピークをとり, $\operatorname{head}(8,9)$ では $t=-1$ で鋭いピークをとる（図 2,7 ）.

図 7 (左) において，相互共分散の重み付き和を 求める際， $t=-2$ では極大值が重なるためピークは 増幅されるが， $t= \pm 30$ 付近では極大値と極小値が 重なるためピークは減衰する. その結果，相互共分散の重み付き和は $t=-2$ で最大となったと考えられ る. 一方， $t=-1$ でのみピークをとる孤立波のよう な成分も存在し，正弦波状の相互共分散の和が形成 する緩やかなピークを強調するような効果が確認さ れた（図 7 右)。この成分を，位置埋め込み由来の周期的な成分へとさらに分解できるかは不明である.

以上より，注意が自身の近傍のトークンに集中す る現象は，クエリとキーをトークン位置に関する波形と見たときの位相のズレによって引き起こされて いると考えられる。

## 4 おわりに

自己注意機構において注意の向きが相対位置に依存する現象は，クエリとキーに存在する位置埋め込 み由来の周期的な成分の位相が相対的にずらされた ためであることを示した。これより，絶対位置埋め 込みで相対位置に基づいた推論ができるという経験的な事実のメカニズムの一部が明らかになった.

## 参考文献

[1] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, L ukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems, Vol. 30. Curran Associates, Inc., 2017. https: //proceedings.neurips.cc/paper/2017/hash/ 3 f5ee243547dee91fbd053c1c4a845aa-Abstract. html.

[2] Jesse Vig. A multiscale visualization of attention in the transformer model. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics: System Demonstrations, pp. 37-42. Association for Computational Linguistics, July 2019. https: //www.aclweb.org/anthology/P19-3007.

[3] Benjamin Hoover, Hendrik Strobelt, and Sebastian Gehrmann. exBERT: A Visual Analysis Tool to Explore Learned Representations in Transformer Models. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations, pp. 187-196, Online, July 2020. Association for Computational Linguistics. https://aclanthology . org/2020.acl-demos. 22.

[4] Kevin Clark, Urvashi Khandelwal, Omer Levy, and Christopher D. Manning. What does BERT look at? an analysis of BERT's attention. In Proceedings of the 2019 ACL Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP, pp. 276-286. Association for Computational Linguistics, August 2019. https://aclanthology .org/W19-4828.

[5] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186. Association for Computational Linguistics, June 2019. https: //aclanthology.org/N19-1423.

[6] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. Roberta: A robustly optimized bert pretraining approach, 2019. https: //arxiv.org/abs/1907.11692.

[7] Stephen Merity, Caiming Xiong, James Bradbury, and Richard Socher. Pointer sentinel mixture models. In International Conference on Learning Representations, 2017. https://openreview.net/forum?id=Byj72udxe.

[8] Ian Tenney, Dipanjan Das, and Ellie Pavlick. BERT rediscovers the classical NLP pipeline. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 4593-4601, Florence, Italy, July 2019. Association for Computational Linguistics. https://aclanthology.org/P19-1452.

[9] Jianlin Su, Yu Lu, Shengfeng Pan, Ahmed Murtadha, Bo Wen, and Yunfeng Liu. Roformer: Enhanced transformer with rotary position embedding, 2021. https: //arxiv.org/abs/2104.09864.

[10] Yu-An Wang and Yun-Nung Chen. What do position embeddings learn? an empirical study of pre-trained language model positional encoding. In Proceedings of the $\mathbf{2 0 2 0}$ Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 6840-6849, Online, November 2020. Association for Computational Linguistics. https://aclanthology.org/2020.emnlp-main. 555.

## A 様々なモデルの位置埋め込み

Hugging Face に公開されている事前学習済みモデ ルから絶対位置埋め込みをもつモデルをいくつか選 び，図 3 (roberta-base) と同様に位置埋め込みの振幅 スペクトルを図示した.

図 8 位置埋め込みの振幅スペクトル. 日本語 BERT は cl-tohoku/bert-base-japanese-whole-word-masking である.

エンコーダモデルである BERT と RoBERTa では 振幅スペクトルにピークが見られ，RoBERTaの方が ピークにおける振幅が大きい。一方，デコーダモデ ルである GPT-2 は低周波成分しか存在しない。これ は，事前学習時の目的関数が強く影響しているため であると考えられる [10].

## B 位置埋め込みの主成分について

相対位置に依存して注意が集中するへッドにおい て，クエリとキーには約 4 12 個の次元で位置埋め 込みに由来すると考えられる周期的な成分がそれぞ れ存在した。位置埋め込みに対して主成分分析を行 い, 主成分の累積寄与率を求めると, 累積寄与率は 4 次元までで $50.51 \%, 12$ 次元までで $92.23 \%$ だった. これより, 768 次元空間において 4 12 次元は少な く感じるが，位置埋め込み空間を十分再現している と考えられる（図9).

図 9 roberta-base の位置埋め込みの累積主成分寄与率.


# BERT を用いた文埋め込みモデルの単語の暗黙的な重み付け

栗田宙人 1 小林悟郎 ${ }^{1,2}$ 横井祥 ${ }^{1,2}$ 乾健太郎 1,2
1 東北大学 2 理化学研究所
}

\{hiroto.kurita, goro.koba\}@dc.tohoku.ac.jp \{yokoi, kentaro.inui\}@tohoku.ac.jp
## 概要

事前学習済みマスク言語モデルに追加学習を加 えた文埋め込みモデルが続々と提案されており，幅広い後段タスクで高い性能を達成している. 不思議 な点として，以前主流であった静的単語埋め込みを 用いた手法では単語を陽に重み付けるという工夫 が肝要であったにも関わらず，マスク言語モデルを 用いた文埋め込みはこの工夫抜きで既存手法を凌駕している. 本研究では，BERT を用いた文埋め込 みモデルたちが各単語を単語頻度に基づく情報量 $-\log P(w)$ で暗黙的に重み付けていることを，特徴寄与測定手法 Integrated Grad との経験的な相関を通 して明らかにする. さらに，この重み付け傾向は事前学習済みの BERTを文埋め込みに適するよう追加学習する過程で強まっていることを報告する。

## 1 はじめに

自然言語文をべクトル表現で表した文埋め込み は文の意味的類似度の計算, 情報検索，文書分類な ど，自然言語処理分野で幅広く使用される有用な道具である。代表的な文埋め込み生成技術として，文 を構成する各単語の静的単語埋め込みの平均を取る 手法がある程度効果的であることが経験的・理論的 に知られている $[1,2,3]$. このとき，単純な平均で はなく，ストップワードの除去や TF-IDF[4] に代表 される単語の逆頻度に基づく重み付けが大きな効果 をもたらすことが知られている。

一方，近年では動的単語埋め込みを生成するマス ク言語モデルである BERT[5] や RoBERTa[6] を追加学習した文埋め込みモデルが続々と提案され, 意味的類似度計算などの後段タスクで静的単語埋め込 みを用いる手法を凌駕している $[7,8]$. これらのモ デルでは，静的単語埋め込みを用いた手法で効果的 だった明示的な重み付けは基本的に行われない。し かし，マスク言語モデルを基にしているため，内部 の複雑な非線形ネットワークにより単語が混ぜ合わ

図 1 本研究の概念図。モデルが文埋め込みを計算する 際の各単語の寄与を逆伝播計算により求め, 求めた単語 の寄与と大規模コーパスから計算された単語の情報量の 比較を行う。

せられ，暗黙的に単語を重み付けながら文埋め込み を生成していると考えられる. 成功を収めている最近の文埋め込みモデルはどのような重み付けを学ん でいるのだろうか.

本研究では BERTを用いた文埋め込みモデルは内部で単語頻度に基づく情報量 $-\log P(w)$ に比例した 暗黙的な単語重み付けを行なっていることを明らか にする。また，この重み付け傾向は BERT の追加学習を通じて強まっていることわかった. すなわち， BERT を用いた文埋め込みモデルは既存手法でポス トホックに外から行われていた重み付けを追加学習 の過程で自ら獲得していることがわかる.

## 2 分析の方針

本稿では BERT を用いた文埋め込みモデルが内部で暗黙的に行う単語の重み付けと頻度に基づく 単語の情報量とを比較する（図 1).モデルが行う 重み付けは勾配を用いた特徴量帰属手法 Integrated Gradients を用いて定量化し，単語の情報量はコーパ ス上で算出された単語頻度を元に計算する。

## 2.1 準備：BERT を用いた文埋め込み

モデルは, 入力文 $s=\left(w_{1}, w_{2}, \ldots, w_{|s|}\right)$ の各単語を単語埋め込み層にて単語埋め込みに変換 し $\left(w_{i} \mapsto \boldsymbol{w}_{i} \in \mathbb{R}^{d}\right)$, この単語埋め込みをまとめ たべクトル列 $W=\left[w_{1}, . ., w_{|s|}\right] \in \mathbb{R}^{|s| \times d}$ を残りの モデル $M$ に入力して文埋め込み $s$ を計算する $\left(M: \boldsymbol{W} \mapsto s \in \mathbb{R}^{d}\right)$. ここで, $d$ は埋め込みの次元数 を表す. なおモデル $M$ の最後尾で文べクトル $s$ を 作るためにおこなわれる最後の処理は，各トークン の隠れ状態のプーリングによるまとめ上げである が，このプーリングには文に含まれる単語の表現 の平均プーリング（MEAN）と文頭に挿入される特殊 トークン [CLS] の隠れ状態を用いる CLS プーリン グ（CLS）の 2 種類が主に使われている.

## 2.2 モデルが行う単語の暗黙的な重み付け

モデルが文埋め込みを生成する際に内部でどの ように各単語を重み付けているかを定量化するた めに，勾配計算を用いた特徴量（ここでは単語）の 帰属手法である Integrated Gradients（IG）[9]を用い た. 特徵量帰属手法は他にも様々あるが, IG は複雑 なニューラルネットに適用でき，さらに単純な微分 を用いる手法の問題点が積分によって克服されてい る，近年もっとも標準的に採用されているアプロー チである $[10,11]$.

今回の問題では, 文中の単語 $w_{i}$ がニューラルネッ トで文埋め込み $s$ を構成する際にどの程度寄与して いるかの度合い $c\left(w_{i}, s\right)$ を, 単語べクトルの各要素 の文ベクトルの各要素への寄与度 $\operatorname{IG}\left(w_{i}[j], s[k] ; M\right)$ に帰着させて以下のように計算することができる [12].

$
\begin{aligned}
& c\left(w_{i}, \boldsymbol{s}\right):=\sqrt{\sum_{j} \sum_{k} \mathrm{IG}\left(\boldsymbol{w}_{i}[j], \boldsymbol{s}[k] ; M\right)} \\
& \mathrm{IG}\left(\boldsymbol{w}_{i}[j], \boldsymbol{s}[k] ; M\right):=\left(\boldsymbol{W}_{i}^{(k)}-\boldsymbol{B}_{i}^{(k)}\right) \\
& \quad \times \int_{\alpha=0}^{1} \frac{\partial M(\boldsymbol{B}+\alpha \times(\boldsymbol{W}-\boldsymbol{B}))}{\partial \boldsymbol{W}_{i}^{(k)}} d \alpha
\end{aligned}
$

ただし, $v[j]$ はべクトル $v$ の $j$ 次元目の値. $\boldsymbol{B}=\left[\boldsymbol{b}_{1}, \ldots, \boldsymbol{b}_{|s|}\right]$ は積分の「ベースラインの位置」 を表すべクトル列で，文頭と文末に挿入される 特殊トークン以外の単語を[PAD] に置き換えた [CLS] , [PAD] , . , [PAD] , [SEP] に対応するベクトル 列を用いた．IG はモデルへの入力をベースライン $\boldsymbol{B}$ から実際の入力 $W$ まで徐々に変化させながら対

図 2 単語頻度に基づく情報量 $-\log P(w)$ と各種重み付け 手法の比較. 各種重み付けは STS-Benchmark[13] の頻度情報を基に作成した。

象特徴量の出力への偏微分を計算していき，それら を積分することで（経路全体での寄与を足し合わせ ることで）合計の寄与を計算する。式 1 では文べク トル側と単語ベクトル側の要素のすべての組み合わ せについての寄与の二乗和を計算することで単語の 文への寄与を算出している.

## 2.3 単語の持つ情報量

本研究では, 頻度に基づく単語の情報量 $-\log P(w)$ を文埋め込みモデル内部で行われる重み付けと比較 する。情報量とは確率 $P(x)$ で発生する事象 $x$ を観測した時に得られる情報の量であり, $-\log P(x)$ で 定義される. 文（単語列）を受け取ってその意味を 扱う文埋め込みモデルでは, $P(\cdot)$ を単語頻度分布, $P(w)$ を単語 $w$ が出現する確率とすれば， $-\log P(w)$ は単語 $w$ を観測した時に得られる情報の量に相当 し，低頻度語ほど情報量は大きい。

情報量 $-\log P(w)$ は既存の単語重み付け手法と深 い関係を持つ。文埋め込みにおいては，ストップ ワードの除去や TF-IDF，SIF weighting など，単語の 逆頻度に基づく重み付けが効果的であると知られて いる $[4,14]$. これらの手法は文の意味を理解する上 で不必要な高頻度語を取り除いたり，文の意味を決定づけると期待される低頻度語を重視しているとみ なすことができ，情報量 $-\log P(w)$ の概念と一貫す る. 情報量 $-\log P(w)$ は逆頻度に基づく最も基本的 な重み付けと言え，実際これらの既存の重み付け手法とも類似している（図 2)。これらの理由から，文埋め込みモデル内部で行われる各単語への重み付け の比較対象として情報量 $-\log P(w)$ を用いる.

## 3 実験

BERT を用いた文埋め込みモデル内部での各単語 への重み付けを単語頻度に基づく情報量 $-\log P(w)$ に照らし合わせながら調査する.

モデル BERT を追加学習した文埋め込みモデル には SentenceBERT（SBERT）[7]と SimCSE[8]を用 いた. SimCSE は追加学習時にラベル付きデータを 使っていない Unsupervised SimCSE と，使っている Supervised SimCSE の 2 種類を扱う.また, ベース ラインとして文埋め込み用の追加学習を行う前の BERT-base (uncased)を用いた. 特に，平均プーリン グを採用した BERT (MEAN) と CLS プーリングを採用した BERT (CLS) の 2 種類を扱う。なお，SimCSE および SBERT はそれぞれ BERT (CLS) および BERT (MEAN) を追加学習したモデルである.

データセット モデルへの入力文には，文類似度計算タスクの代表的なデータセットである STS Benchmark[13] の検証データおよびテストデータを 用いた. 今回は簡単のため，サブワード分割が発生せず，文長 7 の合計 617 文のみを対象とした. ま た，単語の情報量 $-\log P(w)$ の計算に用いる単語頻度は BERT の事前学習時コーパスを Wikipedia と BooksCorpurs[15] から再現して算出した.

## 3.1 定量分析

モデルに各文を入力し， 2.2 節で述べた方法でモ デル内部における各単語への重み付けを計算する.続いて，計算された各単語への重み付けと頻度に基 づく単語の情報量 $-\log P(w)$ の関係を比較するため 両者のピアソン相関係数を測定する．また，ベース ラインとして単語頻度 $P(w)$ とのピアソン相関係数 も測定する.

BERT を用いた文埋め込みモデルは $-\log P(w)$ に従って各単語を重み付けている：表 1 より, 文埋め込み用の追加学習を行っていない BERT (CLS) および BERT (MEAN) における単語への重み付けは $-\log P(w)$ と弱い正の相関があった. つまり, 追加学習前の BERT は緩やかに情報量に基づいた単語重 み付けを行なっている事が分かった. 追加学習後の モデルである SBERT および SimCSE では追加学習前の BERT (MEAN/CLS) よりも強い正の相関が見られ，追加学習後のモデルはより情報量に従って単語を重 み付けていることが分かった. これらの結果は，文埋め込み用の追加学習によってモデルが暗黙的に単表 1 各モデルにおける単語の貢献度とのピアソンの相関係数

図 3 BERT (MEAN) と SBERT における $-\log P(w)$ と単語の 重み付けの散布図。他のモデルの散布図は付録 $\mathrm{A}$ 参照.

語の情報量に基づく重み付けを獲得していることを 示唆する. ただし, 同程度の情報量を持つ単語でも モデルの重み付けには分散が見られ，特に高情報量 （低頻度語）側で分散が大きくなっていた（図 3). このことから， $-\log P(w)$ だけでは文埋め込みモデ ルが行う重み付けを完全には説明できていないと考 えられる。例えば，同じ単語でも出現によって異な る重み付けがされており，周囲の単語との関係性な どにも依存して重み付けを変えている可能性があ る. 高情報量での分散傾向の調査は今後の展望の一 つである.

重み付けは $P(w)$ ではなく $-\log P(w)$ に従う：表 1 において $-\log P(w)$ との相関係数と $P(w)$ との相関係数の絶対値を比較すると，どのモデルにおいても 一貫して $-\log P(w)$ との相関の方が強い. つまり， モデル内部での単語の重み付けは単純な単語頻度 $P(w)$ というよりも， $\log$ をけた情報量 $-\log P(w)$ に従っている。

## 3.2 定性分析

各モデルにおける単語への重み付けの具体例を 図 4 に示す. “a woman is cutting an onion.”を入力し た例では，追加学習前の BERT (CLS/MEAN) はどの単

図 4 文ごとの単語の貢献度と $-\log P(w)$.

語にもほぼ均等に重み付けを行なっているが，追加学習後のモデルはよりピーキーな重み付けを行っ ており, $-\log P(w)$ と非常に似ていることがわかる. SBERT の重み付けが特にピーキーで, 文中で情報量 が最も高いonionを最も高く重み付けている。

“there are dogs in the forest." を入力した例でも同様 の傾向が見られ，情報量が最も高い dogs に SBERT が最も高い重み付けを行なっていた。これらのこと から，BERT を追加学習したモデルは $-\log P(w)$ に 近い形で重み付けを行うが，モデルによって重み付 け傾向がやや異なることが示唆される.

## 4 関連研究

静的単語埋め込みを用いた文埋め込み 静的単語埋め込みが持つ加法構成性により, 単純な単語埋め 込みの平均を用いても質の高い文埋め込みを構成で きることが知られている $[1,2,3]$. さらに，各単語埋 め込みを単純に平均する代わりに，単語の逆頻度に 基づいて（TF-IDF や SIF-weighting など）重み付け 和することで，文埋め込みの質が向上する $[14,4]$.本研究では, 文埋め込み構築において効果的である と知られるこれらの重み付け手法と関係深い単語の 情報量 $-\log P(w)$ を比較対象に用いた。

マスク言語モデルを用いた文埋め込み 近年，自然言語処理分野の様々なタスクで成功を納めている マスク言語モデル $[5,6]$ を追加学習した文埋め込み モデルが盛んに開発されている. Reimers ら [7] は BERTを自然言語推論タスクを用いて追加学習させ ることで文埋め込みに適した SBERTを提案した。 また, 最近では画像分野の表現学習において対照学習が成功を収めている（SimCLR[16] など）ことに影響を受け，DeCLUTR[17]，SimCSE[8]，など，対照学習を取り入れた文埋め込み手法が続々と提案さ れている。これらのマスク言語モデルを用いた文埋 め込みモデルでは，既存手法のように単語を明示的 に重み付けることは基本的にない. 例外としては, Wang ら [18] は SBERT の各層から取り出した単語埋 め込みを明示的に重み付けて文埋め込みを構築する ことでより性能を向上させる手法を提案している.本研究では，マスク言語モデルを用いた文埋め込み 手法の中でも代表的である SBERT と SimCSE を対象とし，モデル内部で暗黙的に行われている単語の 重み付けについて調査した。

## 5 おわりに

本稿では，BERTを用いた文埋め込みモデルが内部では単語の情報量 $-\log P(w)$ に基づいて単語を重 み付けていることを明らかにした。また，この重み 付け傾向は BERT の追加学習を通じて獲得されてい ることも示し，BERTを用いた文埋め込みモデルは 既存手法でポストホックに外から行われていた重み 付けを追加学習の過程で自ら獲得していることが示唆される。

今後は，モデルが行う単語重み付けと文脈付きの 情報量や単語の品詞などを比較し, $-\log P(w)$ 単体 では捉えきれなかったモデルが「暗黙的に行う重み 付け」についてさらに調査を進める。また，他の文埋め込みモデルや情報検索などで使用されているテ キスト埋め込みモデルにまで分析の範囲を拡大し，様々な学習がモデルの単語重み付けに与える影響を 分析する方向性も興味深い.

## 謝辞

本研究は JSPS 科研費 JP22H05106，JP22J21492， JST，CREST，JPMJCR20D2 の助成を受けたもので す.また，本研究に関して多くのアドバイスを下 さった栗林樹生氏をはじめ Tohoku NLP グループの 皆様に感謝致します。

## 参考文献

[1] Jeff Mitchell and Mirella Lapata. Composition in distributional models of semantics. Cognitive science, Vol. 34, No. 8, pp. 1388-1429, 2010.

[2] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. In C.J. Burges, L. Bottou, M. Welling, Z. Ghahramani, and K.Q. Weinberger, editors, Advances in Neural Information Processing Systems, Vol. 26. Curran Associates, Inc., 2013.

[3] John Wieting, Mohit Bansal, Kevin Gimpel, and Karen Livescu. Towards universal paraphrastic sentence embeddings. In International Conference on Learning Representations, 2016.

[4] Ignacio Arroyo-Fernández, Carlos Francisco MéndezCruz, Gerardo Sierra, Juan Manuel Torres-Moreno, and Grigori Sidorov. Unsupervised sentence representations as word information series: Revisiting tf-idf. Computer Speech and Language, pp. 107-129, July 2019.

[5] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[6] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. Roberta: A robustly optimized bert pretraining approach. arXiv, 2019.

[7] Nils Reimers and Iryna Gurevych. Sentence-BERT: Sentence embeddings using Siamese BERT-networks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 3982-3992, Hong Kong, China, November 2019. Association for Computational Linguistics.

[8] Tianyu Gao, Xingcheng Yao, and Danqi Chen. SimCSE: Simple contrastive learning of sentence embeddings. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pp. 6894-6910, Online and Punta Cana, Dominican Republic, November 2021. Association for Computational Linguistics.

[9] Mukund Sundararajan, Ankur Taly, and Qiqi Yan. Ax- iomatic attribution for deep networks. In Proceedings of the 34th International Conference on Machine Learning - Volume 70, ICML'17, p. 3319-3328. JMLR.org, 2017.

[10] Damai Dai, Li Dong, Yaru Hao, Zhifang Sui, Baobao Chang, and Furu Wei. Knowledge neurons in pretrained transformers. In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 8493-8502, Dublin, Ireland, May 2022. Association for Computational Linguistics.

[11] Yaru Hao, Li Dong, Furu Wei, and Ke Xu. Self-attention attribution: Interpreting information interactions inside transformer. Vol. 35, pp. 12963-12971, May 2021.

[12] Gino Brunner, Yang Liu, Damian Pascual, Oliver Richter, Massimiliano Ciaramita, and Roger Wattenhofer. On identifiability in transformers. In International Conference on Learning Representations, 2020.

[13] Daniel Cer, Mona Diab, Eneko Agirre, Iñigo LopezGazpio, and Lucia Specia. SemEval-2017 task 1: Semantic textual similarity multilingual and crosslingual focused evaluation. In Proceedings of the 11th International Workshop on Semantic Evaluation (SemEval-2017), pp. 1-14, Vancouver, Canada, August 2017. Association for Computational Linguistics.

[14] Sanjeev Arora, Yingyu Liang, and Tengyu Ma. A simple but tough-to-beat baseline for sentence embeddings. In International Conference on Learning Representations, 2017.

[15] Yukun Zhu, Ryan Kiros, Rich Zemel, Ruslan Salakhutdinov, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. Aligning books and movies: Towards story-like visual explanations by watching movies and reading books. In 2015 IEEE International Conference on Computer Vision (ICCV), pp. 19-27, 2015.

[16] Ting Chen, Simon Kornblith, Mohammad Norouzi, and Geoffrey Hinton. A simple framework for contrastive learning of visual representations. In Proceedings of the 37th International Conference on Machine Learning, ICML'20. JMLR.org, 2020.

[17] John Giorgi, Osvald Nitski, Bo Wang, and Gary Bader. DeCLUTR: Deep contrastive learning for unsupervised textual representations. In Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pp. 879-895, Online, August 2021. Association for Computational Linguistics.

[18] Bin Wang and C.-C. Jay Kuo. Sbert-wk: A sentence embedding method by dissecting bert-based word models. IEEE/ACM Transactions on Audio, Speech, and Language Processing, Vol. 28, pp. 2146-2157, 2020.

## A $-\log P(w)$ と単語の重み付けの散

## 布図

$-\log P(w)$ と各モデルが行う単語の重み付けの散布図を示す。

図 $5 \mathrm{BERT}(\mathrm{CLS})$ における $-\log P(w)$ と単語の重み付けの 散布図

図 $6 \mathrm{BERT}(\mathrm{MEAN})$ における $-\log P(w)$ と単語の重み付け の散布図

図 7 SBERT(MEAN) における $-\log P(w)$ と単語の重み付け の散布図

図 8 Unsupervised SimCSE(CLS) における $-\log P(w)$ と単語の重み付けの散布図

図 9 Supervised SimCSE(CLS) における $-\log P(w)$ と単語 の重み付けの散布図