# テキストセグメンテーションモデルの ドメイン汎化性向上に向けたデータ拡張手法

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

## 概要

近年では，大規模コーパスと深層学習を用いた高性能なテキストセグメンテーションモデルが提案されている。しかし，既存手法は学習コーパスと異なるドメインのテキストでは顕著に性能が低下する。 コーパスによって使われる名詞が大きく異なり，かつ，名詞に依存したモデルが学習されていることが，このドメイン汎化性低下の原因である可能性がある。そこで，本稿では名詞置換によるデータ拡張によって，ドメイン汎化性能の改善を試みる. 実験の結果, ドメイン外の評価コーパスにおいて, 名詞置換によって平均で $\mathrm{F}$ 值で $6.46, \mathrm{Pk}$ スコアで 1.89 それぞれ改善し，名詞置換の効果を確認した。

## 1 はじめに

書籍や文書といった人によって作られたテキストは，章立てや段落などの構造を持つ.この構造情報は，高度なテキスト分析において有用である. しかし, 自動化技術の発達によって，音声認識による音声書き起こしといった，構造を持たないテキストが大量に存在するようになった。構造を持たないテキストの分析は容易でないため，高性能なテキスト構造化技術が求められている. テキスト構造化技術の 1 つにテキストセグメンテーションがある.これは，構造を持たないテキストを意味的関連性がある複数の文のまとまり (セグメント) に分割し，構造化する技術である．近年では，大規模コーパスと深層学習を用いた手法が提案され $[1,2,3,4]$, 高性能な構造化が可能となってきている.

しかし，既存手法で高い性能が発揮できるテキストは学習データと似たテキストに限られる。 Wikipedia や教科書といった，コーパスのテキストの種類である書式とトピックをドメインとすると，学習データとドメインが異なるテキストでは顕著に性能が低下する [3]. そのため, 汎用的なモデルの実現には，ドメイン汎化性の向上が課題である.

このドメイン汎化性が低い原因として，モデルが学習データの名詞に過学習していることが考えられる. [3] で使われたコーパスを分析した結果，名詞は語彙の過半数を占め, 学習データの語彙と評価コーパスの語彙との一致率が他の品詞に比べて低いことが分かった. したがって，学習データで高い性能を発揮するには，名詞に依存したモデルを学習する必要があり，さらに，名詞はコーパスによって大きく分布が異なるため, ドメイン汎化性が低下していると考えられる. よって，学習データのテキスト中の名詞を他の名詞に置換することで，特定の名詞に依存しない推定が可能になり，ドメイン汎化性能が向上すると期待される.

そこで，本稿では，名詞置換によって拡張したコーパスを使ってテキストセグメンテーションモデルを学習することで，モデルのドメイン汎化性を向上させる方法を提案する．また，置換対象とする品詞の比較実験によって, 名詞置換は他の品詞に比べてモデルの汎化性向上に有効であることを示す.

まず，2 章で関連研究を挙げ，テキストセグメンテーションの課題を詳細に述べる。 3 章で具体的なデータ拡張手法を説明し，4 章で実験の詳細，5 章で結果と考察をそれぞれ述べる. 6 章では最後に本稿のまとめと今後の課題について述べる.

## 2 関連研究

深層学習を用いた既存研究は, Glavǎs ら [1], Lukasik ら [2], Xing ら [3] の研究がある. これらの研究の学習・評価に用いられるコーパスを表 1 に示す. Section[5] とWiki-727k[4] は，それぞれ学習デー タ・検証データ・評価データを含むコーパスである。
表 1 コーパス統計量

表 2 品詞別語彙占有率

Glavǎs らは，Wiki-727kを学習に用い，複数の評価コーパスで評価を行っている. モデルの汎化性評価には，学習データと異なるドメインのコーパスで評価する必要がある。しかし, Glavǎs らは, Wiki 書式のコーパスと疑似的に生成されたコーパスでしか評価を行っておらず，モデルの汎化性の評価は十分でない. Lukasik らも同様に, 十分なドメイン汎化性評価を行っていない。

