# セミマルコフ CRF 自己符号化器による教師なし単語分割

和田有輝也 村脇有吾 黑橋禎夫
京都大学大学院情報学研究科
\{wada, murawaki, kuro\}@nlp.ist.i.kyoto-u.ac.jp

## 概要

従来のニューラル教師なし単語分割手法には, (1) 少量のテキストしか参照しない，(2) 言語モデル に基づくため，単語分割モデルとしては不必要な制限を課しているという 2 つの課題がある. そこで，我々は事前学習済み文字レベル BERT を用いること で大規模テキストを活用する。さらに，入力文全体 を見て分割を予測するセミマルコフ CRF 自己符号化器モデルを提案する。日本語を対象とした実験の 結果，提案手法によって概ね妥当な単語分割が得ら れることが確認された。

## 1 はじめに

日本語や中国語等の明示的な単語の境界をもたな い言語における自然言語処理では，前処理として単語分割が重要な技術となっている．単語分割の訓練手法としては教師あり学習が広く用いられている。 しかし, その学習には大量のアノテーションデータ が必要であり，言語リソースの少ない言語やドメイ ンに適用することが難しい。そこで，アノテーショ ンデータセットのない言語やドメインにも適用可能 な教師なし学習による単語分割手法が求められて いる.

教師なし単語分割は，かつてはベイズ推定に基 づく手法 $[1,2]$ が盛んに研究されていた。近年では ニューラルネットワークに基づく手法 $[3,4,5,6]$ が 研究されているが，その課題として次の 2 点が挙げ られる。第 1 に，モデルが参照するテキストが少量 である。従来手法では，訓練データセットが 1-2万文程度と小さく，かつ，事前学習済みモデルも採用 しておらず，ニューラルネットワークを用いた複雑 なモデルの学習には不十分であると考えられる。第 2 に，いずれのモデルも単語分割モデルであると同時に言語モデルでもあるため，分割の予測をする際 に入力文の一部を適宜隠す必要がある。この制約は 言語モデルでは必要だが，単語分割モデルでは不要
である。本研究では 1 つ目の課題を解決するため に，事前学習済み文字レベル BERT による入力文の 埋め込みを行う．また，2つ目の課題を解決する教師なしニューラル単語分割モデルとして，セミマル コフ CRF 自己符号化器を提案する。

## 2 関連研究

ニューラルネットワークに基づく教師なし単語分割手法としては，Segmental Language Model (SLM) [3] がある．SLM は入力文をエンコードする文脈エ ンコーダと単語の生成確率を計算するセグメントデ コーダの 2 つの LSTM からなるモデルである. 入力文における全ての部分文字列の生成確率を計算 し，それらから最適な分割を求める。他の教師なし ニューラル単語分割の手法としては，SLMに語彙 メモリモジュールや単語長さについての正則化項を 追加した手法 [4] や LSTM を双方向に拡張した手法 [5]，エンコーダとして LSTM の代わりに Transformer を用いた Masked Segmental Language Model (MSLM) [6] が提案されている. しかし，従来手法はいずれ も 1 章で述べた 2 つの課題を有している. 本研究で はそれらの課題を解決する教師なし単語分割手法を 提案する。

## 3 提案手法

本研究では事前学習済み文字レベル BERT による 入力文の埋め込みを行い，入力文全体を見て分割を 予測するセミマルコフ CRF 自己符号化器モデルを 用いる教師なし単語分割手法を提案する．提案手法 の概要を図 1 に示す.

## 3.1 文字レベル BERT による埋め込み

大規模なデータセットで事前学習した文字レベル 言語モデルは潜在的に単語についての情報を有し ていると考えられる．実際に Wang らは中国語を対象とした文字レベル BERT が潜在的に単語につい ての情報を有していることを示している [7]. そこ

図 1 提案手法の概要

で， 大力文 $\mathbf{x}=c_{1}, \cdots, c_{n}$ を事前学習済み文字レベ ル BERT を用いて埋め込み表現 $\mathbf{h}=h_{1}, \cdots, h_{n}$ に変換する.ここで， $c_{i}$ は単一の文字, $h_{i}$ は文字 $c_{i}$ に対応する埋め込み表現であり,$n$ は文 $\mathbf{x}$ の文字数であ る.この埋め込み表現を用いてモデルを学習するこ とで，文字レベル BERT が潜在的に有している単語 についての情報が単語分割の学習に活用されること が期待される。

## 3.2 セミマルコフ CRF 自己符号化器

