# 深層学習を用いた階層的テキストセグメンテーションモデル

久島務嗣 1 吉田尚水 ${ }^{1}$ 小林優佳 ${ }^{1}$
永江尚義 1 岩田憲治 1
1 株式会社 東芝 研究開発センター
tsuyoshi2.kushima@toshiba.co.jp

## 概要

近年では, 大規模コーパスと深層学習を用いた高性能なテキストセグメンテーションモデルが提案さ れている. 既存モデルは 1 つの階層でのみセグメン テーションを行うが, 文章は章立てや段落といった 階層構造を持つ. この構造情報を活用することで, 推定時に考慮できる情報が増え, モデルのドメイン汎化性能が向上すると期待される. そこで, 構造情報を 持った大規模コーパスを構築し, 深層学習を用いた 階層的テキストセグメンテーションモデルを提案す る. 学習コーパスとドメインの異なるコーパスで評価した結果, 提案モデルは既存モデルの性能を上回 り, 構造情報の有効性を確認した。

## 1 はじめに

書籍や文書といった人によって作られた文章は,章立てや段落などの構造を持つ.この構造情報は, 高度なテキスト分析において有用である. しかし, 音声認識の様な自動化技術の発達によって構造を持たな いテキストが大量に存在するようになった. 構造を 持たないテキストの分析は容易でないため, 高性能 なテキスト構造化技術が求められている.

テキスト構造化技術の 1 つにテキストセグメン テーション (Text Segmentation: TS) がある.これは, テキストを意味的に関連性がある複数の文のまと まり (セグメント) に分割し, 構造化する技術である. TS には大きく2つのタイプがある. 1 つは,テキスト からセグメント終端となる文を検出し，テキストを セグメント系列に変換する線形的 TS(Linear TS: LTS,図 1 下) である.もう一つは階層的な構造化を行う階層的 TS(Hierarchical TS: HTS, 図 1 上) である. 古典的 な LTS・HTS モデルは文の類似度や単語の一貫性に 基づいた教師なし学習モデルで, 人工的に生成した データでは高い性能を発揮していたが，自然なデー タでは性能が低いことが課題であった $[1,2,3,4]$.

図 1 LTS と HTS の概要

近年では，大規模コーパスを用いた深層学習 LTS モデルがいくつか提案されており $[5,6,7,8]$, 自然な データでも高性能なテキスト構造化が可能となって きた。一般に文章の持つ構造は階層構造であるため， セグメントに含まれる文の数 (大きさ) は構造化され る階層によって異なる. 例えば, 節の下にいくつかの 段落がある場合, 下の階層で構造化すれば 1 つのセ グメントが段落になり, 上の階層で構造化すれば 1 つのセグメントが節になる。適切なセグメントの大 きさは構造化後の分析に依って異なるため, 汎用的 に利用するには階層的な構造化が必要となる。 しか し, LTS モデルは階層的な構造化が出来ず, 対応した 階層別にモデルを用意するのはコストが高い.

深層学習を用いた HTS モデルが提案されていな い原因として, 構造情報を持った十分大きい学習 コーパスが構築されていないことが挙げられる。大規模コーパスを用いて HTS モデルを深層学習する ことで, 様々な分析に汎用的に利用できる高性能な HTS モデルが学習できる. さらに, テキストが持つ階層構造を活用することで，推定時に考慮できる情報 が増え, LTS モデルよりもテキストのドメインに対 する汎化性能が向上することも期待される。そこで，章・節・段落の 3 つの階層の構造情報を持った大規模な学習コーパスを構築し, 深層学習を用いた 3 層 の HTS モデルを提案する.

まず, 2 章で関連研究を挙げ, 3 章で構築したコー

パスと提案モデルについて説明する. 4 章では実験設定と評価方法, 5 章では結果と考察, 6 章では最後 に本稿のまとめと今後の課題について述べる.

## 2 関連手法

