# 文書分類のための クラス情報を考慮したトークン分割

平岡 達也 岩倉 友哉
富士通株式会社
\{hiraoka.tatsuya, iwakura.tomoya\}@fujitsu.com

## 概要

本稿では，クラスの情報を有効活用することで文書分類タスクに特化したトークン分割の処理を提案する. ユニグラム言語モデルベースのトークン分割器に，エントロピーに基づく重みを掛け合わせることで，あるクラスに特徴的なトークンを優先的に使用するようなトークン分割を行う. 実験より, 複数の文書分類のデータセットで提案手法による性能の向上が得られることが分かった. また，クラスが未知の場合であっても，疑似的なクラスによって性能の向上が得られる場合があることを報告する.

## 1 はじめに

テキストを単語やサブワードなどに区切るトークン分割の処理は，文書分類などの多くの自然言語処理において前処理として取り扱われる.トークン分割は，学習や推論に用いる入力の単位を決定する重要な前処理であり，適切なトークン分割を用いることで自然言語処理の性能の向上が得られる $[1,2,3]$.適切なトークン分割を行うために，前処理の時点ですでに分かっている後段のタスクの情報を活用できるとよい，例えば，後段のタスクが文書分類である場合，前処理の時点でテキストのドメインや，どのような文書クラスが存在するかが既知であることが多い. 従来のトークン分割の手法は後段のタスクの学習に用いるデータで分割器を作成する $[4,5,6]$ ため，ドメインに関する情報は考慮することができる.しかしながら，文書分類のクラスなどの後段夕スクの学習と推論に用いられる，タスクに固有の情報について考慮することはできない。

本研究では文書分類に焦点を当てて，文書分類のクラスの情報を考慮したトークン分割の新たな手法 （Cakenizer: Class-aware tokenizer）を提案する (表 1). Cakenizer では，文書分類におけるクラスに属するサ表 1 学習時に使用する情報の比較.

} & トークン分割器 & $\checkmark$ & $\checkmark$ \\

ンプルを一連の文書とみなしてエントロピーに基づくスコアを計算し，クラスに特徴的なトークンが優先的に使用されるような分割を行う．実験結果より，日中英の複数の文書分類のデータセットで性能の向上が得られることを報告する。また，クラスの情報が取得できない場合であっても，K-means クラスタリングによる疑似的なクラスを用いることで，提案手法によるクラス情報を考慮した分割を行い，性能の向上が得られることを報告する。

## 2 言語モデルを用いたトークン分割

あるテキスト $S$ について， $|V|$ 個のトークンから構成される語彙 $V$ のもとで作ることができる $S$ のトークン分割の候補 $S^{\prime}$ の集合を $V(S)$ と表す. トー クン分割の処理では，何らかの方法で計算したトー クン分割の確率 $P\left(S^{\prime} \mid S\right)$ が最大となるような分割候補 $\hat{S}^{\prime}$ をビタビアルゴリズム [7] などで求める.

$
\hat{S^{\prime}}=\underset{S^{\prime} \in V(S)}{\operatorname{argmax}} p\left(S^{\prime} \mid S\right) .
$

ユニグラム言語モデルを用いたトークン分割であれば， $p\left(S^{\prime} \mid S\right)$ は以下のように計算する.

$
p\left(S^{\prime} \mid S\right)=\prod_{s \in S^{\prime}} p(s) .
$

ここで $s$ は $S^{\prime}$ を構成する $\left|S^{\prime}\right|$ 個のトークンのひとつであり， $S^{\prime}=\left.\langle s_{1}, \ldots, s_{\left|S^{\prime}\right|}\right.\rangle$ である. ユニグラムの確率 $p(s)$ の推定には，EM アルゴリズムを用いた学習 [8] などを利用する。

図 1 二值分類での $p(s \mid c)$ に対するスコア $e(s)$ の値域.

## 3 クラスを考慮したトークン分割

提案手法では，後段タスクの文書分類で使用するクラス $c \in C$ に関する情報を盛り込んだトークン分割を行う. クラスの情報を考慮したトークン分割を行うために，式(2)におけるトークンの確率 $p(s)$ を以下の $\mu$ による重み付き和 $p^{\prime}(s)$ で置き換える。

$
p^{\prime}(s)=(1-\mu) p(s)+\mu q(s)
$

$q(s)$ は，トークン $s$ の各クラスでの分布に対するエントロピーをもとに計算したスコア $e(s)$ によって重みづけられた $p(s)$ である.

