言語処理学会 第28回年次大会 発表論文集 (2022年3月)

Vaporetto: 点予測法に基づく高速な日本語トークナイザ
赤部 晃一 1
1 LegalForce Research

神田 峻介 1
小田 悠介 1,2
森 信介 3
2 東北大学 データ駆動科学・AI 教育研究センター
3 京都大学 学術情報メディアセンター{koichi.akabe, shunsuke.kanda, yusuke.oda}@legalforce.co.jp
forest@i.kyoto-u.ac.jp
トークンの境界か?

概要

窓幅=3

線形分類モデルによる点予測法に基づくトークナ
イザに関し，高速な計算手法を開発し，その実装である Vaporetto1）について報告する．本手法では，予測の際に圧縮ダブル配列を用いたオートマトンを採用し，高速な文字列探索を実現する．また，スコアに対して 3 種類の前処理を提案する．実験の結果，既存の点予測法に基づくトークナイザである KyTeaと比較し，5.4 倍の高速化が確認された．また，提案した前処理手法については，その全てが高速化に寄与することを確認した．

は、

全 世

界の国

⺠

が、全 (-3) の (0) 世界 (-2) 全世界 (-3)
国 (1)
界の (-1) 世界の (-2)
世 (-2)
⺠ (2)の国 (0) 界の国 (-1)
界 (-1) 全世 (-3) 国⺠ (1) の国⺠ (0)

図 1 点予測法に基づくトークン化の例．括弧内の数字
は，判定箇所に対する各 𝑛-gram の相対位置を示す．

別モデルの素性を生成する [3]．KyTea では素性として，文字 𝑛-gram，文字種 𝑛-gram，辞書単語素性の 3種類を利用して線形分類モデルを学習する．
1 はじめに
図 1 は点予測法によるトークン化の例である．こ
日本語や中国語など，文中に単語境界を示す区切の例では，入力文として「は、全世界の国民が、」がり記号を挿入しない言語では，自然言語処理の前処与えられ，「界」と「の」の間がトークン境界であ理としてトークン化を行う必要がある．これには大るか否かを文字 𝑛-gram 素性を用いて識別している．
きく分けて 2 種類の手法が利用される．1 つは系列
文字 𝑛-gram 素性は，窓に含まれる文字 𝑛-gram と，予測法と呼ばれ，入力文から辞書に基づくラティスその相対位置の組で表現される．文字種 𝑛-gram にを構築し，語や語間に対して与えられるコストがついても素性の作り方は文字 𝑛-gram の場合と同様最小化される経路を探索する．代表的なものではだが，各文字をひらがな，カタカナ，漢字，数字，MeCab [1] が採用している．もう 1 つは点予測法とローマ字，その他の 6 種類に分類し，文字の代わり呼ばれ，入力文のすべての文字間に対し，語の境界に文字種記号の配列を利用する．図 2 は辞書単語であるか否かを識別モデルによって判別する．代表素性の例である．この例では，単語辞書に「の」と的なものでは KyTea [2] が採用している．
「世界」が含まれる場合に，太線で示された文字境トークン化は前処理として広く利用されており， 界に対してどのような素性が生成されるかを示して大量のテキストを処理するとき，分割の精度だけでいる．KyTea と MeCab の精度面による比較分析は，なく実行速度も重要である．本研究では，既存の点先行研究 [4] で行われている．
予測法に基づくトークン化を，モデルに手を加えず3 アルゴリズムの高速化に高速に動作させる手法を提案する．

2

点予測法によるトークン化

点予測法では，入力文の各文字境界に対して指定された幅の窓を考え，ここに含まれる文字列から識
1） https://github.com/legalforce-research/vaporetto

2 節で示したトークン化手法は，入力文に対する3 種類のパターン集合を用いたオーバーラップパターンマッチと，マッチ箇所に対するスコアの加算という 2 つの問題に帰着される．
図 3 は，入力文の各文字境界に対してスコアを計― 256 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

1-gram 単語の左端は、全世界の国⺠が、1-gram 単語の右端は、全世界の国⺠が、2-gram 単語の左端

らは、全世界の国⺠が

2-gram 単語の内側

らは、全世界の国⺠が

2-gram 単語の右端

らは、全世界の国⺠が

世

世
全界
世

全世界s界

世界

世

図 2 辞書単語素性の例．3-gram 以上の場合は，複数の文字境界について「内側」素性を生成する．
世界 (1)