深層学習を用いた LTS モデルは文特徴ベクトル 生成部 (encoder) とセグメント終端推定部 (predictor) から成る.いずれの部分も入力は系列となるの で, LSTM や Transformer Encoder(TFE) が用いられる. TFE を用いた LTS モデルには Glavǎs ら [8] と Lukasik ら [7] のモデルがある. Glavǎs らは, 再帰的なモデル (LSTM など) よりもTFE の方が自然言語タスク全般 で性能が良く収束が早いために, TFE をモデルに採用した. また, Lukasik らは encoder $\cdot$ predictor の両方 に学習済み BERTを用いた HierBERT を提案した。

HTS モデルには Kazantseva ら [3] と Bayomi ら [4] のモデルがある. いずれのモデルも文の類似度に基 いた階層クラスタリング手法を用いた教師なし学習 モデルで, 小さいセグメントから推定をはじめ, その 結果を用いてだんだん大きいセグメントを推定す る, ボトムアップ方式の構造化を行った.

## 3 提案手法

## 3.1 コーパス

深層学習を用いて HTS モデルを学習するため には, 2 つ以上の階層を持つ大規模なコーパスが 必要となる. しかし, その様なコーパスは存在しな いため, Section[9] と Wiki-40B[10] を用いて新たな コーパスを構築した. Section は LTS の学習に広く 用いられているコーパスで, Wikipedia の都市と疾病に関する記事を収集することによって構築され た. 記事は SPARQL を使用して対応するトピック の WikiData の QID を検索する事によって収集され た. また, Wiki-40B は Wikipedia を前処理したコーパ スで, 節と段落の 2 つの構造情報と WikiData の QID が付与されている. Section と同じ記事のデータを Wiki-40B から抽出することで, 構造情報を持った Section(Hier.Section)を構築した.

さらに, Wiki-40B は 1 つのデータに複数の節を含 むため, 1 つのデータを章とみなすことができる. そ こで, 1 つのデータのテキスト全体を章のセグメン トとし, その終端に章のセグメント終端の正解ラべ ルを付与した. したがって, Hier.Section は章・節・段落の 3 つの構造情報を持つ.

図 2 Predictor モデル概要図

データの抽出は, Section の各データに付与された WikiData の URL から特定した QID を用いて行った.抽出したデータの前処理として, 複数の文が連結さ れていた場合には分割し, 節のセグメント数が 2 つ 以下のデータと 3 文以下のデータはコーパスから削除した. 文の分割には Python のオープンソースライ ブラリ $\mathrm{nltk}^{1)}$ を使用した. 学習・検証・評価データへ の分割は Section の学習・検証・評価データと同じ データが含まれるように行った。

また, LTS の評価に良く用いられるコーパスに Elements[11] がある. Elements は複数の文が連結さ れているデータが多く, また, 記号が削除されてい るために元の文に分解することが難しいことから， Wiki-40B から新たに構築した Hier.Elements を評価 データとして使用した. Hier.Elements は化学元素に 関する記事の QID をSPARQL を使用して収集し, 対応するデータを Wiki-40B から抽出することによっ て構築した. 前処理は Hier.Section と同様に行った.

## 3.2 提案モデル

HTS では階層ごとに関連性を考慮する範囲が異な るため, 局所的・大域的な関連性がどちらも重要で ある。TFE は系列全体の関連性を見ながら特徴を抽出するため, HTS モデルの predictor には TFE が適切 である。さらに, encoder に事前学習済み BERT を用 いることで, predictor では学習コーパスに依存しな い汎用的な文特徴べクトルが利用できる. また, 小さ

1) https://www.nltk.org/

いセグメントはテキストを構成する意味の最小単位 となるため, ボトムアップで構造化することで, その 後のセグメントの統合を精度よく行うことができる [4]. したがって, 本稿は encoder には BERT, predictor には TFE を用い, ボトムアップで推定する HTS モデ ルを提案する。

encoder は BERT が出力した sub-word 単位の特徴 ベクトルを平均し, 文特徴べクトル $f^{i}$ として出力す る. predictor のモデル概要図を図 2 に示す. predictor は 2 層の TFEを 3 つの持ち, それぞれのパラメータ は独立している. bottom ・ middle・top は段落・節・章の階層にそれぞれ対応し, ボトムアップに bottom から順にセグメント終端を推定する。