セミマルコフ CRF 自己符号化器は CRF 自己符号化器モデル [8] における CRF をセミマルコフ CRF に拡張することで，単語分割タスクに適用し たものである. 訓練時には， 入力文 $\mathbf{x}$ から可能な 全ての分割 $\mathbf{y}=\mathbf{w}_{1}, \cdots, \mathbf{w}_{m}$ について分割の生成確率 $p(\mathbf{y} \mid \mathbf{x})$ を計算し，各 $\mathbf{y}$ から元の文 $\hat{\mathbf{x}}$ が生成され る確率 $p(\hat{\mathbf{x}} \mid \mathbf{y})$ を計算する. 予測時には, 復元確率 $p(\hat{\mathbf{x}}, \mathbf{y} \mid \mathbf{x})=p(\mathbf{y} \mid \mathbf{x}) p(\hat{\mathbf{x}} \mid \mathbf{y})$ が最も高くなる $\mathbf{y}$ を選択す る. ただし， $m$ は分割 $\mathbf{y}$ における単語数である.

セミマルコフ CRF 自己符号化器は連続する 2 単語間の遷移スコアを計算する遷移ネットワークと単語の生成確率を計算する単語ネットワークの 2 つの モジュールによって構成される. ある分割 $\mathbf{y}$ の遷移 スコア $\phi(\mathbf{x}, \mathbf{y})$ を $\mathbf{y}$ における全ての連続する 2 単語間 の遷移スコアの総和

$
\phi(\mathbf{x}, \mathbf{y})=\sum_{i=0}^{m} \tilde{\phi}\left(\mathbf{w}_{i}, \mathbf{w}_{i+1}\right)
$

で定義し，分割生成確率 $p(\mathbf{y} \mid \mathbf{x})$ は

$
p(\mathbf{y} \mid \mathbf{x})=\frac{\exp (\phi(\mathbf{x}, \mathbf{y}))}{Z}
$

とする.ただし， $\mathbf{w}_{0}, \mathbf{w}_{m+1}$ はそれぞれ文の始端，終端を表すシンボル [BOS], [EOS], $Z$ は正規化定数 である. また，y から元の文 $\hat{\mathbf{x}}$ が生成される確率 $p(\hat{\mathbf{x}} \mid \mathbf{y})$ を分割 $\mathbf{y}$ に含まれる単語の生成確率 $p_{\mathrm{w}}\left(\mathbf{w}_{i} \mid \mathbf{y}\right)$ を用いて，

$
p(\hat{\mathbf{x}} \mid \mathbf{y})=\prod_{i=1}^{m} p_{\mathrm{w}}\left(\mathbf{w}_{i} \mid \mathbf{y}\right)
$

で定義する.

遷移ネットワークは 3 層の MLP，単語ネットワー クは前向きLSTM と後ろ向きLSTM の 2 つからなる ネットワークでそれぞれ構成する.

## 3.2.1 遷移スコア

連続する 2 単語間の遷移スコア $\tilde{\phi}\left(\mathbf{w}_{i}, \mathbf{w}_{i+1}\right)$ は $\mathbf{w}_{i}, \mathbf{w}_{i+1}$ のそれぞれの先頭の文字に対応する埋め込 みべクトル $h_{i, 1}, h_{i+1,1}$ を結合したべクトルを遷移 ネットワークに入力して得られる値であるとする。 なお，シンボル [BOS], [EOS] に対応する埋め込みは それぞれモデルパラメータとして学習する.この遷移スコアの定義は, 学習の結果として, 真の単語に ついて BERT のもつ潜在的情報がその先頭の文字に 対応する埋め込みべクトルに現れるようになること を期待するものである.

## 3.2.2 単語生成確率

分割 $\mathbf{y}$ における単語 $\mathbf{w}_{i}=c_{i, 1}, \cdots, c_{i, k}$ の生成確率 $p_{\mathrm{w}}\left(\mathbf{w}_{i} \mid \mathbf{y}\right)$ を

$
p_{\mathrm{w}}\left(\mathbf{w}_{i} \mid \mathbf{y}\right)=\frac{p_{\mathrm{f}}\left(\mathbf{w}_{i} \mid \mathbf{y}\right)+p_{\mathrm{b}}\left(\mathbf{w}_{i} \mid \mathbf{y}\right)}{2}
$