ら は 、 全 世 界 の 国 ⺠ が 全世界 (0) ら は 、 全 世 界 の 国 ⺠ が世界 (0)ら は 、 全 世 界 の 国 ⺠ が 全世界 (-1) ら は 、 全 世 界 の 国 ⺠ が世界 (-1)

ら は 、 全 世 界 の 国 ⺠ が 全世界 (-2) ら は 、 全 世 界 の 国 ⺠ が世界 (-2)

ら は 、 全 世 界 の 国 ⺠ が 全世界 (-3) ら は 、 全 世 界 の 国 ⺠ が世界 (-3)

らは、全世界の国⺠がn-gramスコア配列
世界

世界

図 4 「世」「世界」「全世界」を登録した PMA．状態 𝑠 は「全世界」と「世界」を報告する出力状態．点線は Failure
リンクを示しており，ルートへの Failure リンクは省略している．

3.2

n-gram スコアの事前加算

PMA に 登 録 さ れ て い る パ タ ー ン 集 合 を P とし，あ る パ タ ー ン 𝑝 ∈ P の 𝑛-gram ス コ ア 配 列 を全世界

𝒘 pattern ( 𝑝) と す る．AC 法 に よ る PMA は，出 力 状

合計スコア配列態 𝑠 に到達した際にマッチしたパターン集合

らは、全世界の国⺠が⼀致箇所

図 3 𝑛-gram スコア配列の合計スコア配列への加算の例．
ここでは 2 つの 𝑛-gram に対して括弧内で示された相対位置に応じたスコアが学習されており，スコア計算の際は各 𝑛-gram スコアが合計スコア配列に加算される．

算する例である．窓幅を 𝑊 とすると，各 𝑛-gram について文字境界との相対位置に応じた 2𝑊 − 𝑛 + 1 通りのスコアが学習される．トークン境界の予測時には，各 𝑛-gram をパターンとして，入力文に対するパターンマッチを行い，マッチしたパターンとその位置から，どの文字境界にどのスコアを加算するかを決定する．

S(𝑠) ⊆ P を報告する．点予測法では PMA が報告した S(𝑠) について，全ての 𝑞 ∈ S(𝑠) の 𝑛-gram スコア配列 𝒘 pattern (𝑞) を合計スコア配列に加算することで文字境界のスコアを算出する．例えば図 3 は，S(𝑠) = { 世界, 全世界 } について，𝑛-gram スコア配列
𝒘 pattern ( 世界 ) と 𝒘 pattern ( 全世界 ) を合計スコア配列に加算する様子を示している．
提案法では，各 𝑞 の 𝑛-gram スコア配列を別々に加算するのではなく，まとめて加算することで合計スコアの計算を高速化する．具体的には，各出力状
態 𝑠 について以下のスコア配列 𝒘 state (𝑠) を定義する．
∑𝒘 state (𝑠) :=𝒘 pattern (𝑞)𝑞 ∈S(𝑠)本節では，パターンマッチとスコア計算のそれぞ

PMA が出力状態 𝑠 に到達し S(𝑠) が報告された際は，れの部分について，処理の高速化手法を紹介する．

𝒘 pattern (𝑞) を参照する代わりに 𝒘 state (𝑠) を参照する．
図 4 は，「世」「世界」「全世界」という 3 つのパ

3.1

パターンマッチの高速化ターンを登録した PMA を示している．出力状態 𝑠

MeCab に代表される系列予測法に基づくトークナ

は S(𝑠) = { 世界, 全世界 } を報告する．提案法では，イザの多くは，パターンマッチにトライ法 [5] を採これらの 𝑛-gram スコア配列を事前に加算し，配列用している．トライ法によるパターンマッチは，入𝒘 state (𝑠) を状態 𝑠 に持たせておくことで合計スコア

力文の長さを 𝑁，パターンの平均長を 𝐾 としたとき配列への加算回数が低減される．

𝑂 (𝑁𝐾) 時間で動作する．
一 方，提 案 法 で は Aho-Corasick (AC) 法 [6] に よ

3.3

辞書単語素性のスコアの事前加算

る パ タ ー ン マ ッ チ オ ー ト マ ト ン (PMA) を 採 用 す

