(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022077202
(43)【公開日】2022-05-23
(54)【発明の名称】学習方法及び学習システム
(51)【国際特許分類】
G06F 40/216 20200101AFI20220516BHJP
【FI】
G06F40/216
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2020187941
(22)【出願日】2020-11-11
(71)【出願人】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(71)【出願人】
【識別番号】304021417
【氏名又は名称】国立大学法人東京工業大学
(74)【代理人】
【識別番号】100115808
【弁理士】
【氏名又は名称】加藤 真司
(74)【代理人】
【識別番号】100113549
【弁理士】
【氏名又は名称】鈴木 守
(72)【発明者】
【氏名】欅 惇志
(72)【発明者】
【氏名】内海 慶
(72)【発明者】
【氏名】平岡 達也
(72)【発明者】
【氏名】高瀬 翔
(72)【発明者】
【氏名】岡崎 直観
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091CA02
5B091EA01
(57)【要約】 (修正有)
【課題】言語モデルと後段タスクとの同時最適化を可能とする学習方法及び学習システムを提供する。
【解決手段】自然文に対して言語モデルを用いて自然言語処理を実行する前段装置と、自然言語処理の処理結果を用いて後段タスクを実行する後段モデルを含む後段装置とを含む自然言語処理システムの学習方法であって、前段装置にて、学習用の自然文に対して言語モデルを用いて自然言語処理を実行する前段処理ステップと、後段装置にて、自然言語処理の結果を用いて後段タスクを実行する後段処理ステップと、後段タスクの出力を評価する評価ステップと、評価の結果を用いて、言語モデルと後段モデルとを同時に学習する学習ステップとを含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
自然文に対して言語モデルを用いて自然言語処理を実行する前段装置と、前記自然言語処理の処理結果を用いて後段タスクを実行する後段モデルを含む後段装置とを含む自然言語処理システムの学習方法であって、
前記前段装置にて、学習用の自然文に対して前記言語モデルを用いて前記自然言語処理を実行する前段処理ステップと、
前記後段装置にて、前記自然言語処理の結果を用いて前記後段タスクを実行する後段処理ステップと、
前記後段タスクの出力を評価する評価ステップと、
前記評価の結果を用いて、前記言語モデルと前記後段モデルとを同時に学習する学習ステップと、
を含む学習方法。
【請求項2】
前記前段処理ステップは、
前記学習用の自然文に対して前記言語モデルを用いて前記自然言語処理を実行することで、処理結果の複数の候補を取得する言語処理ステップと、
前記複数の候補を複数の文ベクトルに変換する文ベクトル生成ステップと、
前記自然言語処理の結果の複数の候補の確率を複数の重みとして算出する重み算出ステップと、
前記複数の重みにより前記複数の文ベクトルをそれぞれ重み付けして重み付け和を算出する合成ステップと、
を含み、
前記後段処理ステップは、前記重み付け和を前記自然言語処理の結果として用いて、前記後段タスクを実行し、
前記学習ステップは、前記複数の候補の各々に対して前記評価が高くなるように確率を割り当てるように前記学習を行う、請求項1に記載の学習方法。
【請求項3】
前記評価ステップは、前記後段タスクの評価を学習損失値として出力し、
前記学習ステップは、前記学習損失値に対して誤差逆伝搬法を用いることにより前記学習を行う、請求項1又は2に記載の学習方法。
【請求項4】
自然文に対して言語モデルを用いて自然言語処理を実行する自然言語処理部を含む前段装置と、前記前段装置の処理結果を用いて後段タスクを実行する後段モデルを含む後段装置とを同時に学習する学習システムであって、
前記言語モデルを用いて複数の候補を出力する前記自然言語処理部と、
前記自然言語処理部が出力した複数の候補を複数の文ベクトルとして出力する文ベクトル生成部と、
ニューラル言語モデルを用いて前記自然言語処理の結果の複数の候補の確率を算出する確率算出部と、
前記複数の候補の確率を複数の重みとして算出する重み算出部と、
前記複数の重みにより前記複数の文ベクトルをそれぞれ重み付けして重み付け和を算出する合成部と、
前記重み付け和を前記前段装置処理結果として用いて前記後段タスクを実行する前記後段モデルと、
を備え、
前記後段タスクの出力を評価し、前記評価の結果を用いて前記言語モデルと前記後段モデルとを同時に学習する、学習システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語処理モデルの学習方法に関し、より詳しくは、自然言語処理モデルに含まれる前段の言語モデルと、後段タスクを実行する後段モデルとを同時に学習する学習方法及び学習システムに関する。
【背景技術】
【0002】
入力文を単語の系列へと変換する単語分割は、自然言語処理における重要な処理である。中国語や日本語のように単語境界をスペースなどで明示しない言語を処理する場合は、一般的には、入力となる自然文を単語列へと分割する必要がある。また、英語のようにスペースで単語区切りを明示する言語であっても、適切なサブワード分割を用いることがタスクを解くうえで重要である(例えば、非特許文献1~6)。
【0003】
従来の自然言語処理において、単語分割は不可逆的な前段処理として行われてきた。
図4は、従来の単語分割の処理を示す図である。
図4に示すように、従来では、コーパス210から入力されるテキスト(入力文)を学習済みのトークナイザ220(単語分割モデル)を用いて単語列へと変換して、解析済みコーパス230を取得し、これを後段タスクを解くための後段モデル240に入力するという処理過程が一般的である。これまでの自然言語処理における単語分割では、学習済みの単語分割モデルに基づいて入力文を尤もらしい単語列へと分割する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Peng, N. and Dredze, M. (2015). “Named entity recognition for chinese social media with jointly trained embeddings.” In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 548-554.
【非特許文献2】Peng, N. and Dredze, M. (2016). “Improving Named Entity Recognition for Chinese Social Media with Word Segmentation Representation Learning.” In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers), pp. 149-155.
【非特許文献3】Sennrich, R., Haddow, B., and Birch, A. (2016). “Neural Machine Translation of Rare Words with Subword Units.” In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), Vol. 1, pp. P1715-1725.
【非特許文献4】He, H. and Sun, X. (2017). “F-Score Driven Max Margin Neural Network for Named Entity Recognition in Chinese Social Media.” In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 2, Short Papers, pp. 713-718.
【非特許文献5】A, P. and Augenstein, I. (2020). “2kenize: Tying Subword Sequences for Chinese Script Conversion.” arXiv preprint arXiv:2005.03375.
【非特許文献6】Bollegala, D., Kiryo, R., Tsujino, K., and Yukawa, H. (2020). “Language-Independent Tokenisation Rivals Language-Specific Tokenisation for Word Similarity Prediction.” arXiv preprint arXiv:2002.11004.
【非特許文献7】Kudo, T. (2018). “Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates.” In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 66-75.
【非特許文献8】Hiraoka, T., Shindo, H., and Matsumoto, Y. (2019). “Stochastic Tokenization with a Language Model for Neural Text Classification.” In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 1620-1629.
【非特許文献9】Provilkov, I., Emelianenko, D., and Voita, E. (2019). “BPE-Dropout: Simple and Effective Subword Regularization.” arXiv preprint arXiv:1910.13267.
【非特許文献10】Chen, X., Shi, Z., Qiu, X., and Huang, X. (2017). “DAG-based Long Short-Term Memory for Neural Word Segmentation.” arXiv preprint arXiv:1707.00248.
【非特許文献11】Zhang, Y. and Yang, J. (2018). “Chinese NER Using Lattice LSTM.” In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 1554-1564.
【非特許文献12】Yang, J., Zhang, Y., and Liang, S. (2018). “Subword Encoding in Lattice LSTM for Chinese Word Segmentation.” arXiv preprint arXiv:1810.12594.
【非特許文献13】Hochreiter, S. and Schmidhuber, J. (1997). “Long short-term memory.” Neural computation, 9 (8), pp. 1735-1780.
【非特許文献14】Kudo, T. (2006). “MeCab: Yet Another Part-of-Speech and Morphological Analyzer.” http://taku910.github.io/mecab/.
【非特許文献15】Yang, J., Zhang, Y., and Dong, F. (2017). “Neural Word Segmentation with Rich Pretraining.” In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 839-849.
【非特許文献16】Goldwater, S., Griffiths, T. L., and Johnson, M. (2006). “Contextual dependencies in unsupervised word segmentation.”In Proceedings of the 21st International Conference on Computational Linguistics and the 44th annual meeting of the Association for Computational Linguistics, pp. 673-680. Association for Computational Linguistics.
【非特許文献17】Mochihashi, D., Yamada, T., and Ueda, N. (2009). “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: Volume 1-Volume 1, pp. 100-108. Association for Computational Linguistics.
【非特許文献18】Kudo, T. and Richardson, J. (2018). “SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing.” In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, pp. 66-71.
【非特許文献19】Nagata, M. (1994). “A stochastic Japanese morphological analyzer using a forward-DP backward-A* N-best search algorithm.” In Proceedings of the 15th conference on Computational linguistics-Volume 1, pp. 201-207. Association for Computational Linguistics.
【非特許文献20】Viterbi, A. (1967). “Error bounds for convolutional codes and an asymptotically optimum decoding algorithm.”IEEE transactions on Information Theory, 13 (2), pp. 260-269.
【非特許文献21】Grave, E., Joulin, A., and Usunier, N. (2016). “Improving neural language models with a continuous cache.”arXiv preprint arXiv:1612.04426.
【非特許文献22】Kawakami, K., Dyer, C., and Blunsom, P. (2017). “Learning to Create and ReuseWords in Open-Vocabulary Neural Language Modeling.”In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), Vol. 1, pp. 1492-1502.
【非特許文献23】Deligne, S. and Bimbot, F. (1995). “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.
【非特許文献24】Liang, P. and Klein, D. (2009). “Online EM for unsupervised models.” In Proceedings of human language technologies: The 2009 annual conference of the North American chapter of the association for computational linguistics, pp. 611-619.
【非特許文献25】Tran, K. M., Bisk, Y., Vaswani, A., Marcu, D., and Knight, K. (2016). “Unsupervised Neural Hidden Markov Models.” In Proceedings of the Workshop on Structured Prediction for NLP, pp. 63-71.
【非特許文献26】Bollegala, D., Kiryo, R., Tsujino, K., and Yukawa, H. (2020). “Language-Independent Tokenisation Rivals Language-Specific Tokenisation for Word Similarity Prediction.” arXiv preprint arXiv:2002.11004.
【非特許文献27】Zhang, Y., Zhang, M., Zhang, Y., Lai, G., Liu, Y., Zhang, H., and Ma, S. (2015). “Daily-aware personalized recommendation based on feature-level time series analysis.” In Proceedings of the 24th international conference on world wide web, pp. 1373-1383.
【非特許文献28】Kingma, D. P. and Ba, J. (2014). “Adam: A method for stochastic optimization.” arXiv preprint arXiv:1412.6980.
【非特許文献29】Li, X., Sun, X., Meng, Y., Liang, J., Wu, F., and Li, J. (2020b). “Dice Loss for Data-imbalanced NLP Tasks.” In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 465-476, Online. Association for Computational Linguistics.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、そのようにして得られた単語分割が後段タスクを解くうえで有効であるかは不明であり、実際にその単語分割を用いて学習した後段モデルの性能を比較してみなければ単語分割の評価はできない。
【0006】
近年の研究では、単語分割をサンプリングし、様々な単語分割を用いて後段タスクを学習することで、後段モデルの性能が向上することが示されている(例えば、非特許文献7~9)。このような方策は、未知語や表記揺れに頑健な後段モデルを作成するという点において優れているが、後段タスクそのものに単語分割を最適化させるという点については考慮されていない。後段タスクに適した単語分割が獲得できれば、後段モデルの性能のさらなる向上が得られると期待される。
【0007】
また、複数の単語分割の候補を同時に使用することで、単語分割に起因する後段タスクの性能低下を防ぐ方法も提案されている(例えば、非特許文献10~12)。この方法では、LSTM(例えば、非特許文献13)をベースとした機構を用いて、入力文について可能なあらゆる単語分割を考慮しながら文ベクトルを計算する。この方法は、単語分割の失敗の後段タスクへの伝搬を防ぐことができるが、可能なあらゆる単語分割について毎回計算を行う必要があるため、計算コストが大きくなる。
【0008】
前段処理の単語分割に用いる言語モデルとしては、Nグラムや線形拘束オートマトン(LBA)等のモデルが用いられる。また、後段タスクとしては、分類、回帰、生成、タギング等のタスクを処理するモデルが用いられる。上記の課題は、これらの言語モデル及び後段タスクについても同様に存在する。
【0009】
そこで、本発明では、言語モデルと後段タスクとの同時最適化を可能とする学習方法を提供し、言語モデルと後段モデルとを含む自然言語処理モデルの精度を向上させるために適切な言語モデルを、後段モデルの学習と同時に自動で獲得することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一態様の学習方法は、自然文に対して言語モデルを用いて自然言語処理を実行する前段装置と、前記自然言語処理の処理結果を用いて後段タスクを実行する後段モデルを含む後段装置とを含む自然言語処理システムの学習方法であって、前記前段装置にて、学習用の自然文に対して前記言語モデルを用いて前記自然言語処理を実行する前段処理ステップと、前記後段装置にて、前記自然言語処理の結果を用いて前記後段タスクを実行する後段処理ステップと、前記後段タスクの出力を評価する評価ステップと、前記評価の結果を用いて、前記言語モデルと前記後段モデルとを同時に学習する学習ステップとを含む構成を備えている。
【0011】
この構成により、後段タスクの性能が向上するような言語モデルの学習を行うことができる。
【0012】
上記の学習方法において、前記前段処理ステップは、前記学習用の自然文に対して前記言語モデルを用いて前記自然言語処理を実行することで、処理結果の複数の候補を取得する言語処理ステップと、前記複数の候補を複数の文ベクトルに変換する文ベクトル生成ステップと、前記自然言語処理の結果の複数の候補の確率を複数の重みとして算出する重み算出ステップと、前記複数の重みにより前記複数の文ベクトルをそれぞれ重み付けして重み付け和を算出する合成ステップとを含んでいてよく、前記後段処理ステップは、前記重み付け和を前記自然言語処理の結果として用いて、前記後段タスクを実行してよく、前記学習ステップは、前記複数の候補の各々に対して前記評価が高くなるように確率を割り当てるように前記学習を行ってよい。
【0013】
上記の学習方法において、前記評価ステップは、前記後段タスクの評価を学習損失値として出力してよく、前記学習ステップは、前記学習損失値に対して誤差逆伝搬法を用いることにより前記学習を行ってよい。
【0014】
本発明の一態様の学習システムは、自然文に対して言語モデルを用いて自然言語処理を実行する自然言語処理部を含む前段装置と、前記前段装置の処理結果を用いて後段タスクを実行する後段モデルを含む後段装置とを同時に学習する学習システムであって、前記言語モデルを用いて複数の候補を出力する前記自然言語処理部と、前記自然言語処理部が出力した複数の候補を複数の文ベクトルとして出力する文ベクトル生成部と、ニューラル言語モデルを用いて前記自然言語処理の結果の複数の候補の確率を算出する確率算出部と、前記複数の候補の確率を複数の重みとして算出する重み算出部と、前記複数の重みにより前記複数の文ベクトルをそれぞれ重み付けして重み付け和を算出する合成部と、前記重み付け和を前記前段装置の処理結果として用いて前記後段タスクを実行する前記後段モデルとを備え、前記後段タスクの出力を評価し、前記評価の結果を用いて前記言語モデルと前記後段モデルとを同時に学習する構成を備えている。
【0015】
この構成により、後段タスクの性能が向上するような言語モデルの学習を行うことができる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、本発明の実施の形態の学習システムの構成を示す図である。
【
図2】
図2は、本発明の実施の形態の学習システムの計算の概要を示す図である。
【
図3】
図3は、本発明の実施の形態の学習方法のフローチャートである。
【
図4】
図4は、従来の単語分割の処理を示す図である。
【発明を実施するための形態】
【0017】
(学習モデルの概要)
図1は、本発明の実施の形態の学習システムの構成を示す図である。学習システム100は、複数の自然言語の文章を構造化して大規模に集積したコーパスを記憶したコーパスデータベース10と、自然言語に対して自然言語処理を行う前段装置20と、前段装置20の処理結果を用いて後段タスクを行う後段モデルを含む後段装置30とを備えている。本実施の形態では、前段装置20は、語句解析として入力文を単語に分割する単語分割処理を行う言語モデルを含む自然言語処理部を備え、処理結果として文ベクトルを出力する。また、後段装置30は、後段タスクとして文書分類を行う後段モデルを備えている。
【0018】
なお、前段装置20及び後段装置30は、ソフトウェアによって実現されてよく、この場合には、本実施の形態のコンピュータプログラムが情報処理装置の演算処理によって実行されることで当該情報処理装置に前段装置20と後段装置30が構成されることになる。なお、
図1は、前段装置20を学習するための学習システムの構成を示しているが、学習済の前段装置20と後段装置30とを
図1に示すのと同様に連携させることで、自然言語処理システムが構成される。
【0019】
学習システム100は、後段装置30における後段タスクに対して前段装置20における前段処理(本実施の形態では、単語分割)を最適化する。学習システム100は、後段タスクを学習する上で適切な前段処理、すなわち、後段タスクの性能が向上するような前段処理を学習する。
【0020】
学習システム100は、形式的には、入力文sを、語彙に含まれる単語w∈Vの系列s´=w1,...,wi,...,wIへと変換する。ここで、Iは、文に含まれる単語の個数である。また、q(・)を後段タスクの評価関数、zを後段タスクの正解データ、f(・)をニューラルネットワークを用いた後段モデルとしたときに、学習システム100は、後段タスクの評価スコアが最大となるようなs´、即ちargmaxs´(q(z,f(s´)))を求めることを目的とする。
【0021】
前段装置20を後段タスクの評価スコア(q(z,f(s´)))に基づいて学習することで、argmaxs´(q(z,f(s´)))を満たすような単語分割s´を獲得する。すなわち、本実施の形態の学習システム100は、単語分割を前段処理として行ってから後段モデルを学習するという従来のパイプライン式の学習とは異なり、前段装置20と後段装置30とを同時に最適化する。
【0022】
学習システム100における前段装置20は、与えられた文に対して複数の単語分割の候補を出力する。学習システム100は、複数の候補のうち後段タスクの評価スコアが高くなるような単語分割に高い確率を割り当てるように学習を行う。評価時には、その時点のパラメータに基づいて、最も確率の高い単語分割を出力して、後段モデルへと入力することで計算コストを削減する。
【0023】
図2は、本発明の実施の形態の学習システムの計算の概要を示す図である。学習システム100は、確率算出部11と、重み算出部12と、言語モデルとしてのN-bestトークナイザ13と、文ベクトル生成部14と、合成部15と、後段モデル16とを備えている。
【0024】
確率算出部11は、エンベディング部111、MLP部112、Softmax部113を備え、ニューラルユニグラム言語モデルを用いて式(1)及び式(2)で単語の確率p(w)を計算する。
【数1】
【数2】
ここで、MLPは学習可能なパラメータを持つ多層パーセプトロン、v
wは単語wの分散表現である。
【0025】
学習を安定させるために、本実施の形態の確率算出部11は、ユニグラム確率の平滑化(例えば、非特許文献7)を行う。具体的には、確率算出部11は、ハイパーパラメータαを用いて、
【数3】
を平滑化したユニグラム確率を用いる。確率算出部11は、平滑化された単語のユニグラム確率を用いて文の確率を式(3)のように計算する。
【数4】
【0026】
重み算出部12は、確率算出部11によって得られた各確率(p(s´
1)、p(s´
2)、p(s´
3))から、式(4)及び式(5)によって正規化された重みa
nを計算する。
【数5】
【数6】
【0027】
なお、単語分割に用いる語彙Vは、あらかじめ適当な大きさになるように初期化する。語彙に含まれる単語の初期化には、配布されている学習済みの単語分割モデル(例えば、非特許文献14、15)や、教師なし単語分割手法(例えば、非特許文献16、17、3)を用いて獲得された語彙を使用することができる。本実施の形態では、ニューラルネットワークを用いた自然言語処理において広く使用されている教師なし単語分割手法であるSentencePiece(例えば、非特許文献18)を用いて語彙の初期化を行う。
【0028】
N-bestトークナイザ13は、本実施の形態における学習対象としての言語モデルであり、学習システム100においては、入力文に対して、パラメータに基づいて、尤もらしい順にN個の単語分割候補を求める。N-bestトークナイザ13は、学習システム100においては(学習時には)、複数(本実施の形態では3つ)の単語分割候補(s´1、s´2、s´3)を出力する。N-bestの単語分割は、下記で説明する単語確率に対してForward-DP Backward-A*アルゴリズム(例えば、非特許文献19)を適用することで得られる。
【0029】
文ベクトル生成部14は、エンコーダ141を備える。エンコーダ141は、得られた各単語分割候補をそれぞれ文ベクトル(hs´1、hs´2、hs´3)に変換する。文ベクトル生成部14は、得られた複数の文ベクトルを並べて1つの文ベクトルhsを生成して出力する。
【0030】
エンコーダ141は、それぞれの単語分割候補s´
nを式(6)によって文ベクトルh
s´nに変換する。
【数7】
ここで、g(・)は、単語列を1つのベクトルに変換するニューラルエンコーダであり、CNN、BiLSTM、注意機構(Attention)、BERT等を採用することができる。なお、ニューラルエンコーダに入力する単語分散表現として、上述の確率算出部11で使用したものを共用することで、学習を安定化させることができる。
【0031】
なお、自然言語処理システムを構成する際には、1-bestを出力する学習済のN-bestトークナイザ13と、N-bestトークナイザ13で得られた1つの単語分割を変換して文ベクトルを生成するエンコーダ14とを自然言語処理部として、前段装置20を構成すればよい。
【0032】
合成部15は、式(7)を用いて、式(6)で求めた文ベクトルh
s´nを式(4)及び式(5)で求めた重みa
nで重み付けして、その重み付け和h
sを計算する。
【数8】
【0033】
後段モデル16は、このようにして計算された文ベクトルhsを、通常のニューラルエンコーダを用いて計算された文ベクトルと同じように使用する。例えば、後段モデル16は、文ベクトルhsをラベルサイズのベクトルに変換するMLPであってよく、これによりニューラル文書分類器を作成することができる。
【0034】
本実施の形態の学習モデル100は、後段モデル16の学習損失値に対して誤差逆伝搬法を用いることで、後段モデル16の性能が向上するような単語分割に対して高い確率を付与するように学習される。
図2において、実線による矢印は誤差逆伝搬法によって微分可能な処理を表している。このようにして、学習モデル100は、後段モデル16の学習と同時にargmax
s´(q(z,f(s´)))を満たすようなs´を求める。
【0035】
学習システム10は、文ベクトルhsを後段モデル16に入力して計算された正解ラベルとの交差エントロピ損失を用いてモデル全体を更新する。これにより、確率算出部11は、後段タスクに有用な単語分割に対して高い確率を付与するように学習される。例えば、ビタビアルゴリズム(例えば、非特許文献20)によって最も確率の高い単語分割を求めることで、前段装置20により学習されたタスクに適した単語分割を得ることができる。
【0036】
(語彙の制約)
タスクに対して適切な単語分割を求める際には、より長く特徴的な単語を用いて単語分割を行うことが一つの局所最適解となる。これを防ぐために、本実施の形態では、学習時の語彙の規模に対して制約を導入する。具体的には、前段装置20は、ミニバッチ学習ごとに本来の語句Vから単語をサンプリングすることで、|V´|<|V|となるように単語数が制限された語彙V´(以下、「制限付き語彙」という。)を作成し、これを用いてミニバッチ学習を行う。
【0037】
ここで、制限付き語彙のサイズ|V´|は、ハイパーパラメータであり、本来の語彙Vからの単語サンプリングには平滑化されたユニグラム確率p*(w)を使用する。また、長さが1の単語は必ずV´に含まれるように制約を設け、制限付き語彙V´に含まれる単語の確率をノーマライズすることで、新たなユニグラム確率を得る。前段装置20は、本来の語彙Vに含まれるすべての単語について単語分散表現を保持するが、サンプリングによってV´から除外された単語は未知語として扱う。V´はミニバッチ学習ごとに作成し直すため、ユニグラム確率が高いほど頻繁にサンプリングされ、パラメータの更新機会が与えられる。評価時には、式(2)によって得られる学習済みの単語のユニグラム確率に基づいて上位|V´|単語をVから選択して使用する。
【0038】
このように、サンプリングによって制限付き語彙を作成することで、ミニバッチごとに学習時のN-bestの単語分割候補が多様化する。上記で導入したユニグラム確率の平滑化のためのハイパーパラメータαを小さくすることで、ユニグラム確率の分布は一様分布に近くなり、V´を構成する単語はより多様なものになる。また、サンプリングによる語彙のサイズの制限によって、後段タスクを解くうえで貢献が小さい単語の重要度を下げることができる。この処理は、Continuous Cacheを用いた語彙削減手法(例えば、非特許文献21、22)に由来している。
【0039】
(言語モデルの性質の維持)
本実施の形態の学習システム100による単語分割の最適化は、後段モデル16の損失関数のみに依存しているため、確率算出部11は学習コーパスに含まれる単語の頻度を反映したものから乖離してしまう可能性がある。一方で、学習コーパスの単語頻度を反映した確率算出部11が要求される場面もある。そのような場合には、式(8)で教師なし単語分割ニューラルEMアルゴリズム(例えば、非特許文献23~25)に基づいて、入力文sについて確率算出部11を更新するための損失関数を用いることができる。
【数9】
【0040】
学習システム100は、
【数10】
と後段タスクの損失値の重み付き和に対して誤差逆伝搬を用いることで、確率算出部11の性質を維持しつつ単語分割の最適化を行う。文書分類の場合であれば、学習システム100は、入力文に対する予測ラベルと正解ラベルとの交差エントロピ損失
【数11】
を用いた式(9)の重み付き和に対して最適化を行う。
【数12】
ここで、μはハイパーパラメータであり、より大きなμを用いるほど学習システム100に含まれる確率算出部11は学習データにおける単語の出現頻度を反映したものになる。
【0041】
図3は、本発明の実施の形態の学習方法のフローチャートである。まず、学習システム100は、自然文を入力する(ステップS31)。N-bestトークナイザ13は、入力された自然文に対して、単語分割処理を実行することで、処理結果として、複数の単語分割候補を取得する(ステップS32)。文ベクトル生成部14は、各単語分割候補を複数の文ベクトルに変換して、組み合わせることにより文ベクトルを生成する(ステップS33)。
【0042】
確率算出部11及び重み算出部13は、各単語分割候補について、その確率を重みとして算出する(ステップS34)。合成部15は、複数の重みにより複数の文ベクトルをそれぞれ重み付けして、それらの和を重み付け和として算出する(ステップS35)。後段モデル16は、重み付け和を入力として後段タスクを実行する(ステップS36)。
【0043】
学習システム100は、後段タスクの出力を評価し(ステップS37)、評価結果を用いて、後段モデルを学習するとともに(ステップS38)、誤差逆伝搬法によって、複数の候補のうち前記評価が高くなる候補に高い確率を割り当てるように言語モデルの学習を行う(ステップS39)。
【実施例0044】
以下の実験例では、タスクに応じて単語分割を最適化することで、後段タスクの性能の向上を目指す。以下では、学習システム100を複数の文書分類タスクに適用し、その効果を評価する。
【0045】
(データセット)
テキストを入力とし、そのラベルを予測する文書分類によって、学習システム100の評価を行う。学習システム100が言語によらず有効であることを確認するために、中国語、日本語、及び英語のデータセットを用いる。実施の形態では、タスクに応じて適切な単語分割を学習する手法を提案しているため、データセットにはインフォーマルな文体が多く含まれ、単語分割の差が文書分類の性能差として出やすいと考えられるSNSコーパスを用いた感情分析タスクを用いる。また、中国語と英語において、同一のテキストに対して2つのタスクが設定されているデータセットを用いることで、学習システム100がタスクごとに異なる単語分割を学習できているかを確認する。さらに、2つの入力文を用いるTextual Entailmentタスクを用いることで、学習システム100が複数の入力を必要とするタスクであっても適用できることを確認する。各データセットについて、以下、順に説明する。
【0046】
Weibo(Zh)(データセット1)は、中国語のSNSから作成された感情分析タスクのデータセットである。各テキストには、Positive/Negative(肯定/否定)のいずれかのラベルが付与されている。配布されているデータは、すでに前段処理として単語分割が行われているため、本実施例では、スペース記号を除去するデトークナイズ処理を施して使用する。
【0047】
Twitter(Ja)(データセット2)は、日本語のSNSから作成された感情分析タスクのデータセットである。本データセットは、家電機器などの製品に関するテキストを収集し、対象の製品について、Positive/Negative/Neutral/Both of Positive and Negative/Unrelated(肯定/否定/中立/肯定と否定の両方/無関係)の5つのラベルが各テキストに最低1つ付与されている。配布されているデータの内2018年夏の時点で、352,554件にアクセスでき、本実施例では、これらのうちPositive、Negative、Neutralの3ラベルの内のいずれか1つが付与されたテキストのみを使用して実験を行う。
【0048】
Twitter(En)(データセット3)は、英語のSNSから作成された感情分析タスクのデータセットであり、各テキストにはPositive/Negative(肯定/否定)のいずれかのラベルが付与されている。本実施例では、小文字化などの前段処理を行わずに用いる。
【0049】
SNLI(非特許文献26)(データセット4)は、自然言語処理において広く使用されているTextual Entailmentタスクのデータセットであり、英語で記述されている。2つの文の含意関係を分類するタスクであるため、本データセットの入力は2文となる。本データセットを、学習システム100が複数の入力を必要とするタスクに適用可能であることを検証するために使用する。学習、検証、評価にはそれぞれデフォルトの分割を用い、従来技術に従ってラベルが付与されたデータのみを使用する。
【0050】
Genre&Rating(En)(データセット5、6)は、Amazon product dataを用いて作成した英語のデータセットである。もととなるコーパスは24種類の製品ジャンルについてユーザのレビューが収録されており、各レビューにはユーザ自身が設定した1から5までのレートが付与されている。本実施例では、各製品ジャンルから5,000件ずつサンプリングし、レビューテキストを入力としたジャンル予測タスクとレート予測タスクとして使用する。本データセットは、同一のテキストに対して2つのタスクが設定されているため、学習システム100がタスクに応じて異なる単語分割を学習できているかを検証することができる。テキストの長さはレビューごとに大きく異なるため、スペース記号区切りで200単語を上限とし、これを超えないようなレビューテキストをサンプリングした。
【0051】
Genre&Rating(Zh)(データセット7、8)は、中国の電子商取引サイトであるJD.comに投稿されたレビューを用いて作成された中国語のデータセットである(非特許文献27)。各レビューには商品ジャンルと、ユーザが設定した1から5までのレートが付与されているデータセット5と同様にして、レビューデータセットからジャンル予測タスクとレート予測タスクを作成した。十分なサンプル数を持つ13ジャンルを選択して、ジャンルごとに30,000件ずつ、レートが均等になるようにレビューデータをサンプリングした。使用するレビューテキストは、その長さが3から100に収まるようにサンプリングを行った。
【0052】
感情分析タスクについては、8:1:1となるようにデータセットをランダムに分割し、それぞれ学習、検証、評価データセットとして使用した。Genre&Ratingタスクについても同様に、ジャンル比が等しくなるような制約のもとランダムに8:1:1に分割した。なお、ジャンル予測タスクとレート予測タスクとでは、同じデータの分割を使用した。表1に感情分析データセットの概要を示す。
【表1】
【0053】
また、英語ジャンル・レート予測タスクについては、表2にジャンルとしてレートのサンプル件数を示す。
【表2】
【0054】
(実験設定)
学習システム100の確率算出部11について、式(1)のMLPとして2層のパーセプトロンを使用する。式(6)のhs´nを計算するためのエンコーダ14として、注意機構と線形層とを接続したエンコーダ(Attention)と、BiLSTMと線形層とを接続したエンコーダ(BiLSTM)の2種類を用意した。これは、学習システム100がエンコーダ14の種類によらず性能の向上に寄与することを核にするためである。注意機構を用いたエンコーダでは、単語列の分散表現の重み付き和を線形層に入力することで文ベクトルを計算する。また、BiLSTMを用いたエンコーダでは、分割された単語列の分散表現をBiLSTMに入力し、その出力のMax-Poolingを線形層に入力することで文ベクトルを計算する。これらの処理において、活性関数としてtanhを線形層の前後に使用した。
【0055】
文書分類の後段モデル16として3層のMLPを使用し、文ベクトルをラベルサイズのベクトルへと変換する。このとき、MLPへの入力となる文ベクトルに50%のドロップアウトを適用した。SNLIについては、textとhypothesisの双方に対して同じエンコーダを使用し、それぞれの出力のベクトル結合を文ベクトルとして後段モデル16に入力する。
【0056】
比較例には、広く使用されている単語分割モデルであるSentencePiece(例えば、非特許文献18)を用いる。具体的には、SentencePieceによって分割された単語列を文ベクトルに変換して、後段モデル16に入力する。すなわち、比較例では、学習システム100のうちのニューラルユニグラム言語モデルである確率算出部11をSentencePieceに置き換えて、入力文を分割するモデルをベースラインとする。複数の研究によって、決定的な単語分割ではなく確率的な単語分割を用いて後段モデル16を学習するサブワード正則化によって性能の向上が得られることが示されている(例えば、非特許文献7~9)。そのため、本っ実施例においてサブワード正則化を用いたSentencePieceをベースラインモデルとして使用する。
【0057】
SentencePieceのモデルは、各データセットの学習データを用いて学習した。語彙のサイズは8K、16K、24K、32Kを探索し、データセット2、3、6については16Kを選択し、データセット1、4、5については32Kを選択した。また、学習済みのSentencePieceの語彙を用いて学習システム100の語彙を初期化し、確率算出部11についてもSentencePieceによって推定され得た単語確立とのKLダイバージェンスが小さくなるように事前学習して初期化した。
【0058】
単語分散表現は、各データセットの学習データを用いて双方向言語モデルで事前学習し、文書分類の学習時には固定した。後段タスクに対して適切な単語分割は事前学習時に不明であるため、双方向言語モデルはSentencePieceによるサブワード正則化を用いて学習した。Genre&Ratingタスクについては、同じ単語分散表現を用いて学習を行った。すべてのデータセットについて、外部データによる事前学習は行っていない。
【0059】
実施例と比較例(ベースライン手法)を用いた文書分類の学習には、正解ラベルに対する交差エントロピ損失を用いた。パラメータの最適化には、Adam(例えば、非特許文献28)を用い、PyTorchのデフォルトの設定を用いた。
【0060】
学習システム100とSentencePieceの双方で使用する単語確立の平滑化のためのハイパーパラメータαは従来技術(例えば、非特許文献7)に倣い、α=0.2とした。学習システム100の学習において、N-best分割についてはN=3、制限付き語彙の大きさ|V´|は本来の語彙の大きさの半分とした。すなわち、データセット2、3、6については|V´|=8,000とし、データセット1、4、5については|V´|=16,000とした。評価時には、学習された確率算出部11に基づいて上位|V´|単語を語彙として選択し、1-best分割を用いてラベルの予測を行う。本実施例では、学習システム100の効果を調べるために、確率算出部11の性質を維持するための損失関数への重みはμ=0とした。本実施例におけるすべての実験結果について、事前学習部分を除くすべての学習可能パラメータをランダムに初期化し、5回の試行結果の平均F1値を得た。また、文書分類の最大学習エポックは20とし、各試行において検証データで最大性能となるモデルを選択し、評価データで評価を行った。
【0061】
(実験結果)
実施例と比較例(SentencePiece)による単語分割手法を用いて後段学習を学習した実験結果を表3、表4に示す。表3は、感情分析タスクとSNLIとの実験結果であり、表4は、レビューデータを用いた実験である。
【表3】
【表4】
比較例(SentencePiece)については、実施例(学習システム100)における制限付き語彙と本来の語彙それぞれと同じ大きさの語彙を持つ設定(SentencePiece、SentencePiece x2)で実験を行った。表3及び表4において、太字は各データセットでの最大値を表している。#of vocab.はSentencePiece、SentencePiece x2(比較例)のそれぞれの語彙の大きさを示しており、これは学習システム(実施例)の制限付き/本来の語彙の大きさと同じである。
【0062】
実験結果より、多くの各言語、各タスクの組合せにおいて実施例は文書分類の性能向上に寄与することを確認した。また、多くの実験設定において、実施例の性能は比較例のどちらの語彙の大きさの設定による性能よりも高いことが示された。注意機構を用いたエンコーダとBiLSTMを用いたエンコーダのどちらを使用した場合であっても、実施例は比較例による単語分割を用いた手法の性能を上回ることから、実施例は使用するエンコーダに関わらず従来の単語分割手法と比べて性能の向上に貢献することを確認した。SNLIにおける実験結果からは、複数の入力文を要求するタスクであっても実施例を用いることで性能向上に寄与することが示された。更に、実施例はフォーマルな表現を多く含むデータセット(SNSでの感情表現とGenre&Ratingタスク)に限らずSNLIのようにフォーマルな表現を含むデータセットであっても性能向上に貢献することが確認された。
【0063】
注意機構によるエンコーダを用いたRating(EN)タスクでは、実施例による性能低下が確認された。これは表2にみられるような、ラベルの極端な偏りに起因すると考えられる。注意機構によるエンコーダは、BiLSTMによるエンコーダに桑部手単語の並びを考慮しないため、文ベクトルに与える単語分割の影響が大きい。また、Rating(En)においてレートが5となるような高評価レビューを検出するためには、肯定的なキーワードを認識できればよい。これにより、実施例は、easy-positiveである高評価レビューに特徴的なキーワードのみを有用な語彙として選択し、低評価レビューの検出に有効な単語を語彙から落としてしまっているために性能が低下したと考えられる。こうしたラベルの偏りに起因する性能の低下については、偏りを考慮して学習を行うような損失関数(例えば、非特許文献29)を採用することで防ぐことが可能であると考えられる。
【0064】
なお、上記の実施の形態では、言語モデルを用いて自然文を単語に分割する単語分割モデルが用いられる例を説明したが、このような単語分割モデルは、例えば、Nグラム解析、形態素解析、文法木による構文解析等の他の自然言語処理を行うモデルであってもよい。