bottom では, まず, encoder から受取った文特徴 ベクトル系列 $f_{1: L}$ を TFE に入力し, 階層特徴べ クトル系列 $h_{1: L}^{b}$ を得る (式 1). 計算した $h_{1: L}^{b}$ から Feed Forward Network(FFN) と softmax 関数によって bottom のセグメント終端確率 $p_{1: L}^{b}$ を算出する (式 2).

$
\begin{aligned}
h_{1: L}^{b} & =T F E^{b}\left(f_{1: L}\right) \in \mathbb{R}^{L \times d} \\
p_{i}^{b} & =\frac{\exp \left(g_{i}^{b}\right)}{\sum_{j=1}^{L} \exp \left(g_{j}^{b}\right)} \in \mathbb{R}^{2} \\
g_{1: L}^{b} & =F F N_{p}^{b}\left(h_{1: L}^{b}\right)
\end{aligned}
$

式中の $d$ は BERT の特徵ベクトル次元, $\mathrm{L}$ は入力テキストの文の数をそれぞれ表し, $F F N_{p}^{b}(\cdot)=$ $W_{p}^{b} \cdot \operatorname{relu}(\cdot)+b_{p}^{b}$ である.

次に, $p_{1: L}^{b}$ を閾値処理しセグメント終端位置を特定する. ただし, 学習時には正解ラベルをセグメン 卜終端位置として用いた. 特定したセグメント終端位置からセグメント系列 $\mathrm{Seg}^{b}$ を得る. セグメント $S e g_{i}^{b}$ は i 番目のセグメントに含まれる文の添え字集合を表す. 例えば, 3 文目と 6 文目がセグメント 終端の場合, $\operatorname{Seg}_{1}^{b}=\{1,2,3\}, S e g_{2}^{b}=\{4,5,6\}$ となり, $\left|S e g_{1}^{b}\right|=\left|S e g_{2}^{b}\right|=3$ である. 統合べクトル $e_{i}^{b}$ は, コン テキストベクトル $C^{b}$ を用いた注意機構 [12] によっ て計算する (式 3).

$
\begin{aligned}
e_{i}^{b} & =\frac{1}{\left|\operatorname{Seg}_{i}^{b}\right|} \sum_{j \in \operatorname{Seg}_{i}^{b}} a_{j}^{b} \cdot h_{j}^{b} \\
a_{i}^{b} & =\frac{\exp \left(z_{i}^{b}\right)}{\sum_{k \in \operatorname{Seg}_{j}^{b}} \exp \left(z_{k}^{b}\right)} \text { s.t. } i \in \operatorname{Seg}_{j}^{b} \\
z_{1: L}^{b} & =C^{b} \cdot \tanh \left(F F N_{z}^{b}\left(h_{1: L}^{b}\right)\right) \in \mathbb{R}^{L}
\end{aligned}
$

bottom で特定したセグメント系列が $\left|\operatorname{Seg}^{b}\right|=M$
であるとき, middle では bottom の計算した統合べク トル系列 $e_{1: M}^{b}$ を大力として受け取る. 同様に, middle で特定したセグメント系列が $\left|\mathrm{Seg}^{m}\right|=N$ であると き, top は middle の統合ベクトル系列 $e_{1: N}^{m}$ を受け取 る. 入力ベクトル以外は bottom と同様の手続きで middle・top のセグメント終端確率を推定する. 目的関数は各階層における Cross-Entropy Loss(CEL) の総和としてモデルを更新した.

$
\begin{aligned}
\text { loss }=\frac{1}{L} C E L\left(y_{1: L}^{b}, p_{1: L}^{b}\right) & +\frac{1}{M} C E L\left(y_{1: M}^{m}, p_{1: M}^{m}\right) \\
& +\frac{1}{N} C E L\left(y_{1: N}^{t}, p_{1: N}^{t}\right)
\end{aligned}
$

式中の $y$ はそれぞれの階層の正解ラベル, $p_{1: N}^{m} \cdot$ $p_{1: N}^{t}$ は middle・top で計算されたセグメント終端確率をそれぞれ表す. 提案モデルでは各階層のセグメ ント単位で特徴ベクトルを統合しながら推定を進め るため, 階層ごとに系列長が異なる。そのため, 階層 ごとのロスのバランスを取るために系列長でスケー リングを行った. また, FFNに入力される特徴べクト ルは, 入力される直前に一定の割合で要素を 0 に置換する dropoutを適用した [13].