とする.ここで $p_{\mathrm{f}}\left(\mathbf{w}_{i} \mid \mathbf{y}\right)$ は $[\mathrm{BOW}], c_{i, 1}, \cdots, c_{i, k-1}$ を 入力, 先頭の文字 $c_{i, 1}$ に対応する埋め込みである $h_{i, 1}$ を初期隠れ状態としたときの前向き LSTM の $\mathbf{w}_{i}$ の 生成確率であり, $p_{\mathrm{b}}\left(\mathbf{w}_{i} \mid \mathbf{y}\right)$ は $[\mathrm{BOW}], c_{i, k-1}, \cdots, c_{i, 1}$ を入力，末尾の文字 $c_{i, k-1}$ に対応する埋め込みで ある $h_{i, k-1}$ を初期隠れ状態としたときの後ろ向き LSTM の $\overleftarrow{\mathrm{w}_{\mathrm{i}}}$ の生成確率である. なお，[BOW] は単語の始端を表すシンボルであり， $\overleftarrow{\mathbf{w}_{\mathrm{i}}}$ は単語 $\mathbf{w}_{i}$ を反転させた文字列である.

## 3.2.3 目的関数

学習では入力文 $\mathbf{x}$ について可能な全ての分割に対 する復元確率の和

$
\begin{aligned}
p(\hat{\mathbf{x}} \mid \mathbf{x}) & =\sum_{\mathbf{y}} p(\mathbf{y} \mid \mathbf{x}) p(\hat{\mathbf{x}} \mid \mathbf{y}) \\
& =\frac{\sum_{\mathbf{y}} \exp \left.\{\phi(\mathbf{x}, \mathbf{y})+\sum_{i=1}^{m} \log p_{\mathrm{w}}\left(\mathbf{w}_{i} \mid \mathbf{y}\right)\right.\}}{\sum_{\mathbf{y}} \exp \{\phi(\mathbf{x}, \mathbf{y})\}}
\end{aligned}
$

の負の対数尤度 $-\log p(\hat{\mathbf{x}} \mid \mathbf{x})$ を目的関数とし，これ を最小化する.この目的関数の最小化は $\mathbf{x}$ の可能な 全ての分割について，尤度を向上させるようにモデ ルパラメータを変化させることに相当する. この過程で単語ではない部分文字列に対する単語生成確率 や遷移確率も向上する. しかし，単語である部分文字列はそうでない部分文字列に比べて頻出すると考 えられるため, 最終的には単語である部分文字列に 対する単語生成確率や遷移確率が大きい状態で収束 することが期待される. その結果として，正しい分割が予測できるようになると考えられる。

## 3.2.4 動的計画法による学習・推論の高速化

長さ $n$ の文字列 $\mathbf{x}$ において可能な分割 $\mathbf{y}$ は $2^{n-1}$通りだけ存在する。そのため，全ての $\mathbf{y}$ について $p(\mathbf{y} \mid \mathbf{x})$ を求めてから $p(\hat{\mathbf{x}} \mid \mathbf{x})$ を計算する方法では，学習に指数時間を要する．そこで，動的計画法を用い ることで多項式時間での学習を実現する．具体的に は次のように $p(\hat{\mathbf{x}} \mid \mathbf{x})$ を求める. まず，文 $\mathbf{x}$ の $i$ 文字目から $j$ 文字目までの部分文字列を $\mathbf{x}_{i: j}$, 文 $\mathbf{x}_{i: j}$ に ついて可能な分割のうち，末尾の単語の長さが $k$ の ものを $\mathbf{y}_{i: j}^{k}$ とする. ここで, $n$ 以下の自然数 $t$ と末尾の単語の長さ $k$ について次の関数を定義する.

$
\begin{aligned}
& f_{D}(t, k)=\sum_{\mathbf{y}_{1: t}^{k}} \exp \left.\{\phi\left(\mathbf{x}_{1: t}, \mathbf{y}_{1: t}^{k}\right)+\sum_{\mathbf{w} \in \mathbf{y}_{1: t}^{k}} \log p_{\mathrm{w}}\left(\mathbf{w} \mid \mathbf{y}_{1: t}^{k}\right)\right.\}(7) \\
& f_{N}(t, k)=\sum_{\mathbf{y}_{1: t}^{k}} \exp \left.\{\phi\left(\mathbf{x}_{1: t}, \mathbf{y}_{1: t}^{k}\right)\right.\}
\end{aligned}
$

関数 $f_{D}, f_{N}$ は文 $\mathbf{x}$ の始めの $t$ 文字である $\mathbf{x}_{1: t}$ につい ての可能な分割のうち, 末尾の単語の長さが $k$ であ る分割のみを対象とした場合の式 (6) の分子・分母 に相当する。すなわち，

$
p(\hat{\mathbf{x}} \mid \mathbf{x})=\frac{\sum_{k} f_{D}(n, k)}{\sum_{k} f_{N}(n, k)}
$

である。関数 $f_{D}, f_{N}$ についての更新式をそれぞれ