一方で，Xing らは，Sectionを学習に用い，表 1 の評価コーパスで評価を行っている. 学習データとドメインが異なる Elements・Wiki-50・Clinical によってモデルの汎化性を評価しているが，評価データと 3 つの評価コーパスの性能に乘離がある.

以上の様に，深層学習によってテキストセグメンテーションモデルを学習する既存研究では, モデルの汎化性評価が行われているものが少なく，行われていても, 評価データの性能とドメインの異なるコーパスの性能に大きな乘離がある．様々なテキストに汎用的に利用できるテキストセグメンテーションモデルの開発には，モデルの汎化性を向上し, この乘離を埋めることが重要である.

## 3 提案手法

表 1 に示した評価コーパスの, 品詞別の語彙占有率を表 2 に, Section の学習データと各評価コーパス
との品詞別単語一致率を表 3 に，それぞれ示す. 表 2, 表 3 には, 語彙に占める割合の多い品詞上位 4 種のみを示している（詳細は付録参照のこと）、いずれのコーパスにおいても, 名詞が語彙の過半数を占めており，学習データの語彙との一致率は名詞が最も低い。したがって，学習データで高い性能を発揮するには，名詞に基づいた学習が必要となり，さらに, 他の品詞に比べて, 名詞はコーパスによって分布が大きく異なるため， ドメイン汎化性の低下の原因になっている可能性がある. そこで，学習データ中の名詞を置換するデータ拡張によって, 名詞に過学習せず，未知の名詞に頑健なモデルが学習され， モデルのドメイン汎化性が向上すると考える.

本稿で提案する名詞置換によるデータ拡張の例を表 4 に示す. 表 4 の original には置換前のテキストを， single と rand は 2 つの置換方法の例を，色付き単語は抽出された名詞を，それぞれ表す. 提案手法では，テキストから名詞を抽出し，抽出された名詞を学習データ内の他の名詞に置換する。

名詞の置換方法には, 表 4 に示した rand と single の 2 つの置換方法を検討した. single は，置換先と置換元の名詞を 1 対 1 で対応付け，その対応に従って置換を行う方法である。一方， rand は 1 対 1 の対応付けをせず，名詞が出現する度にランダムに他の名詞に置換する方法である。したがって， rand は同じ名詞であっても異なる名詞に置換され得る. 表 4 に示す例では, original には「Aleppo」という名詞が 2 回現れている. singleでは,「Aleppo」に「Gittinger」 が対応付いているため, 2 回とも「Gittinger」に置換されている。一方, rand では, 同じ名詞であっても毎回異なる名詞に置換され得るため, 1 回目は 「Gittinger」に，2 回目は「Agustina」に置換されている.なお，「Gittinger」と「Agustina」は学習データから抽出された名詞である。

また，複数の単語から成る名詞も存在するが，複数語の名詞を置換の単位にすると, single が適用できないため，置換の単位は 1 つの単語とした。

Gittinger has scarcely been touched by Espares since the modern hypertrophy occupies its ancient Wasserviertel. Gittinger appears in historical inhabitants as an important hypertrophy much earlier than Ariqueanos.

## rand

Gittinger has scarcely been touched by Espares since the modern hypertrophy occupies its ancient Wasserviertel. Agustina appears in historical inhabitants as an important Biodiversität much earlier than Ariqueanos.

## 4 実験

## 4.1 設定

実験に用いるモデルの概要図を図 1 に示す. 図 1 中の $S_{i}$ は文， $\mathbf{t}_{\mathbf{j}}$ は文 $\mathbf{S}_{\mathbf{i}}$ を構成するサブワード， $\mathbf{f}_{\mathbf{i}}$ は文 $S_{i}$ の特徴量， $p_{i}$ は文 $S_{i}$ がセグメント終端である確率，をそれぞれ表す。本稿では，文エンコード用 (前段) とセグメント終端推定用 ( 後段) に $2 \supset$ の事前学習済み BERT を用いる，Hier.BERT[2] を使用した。事前学習済み BERT は，Python のオープンソースライブラリである transformers ${ }^{1)}$ を使用した。