## 4 実験

## 4.1 実験設定

実験に使用するコーパスとその統計量を表 1 に示 す. 学習コーパスとトピックが異なるコーパスをド メイン外 (Out-Of-Domain: $\mathrm{OOD}^{\dagger}$ ) とする。学習コー パスには Hier.Sectionを用いた. 学習・評価データの 作成の詳細は付録を参照されたい. 最適化関数には AdamW を用い, 学習率は $10 \mathrm{e}-4$, 学習エポック数は 50, dropout 割合は 0.1 とした. 評価時のセグメント 終端位置の特定に使用する閾値は, 検証データにお いて最も良い F1 となった間値を使用した. 実装に は Pytorch ${ }^{2}$ と hugingface ${ }^{3)} の$ Transformers, encoder の BERT には”bert-base-cased”を使用した。また, BERT はパラメータを固定して実験を行った。

ベースラインは, LSTM を積層した HierLSTM[5] と, BERTを積層した HierBERT[7] の 2 つの LTS モ デルとした. HierLSTM と HierBERT はそれぞれの論文にしたがって実装し，提案モデルと同様の学習・評価を行った。また, HierBERT の BERT には提案モ デルと同様に”bert-base-cased”を使用した.


表 2 評価コーパスの評価結果 $(\mathrm{F} 1 \uparrow / \mathrm{PK} \downarrow)$

## 4.2 評価

評価には $\mathrm{F} 1 ・ \mathrm{Pk}[15]$ の 2 つの指標を用いた. $\mathrm{Pk}$ は窓幅 $\mathrm{k}$ 内のセグメント終端数の一致を測ることで セグメントのエラー率を計算する. F1・Pk は 1 つの コーパスのすべてのデータの推定結果を連結した系列に対して計算した. Pk は Python のオープンソース ライブラリ segeval ${ }^{4)}$ を用いて計算した.

評価コーパスには表 1 に示した 4 つのコーパスを 用いた. 複数階層の正解ラベルを持たないコーパス に対する提案モデルの評価は, 節の階層の推定結果 を用いて行った. また, 各データの末尾は必ずセグメ ント終端となるため, 節と段落の階層では既知のも のとして評価を行った.

## 5 結果と考察

表 2 に評価コーパスにおける結果を示す。表中の 太字は最も良いモデルの結果を表し, OOD-Ave には OODコーパスの結果の平均を示す.

個々の OOD コーパスの結果を見ると, Hier.Elements と Choi では F1・Pk 共に提案手法が最も良い 結果となった。また, Wiki-50においては, F1 では既存モデルと差があるが, $\mathrm{Pk}$ ではその差は小さい. さ らに, OOD-Ave の結果をみると, F1 と Pk 共に提案モ デルが最も良い結果となった. したがって, 構造情報 を用いることでモデルのドメイン汎化性能が向上す ることが確認された。

表 3 に Hier.Section の評価データ (Hier.Section-test) における結果を示す. Hier.Section-test における提案 モデルの結果を見ると，いずれの階層においても高 い性能で推定出来ている. したがって, 深層学習を用 いることで学習コーパスにおいては高性能な HTS モデルを学習出来ることが確認された.表 3 Hier.Section-test の評価結果 $(\mathrm{F} 1 \uparrow / \mathrm{PK} \downarrow)$

一方で, 階層ごとの性能を比較すると, 章の性能が 他の階層よりも高く, 階層ごとの性能差が大きい. さ らに,Hier.Section-test と Cities では既存モデルの性能 の方が高く, 提案モデルの学習コーパスと同じドメ インのコーパスでの性能は低下していることが分か る. これは, 推定の難易度が階層ごとに異なることを 示唆している. また, 提案モデルはボトムアップ方式 で推定を進めるため，段落の階層の推定精度が他の 階層に影響を与える. したがって, モデル全体の性能 に重要な階層よりも他の階層が先に学習されたこと によって，不適切な局所解に収束した可能性がある。適切な順序で階層の学習が進むような工夫をするこ とでモデルの性能が向上することが期待される.