$
\begin{aligned}
f_{D}(t, k)=\sum_{l} \exp \left.\{\log f_{D}(t-k, l)+\right. & \tilde{\phi}\left(\mathbf{w}_{t-k, l}^{\text {last }}, \mathbf{w}_{t, k}^{\text {last }}\right) \\
& \left.+\log p_{\mathrm{w}}\left(\mathbf{w}_{t, k} \mid \mathbf{y}_{1: t}^{k}\right)\right.\}(10) \\
f_{N}(t, k)=\sum_{l} \exp \left.\{\log f_{N}(t-k, l)+\right. & \left.\tilde{\phi}\left(\mathbf{w}_{t-k, l}^{\text {last }}, \mathbf{w}_{t, k}^{\text {last }}\right)\right.\}
\end{aligned}
$

とする. ただし， $\mathbf{w}_{t, k}^{\text {last }}$ は文 $\mathbf{x}_{1: t}$ における長さ $k$ の 末尾の単語であり, $f_{D}(0,0)=1, f_{N}(0,0)=1$ とする. これらの更新式に従って $f_{D}(n, k), f_{N}(n, k)$ を求め, $p(\hat{\mathbf{x}} \mid \mathbf{x})$ を計算することで多項式時間での学習を実現 する. 推論において $p(\hat{\mathbf{x}} \mid \mathbf{x})$ を最大化する $\mathbf{y}$ を求める 際も以上の更新式で総和を取るところを最大値を取
るように変更することで，同様に多項式時間で計算 する。

## 3.2.5 モデルの学習

モデル全体を学習する前に，事前学習として BERT 部分を固定して 1 エポックだけ学習する.こ れは事前学習済み BERT のもつ情報が，事前学習さ れていない遷移ネットワーク及び単語ネットワーク を含むモデル全体の最適化によって忘却されるのを 抑止するための工夫である.

また，予測する単語の長さを最大 $K$ 文字とする制限を設ける。これは任意の長さの単語を認めた場合 に考えられる，訓練データセットに現れる文の一つ 一つが単語であると学習するような局所解に陥るこ とを避けるためのものである。

## 4 評価実験

提案手法による単語分割の精度を評価するために 日本語を対象として実験を行った.ここでは，実験設定について述べた後，実験結果及びそれに対する 考察を述べる.

## 4.1 実験設定

データセットは京都大学ウェブ文書リードコー パス $(\mathrm{KWDLC}){ }^{1}$ を用いた．KWDLC は日本語ウェ ブ文書を対象としたコーパスであり，その訓練デー タ，検証データ，テストデータはそれぞれ 12,271 件，1,585 件，2,195 件である。事前学習済み文字 レベル BERT は日本語 Wilipedia 全体で学習した BERT-base-Japanese-char ${ }^{2}$ を用いた. 予測する単語 の長さの最大値 $K$ は 5 とした. KWDLC のテスト データにおける単語の約 $99 \%$ が 5 文字以下である ことを踏まえると，この制約のために分割精度が 大きく損なわれる可能性は小さいと考えられる。

表 1 提案手法による単語分割の定量的評価. モデル全体 の学習についてのエポック数を $5,10,15,20$ としたそれぞれ の場合における結果を示す。

1) https://github.com/ku-nlp/KWDLC

2) https://huggingface.co/cl-tohoku/ bert-base-japanese-char
表 2 提案手法（エポック数を 10 とした場合）で得られた予測の例

学習のための最適化アルゴリズムは AdamWを用 いた.また, AdamW のハイパーパラメータとして $\beta_{1}=0.9, \beta_{2}=0.999, \epsilon=10^{-8}, \lambda=0.01$ を用い，学習率 は $2 \times 10^{-5}$ とした. モデル全体の学習についてのエ ポック数を $5,10,15,20$ としたそれぞれの場合につい て実験を行った。なお，いずれの場合においても， BERT 部分を固定した事前学習を 1 エポックだけ実施した。また，学習全体を通して BERT の入力側 8 層は固定した。

## 4.2 実験結果

表 1 にモデル全体の学習についてのエポック数 を 5,10,15,20としたそれぞれの場合におけるテスト データに対する分割結果の $\mathrm{F}$ 値， $\mathrm{P}$ 值， $\mathrm{R}$ 值を示す. エポック数が 10 の場合において $\mathrm{F}$ 值が最大 (63.5) となった。表 2 にエポック数 10 の場合のモデルで 得られた予測の例を示す。いずれの例も，いくつか エラーが見られるものの概ね妥当な分割であるとい える. エラーの例としては読点（“、”）を直前の単語と結合しており，一つの単語として判別できてい ないことが挙げられる. 後処理でモデルの予測に関 わらず読点を一つの単語として見なすようにする と，テストデータに対する $\mathrm{F}$ 値は 68.6 に増加した。 このことから，このモデルによる予測の多くで読点 についてのエラーが生じていることがわかる.