$
\begin{aligned}
q(s) & =\frac{p(s) e(s)+\epsilon}{\sum_{t \in V} p(t) e(t)+\epsilon} \\
e(s) & =1+\sum_{c \in C} p(s \mid c) \log _{|C|} p(s \mid c)
\end{aligned}
$

ここで $\epsilon$ は，トークンの確率が 0 になることを防ぐための微小な值である。また，語彙に含まれるすべてのトークンに対応する $q(s)$ の和は 1 となる. $|C|$ は，文書分類のタスクで使用されるクラスの総数であり, $p(s \mid c)$ はクラス $c$ に分類されるテキストの集合においてトークン $s$ が出現する条件付確率である.なお， $p(s \mid c)=0$ とならないように微小な值を加えたうえで計算を行う。

図 1 に，二値分類において $s$ のクラスごとの分布の割合に対して重み $e(s)$ がとる値域を示した. トー クン $s$ が特定のクラス（例えば正負クラスのどちらか一方）にしか出現しない場合， $e(s) \fallingdotseq 1.0$ であり， $s$ がどのクラスにも等しく出現する場合は $e(s)=0.0$ となる. すなわち $e(s)$ は, 特定のクラスに偏って出現する特徴的なトークンほど重要度を高め, 様々なクラスに出現する普遍的なトークンほど重要度を低くするような重みとして働く。これにより，特定のラベルに特徴的なトークンを優先して使用するようなトークン分割が得られると期待される.

トークンの確率 $p(s)$ を学習済みのユニグラム言語モデルに対して，後から重みの項 $q(s)$ を付け加えることで提案手法は実装できる。また， SentencePiece [5]の Unigram モードのように，各トー クンの確率を推定したり語彙の枝刈りを行うトークン分割器の作成の段階から，重みを用いて学習することもできる. Viterbi-Training [8]を用いたトークンの確率の推定と語彙の枝刈りを行う例を, Algorithm 1 に示した. アルゴリズムにおいて，5-7 行目の重みづけをスキップすれば，従来のユニグラム言語モデルの確率の推定と語彙の枝刈りと同様の処理になる.また, EM-Training [8]では, 8 行目と 9 行目のパラメータの推定に EM アルゴリズムを用いる.

## 4 実験: オリジナルのクラス

提案手法 (Cakenizer) の効果を，日本語・中国語・英語の 3 言語での文書分類のタスクを用いて検証する. 本節では，文書分類のデータセットに設定されている本来のクラスのラベルを用いて，トークン分割器の学習を行う設定について実験する.

## 4.1 設定

## 4.1.1 データセット

日本語の文書分類では，Twitter の感情分類のデー タセット $[9,10]$ を用いた。また, JGLUE [11]より JNLI と JMARC を用いた. 中国語では，Weiboの感情分類のデータセット [12]を用いた。また，EC サイト（JD.com）のレビューデータセット [13] からレート予測とジャンル予測の文書分類タスクを作成
表 2 文書分類のタスクでの実験結果（ $\mathrm{F} 1 \% \pm \mathrm{SD})$ ．太字は Vanilla の値を超える結果.

した [14]. 英語では，Twitter の感情分類データセットを用いた [15].また，ECサイト（Amazon）のレビューデータセット [16] からレート予測とジャンル予測の文書分類タスクを作成した。

## 4.1.2 トークン分割器

実験では，提案手法による重みづけを用いない従来の方法でユニグラム言語モデルの確率の推定と語彙の枝刈りを行う手法（Vanilla）をベースラインとして，ユニグラム言語モデルの確率の推定と語彙の枝刈りの段階から重みを使用する場合（Dynamic） を比較する. さらに，提案手法の単純な適用方法として，Vanillaに対して後処理として式 (3)の重みを付与した手法（PostProc）を比較する.

全ての実験において語彙の規模は $K=16,000$ であり，トークン分割器の作成には各データセットの学習データを $D$ として使用した. Algorithm 1 の 1 行目における語彙の初期化では, 頻度が 4 以下のトークンと長さが 9 以上のトークンは除外した. 語彙の枝刈りイテレーションにおける，ユニグラム言語モデルの確率の推定ループの回数は $M=2$, イテレーションごとの語彙の削減率は $R=0.4$ とした. また，重み付き和の係数は $\mu=0.5$ とした.

## 4.2 文書分類器