以上のことから，学習コーパスにおいては高性能 な HTS モデルを学習可能であり, 提案モデルはドメ イン汎化性能が高いことが確認されたが，更なる性能改善の余地があることがわかった.

## 6 おわりに

本稿では，構造情報を持った大規模な学習コーパ スを構築し, 深層学習を用いた階層的なテキストセ グメンテーションモデル (HTS モデル) を提案した.評価の結果, 学習コーパスにおいては高性能な HTS モデルが学習可能であり, 提案モデルは既存モデル よりもドメイン汎化性能が高いことから, 構築した コーパスと多くの構造情報を推定に用いることの有効性が確認された．学習の工夫によってモデルの性能を更に向上させることが今後の課題である.

4) https://segeval.readthedocs.io/en/latest/

## 参考文献

[1] Marti A. Hearst. Text tiling: Segmenting text into multiparagraph subtopic passages. Computational Linguistics, Vol. 23, No. 1, pp. 33-64, 1997.

[2] Goran Glavǎs, Federico Nanni, and Simone Paolo Ponzetto. Unsupervised text segmentation using semantic relatedness graphs. In Proceedings of the Fifth Joint Conference on Lexical and Computational Semantics, Association for Computational Linguistics, pp. 125-130.

[3] Anna Kazantseva and Stan Szpakowicz. Hierarchical topical segmentation with affinity propagation. In Proceedings of COLING 2014, the 25th International Conference on Computational Linguistics, pp. 37-47, 2014.

[4] Mostafa Bayomi and Sěamus Lawless. C-hts: A conceptbased hierarchical text segmentation approach. In Proceedings of the Eleventh International Conference on Language Resources and Evaluation, 2018.

[5] Omri Koshorek, Adir Cohen, Noam Mor, Michael Rotman, and Jonathan Berant. Text segmentation as a supervised learning task. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics, pp. 469-473.

[6] Linzi Xing, Brad Hackinenz, Giuseppe Carenini, and Francesco Trebbi. Improving context modeling in neural topic segmentation. In Proceedings of the 1st Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 10th International Joint Conference on Natural Language Processing, pp. 626-636, 2020.

[7] Michal Lukasik, Boris Dadachev, Kishore Papineni, and Gonçalo Simões. Text segmentation by cross segment attention. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing, pp. 4707-4716, 2020.

[8] Goran Glavǎs and Swapna Somasundaran. Two-level transformer and auxiliary coherence modeling for improved text segmentation. In Proceedings of the 34th Association for the Advancement of Artificial Intelligence, 2020.

[9] Sebastian Arnold, Rudolf Schneider, Philippe CudréMauroux, Felix A. Gers, and Alexander Löser. Sector: A neural model for coherent topic segmentation and classification. Transactions of the Association for Computational Linguistics, Vol. 7, pp. 169-184, 2019.

[10] Mandy Guo, Zihang Dai, Denny Vrandečić, and Rami AlRfou. Wiki-40b: Multilingual language model dataset. In Proceedings of the Twelfth Language Resources and Evaluation Conference, pp. 2440-2452, 2020.

[11] Harr Chen, S.R.K. Branavan, Regina Barzilay, and David R. Karger. Global models of document structure using latent permutations. In Proceedings of Human Language Technologies: The 2009 Annual Conference of the North American Chapter of the Association for Computational Linguistics, pp. 371-379, 2009.
[12] Zichao Yang, Diyi Yang, Chris Dyer, Xiaodong He, Alex Smola, and Eduard Hovy. Hierarchical attention networks for document classification. In Proceedings of the $\mathbf{2 0 1 6}$ Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 1480-1489.

[13] Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. Dropout: A simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, Vol. 15, No. 56, pp. 1929-1958, 2014.

[14] Freddy Y. Y. Choi. Advances in domain independent linear text segmentation. In 1st Meeting of the North American Chapter of the Association for Computational Linguistics, pp. 26-33, 2000.

[15] Doug Beeferman, Adam Berger, and John Lafferty. Statistical models for text segmentation. Machine Learning, Vol. 34, No. 1, pp. 177-210, 1999.