名詞置換は，エポック開始時に毎回実施した。また，名詞置換は $1 / 2$ の確率で行われ，置換するか否かの判定はテキスト単位で行った. 単語の抽出・品詞の特定には，Python のオープンソースライブラリである $\mathrm{spaCy}^{2}$ を利用した。

名詞置換の有効性検証のため，動詞も対象として実験を行った．動詞は，語彙の占有率が名詞に次いで高く, 名詞と同様に文の意味に大きくかかわるため，比較対象とした. よって，実験条件は置換方法 2 種 (single $\cdot$ rand) と置換対象 2 種（名詞： NOUN・動詞：VERB）の組み合わせで，NOUN single $\cdot$ NOUN $_{\text {rand }} \cdot$ VERB $_{\text {single }} \cdot$ VERB $_{\text {rand }}$ の 4 種となる。名詞と同様に，動詞も置換の単位は 1 つの単語である。また，動詞は，活用を無視して置換すると，意味不明な文になったり，文法的に誤った文となってしまう．そのため，動詞の置換は，置換先の動詞を置換元の動詞に合わせて活用させて置換を行う。 ハイパパラメータの選定には Mosbach ら [8] を参考にして，学習率は $\left[2 \mathrm{e}^{-6}, 5 \mathrm{e}^{-6}, 1 \mathrm{e}^{-5}, 2 \mathrm{e}^{-5}\right]$ から，学習エポック数は $[20,30,40,50]$ から，それぞれ検証データでの $\mathrm{F}$ 值が最大になるものを選択した。また， Warmup も適用し，学習率を変化させるエポック数は，学習エポック数の

1) https://github.com/huggingface/transformers

2) https://github.com/explosion/spaCy

図 1 モデルの概要図

$[10 \%, 20 \%, 30 \%, 40 \%, 50 \%]$ から検証データでの F 値が最大になるものを選択した。なお，Warmup では学習率は線形に変化させた。

Lukasik ら [2] は，テキストの文数と文の文字数とを制限し，計算コストを下げた上で Hier.BERT の学習を行っている。本稿でも同様に，文字数を 64 文字，文数を 128 文にそれぞれ制限して学習を行った. 文字数が 64 文字を超える場合には，文を分割し複数の文として前段の BERT に入力し，分割された文を後段の BERT に入力するときには，分割された文に同じ位置ラベルを与えて入力した。最後の全結合層に分割された文を入力するときには，分割された文の特徴量を平均した特徴量を入力した. 文数が 128 文を超える場合には，テキストを分割し，複数の学習データとした．評価時は，窓幅 128 文の窓を 1 文ずつスライドさせ，各文の推定結果を平均することで，最終推定結果を取得した。

## 4.2 評価

学習には Sectionを使用し，評価コーパスには Section の評価データ・Cities・Elements・Wiki-50・ Clinical の 5 つのコーパスを用いた. Section は Wiki 書式で都市と疾患のトピックを含むため，Elements・
表 5 評価結果 ( $\mathrm{F}$ 値 / $\mathrm{P}_{\mathrm{k}}$ スコア)

Wiki-50・Clinical の 3 つのコーパスをドメイン外 （OOD：Out-Of-Domain）として， ドメイン汎化性能の評価に用いた. Cities はドメイン内のコーパスとなるため評価の対象ではないが，Xing らとの比較のために評価に用いた。

評価指標には， $\mathrm{F}$ 値と $\mathrm{P}_{\mathrm{k}}$ スコア [9]を用いた。 $\mathrm{P}_{\mathrm{k}}$ スコアは，窓幅 $\mathrm{k}$ 分の検出誤りを許す指標で，テキストセグメンテーションモデルの評価によく用いられる. $\mathrm{P}_{\mathrm{k}}$ スコアは, Python のオープンソースライブラリである segeval ${ }^{3)}$ を用いて計算した。