エポック数を 15,20 とした場合では，エポック数 を 10 とした場合に比べて $\mathrm{F}$ 値が減少している. そ れぞれの場合において予測された単語の長さの分布 （図 2）から，学習が進むにつれて分割が細かくなっ ていくことが確認された.これがエポック数 15,20 の場合に分割精度が低下した大きな原因であると考 えられる.ここで，妥当な分割が得られる状態で学習が収束せずに分割が過剩に細かくなっていく要因について考察する. 提案手法では分割 $\mathbf{y}$ をボトル ネックとすることで，BERT の埋め込みべクトル $h_{i}$ が単語についての抽象的な表現を獲得することを期待している. しかし, 実際にはモデルが十分に柔軟 であるために $h_{i}$ が入力文字についての具体的な表現を獲得，すなわち対応する文字 $c_{i}$ の情報をそのま

図 2 エポック数と予測単語長さの分布の関係. 左から順 にエポック数 $5,10,15,20$ の場合のモデルが予測した単語の 長さの分布であり，右端はテストデータの真の単語の長 さの分布である．なお，6文字以上の単語については省略 した. 学習が進むほど長さ 1 の単語が占める割合が増加 し，分割が過剰に細かくなっていることが確認できる.

ま有するように学習が進んでいる可能性がある. べ クトル $h_{i}$ が $c_{i}$ の情報をそのまま有していると, $h_{i}$ を初期隠れ状態として与えられる前向き・後ろ向き 単語ネットワークにとって，予測対象の文字列の先頭・末尾の文字である $c_{i}$ の予測は他の文字の予測に 比べて非常に容易であるというバイアスが生じる. この結果として，学習が進むにつれて長さ 1 の単語 の生成確率が過大に評価されるようになり，分割が 過剩に細かくなっていくのだと考えられる。

## 5 おわりに

本研究ではモデルが参照するテキストの量を増加させるために事前学習モデルとして文字レベル BERTを導入し，また，入力文全体を見て分割を予測するためにセミマルコフ CRF 自己符号化器を設計した. 提案手法により $\mathrm{F}$ 値 63.5 の概ね妥当な単語分割が得られた。

今後の課題としては, 中国語等の他言語への適用，さらなる分割精度向上のための訓練データセッ トの大規模化がある．また，実験で明らかになった 読点についてのエラーや分割が過剩になっていく問題について調査し, 改善を図りたい. さらに，単語分割だけでなく品詞クラスタリングも同時に行うモ デルの設計も検討したい.

## 参考文献

[1] Sharon Goldwater, Thomas L. Griffiths, and Mark Johnson. A bayesian framework for word segmentation: Exploring the effects of context. Cognition, Vol. 112, No. 1, pp. 2154, 2009.

[2] Daichi Mochihashi, Takeshi Yamada, and Naonori Ueda. Bayesian unsupervised word segmentation with nested Pitman-Yor language modeling. In Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP, pp. 100-108, Suntec, Singapore, August 2009. Association for Computational Linguistics.

[3] Zhiqing Sun and Zhi-Hong Deng. Unsupervised neural word segmentation for Chinese via segmental language modeling. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, October-November 2018

[4] Kazuya Kawakami, Chris Dyer, and Phil Blunsom. Learning to discover, ground and use words with segmental neural language models. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 6429-6441, July 2019.

[5] Lihao Wang, Zongyi Li, and Xiaoqing Zheng. Unsupervised word segmentation with bi-directional neural language model. arXiv preprint arXiv:2103.01421, 2021.

[6] CM Downey, Fei Xia, Gina-Anne Levow, and Shane Steinert-Threlkeld. A masked segmental language model for unsupervised natural language segmentation. arXiv preprint arXiv:2104.07829, 2021.

[7] Yile Wang, Leyang Cui, and Yue Zhang. Does Chinese BERT encode word structure? In Proceedings of the 28th International Conference on Computational Linguistics, December 2020.

[8] Waleed Ammar, Chris Dyer, and Noah A Smith. Conditional random field autoencoders for unsupervised structured prediction. In Advances in Neural Information Processing Systems, Vol. 27. Curran Associates, Inc., 2014.
 和田有輝也 村脇有吾 黑橋禎夫 京都大学大学院情報学研究科 \{wada, murawaki, kuro\}@nlp.ist.i.kyoto-u.ac.jp  