辞書中の単語のうち，文字 𝑛-gram 素性の文字列とる．AC 法は，マッチする解の個数を 𝑜𝑐𝑐 とすると厳密一致する単語については辞書から削除し，辞書𝑂 (𝑁 + 𝑜𝑐𝑐) 時間で動作し，3.2 節で提案する高速化

単語素性のスコアを事前に文字 𝑛-gram 素性のスコ手法とも親和性がある．また，PMA を圧縮ダブル配列 [7] で実装することで高速な解析を実現する．

アに加算しておく．これにより，辞書単語素性 PMAからのパターン報告回数が減少し，文字 𝑛-gram 素― 257 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

性のスコアと辞書単語素性のスコアをまとめて合計⼊力⽂スコア配列に加算することが可能となる．

3.4

⽂字種列

文字種 n-gram スコアの事前加算

全世界の国⺠が、ひＫＫＫＨＫＫＨＯＨ
1 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1

現在の系列 Ｋ Ｋ Ｋ Ｈ Ｋ Ｋ Ｈ Ｏ Ｈ

文字種 𝑛-gram によって加算される文字境界のス

1 0 1 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1

系列ID= 101101001101101001(2) = 185193

コアは，窓によって切り出される文字列のみによって一意に決まる．そのため，長さ 2𝑊 の系列の全組次の系列合せについて事前に計算したスコアを保存してお1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0

系列ID= (101101001101101001(2) << 3 | 110(2)) & 3FFFF(16)= 101001101101001110(2) = 170830

けば，解析時のパターンマッチとスコアの加算を回避できる．文字種は高々 6 種類のため，各文字種に3 ビットのコード値を割り当てれば，文字種系列は6𝑊 ビットの整数値で表現できる．この整数値を系列の ID とし，計算済みスコアへの参照に用いる．
𝑊 = 3 のとき，系列の ID は高々 262,144 通りであり，各スコアを 4 バイトで保持するとメモリ使用量は 1MiB となる．

ＫＫＫＨＫＫＨＯＨ

図 5 文字種系列の ID を計算する例．窓幅 𝑊 = 3 としている．文字種の下の数字は，各文字種に対応したコード値を表す．Cd(H) = 001 (2) はひらがな，Cd(K) = 101 (2) は漢字，Cd(O) = 110 (2) はその他の文字種に対応している．次の系列 ID は，現在の系列 ID に対するビット演算によって求まる．

入力文として文字種列 (𝑎 0 , 𝑎 1 , . . . , 𝑎 𝑁 −1 ) が与えら𝐶 が小さいほど罰則項の比重が大きくなり，正則化れたとき，各文字境界についての系列の ID は以をより強くかけることとなる．モデルサイズを小さ下のように表現できる．文字 𝑎 𝑖−1 と 𝑎 𝑖 の境界に対くすると，合計スコアの計算に必要な各スコアの加応した系列 𝐴𝑖 = (𝑎 𝑖−𝑊 , 𝑎 𝑖−𝑊+1 , . . . , 𝑎 𝑖+𝑊−1 ) の ID を算回数が減ることに加え，CPU キャッシュの利用頻

Id( 𝐴𝑖 ) と表記する．𝑖 ∉ [0, 𝑁) な 𝑎 𝑖 は範囲外を表現度も上がり，処理の高速化が期待される．本研究でする特殊文字として扱い，そのコード値は 0 とする．

は，モデルのサイズと分割速度の関係を調査し，モ

このとき，Id( 𝐴𝑖 ) は以下の漸化式で記述できる．

デルサイズの調整による高速化も検討する．

Id( 𝐴𝑖+1 ) = ((Id( 𝐴𝑖 ) « 3) | Cd(𝑎 𝑖+𝑊 )) & (26𝑊 − 1)

実験5

ただし，初項は Id( 𝐴−𝑊 ) = 0 である．式中の Cd(𝑎) ∈提案法の高速化効果を検証するため，提案法と各[0, 8) は文字種 𝑎 のコード値，“«” は左シフト演算，種ツールの分割速度の比較を行った．また，正則化“|” は OR 演算，“&” は AND 演算である．

係数に応じた精度の比較も行った．

漸化式が示すように，Id( 𝐴𝑖 ) を用いて Id( 𝐴𝑖+1 ) が計算できる．すなわち Id( 𝐴−𝑊 ) = 0 を起点とし，文

5.1

実験設定

字境界を 1 文字ずつ右に移動しながら，各系列の ID