実験は，データ拡張を適用しない baseline と， $\mathbf{N O U N}_{\text {single }} \cdot$ NOUN $_{\text {rand }} \cdot \mathrm{VERB}_{\text {single }} \cdot \mathrm{VERB}_{\text {rand }}$ の 4 条件，合わせての 5 つの実験条件で行った. 各実験条件に対して 5 つの seedで実験を行い，それぞれの結果の平均に対して評価を行った.

## 5 考察

実験の結果を表 5 に示す.表 5 中の OOD-Ave は OOD とした 3 つのコーパスの平均値を表す. 各条件で最も高い数値を太字で示す.

baseline と 4 つの実験条件の OOD-Aveを比較す

換対象とする品詞の違いによる改善幅の差を比較すると, NOUN ${ }_{\text {single }}$ と NOUN $\mathbf{r a n d}$ を平均すると, F 值で 6.46, Pk スコアで 1.89 それぞれ改善したが, VERB $_{\text {single }}$ と VERB rand を平均すると, baseline に比べて性能が劣化した. よって, 名詞を対象として置換するデータ拡張がドメイン汎化性の向上に有効であることが確認された。

名詞を置換対象とした条件の効果が高かった原因として, 名詞への過学習が抑えられた可能性

るため，単語に依存しない推定を行う. したがって, NOUN ${ }_{\text {rand }}$ の学習データにおける $\mathrm{F}$ 值と Pk スコアを上回るためには, 名詞に基づいた推定が必要となる. よって, 名詞を置換対象とした条件以外では, NOUN $\mathbf{r a n d}$ 相当の性能に達した後の学習で


は, 名詞への過学習が起こっていると考えられる。 NOUN $_{\text {single }}$ と NOUN ${ }_{\text {rand }}$ の学習データにおける $\mathrm{F}$ 值と $\mathrm{Pk}$ スコアは, 他の条件よりも劣化しているため,名詞を置換対象とした条件以外では名詞への過学習が起こっていたと考えられる.これが抑制されたため, 名詞置換ではドメイン汎化性が向上したと考えられる。これは，名詞への過学習がドメイン汎化性低下の原因になっている仮説を支持する。

一般にテキストセグメンテーションにおいては，名詞の一貫性は重要な判断基準となり得る。そのため, NOUN rand $^{\text {よりも， NOUN } \text { single }}$ の方が改善幅が大きいことが期待される。しかし，置換方法による差が見られないという結果は，モデルが名詞の一貫性を考慮した推定をあまりしていないことを示唆する.よって，名詞の一貫性を考慮する機構等で，更にドメイン汎化性の改善ができる可能性がある。

また，個別のコーパスの結果を見ると，Cities と Elements は Xing らの結果を上回っているが, Clinical では，非常に低い結果となった. Clinicalでは，他のコーパスの傾向と異なり, recall よりも precision が低い結果となっており，セグメント終端の誤検出が多い（詳細は付録参照のこと）。これは，コーパスの書式によってセグメントの粒度が異なることに起因すると考えられる（表 1)。セグメント分割粒度を調整可能なモデルによって, Clinical においても適切なセグメンテーションができると考えられる.

## 6 おわりに

本稿では，ドメイン汎化性能の高いテキストセグメンテーションの実現に向け，名詞置換によるデー 夕拡張手法を提案した. 実験の結果，名詞を置換するデータ拡張によって，平均して $\mathrm{F}$ 值で $6.46, \mathrm{Pk}$ スコアで 1.89 それぞれ改善し, 効果を確認した. 評価コーパスの内，2つのコーパスではSOTA 手法を上回ったが，1 つのコーパスでは非常に低い結果となった. 名詞の一貫性を考慮する手法や，セグメン卜粒度を調整可能な手法によって，更にドメイン汎化性能を向上することが今後の課題である.

## 参考文献

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

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

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

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

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

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

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

[8] Marius Mosbach, Maksym Andriushchenko, and Dietrich Klakow. On the stability of fine-tuning bert: Misconceptions, explanations, and strong baselines. In International Conference on Learning Representations, 2021.

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

## A 参考情報

表 A. 1 品詞別語彙分析結果（語彙数/一致率）

表 A. 2 実験結果詳細