トークン分割器の差による影響を観察しやすいように，実験では 1 層の BiLSTM と 3 層の MLPを用いた単純な文書分類器 [17] を用いた. 分類器は 20 エポックの学習を行い, Adam [18] を用いて最適化した. 検証データで性能が最大となったチェックポ

図 $2 \mu$ が性能に与える影響.

イントを採用し，評価データでの $\mathrm{F} 1$ 值を計測した。本実験においては，トークン分割器の作成と文書分類器の学習の双方に確率的な要素が含まれている. そのため, トークン分割器の作成と文書分類器の学習をそれぞれ 3 回ずつ組み合わせて試行し，その平均の $\mathrm{F} 1$ 值を報告する。すなわち，それぞれパラメータをランダムに初期化した 3 つのトークン分割器と，3つの文書分類器の合計 9 つの試行パター ンについて平均を取った。

## 4.3 結果

表 2 にまとめた実験結果より，提案手法は Viterbi/EM-Training の双方の設定において，複数のデータセットでの性能向上に寄与しうることが示唆された. 最終的な平均 $\mathrm{F} 1$ 值は Viterbi-Training の学習時に提案手法を用いる設定が最も高く, Cakenizer は Viterbi-Training と組み合わせて使うこと良いと言える. また，提案手法を後処理として適用する方法も，学習時から組み込む方法と同様に性能向上に寄
表 3 疑似ラベルを用いた実験の結果.太字は表 2 の Vanillaを超える結果.

} & WRIME & 41.97 & 41.65 & 41.42 & 42.13 & 41.49 & 41.67 & 41.13 & 40.76 & 40.34 & 41.38 & 41.10 & 41.02 \\

与することが示唆された. 後処理として提案手法を用いる方法は導入のコストが低いため，多くの場面での活用が期待できる.

図 2 に, Dynamic の設定で式 (3)での重み付き和の係数 $\mu$ を 0.1 から 0.9 の範囲で変化させたときの平均 $\mathrm{F} 1$ 値の推移を示した. 全体的にベースラインである Vanillaを超える值で推移しているが， $\mu$ が大きくなるにつれてわずかに向上幅が下がる傾向がみられる。また，EM-Training に提案手法を組み込んだ場合の方が，異なる $\mu$ に対して安定して性能の向上が得られることが示唆された.

## 5 実験: 疑似ラベル

実践的な自然言語処理では，トークン分割を行う段階で本来の分類ラベルが利用できない場合がある. 本節では，学習データに対して付与した疑似ラベルを用いて提案手法のトークン分割器を作成した場合の効果について検証する。

## 5.1 設定

疑似ラベルを作成するために，K-means クラスタリングを各文書分類のデータセットの学習デー タに適用した.クラスタリングを行う段階ではトークン分割器が使用できないため，テキストの特徴量の作成にはテキストに含まれる文字 N-gram $(N=\{1,2,3,4,5\})$ を用いた. scikit-learn に実装されている K-means クラスタリング [19]を利用し，クラスタの数 $L=5,10,15$ について実験を行った. 疑似ラベルを用いる点を除けば，全ての実験設定は 84
と同じである.

## 5.2 結果

表 3 に実験結果より，提案手法によるトークン分割に疑似ラベルを用いた場合であっても，Vanillaに比べて性能の向上が得られることが分かった. また，設定の組み合わせによっては，疑似ラベルを用いた場合の方がオリジナルのラベルを用いた場合よりも高い性能向上が得られることが分かった. これは, 教師なし学習によって獲得した疑似ラベルは機械学習のモデルにとって扱いやすいドメインの割り振りになっており，このドメインを考慮したトークン分割を行うことで効率的な文書分類の学習ができるためであると考えられる。この結果は, 文書分類タスクにおいて疑似的なラベルを用いて事前学習を行うことで性能向上が得られるという既存研究の報告 [20] にも合致する.

## 6 おわりに

本稿では，文書分類に特化したトークン分割の手法として Cakenizer を提案した. 提案手法はユニグラム言語モデルをべースとし，トークンの確率の推定と語彙の枝刈りの過程で後段の文書分類のラベルを考慮する．実験の結果より，日本語・中国語・英語での文書分類で性能向上に寄与することが示唆された。また，疑似ラベルを用いた設定でも性能の向上が得られることが分かった. 今後は機械翻訳などの文書分類以外のタスクのデータセットに対しても，疑似ラベルを用いた手法の応用を行う。