点予測法のモデル学習のためのデータセットとしがビット演算で高速に計算できる．図 5 は文字種系て，現代日本語書き言葉均衡コーパス (BCCWJ [9],列の ID をビット演算を用いて計算する例である．

4Ver. 1.1) のうち，人手で短単位アノテーションされL1 正則化によるモデルの圧縮たコアデータ 60,004 文を利用した．また，辞書としL1 正則化 [8] を利用すれば重みベクトルがスパーない 879,048 語を利用した．各実験では，BCCWJ のスとなり，過学習を防ぎつつ小さなモデルを学習することが可能である．線形分類モデルの学習で L1正則化を行うには，以下の目的関数を最小化する重みベクトル 𝒘 を学習する．
∑𝜉 (𝒘; 𝒙 𝑖 , 𝑦 𝑖 )min ∥𝒘∥ 1 + 𝐶𝒘て UniDic [10] (Ver. 3.1.0) のうち半角空白記号を含ま
コアデータ 60,004 文を 10 分割して交差検証を行った．速度の測定では，分割対象の文を先に RAM に読み込み，IO 処理にかかる時間は除外した．モデルの学習には LIBLINEAR [11] の L1-regularized L2-loss
SVC を利用し，𝐶 = 1.0 とした．また，窓幅 𝑊 = 3 と𝑖

ここで 𝜉 (𝒘; 𝒙 𝑖 , 𝑦 𝑖 ) は 𝑖 番目の入力 𝒙 𝑖 と出力 𝑦 𝑖 から計算される損失関数，𝐶 は罰則パラメータである2）．

し，𝑛-gram の最大長は 3 とした．
3 節で提案した各手法の効果を確認するため，各手法を個別に適用した場合とすべて適用した場合の2） 通 常，罰 則 パ ラ メ ー タ 𝐶 は 罰 則 項 の 係 数 と す る が，
LIBLINEAR で は 目 的 関 数 の 係 数 と し て い る．こ こ で は― 258 ―LIBLINEAR の定式化に合わせている．

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

1.390

0.037

5.814
6.556
6.473
6.372
7.544

0.110
0.102
0.107
0.1400.101

MeCab (2020-09-14)

3.848

0.110

sudachi.rs (0.6.2)

0.821

0.013

速度を測定した．比較対象として，既存の点予測法に基づくトークナイザである KyTea の分割速度を測Error rate

KyTea (2020-04-03)
Vaporetto (Ours)(a) 圧縮ダブル配列の利用 (3.1 節)(b) a + 𝑛-gram スコア事前加算 (3.2 節)(c) a + 辞書単語スコア事前加算 (3.3 節)(d) a + 文字種スコア事前加算 (3.4 節)(e) a + b + c + d

0.00
20.0
10.0
0.0 -310

トークン化した際の実行速度も測定した．MeCab で実験は以下のスペックのマシンを用いてシングルスレッドで実施した．

# PMA states

は IPADIC を利用し，sudachi.rs では SudachiDict-core(Ver. 20210802) による短単位相当の分割を行った．

-210-1100101102

図 6 罰則パラメータを変化させた際の，分割誤り率と分割速度の関係．

# n-grams

比較はできないが，MeCab と sudachi.rs4）によって10Penalty parameter3）定した．

また，学習データやモデルが異なるため単純な

w/o Dictionary
w/ Dictionary

0.05

Speed [M chars/s]

表 1 分割速度の比較．単位は [100 万文字/秒]．罰則パラメータ 𝐶 は 1.0 とした．
ツール/設定速度𝜎1061041021001-gram

2-gram3-gram610510410310210 -310• CPU: Intel(R) Core(TM) i7-8086K CPU @ 4.00GHz10-210-1100101102

Penalty parameter• Memory: 64GiB RAM (L1: 32KiB, L2: 256KiB)

5.2

実験結果

図 7 罰則パラメータを変化させた際の，スコアが 0 でな
い 𝑛-gram の数と PMA の状態数の関係．

5.2.1

分割速度の比較

割速度は速くなる．しかしながら，𝐶 が大きい領域

分割速度の比較結果を表 1 に示す．実験結果によでは正則化が弱まるにつれて分割速度が遅くなるだ

ると，提案法では素性のスコアの前処理をしない場

けでなく，過学習によって分割誤りも増えている．