[16] Eisenstein Jacob and Regina Barzilay. Bayesian unsupervised topic segmentation. In Proceedings of the 2008 Conference on Empirical Methods in Natural Language Processing, pp. 334-343, 2008.

## A 付録

## A. 1 学習・評価データ作成

学習データはランダムにサンプリングした $2 \sim 6$ 個のデータを連結することによって作成した. 計算量の都合で, 連結し たデータの文長と文数はそれぞれで sub-word 単位で 64 単語・ 128 文を上限に制限した. 上限を超える場合は, 文は上限位置で切り捨て,データは上限位置で分割した. また, 節・段落の順序は $1 / 2$ の割合でランダムな順序にシャッフルした.

評価データは, コーパス中のすべてのデータを連結し, 128 文を窓として 64 文ずつスライドしてデータの半分が重複す るように分割し作成した. 重複する部分は推定したセグメント終端確率を平均することで統合し, 最終的な推定結果とし て評価を行った. 評価時には, 節・段落の順序のシャッフルは行わず, 文字数の制限のみ学習時と同様に行った.

## A. 2 実験結果詳細

表 4 にはベースラインとした 2 つの既存モデルの結果, 表 5 には提案モデルの結果をそれぞれ示す. 段落の正解ラベル を持たないコーパスでは,節の正解ラベルを使って段落階層の推定結果を評価した (表 5 下線).

Section-test は Section の評価コーパスで, Hier.Section-test と結果に乘離がないことを確認するために評価を行った. Clinical は医学書からいくつかの章を抽出し, 節をセグメントとして構築したコーパスである [16]. 形式の異なるコーパス に対する汎化性能を検証するために Clinical でも実験を行った. 以下に Clinical の統計量を示す.

・データ (長さ/数): 140.4 / 227, 節 (長さ / 数): 34.8 / 4.0, 段落 (長さ / 数): - / -

Clinical は 1 つのデータが長く節のセグメントも大きい. Clinical の 1 つのセグメントは, Hier.Section の 1 つのデータと 同程度の大きさであるため, 提案モデルにおいては章の階層で推定されるセグメントに相当すると考えられる. そこで, Clinical ではデータの連結は行わず, データを 1 つずつ入力し推定を行った. さらに, 提案モデルの章・段落の階層の推定結果は, 節の正解ラベルを使って評価を行った.

## A. 3 階層数を固定した HTS における課題

Clinical における提案モデルの結果をみると, 章の階層での F1・Pk が最も良い結果となった. 既存モデルの結果と比較 すると, F1 では HierBERT が最も良いが, Pk では提案モデルが最も良い結果となっている. Clinical における提案モデルの 章の階層の推定結果を分析すると, 湧き出し誤りは極端に少なく, 見落とし誤りが失敗のほとんどを占めており, 正しく検出されたセグメント終端のほとんどはテキストの末尾の既知としたセグメント終端であった. その結果, セグメント数が 少ない Clinical では Pk が高くなったことが分かった (表 1). さらに, 節の階層では高い Recall でセグメント終端が検知で きていることから, 章の階層ではそのほとんどが棄却されていることが分かる (表 5). これは, Clinical のセグメントは学習 コーパスにおける章と節の中間の階層にあたることを示唆している. また, Hier.Elements の章の階層においても, 節の階層 で推定されたセグメントの終端をほとんど棄却しており, Clinical と同様の傾向が確認された.

HTS においては,この様な対応できない階層が正解として求められる場合があるが, 階層数を固定した HTS モデルでは,原理上対応が難しい. 汎用的に利用可能なモデルには,この様な課題に対応することも必要となるため, 対応可能なモデル の検討も今後の課題である.

 &  &  & 0.425 & 0.547 & 0.347 & 0.327 & $\underline{0.421}$ & $\underline{0.301}$ & $\underline{0.698}$ & $\underline{0.397}$ \\


 久島務嗣 1 吉田尚水 ${ }^{1}$ 小林優佳 ${ }^{1}$ 永江尚義 1 岩田憲治 1 1 株式会社 東芝 研究開発センター tsuyoshi2.kushima@toshiba.co.jp  