## 謝辞

本研究は，JST，ACT-X，JPMJAX21AM の支援を受けたものです.

## 穿拉文献

[1] Tatsuya Hiraoka, Hiroyuki Shindo, and Yuji Matsumoto. Stochastic tokenization with a language model for neural text classification. In Proceedings of the 57th Annual Meeting of ACL, pp. 1620-1629, 2019.

[2] Kaj Bostrom and Greg Durrett. Byte pair encoding is suboptimal for language model pretraining. In Findings of ACL: EMNLP 2020, pp. 4617-4624, 2020.

[3] Hoo-Chang Shin, Yang Zhang, Evelina Bakhturina, Raul Puri, Mostofa Patwary, Mohammad Shoeybi, and Raghav Mani. BioMegatron: Larger biomedical domain language model. In Proceedings of the $\mathbf{2 0 2 0}$ Conference on EMNLP, pp. 4700-4706, Online, November 2020. Association for Computational Linguistics.

[4] Rico Sennrich, Barry Haddow, and Alexandra Birch. Neural machine translation of rare words with subword units. In Proceedings of the 54th Annual Meeting of ACL (Volume 1: Long Papers), Vol. 1, pp. P1715-1725, 2016.

[5] Taku Kudo and John Richardson. Sentencepiece: A simple and language independent subword tokenizer and detokenizer for neural text processing. In Proceedings of the 2018 Conference on EMNLP: System Demonstrations, pp. 66-71, 2018.

[6] Xinying Song, Alex Salcianu, Yang Song, Dave Dopson, and Denny Zhou. Fast wordpiece tokenization. In Proceedings of the 2021 Conference on EMNLP, pp. 2089-2103, 2021.

[7] 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.

[8] Sabine Deligne and Frederic Bimbot. Language modeling by variable length sequences: Theoretical formulation and evaluation of multigrams. In 1995 International Conference on Acoustics, Speech, and Signal Processing, Vol. 1, pp. 169-172. IEEE, 1995.

[9] Yu Suzuki. Filtering method for twitter streaming data using human-in-the-loop machine learning. Journal of Information Processing, Vol. 27, pp. 404-410, 2019.

[10] Tomoyuki Kajiwara, Chenhui Chu, Noriko Takemura, Yuta Nakashima, and Hajime Nagahara. WRIME: A new dataset for emotional intensity estimation with subjective and objective annotations. In Proceedings of the 2021 Conference of NAACL: HLT, pp. 2095-2104, Online, June 2021. Association for Computational Linguistics.

[11] Kentaro Kurihara, Daisuke Kawahara, and Tomohide Shibata. JGLUE: Japanese general language understanding evaluation. In Proceedings of the Thirteenth LREC, pp. 2957-2966, Marseille, France, June 2022. European Language Resources Association.

[12] S2ap: A sequential senti-weibo analysis platform. https: //github.com/wansho/senti-weibo.
[13] Yongfeng Zhang, Min Zhang, Yi Zhang, Guokun Lai, Yiqun Liu, Honghui Zhang, and Shaoping Ma. Dailyaware personalized recommendation based on feature-level time series analysis. In Proceedings of the 24th international conference on WWW, pp. 1373-1383, 2015.

[14] Tatsuya Hiraoka, Sho Takase, Kei Uchiumi, Atsushi Keyaki, and Naoaki Okazaki. Joint optimization of tokenization and downstream model. In Findings of ACL: ACL-IJCNLP 2021, pp. 244-255, 2021.

[15] Twitter sentiment analysis. https://www.kaggle.com/ c/twitter-sentiment-analysis2.

[16] Ruining He and Julian McAuley. Ups and downs: Modeling the visual evolution of fashion trends with one-class collaborative filtering. In proceedings of the 25 th international conference on WWW, pp. 507-517, 2016.

[17] Peng Zhou, Zhenyu Qi, Suncong Zheng, Jiaming Xu, Hongyun Bao, and Bo Xu. Text classification improved by integrating bidirectional lstm with two-dimensional max pooling. In Proceedings of COLING 2016, the 26th COLING: Technical Papers, pp. 3485-3495, 2016.

[18] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014.

[19] 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, 2011.

[20] Eyal Shnarch, Ariel Gera, Alon Halfon, Lena Dankin, Leshem Choshen, Ranit Aharonov, and Noam Slonim. Cluster \& tune: Boost cold start performance in text classification. In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 7639-7653, 2022.