合でも KyTea の 4 倍以上の速度でトークン化処理を次に，図 7 は 𝐶 を変化させた際の，スコアが 0 で行うことが可能であり，圧縮ダブル配列を利用したない 𝑛-gram の個数と PMA の状態数の関係を示しAC 法の効果が大きいことが分かる．また， (b)〜(d)ている．正則化を強くするほど，𝑛-gram がモデルの各手法を単独で実施した場合と同時に実施した場から削除され PMA が小さくなるが，その際に長い合のいずれの場合も処理が高速化された事が確認さ𝑛-gram が優先的にモデルから削除され，短い 𝑛-gramれた．

が支配的になることが確認できる．

5.2.2

まとめ

6

L1 正則化，分割精度，分割速度の関係

図 6 は，罰則パラメータ 𝐶 を変化させた際の，分本研究では，線形分類モデルを用いた点予測法に割誤り率と分割速度の関係を示している．𝐶 が小さ基づく日本語のトークン化を，パターンマッチとス

い領域では，精度と速度はトレード・オフの関係にあり，正則化を強くするほど精度が下がる一方，分コアの加算という 2 つの部分問題に帰着させ，各部

3） KyTea と提案法ではスコアを量子化しており，スコアの加算は整数の演算によって行われる．分割精度は，KyTea と提案法の実装の違いによる軽微な差を除き同じである．
4） sudachi.rs は Sudachi[12] の 高 速 な 実 装 で あ る．https://github.com/WorksApplications/sudachi.rs

分に対して最適化を行った．
提案したアルゴリズムは日本語のトークン化に特化したものではなく，AC オートマトンを利用した点予測法に一般化することが可能なため，他分野への応用も検討したい．

― 259 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

参考文献[1] Taku Kudo, Kaoru Yamamoto, and Yuji Matsumoto. Applying conditional random ﬁelds to Japanese morphological analysis. In Proceedings of the 2004 Conference on
Empirical Methods in Natural Language Processing, pp.
230–237, Barcelona, Spain, July 2004. Association for
Computational Linguistics.
[2] 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. 529–533, Portland,
Oregon, USA, June 2011. Association for Computational
Linguistics.
[3] Manabu Sassano. An empirical study of active learningwith support vector machines for Japanese word segmentation. In Proceedings of the 40th Annual Meeting of theAssociation for Computational Linguistics, pp. 505–512,
Philadelphia, Pennsylvania, USA, July 2002. Associationfor Computational Linguistics.
[4] 森信介, 中田陽介, Neubig Graham, 河原達也. 点予測による形態素解析. 自然言語処理, Vol. 18, No. 4, pp.
367–381, 2011.
[5] Edward Fredkin. Trie memory. Communications of theACM, Vol. 3, No. 9, pp. 490–499, 1960.
[6] Alfred V. Aho and Margaret J. Corasick. Eﬃcient string
matching: An aid to bibliographic search. Commun. ACM,Vol. 18, No. 6, pp. 333–340, June 1975.
[7] Susumu Yata, Masaki Oono, Kazuhiro Morita, Masao
Fuketa, Toru Sumitomo, and Jun-ichi Aoe. A compact
static double-array keeping character codes. Inf. Process.
Manage., Vol. 43, No. 1, p. 237–247, January 2007.
[8] Robert Tibshirani. Regression shrinkage and selection via
the lasso. Journal of the Royal Statistical Society: Series
B (Methodological), Vol. 58, No. 1, pp. 267–288, 1996.
[9] 前川喜久雄. 代表性を有する大規模日本語書き言葉
コーパスの構築 (<特集>日本語コーパス). 人工知能,
Vol. 24, No. 5, pp. 616–622, 2009.
[10] 伝康晴, 小木曽智信, 小椋秀樹, 山田篤, 峯松信明, 内元清貴, 小磯花絵. コーパス日本語学のための言語資
源 : 形態素解析用電子化辞書の開発とその応用. 日
本語科学, Vol. 22, pp. 101–123, oct 2007.
[11] Rong-En Fan, Kai-Wei Chang, Cho-Jui Hsieh, Xiang-RuiWang, and Chih-Jen Lin. Liblinear: A library for large
linear classiﬁcation. J. Mach. Learn. Res., Vol. 9, p.
1871–1874, June 2008.
[12] Kazuma Takaoka, Sorami Hisamoto, Noriko Kawahara,
Miho Sakamoto, Yoshitaka Uchida, and Yuji Matsumoto.
Sudachi: a Japanese tokenizer for business. In Proceedingsof the Eleventh International Conference on Language Resources and Evaluation (LREC 2018), Miyazaki, Japan,
May 2018. European Language Resources Association(ELRA).

― 260 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

データや分割単位の違いによる速度の比較
表 2 は，分割単位を変更した際の各ツールの速度を比較したものである．KyTea と Vaporetto では，学習コーパスとして BCCWJ の短単位 (SUW) と長単位(LUW) のいずれかを利用し，単語辞書は利用してCache misses

A107106105104w/o Dictionaryw/ Dictionary

3いない．MeCab では，SUW として UniDic，LUW と10 -310して IPADIC を利用した．Sudachi では SUW として10-2

UniDic 相当，LUW として固有表現 (NE) 相当のオプ
分割速度の比較．単位は [100 万文字/秒]．

ツール/設定速度𝜎101102KyTea / BCCWJ-SUW

1.4850.043

KyTea / BCCWJ-LUW

1.520

0.042

Vaporetto / BCCWJ-SUW

12.595

0.325

Vaporetto / BCCWJ-LUW 12.698

0.385

きる．
また，単語辞書を利用する場合は，𝐶 が小さい領域でもキャッシュミスが多く発生していることが確認できる．

窓幅と n-gram サイズを変化させた際の分割速度と分割精度の関係

CMeCab / Unidic

1.426 0.026

MeCab / IPADIC

3.848 0.110

分割速度と分割精度の関係を示している．学習には

sudachi.rs / SUW

0.821 0.013

BCCWJ のみ利用し，単語辞書は利用していない．

sudachi.rs / NE

0.865 0.012

𝑊 ≥ 4 の場合，文字種 𝑛-gram のスコアを事前計算す

表 3 は窓幅 𝑊 と 𝑛-gram サイズを変化させた際の，KyTea，Vaporetto，Sudachi，sudachi.rs では，分割単位の違いによる速度の大きな変化は確認できない．
一方，MeCab では UniDic を使用した場合に IPADICに比べて 2 倍程度の時間を要していることが確認できる．MeCab で BCCWJ を解析した際の L1 キャッシュミスの回数を perf コマンドで測定したところ，
IPADIC を使用した際は 3.6 × 106 回であったのに対し，UniDic を使用した際は 63.1 × 106 回であった．
UniDic を使用した場合，キャッシュミスが多く発生していることが速度低下の原因となっていることが伺える．

B0

図 8 罰則パラメータを変化させた際の，L1 キャッシュミス回数の変化．

ションを利用した．
表2-1

1010Penalty parameter

るとメモリを多く消費するため，文字 𝑛-gram と同様に PMA を利用している．
表 3 窓幅ごとの分割速度と分割精度．速度の単位は [100万文字/秒]．
SUW
LUW
𝑊, 𝑛
速度
𝐹1
誤り率 速度𝐹1
誤り率
1,12,23,3
4,4
5,56,6
7,7

27.20
15.68
12.60
10.84
9.43
8.28
7.74

0.9294
0.9926
0.99470.99470.99450.99430.99410.08830.00930.00660.00660.00680.00710.0074

27.86
16.26
12.70
10.76
8.93
7.73
7.15

0.92300.98400.99100.99190.99200.99190.99180.07500.01550.00880.00780.00770.00780.0080SUW の 場 合，𝑊 = 𝑛 = 3 で 精 度 が 上 限 と な り，

L1 キャッシュミスの頻度
図 8 は，罰 則 パ ラ メ ー タ 𝐶 を 変 化 さ せ た 際 のLUW の場合は 𝑊 = 𝑛 = 5 で精度が上限となっていることが確認できる．

L1 キャッシュミスが発生する回数を示している．
BCCWJ の 60,004 文で 10 交差検証を行った際の，各セットでの合計値を示した．キャッシュミスの回数
は perf コマンドで測定した．
単語辞書を利用しない場合，𝐶 < 0.1 まではモデルサイズが小さいため，キャッシュミスの回数が 1万回程度で抑えられており，キャッシュが効率的に利用されていることが伺える．しかし，𝐶 > 0.1 では次第にモデルがキャッシュに乗り切らなくなり，キャッシュミスの回数が増えていくことが確認で― 261 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).