JP7186591B2 - テキスト分類装置、学習装置、およびプログラム - Google Patents

テキスト分類装置、学習装置、およびプログラム Download PDF

Info

Publication number
JP7186591B2
JP7186591B2 JP2018226795A JP2018226795A JP7186591B2 JP 7186591 B2 JP7186591 B2 JP 7186591B2 JP 2018226795 A JP2018226795 A JP 2018226795A JP 2018226795 A JP2018226795 A JP 2018226795A JP 7186591 B2 JP7186591 B2 JP 7186591B2
Authority
JP
Japan
Prior art keywords
text
processing
error
classification
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018226795A
Other languages
English (en)
Other versions
JP2020091549A (ja
Inventor
仁宣 牧野
太郎 宮▲崎▼
淳 後藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2018226795A priority Critical patent/JP7186591B2/ja
Publication of JP2020091549A publication Critical patent/JP2020091549A/ja
Application granted granted Critical
Publication of JP7186591B2 publication Critical patent/JP7186591B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、テキスト分類装置、学習装置、およびプログラムに関する。
ソーシャルメディアにおける投稿テキストから、テレビ等の放送番組の素材となり得る情報を抽出するケースが増えている。抽出された情報は、報道や番組制作に活用され得る。即時性の高いソーシャルメディアの典型例は、ツイッター(登録商標,https://twitter.com/)などである。しかしながら、ソーシャルメディアから、番組等に活用可能な情報を人手で抽出することは,大変な労力がかかる。こうした理由から、番組等に活用可能な情報を含む投稿、例えばニュース性のある投稿を自動的に抽出するシステムの研究がされている。
非特許文献1には、機械学習の手法を用いてソーシャルメディアから有用情報を抽出するための技術が記載されている。非特許文献1(特に、「2.Tweet判定手法」)に記載されている技術では、正例および負例の投稿テキストを用いてニューラルネットワークを予め学習しておく。ここで、ニューラルネットワークへの入力は投稿テキストであり、出力は投稿テキストが属するクラス(ニュース種別に対応するクラス、および「ニュース性なし」を表すクラス)である。なお、学習に用いられる負例は、ニュース性のない投稿である。
宮崎太郎,鳥海心,武井友香,山田一郎,後藤淳,"Twitterからの有用情報抽出のための学習データのマルチクラス化",情報処理学会研究報告,第127回情報基礎とアクセス技術研究発表会,2017年(平成29年)7月22日,Vol.2017-IFAT-127,No.1
しかしながら、ソーシャルメディアの投稿は雑多であるため、ニュース性のある投稿に関しても情報のバリエーションが多く、またニュース性のない投稿も多い。このような特徴により、機械学習のための理想的な学習データを作成することが困難であるという問題がある。また、その結果として、投稿テキストを分類・抽出するシステムの精度が低いという問題があった。
なお、分類・抽出の精度を上げるために、フォードバックによるモデル更新の手法を用いることも考えられる。しかしながら、その手法を用いるためには、フィードバックを受け取ってからモデルを更新するまでの学習時間が必要である。従来の手法では、系列を一つ一つ学習するRecurrent Neural Networks(RNN)を用いており、その構造上、長い学習時間を要することも、モデル更新を導入することの障壁となっていた。
本発明は、上記の課題認識に基づいて行なわれたものであり、自然言語で記述されたテキストを分類するためのモデルの学習を短時間で行うことのできる学習装置、その学習装置で学習されたモデルを用いてテキストを分類することのできるテキスト分類装置、およびそれらの装置を実現するプログラムを提供しようとするものである。
[1]上記の課題を解決するため、本発明の一態様による学習装置は、入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第1表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する系列処理部と、前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する分類処理部と、前記分類処理部によって推定されたクラスの情報と前記テキストが属するクラスの正解である正解クラスの情報との誤差である第1誤差に基づいて、誤差逆伝搬法により前記分類処理部および前記系列処理部それぞれが有するニューラルネットワークのパラメーターを更新するよう制御する制御部と、を具備する。
[2]また、本発明の一態様は、上記の学習装置において、前記系列処理部から出力される前記中間表現を基に、逆畳み込み処理を行うとともに、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記第1表現に対応する第2表現を出力し、前記第1表現と前記第2表現との誤差である第2誤差を出力するオートエンコーダー部、を具備し、前記制御部は、前記第1誤差に加えて前記第2誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記オートエンコーダー部とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、ものである。
[3]また、本発明の一態様は、上記の学習装置において、前記系列処理部から出力される前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記入力されるテキスト、および前記入力されるテキストとは別の言語資源に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定するとともに、当該推定の結果であるクラスタの情報と、前記テキストが属する正解のクラスタである正解クラスタの情報との誤差である第3誤差を出力する単語分散表現分類部、を具備し、前記制御部は、前記第1誤差に加えて前記第3誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記単語分散表現分類部とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、ものである。
[4]また、本発明の一態様は、上記の学習装置において、前記系列処理部から出力される前記中間表現を基に、逆畳み込み処理を行うとともに、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記第1表現に対応する第2表現を出力し、前記第1表現と前記第2表現との誤差である第2誤差を出力するオートエンコーダー部と、前記系列処理部から出力される前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記入力されるテキスト、および前記入力されるテキストとは別の言語資源に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定するとともに、当該推定の結果であるクラスタの情報と、前記テキストが属する正解のクラスタである正解クラスタの情報との誤差である第3誤差を出力する単語分散表現分類部と、を具備し、前記制御部は、前記第1誤差に加えて前記第2誤差および前記第3誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記オートエンコーダー部と前記単語分散表現分類部とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、ものである。
[5]また、本発明の一態様であるテキスト分類装置は、入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第1表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する系列処理部と、前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する分類処理部と、を具備するテキスト分類装置であって、前記系列処理部及び前記分類処理部それぞれが有するニューラルネットワークのパラメーターは、前記[1]から[4]までのいずれかに記載の学習装置によって学習された結果を反映したものである。
[6]また、本発明の一態様は、上記のテキスト分類装置において、前記テキストは、ソーシャルメディアのサーバー装置から取得されたものである、ことを特徴とする。
[7]また、本発明の一態様は、コンピューターを、上記の[1]から[4]までのいずれか一に記載の学習装置、として機能させるためのプログラム。
[8]また、本発明の一態様は、コンピューターを、上記の[5]または[6]に記載のテキスト分類装置、として機能させるためのプログラムである。
本発明によれば、入力テキストを第1表現で表し、畳み込みニューラルネットワーク(CNN)を導入したことによって、再帰型ニューラルネットワークの手法を用いる場合と比べて学習時間の大幅な削減が可能となる。
本発明の実施形態によるテキスト分類装置(学習装置)の概略機能構成を示すブロック図である。 同実施形態の第1変形例によるテキスト分類装置(学習装置)の概略機能構成を示すブロック図である。 同実施形態の第2変形例によるテキスト分類装置(学習装置)の概略機能構成を示すブロック図である。 同実施形態の第3変形例によるテキスト分類装置(学習装置)の概略機能構成を示すブロック図である。 同実施形態によるテキスト分類装置(学習装置)を実現するための機能構成の一例を示す概略図である。 同実施形態による系列処理を実現するためのより詳細な構成を示す概略図である。 同実施形態による系列処理のうちの、中間層(畳み込み層)とプーリング層の、さらに詳細な構成を示す構成図である。 同実施形態による分類部における分類処理の構成を示す概略図である。 同実施形態によるオートエンコーダー部におけるオートエンコーダー処理の構成を示す概略図である。 同実施形態によるファストテキスト分類部におけるファストテキスト分類処理の構成を示す概略図である。 同実施形態(基本形および3つの変形例)によるテキスト分類装置を、従来技術と比較して評価するための実験の結果のデータを示す表である。
次に、本発明の一実施形態について、図面を参照しながら説明する。
図1は、本実施形態によるテキスト分類装置(後述するように、「学習装置」でもある)の概略機能構成を示すブロック図である。図示するように、テキスト分類装置1は、入力部11と、系列処理部12と、分類部13と、出力部14と、オートエンコーダー部21と、ファストテキスト分類部22と、制御部31とを含んで構成される。
本実施形態によるテキスト分類装置1は、ソーシャルメディア(例えば、ツイッター(https://twitter.com/)等)のサーバー装置から得られる様々な投稿テキスト(ツイート(tweet)等とも呼ばれる)から、ニュース性のある投稿テキストを抽出する。投稿テキストは、例えば日本語や英語や中国語や、その他の各言語で記述された、つまり自然言語で記述されたテキストである。そのため、テキスト分類装置1は、機械学習処理を行う。機械学習に用いられる学習データは、例えば、実際のソーシャルメディアにおける投稿テキストを人手によって分類したデータである。学習データは、例えば、火事、電車事故などといった種別ごとに分類した24クラスの正例データと、ランダムにサンプリングされた投稿テキストの集合である負例データとの、合計25クラスのデータから成る。学習データは、クラスの正解情報を含む。テキスト分類装置1は、そのような学習データを基に、文字ワンホット(one-hot)ベクトル系列入力をCNN(畳み込みニューラルネットワーク,Convolutional neural network)で機械学習することによって、モデルを構築する。この機械学習によって構築されるモデルは、投稿テキストを上記の25クラスに分類することのできるモデルである。そして、テキスト分類装置1は、学習済みのモデルを用いて、あらゆる投稿テキストを、25クラスに分類する。つまり、テキスト分類装置1は、あらゆる投稿テキストの中からニュース性があると判断される投稿テキストを自動的に抽出する。抽出された投稿テキストは、例えば、放送番組の制作等に活用することが可能である。
本実施形態による装置の構成の特徴は、次の通りである。
第1に、テキスト分類装置1によるテキストの分類処理では、畳み込みニューラルネットワークを用いる。畳み込みニューラルネットワークを用いることにより、学習時間を短縮することが可能となる。学習時間の短縮により、投稿テキストの分類結果をフィードバックすることによってモデルを更新することが容易になる。
第2に、テキスト分類装置1による機械学習処理では、教師なし学習のサブタスクによるマルチタスク学習を行う。より具体的には、テキスト分類装置1は、マルチタスク学習の教師なしサブタスクとして、オートエンコーダー(auto-encoder)、および単語分散表現による教師なしクラスタリング結果を正例とする分類タスク、の2手法を実行する。これにより、機械学習の精度の向上を期待できる。
テキスト分類装置1を構成する各部は、例えば、電子回路を用いて実現され得る。また、その一例として、コンピューターとプログラムとを用いて、テキスト分類装置1を構成する各部の機能を実現するようにしてもよい。テキスト分類装置1を構成する各部の機能は、次の通りである。
入力部11は、外部から入力データを取得する。入力データは、ソーシャルメディアのサーバー装置等から得られた投稿テキストである。1件の投稿テキストは、例えば数十文字から数百文字程度の長さを有するテキストである。入力部11は、投稿テキストを1件ずつ、後段の処理に供給する。
系列処理部12は、入力部11から渡される投稿テキストを、畳み込み処理する。また、系列処理部12は、畳み込み処理の結果のデータのプーリング処理を行う。なお、系列処理部12は、投稿テキストの畳み込み処理を行うために、畳み込み処理の前に、投稿テキスト(文字の系列)をワンホット(one-hot)ベクトル化する。ワンホットベクトルは、全要素のうちの1個だけの値が「1」であり、それ以外のすべての要素の値が「0」であるベクトルである。ベクトルの各要素は文字の種類に対応する。例えば投稿テキストが日本語で書かれている場合、文字の種類は数千種類(あるいはそれ以上でもよい)であるので、ワンホットベクトルは数千個の要素を有する多次元ベクトルである。ワンホットベクトルの次元数は使用される言語に応じて適宜定めればよい。
なお、系列処理部12は、内部にニューラルネットワークを有している。
分類部13は、系列処理部12から出力される中間データを用いて、投稿テキストの分類を行う。分類部13は、分類処理の結果として、入力された投稿テキストが属するクラスを出力する。本実施形態では、前述の通り、分類部13は投稿テキストを25個のクラスのいずれかに分類する。具体的には、分類部13は、投稿テキストが25クラスのうちの各クラスに属する確率値を要素とする確率分布ベクトルp=(p,p,・・・,p25)を求める。そして、分類部13は、pからp25までのうちの最も高い値に対応するクラスを、入力された投稿テキストが属するクラスとして出力する。
なお、分類部13は、内部にニューラルネットワークを有している。テキスト分類装置1が学習モードで動作する場合には、分類部13は、分類処理の結果と正解との誤差の値lossout(分類処理誤差)を出力する。
出力部14は、分類部13による分類処理の結果であるクラスの情報を外部に出力する。出力部14が、入力された投稿テキストと、分類処理の結果であるクラスの情報とを関連付けて出力するようにしてもよい。なお、入力される投稿テキストに既に正解データが与えられている場合(後述する学習処理の場合)には、出力部14が分類処理の結果を外部に出力しないようにしてもよい。
オートエンコーダー部21は、系列処理部12から出力される中間データに対して、オートエンコーダー(AutoEncoder,AE,自己符号化)処理を行う。オートエンコーダー処理は、逆プーリング処理や、逆畳み込み処理を含む。オートエンコーダー部21は、内部の学習モデルの状態に依存して、系列処理部12から出力される中間データから、元の投稿テキストに対応する入力文字系列を復元する処理、あるいは復元しようとする処理を行う。
なお、オートエンコーダー部21は、内部にニューラルネットワークを有している。テキスト分類装置1が学習モードで動作する場合にのみ、オートエンコーダー部21はオートエンコーダー処理を行う。オートエンコーダー部21は、オートエンコーダー処理の結果と、入力された元の投稿テキストとの誤差の値lossAE(オートエンコーダー誤差)を出力する。
ファストテキスト分類部22は、系列処理部12から出力される中間データを基に、テキスト分類器であるfastTextの手法を用いて、入力された投稿テキストが属するクラスを分類する。fastText自体は、既知の手法である。
具体的には、ファストテキスト分類部22は、次の処理を行う。
ファストテキスト分類部22は、インターネット上の事典サイト(一例として、ウィキペディア)からダンプ出力したデータおよび本システムにおける学習データ(投稿テキストの集合)を足し合わせたデータを、形態素解析器であるMeCabにより単語分割する。そして、ファストテキスト分類部22は、fastTextを用いて教師なし学習を行い、単語分散表現を生成する。そして、ファストテキスト分類部22は、学習データに含まれる投稿テキストごとに、全単語の分散表現を平均したベクトルを入力として、K-meansにより教師なしで100クラスにクラスタリングする。ファストテキスト分類部22は、100クラスの出力を持つ順伝搬型ニューラルネットワーク(FFNN,Feed-Forward Neural Network)を出力層として有する。順伝搬型ニューラルネットワークは、順方向のみに伝搬する(逆方向への伝搬を持たない)ニューラルネットワークである。ファストテキスト分類部22は、この出力層からの出力にsoftmax関数を適用して最終出力とする。
なお、ファストテキスト分類部22は、内部にニューラルネットワークを有している。テキスト分類装置1が学習モードで動作する場合にのみ、ファストテキスト分類部22はファストテキスト分類処理を行う。ファストテキスト分類部22は、ファストテキスト分類処理の結果と、入力された投稿テキストの正解であるクラスとの誤差の値lossclass(ファストテキスト分類誤差)を出力する。
制御部31は、テキスト分類装置1全体の制御を行う。具体的には、制御部31は、学習モードで動作するか分類モードで動作するかに応じて、その動作モードの情報をテキスト分類装置1内の各部に伝える。ここで、学習モードは、テキスト分類装置1内の機械学習機能を備える各部において機械学習処理を行うモードである。機械学習処理においては、入力される投稿テキストのデータとともに、その投稿テキストが属するクラスを表す正解データが外部から与えられる。また、分類モードは、学習済みの状態(学習モデル)を用いて、入力される未知の投稿テキストを分類する処理を行う。
つまり、制御部31による制御に応じて、テキスト分類装置1は、内部の学習モデルの学習処理を行う学習装置としても機能する。
上で説明した通り、系列処理部12と、分類部13と、オートエンコーダー部21と、ファストテキスト分類部22のそれぞれは、内部にニューラルネットワークを有する。ニューラルネットワーク内のパラメーターは可変であり、学習時には、誤差逆伝搬法(backpropagation)等を用いて、これらのパラメーターの値を調節することができる。各部に含まれるニューラルネットワークのパラメーターは、初期状態において初期値が設定されており、テキスト分類装置1の学習処理の際に最適化され更新される。
なお、順伝搬型ニューラルネットワークを「FFNN」と表す場合がある。また、畳み込みニューラルネットワークを「CNN」と表す場合がある。また、再帰型ニューラルネットワークを「RNN」と表す場合がある。
次に、本実施形態の変形例(第1変形例から第3変形例まで)の機能構成について説明する。
図2は、本実施形態の第1変形例によるテキスト分類装置(学習装置)の概略機能構成を示すブロック図である。図示するように、本変形例によるテキスト分類装置2は、入力部11と、系列処理部12と、分類部13と、出力部14と、ファストテキスト分類部22と、制御部31とを含んで構成される。つまり、テキスト分類装置2は、テキスト分類装置1には含まれていたオートエンコーダー部21を持たない。
上記の構成を有するテキスト分類装置2は、機械学習時には、分類部13から出力される誤差lossoutと、ファストテキスト分類部22から出力されるlossclassとのみに基づいて、全体の誤差lossMTを算出する。テキスト分類装置2は、このような誤差lossMTに基づいて誤差逆伝搬法を実行することにより機械学習を行う。
図3は、本実施形態の第2変形例によるテキスト分類装置(学習装置)の概略機能構成を示すブロック図である。図示するように、本変形例によるテキスト分類装置3は、入力部11と、系列処理部12と、分類部13と、出力部14と、オートエンコーダー部21と、ファストテキスト分類部22と、制御部31とを含んで構成される。つまり、テキスト分類装置3は、テキスト分類装置1には含まれていたファストテキスト分類部22を持たない。
上記の構成を有するテキスト分類装置3は、機械学習時には、分類部13から出力される誤差lossoutと、オートエンコーダー部21から出力されるlossAEとのみに基づいて、全体の誤差lossMTを算出する。テキスト分類装置3は、このような誤差lossMTに基づいて誤差逆伝搬法を実行することにより機械学習を行う。
図4は、本実施形態の第3変形例によるテキスト分類装置(学習装置)の概略機能構成を示すブロック図である。図示するように、本変形例によるテキスト分類装置4は、入力部11と、系列処理部12と、分類部13と、出力部14と、制御部31とを含んで構成される。つまり、テキスト分類装置4は、テキスト分類装置1には含まれていたオートエンコーダー部21やファストテキスト分類部22を持たない。
上記の構成を有するテキスト分類装置4は、機械学習時には、分類部13から出力される誤差lossoutのみに基づいて、全体の誤差lossMTを算出する。テキスト分類装置4は、このような誤差lossMTに基づいて誤差逆伝搬法を実行することにより機械学習を行う。
次に、本実施形態(前述の第1変形例から第3変形例までを含む)の、より詳細な機能構成と動作について説明する。
図5は、テキスト分類装置1,2,3,4を実現するための機能構成の一例を示す概略図である。図示するように、本実施形態によるテキスト分類装置は、系列処理(CNN)112と、分類処理(ニュース性抽出処理)113と、オートエンコーダー処理(AE)121と、ファストテキスト分類処理(Class)122と、スイッチ401と、スイッチ402と、加算処理411と、乗算処理412と、加算処理413とを組み合わせることにより実現可能である。ここに列挙した各構成要素の機能は、次に説明する通りである。
系列処理(CNN)112は、入力系列を畳み込む処理を行うとともに、畳み込み処理の結果に対してプーリング処理を行う。
分類処理113(ニュース性抽出処理)は、系列処理112の出力を基に、入力に対応するクラスを推定する。つまり、分類処理113は、入力された投稿テキストを複数のクラスに分類する。言い換えれば、分類処理113は、入力された投稿テキストからニュース性を抽出する処理を行う。機械学習時には、分類処理113は、誤差lossoutを出力する。
オートエンコーダー処理(AE)121は、内部のニューラルネットワークのパラメーターの状態に依存して、系列処理112の出力を基に、元の入力系列を出力しようとする処理を行う。オートエンコーダー処理121は、機械学習時にのみ実行される。オートエンコーダー処理121は、オートエンコーダー処理の結果として得られる系列と元の入力系列との誤差であるlossAEを出力する。
ファストテキスト分類処理(Class)122は、系列処理112の出力を基に、単語の分散表現に基づいて、元の入力系列をクラスに分類する。ファストテキスト分類処理122は、機械学習時にのみ実行される。ファストテキスト分類処理122は、ファストテキスト分類処理の結果として得られるクラスの情報と、正解のクラスの情報との誤差であるlossclassを出力する。
スイッチ401は、オートエンコーダー部21が実行するオートエンコーダー処理121によって出力される誤差を、テキスト分類装置全体の学習処理における誤差に反映させるか否かを切り替えるものである。スイッチ401がオン(接続)のとき、オートエンコーダー処理121から出力される誤差は全体の学習処理における誤差に反映される。スイッチ401がオフ(非接続)のとき、オートエンコーダー処理121から出力される誤差は全体の学習処理における誤差に反映されない。スイッチ401の状態(オンまたはオフ)は変数tAEの値に対応する。スイッチ401がオフのときtAE=0である。スイッチ401がオンのときtAE=1である。
スイッチ402は、ファストテキスト分類部22が実行するファストテキスト分類処理122によって出力される誤差を、テキスト分類装置全体の学習処理における誤差に反映させるか否かを切り替えるものである。スイッチ402がオン(接続)のとき、ファストテキスト分類処理122から出力される誤差は全体の学習処理における誤差に反映される。スイッチ402がオフ(非接続)のとき、ファストテキスト分類処理122から出力される誤差は全体の学習処理における誤差に反映されない。スイッチ402の状態(オンまたはオフ)は変数tclassの値に対応する。スイッチ402がオフのときtclass=0である。スイッチ402がオンのときtclass=1である。
上記のスイッチ401および402を切り替えることにより、図5に示す処理構成が、テキスト分類装置1,2,3,4のいずれかを実現する。
つまり、スイッチ401がオンのときにのみオートエンコーダー処理121の出力が学習処理に用いられる。スイッチ401がオフのときにはオートエンコーダー処理121の出力が学習処理に用いられない。スイッチ401がオフのときにはオートエンコーダー処理121そのものが稼働しないように制御してもよい。
また、スイッチ402がオンのときにのみファストテキスト分類処理122の出力が学習処理に用いられる。スイッチ402がオフのときにはファストテキスト分類処理122の出力が学習処理に用いられない。スイッチ402がオフのときにはファストテキスト分類処理122そのものが稼働しないように制御してもよい。
つまり、スイッチ401および402のオン/オフの組み合わせに応じて、図5に示す処理構成は、テキスト分類装置1,2,3,4のいずれかを実現する。具体的には、次の通りである。
スイッチ401がオフ(tAE=0)、且つスイッチ402がオフ(tclass=0)のとき、図5に示す処理構成はテキスト分類装置4(図4)を実現する。
スイッチ401がオン(tAE=1)、且つスイッチ402がオフ(tclass=0)のとき、図5に示す処理構成はテキスト分類装置3(図3)を実現する。
スイッチ401がオフ(tAE=0)、且つスイッチ402がオン(tclass=1)のとき、図5に示す処理構成はテキスト分類装置2(図2)を実現する。
スイッチ401がオン(tAE=1)、且つスイッチ402がオン(tclass=1)のとき、図5に示す処理構成はテキスト分類装置1(図1)を実現する。
加算処理411は、オートエンコーダー処理121から出力される誤差lossAEとファストテキスト分類処理122から出力される誤差lossclassとを加算して、それら誤差の和を出力する。
ただし、スイッチ401がオンのときのみ、オートエンコーダー処理121から出力される誤差lossAEから出力される誤差lossAEが加算処理411に入力される。スイッチ401がオフのときには、誤差lossAEの代わりに、ゼロが加算処理411に入力される。
また、スイッチ402がオンのときのみ、ファストテキスト分類処理122から出力される誤差lossclassから出力される誤差lossclassが加算処理411に入力される。スイッチ402がオフのときには、誤差lossclassの代わりに、ゼロが加算処理411に入力される。
乗算処理412は、加算処理411からの出力値とロス(loss)比率λとの乗算を行い、両者の積を出力する。ロス比率λは、適宜設定される実数値である。このλの値は、メインタスクである分類処理から出力される誤差lossoutと、加算処理411から出力されるサブタスクの誤差である(tAE・lossAE+tclass・lossclass)との、重み付け和を算出する際の重みの値である。
加算処理413は、分類処理113から出力される誤差であるlossoutと、サブラスク側の重みづけ誤差であるλ(tAE・lossAE+tclass・lossclass)とを加算し、両者の和を出力する。加算処理413が出力する誤差を、lossMT(マルチタスク合計誤差)とする。
テキスト分類装置は、このlossMTの値を最適化(局所最適化を含む)するように機械学習処理を行う。機械学習処理の詳細については、後で説明する。
図6は、系列処理112を実現するためのより詳細な構成を示す概略図である。図示するように、系列処理112は、ニューラルネットワークを用いた処理系であり、ワンホット(one-hot)ベクトル化処理1121と、入力層(FFNN)1122と、中間層(CNN)1123と、プーリング層1124と、中間層(FFNN)1125とを含んで構成される。
ワンホットベクトル化処理1121は、入力される文字系列の1文字ずつを、ワンホットベクトルに変換して出力する。つまり、ワンホットベクトル化処理1121は、ワンホットベクトルの系列である{x}を出力する。
入力層1122は、順伝搬型ニューラルネットワーク(FFNN)であり、ワンホットベクトル化処理1121から出力される{x}を入力し、{h in}を出力する。
中間層(畳み込み層)1123は、畳み込みニューラルネットワーク(CNN)であり、入力層1122から出力される{h in}を入力し、{{h CNN}を出力する。ここで、pは、フィルターの種類を指標する添え字である。系列処理は複数のフィルターの処理を有する。複数のフィルターのサイズは異なっていてよい。
プーリング層1124は、中間層1123から出力される{{h CNN}を入力し、プーリング処理(例えば、マックスプーリング処理)を行う。プーリング層1124は、{h pool}を出力する。
中間層1125は、順伝搬型ニューラルネットワークであり、プーリング層1124から出力される{h pool}を入力し、hintを出力する。
図7は、図6に示した系列処理112のうちの、中間層1123(畳み込み層)とプーリング層1124との、さらに詳細な構成を示す構成図である。ただし、図7は、複数のフィルターのうちの1つだけ(p=0)を示す。なお、このp=0のフィルターのサイズは2である。
図示するように、中間層1123は畳み込みフィルターを有する。中間層1123への入力は、最大長nの、入力系列に対応する系列{h in,h in,・・・,hs-1 in}である。この系列の長さはs(≦n)である。中間層1123への入力の左端およびhs-1 inよりも右側の部分の入力は、ゼロパディングされる。系列{h in,h in,・・・,hs-1 in}は、例えば、長さsの「新宿駅西口バスターミナル付近で火事11月15日」という入力系列に対応するものである。この入力系列の最も左の文字「新」がh inに対応する。また、入力系列の左から2番目の文字「宿」がh inに対応する。以下、同様に続く。中間層1123は、n個の畳み込みフィルターを有する。フィルターサイズが2であるため、これらのn個の畳み込みフィルターは2入力1出力である。最も左の畳み込みフィルターは、パディングされた左端の「0」とh inとを入力し、h CNN,0を出力する。左から2番目の畳み込みフィルターは、h inとh inとを入力し、h CNN,0を出力する。左から3番目の畳み込みフィルターは、h inとh inとを入力し、h CNN,0を出力する。左から4番目以後の畳み込みフィルターについても同様である。このように、中間層1123からは{h CNN,p}(0≦t≦n-1)が出力され、プーリング層1124に渡される。プーリング層1124は、上記の{h CNN,p}を入力し、プーリング処理を行い、hpool,p(ただし、図示するフィルターではp=0)を出力する。
図7ではp=0の場合を示したが、他のpに関しても、中間層1123およびプーリング層1124は、同様の構成を有する。
図8は、分類処理の構成を示す概略図である。図示するように、系列処理112の出力結果を基に、分類処理113が行われる。分類処理113は、ニュース性抽出処理とも呼ばれ,出力層の順伝搬型ニューラルネットワークを含む。
系列処理112については既に説明した通りである。
分類処理113において、出力層の順伝搬型ニューラルネットワークは、系列処理112から出力されるhintを入力し、houtを出力する。houtは、分類のクラス数に応じた次元を有するベクトルである。ここで分類処理113は25種類のクラスへの分類を行うものであり、houtは25次元の数値ベクトルである。houtの各要素は、分類対象の投稿テキストが25種類のクラスの各々に属する可能性を表す数値である。そして、分類処理113では、houtにsoftmax関数を適用する。このsoftmax関数は、25種類の各クラスに属する確率(0以上且つ1以下)を表す数値を出力する。つまり、分類処理113は、hintを基に、分類対象の投稿テキストが属するクラスを判定する。
図9は、オートエンコーダー部21によるオートエンコーダー処理の構成を示す概略図である。図示するように、オートエンコーダー処理は、系列処理112からの出力であるhintを基に、内部のニューラルネットワークのパラメーターの状態に依存して、ほぼ系列処理112のほぼ逆処理を行おうとするものである。具体的には、オートエンコーダー処理は、中間層(FFNN)1211と、中間層(パディング)1212と、中間層(逆畳み込み)1213と、中間層(FFNN)1214と、出力層(FFNN)1215とを含む。
中間層(FFNN)1211は、系列処理112からの出力であるhintを入力し、hDe_intを出力する。
中間層(パディング)1212は、中間層1211からの出力であるhDe_intを入力し、フィルターの種類(p=0,1,2,3,4,5)ごとにゼロパディングしたベクトルである{{h De_pool}を出力する。
中間層(逆畳み込み)1213は、中間層1212からの出力である{{h De_pool}を入力し、逆畳み込み処理を行う。中間層(逆畳み込み)1213は、逆畳み込み処理の結果である{{h Deconv}を出力する。
中間層(FFNN)1214は、中間層1213からの出力である{{h Deconv}を入力し、複数のフィルターの出力を結合し、hDe-inを出力する。
出力層(FFNN)1215は、中間層1214からの出力であるhDe-inを入力し、hAEoutを出力する。このhAEoutは、softmax関数を適用することによって、入力されたワンホットベクトル系列である{x}に近い値となることを期待されるものである。機械学習処理によりオートエンコーダー処理の出力と、元の入力系列との誤差が0に近づくことが期待される。
図10は、ファストテキスト分類部22によるファストテキスト分類処理の構成を示す概略図である。図示するように、系列処理112の出力結果を基に、ファストテキスト分類処理122が行われる。ファストテキスト分類処理122は、順伝搬型ニューラルネットワークを含み、単語の分散表現に基づく教師なし学習で入力された投稿テキストを分類する。
系列処理112については既に説明した通りである。
ファストテキスト分類処理122において、出力層の順伝搬型ニューラルネットワークは、系列処理112から出力されるhintを入力し、houtを出力する。houtは、分類のクラス数に応じた次元を有するベクトルである。ここでファストテキスト分類処理122は100種類のクラスへの分類を行うものであり、houtは100次元の数値ベクトルである。houtの各要素は、分類対象の投稿テキストが100種類のクラスの各々に属する可能性を表す数値である。そして、ファストテキスト分類処理122では、houtにsoftmax関数を適用する。このsoftmax関数は、100種類の各クラスに属する確率(0以上且つ1以下)を表す数値を出力する。つまり、ファストテキスト分類処理122は、hintを基に、分類対象の投稿テキストが属するクラスを推定する。
本実施形態のテキスト分類装置は、学習処理モードと分類処理モードのいずれかで動作する。制御部31は、どのモードで動作するかを制御する。以下では、各モードにおける処理の流れを説明する。学習処理モードにおける学習処理については、処理L1~L5で説明する。分類処理モードにおける分類処理については、処理C1で説明する。
学習処理の手順は、次の通りである。
[処理L1 系列処理(112)]
系列処理部12による系列処理(図6)は、次の通りである。
系列処理112に入力されるのは、系列数n(nは正整数)の文字系列である。
処理L1-1: ワンホットベクトル化処理1121は、入力される投稿テキストの文字系列を、一文字ずつ分割する。
処理L1-2: ワンホットベクトル化処理1121は、分割された系列の各文字をワンホットベクトル化する。ワンホットベクトルは、全要素のうちの1個だけの値が「1」であり、それ以外のすべての要素の値が「0」であるベクトルである。ワンホットベクトル化処理1121は、ワンホットベクトル系列{x}={x,x,・・・}を出力する。ここで、xは、1文字に対応するワンホットベクトルである。添え字tは、系列内の位置を表す。系列長がnであるので、例えば、t=0,1,・・・,(n-1)とする。
処理L1-3: 入力層1122の順伝搬型ニューラルネットワーク(FFNN)は、系列{x}に含まれるベクトルを順次1個ずつ入力し、系列{h in}={h in,h in,・・・}を出力する。h inは、入力層1122からの出力であり、入力系列における1文字に対応する。
処理L1-4: 中間層1123(畳み込み層)は、系列{h in}を入力し、当該系列のベクトルを、6種類の異なるフィルターで畳み込む。これらのフィルターのサイズは、それぞれ、4,4,3,3,2,2である。中間層1123は、{{h CNN}(畳み込み層出力)を出力する。pは、各フィルターの種類に対応する添え字であり、p=0,1,2,3,4,5である。
処理L1-5: プーリング層1124は、中間層1123から出力される{{h CNN}を入力する。そして、プーリング層1124は、{{h CNN}に含まれるフィルターごとにマックスプーリング(max pooling)を行う。マックスプーリングは、領域ごとにその領域に含まれる要素の最大値をとることによって情報を圧縮する処理である。つまり、プーリング層1124は、pごとに、{h CNN}の最大値をとり、その結果として得られる{h pool}(プーリング層出力)を出力する。
処理L1-6: 中間層1125の順伝搬型ニューラルネットワークは、プーリング層1124から出力される{h pool}を入力し、hint(中間層出力)を出力する。
系列処理部12による系列処理のうち、中間層1123およびプーリング層1124における詳細な処理(図7)は、次の通りである。
中間層1123は畳み込みニューラルネットワークを有しており、入力される系列のデータを畳み込む。また、プーリング層1124は、例えばマックスプーリングを行うことにより、圧縮された情報を出力する。中間層1123とプーリング層1124は、複数のフィルターを有する。各フィルターのサイズが異なってもよい。図7で例示するフィルターのサイズは2である。図示するように、中間層1123への入力は、入力層1122から出力される長さsの系列h in,h in,・・・,hs-1 inである。例えば、長さsの「新宿駅西口バスターミナル付近で火事11月15日」という文字系列が入力される。なお、図中において[0]と示している入力にはゼロが入力される。つまり、中間層1123への入力はゼロパディングされている。中間層1123は、長さnの系列h CNN,0,h CNN,0,・・・,hn-1 CNN,0を出力する。ここで、上付の添え字「CNN,0」は、第0番目のフィルター(p=0)の畳み込みニューラルネットワークからの出力であることを表す。プーリング層1124は、中間層1123から出力される上記の系列を入力し、プーリング処理することにより、hpool,0を出力する。
なお、図7では、代表して、p=0のフィルター(サイズは、2)による処理を示した。他のp=1,2,3,4,5のフィルターもまた、各フィルターのサイズに応じた同様の処理を行う。
[処理L2 分類処理(113)]
分類部13による分類処理(図8)は、次の通りである。
系列処理112については既に説明した通りである。系列処理112から、hintが出力される。
処理L2-1: 分類処理113の出力層(順伝搬型ニューラルネットワーク)は、hintを入力し、houtを出力する。
処理L2-2: 分類処理113は、出力層から出力されるhoutにsoftmax関数を適用する。なお、softmax関数は、機械学習技術の分野で用いられる既知の関数である。softmax関数の出力は、元の投稿テキストが複数のクラスの各々に属する確率を要素とするベクトルである。これにより、分類処理113は、元の投稿テキストを、マルチクラス(本実施形態では、ニュース性ありの各分野の24クラスと、ニュース性なしの1クラスとの、合計25クラス)に分類する。
処理L2-3: 分類処理113は、分類処理の結果として得られたベクトル(上記のsoftmax関数の出力)クラスと、学習データが持つ正解クラスに基づくベクトル(正解のクラスのみが1であり、他のクラスが0であるベクトル)とに交差関数を適用することにより、分類処理113における誤差lossoutを算出する。このlossoutは、テキスト分類装置全体の誤差であるlossMTを算出するために用いられる。
[処理L3 オートエンコーダー処理]
オートエンコーダー部21によるオートエンコーダー処理(図9)は、次の通りである。なお、スイッチ401(図5)をオフにする場合には、オートエンコーダー処理を実行しないようにしてもよい。
系列処理112については既に説明した通りである。系列処理112から、hintが出力される。
処理L3-1: 中間層1211の順伝搬型ニューラルネットワークは、系列処理112から出力されるhintを入力し、hDe_int(オートエンコーダー中間層出力)を出力する。
処理L3-2: 中間層1212は、中間層1211から出力されるhDe_intを入力する。中間層1212は、6種類のフィルターの各々で、hDe_intを入力するとともに、各フィルターの畳み込みサイズに合わせてhDe_intの左右をゼロパディングする。ここでゼロパディングする処理は、逆プーリング処理である。中間層1212は、ゼロパディングした結果である{{h De_pool}(ゼロパディング後出力)を出力する。ここで、pは、各フィルターに対応する添え字であり、例えば、p=0,1,2,3,4,5である。つまり、出力される{{h De_pool}は、0,0,・・・,0,hDe_int,0,0,・・・,0という系列である。なお、hDe_intの左右のゼロの数は等しい。
処理L3-3: 中間層1213は、中間層1212から出力される{{h De_pool}を入力し、逆畳み込み処理(Deconvolution)を行う。中間層1213は、逆畳み込み処理の結果である{{h Deconv}(逆畳み込み出力)を出力する。
処理L3-4: 中間層1214の順伝搬型ニューラルネットワークは、中間層1213から出力される{{h Deconv}を入力し、{{h Deconv}に含まれる複数のフィルターの出力を結合し、hDe-inとして出力する。
処理L3-5: 出力層1215の順伝搬型ニューラルネットワークは、中間層1214から出力されるhDe-inを入力し、hAEoutを出力する。
処理L3-6: オートエンコーダー部21は、上記のhAEoutにsoftmax関数を適用し、その関数値をオートエンコーダー処理の出力とする。そして、オートエンコーダー部21は、オートエンコーダー処理の出力(softmax関数の出力)と、元のワンホットベクトル系列である{x}と交差関数を適用し、オートエンコーダー処理の誤差であるlossAEを算出する。このlossAEは、テキスト分類装置全体の誤差であるlossMTを算出するために用いられる。
[処理L4 ファストテキスト分類処理(122)]
ファストテキスト分類部22によるファストテキスト分類処理(図10)は、次の通りである。なお、スイッチ402(図5)をオフにする場合には、ファストテキスト分類処理を実行しないようにしてもよい。
系列処理112については既に説明した通りである。系列処理112から、hintが出力される。
処理L4-1: ファストテキスト分類処理122における出力層の順伝搬型ニューラルネットワークは、系列処理112から出力されるhintを入力し、houtを出力する。ファストテキスト分類部22によるファストテキスト分類処理122の内容は既に説明した通りである。ファストテキスト分類処理122は、外部の言語資源(事典サイト等)から得られた大量のテキストと、学習データの投稿テキストとを、それぞれ単語分割し、fastTextにより単語分散表現を生成する。そして、ファストテキスト分類処理122は、K-meansにより、教師なしで投稿テキストを100クラスにクラスタリングする。ファストテキスト分類処理122に含まれる出力層の順伝搬型ニューラルネットワークは、投稿テキストが属するクラスの情報として上記のhoutを出力する。
処理L4-2: ファストテキスト分類部22は、上記のhoutにsoftmax関数を適用することにより、100種類のクラスの各々の確率を出力する。つまり、ファストテキスト分類部22は、入力データである投稿テキストをクラスに分類する。
処理L4-3: ファストテキスト分類部22は、ファストテキスト分類処理によって得られたベクトル(上記のsoftmax関数の出力)と学習データとして与えられた正解のクラスを表すベクトルとに、交差関数を適用することによって誤差lossclassを算出する。
[処理L5 マルチタスク学習における誤差逆伝搬]
マルチタスク学習処理において、制御部31は、次のような制御を行う。
処理L5-1: 制御部31は、下の式により全体の誤差lossMTを算出する。
式: lossMT=lossout+λ(tAE・lossAE+tclass・lossclass
ここで、tAEおよびtclassは、既に述べたように、それぞれ、スイッチ401および402(図5)の状態に応じた値であり、tAE,tclass={0,1}である。言い換えれば、tAEおよびtclassは、それぞれ、オートエンコーダー処理およびファストテキスト処理を使用するか否かを表す。また、λの値は任意であるが、例えば、λ=0.5・e-nとする。ここで、nは、機械学習のエポック番号である。つまり、同じ学習データで繰り返し機械学習を行うにあたって、エポック番号が大きくなるほど、サブタスク(オートエンコーダー処理およびファストテキスト処理)による誤差の逆伝搬の寄与の度合いを、メインタスクの誤差のそれに対して小さくしていく。
処理L5-2: 制御部31は、算出された誤差lossMTを逆伝搬させることにより、テキスト分類装置内のニューラルネットワークのパラメーターを更新する。つまり、テキスト分類装置は、学習モデルのパラメーターを更新する。なお、誤差逆伝搬法を用いて機械学習を行うこと自体は既存の技術である。
なお、本実施形態では、ニューラルネットワークにおける活性化関数としてReLU(Rectified Linear Unit)関数を用いている。
学習済みのモデルを用いて、投稿テキストを分類(ニュース性の抽出)する処理の手順は、次の通りである。
[処理C1 未知の投稿テキストの分類処理]
学習済みのモデルを用いて投稿テキストの分類処理を行う場合、制御部31は、分類モードでテキスト分類装置が動作するよう制御する。分類モードでは、制御部31は、分類部13が分類処理(ニュース性抽出処理)を実行するように制御する。また、制御部31は、オートエンコーダー部21やファストテキスト分類部22が動作しないように制御する。また、制御部31は、分類部13が誤差lossoutを出力しないように制御する。分類モードにおいて分類部13が誤差lossoutを出力してもよいが、そのlossoutの値は使用されない。また、制御部31は、lossMTの値を算出しない。さらに、制御部31は、誤差逆伝搬法によるニューラルネットワークのパラメーターの更新を行わせない。以上のように、処理C1において、分類部13は、学習済みのモデルに基づいて、入力された投稿テキストが属するクラスを推定する。これにより、分類部13は、入力された投稿テキストがニュース性のあるテキストであるか否か、またニュース性がある場合には、どの分野のニュースに属するものであるかを推定できる。
上述した実施形態(変形例を含む)におけるテキスト分類装置(学習装置)の各部の機能を、専用のハードウェア(電子回路等)を用いて実現してもよいし、コンピューターとプログラムとを用いて実現してもよい。また、専用ハードウェアの機能とプログラムの機能とを組み合わせて実施してもよい。一例として、ニューラルネットワークの部分だけを切り出して専用のハードウェアとして実行してもよい。逆に、ニューラルネットワークの部分だけを切り出してコンピューターおよびプログラムで実現してもよい。
上記のように、テキスト分類装置の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
上で説明した実施形態(変形例を含む)の特徴的な構成をまとめると、次の通りである。
一つの変形例として、学習装置(テキスト分類装置としても機能し得る)は、系列処理部12と、分類部13と、制御部31とを含んで構成される。
系列処理部12は、入力される自然言語によるテキスト(投稿テキスト)に含まれる文字の系列をベクトルで表した第1表現(系列{x}など)を基に、少なくとも、パラメーターを有する畳み込みニューラルネットワーク(CNNによる学習モデル)を用いた畳み込み処理を行い、中間表現(hint)を生成する。
分類処理部(分類部13)は、前記中間表現を基に、パラメーターを有するニューラルネットワーク(出力層である順伝搬型ニューラルネットワーク)による処理で前記テキストが属するクラスを推定する。
制御部31は、分類処理部(分類部13)によって推定されたクラスの情報(hout、あるいはhoutにsoftmax関数を適用した結果)と前記テキストが属するクラスの正解である正解クラスの情報との誤差である第1誤差(lossout)に基づいて、誤差逆伝搬法により分類処理部(分類部13)および系列処理部12それぞれが有するニューラルネットワークのパラメーターを更新するよう、即ち、機械学習処理により学習モデルを更新するよう、制御する。
一つの変形例として、学習装置(テキスト分類装置としても機能し得る)は、系列処理部12と、分類部13と、制御部31とに加えて、オートエンコーダー部21を含んで構成される。
オートエンコーダー部21は、系列処理部12から出力される前記中間表現(hint)を基に、逆畳み込み処理(中間層1213による処理)を行うとともに、パラメーターを有するニューラルネットワークによる処理(中間層1211、1212、1213、1312や、出力層1215による処理)を行うことによって、前記第1表現に対応する第2表現(hAEout)を出力し、前記第1表現と前記第2表現との誤差である第2誤差(lossAE)を出力する。
この場合、制御部31は、前記第1誤差に加えて前記第2誤差にも基づいて(つまり、第1誤差と第2誤差とを加味したマルチタスクの誤差に基づいて)、誤差逆伝搬法により、系列処理部12と分類処理部(分類部13)とオートエンコーダー部21とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する。つまり、制御部31は、ここに列挙した各部が有する学習モデルを更新するよう、制御する。
一つの変形例として、学習装置(テキスト分類装置としても機能し得る)は、系列処理部12と、分類部13と、制御部31とに加えて、単語分散表現分類部(ファストテキスト分類部22)を含んで構成される。
単語分散表現分類部(ファストテキスト分類部22)は、系列処理部12から出力される前記中間表現(hint)を基に、パラメーターを有するニューラルネットワークによる処理(ファストテキスト分類処理122における出力層の順伝搬型ニューラルネットワークによる処理)を行う。これによって、単語分散表現分類部(ファストテキスト分類部22)は、前記入力されるテキスト、および前記入力されるテキストとは別の言語資源(事典サイト等)に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定する。また、単語分散表現分類部(ファストテキスト分類部22)は、当該推定の結果であるクラスタの情報と、前記テキストが属する正解のクラスタである正解クラスタの情報との誤差である第3誤差(lossclass)を出力する。
この場合、制御部31は、前記第1誤差に加えて前記第3誤差にも基づいて(つまり、第1誤差と第3誤差とを加味したマルチタスクの誤差に基づいて)、誤差逆伝搬法により、系列処理部12と分類処理部(分類部13)と単語分散表現分類部(ファストテキスト分類部22)とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する。つまり、制御部31は、ここに列挙した各部が有する学習モデルを更新するよう、制御する。
一つの例(本実施形態の基本形)として、学習装置(テキスト分類装置としても機能し得る)は、系列処理部12と、分類部13と、制御部31とに加えて、オートエンコーダー部21と単語分散表現分類部(ファストテキスト分類部22)とを含んで構成される。オートエンコーダー部21の機能および単語分散表現分類部(ファストテキスト分類部22)の機能は上で説明した通りである。
この場合、制御部31は、前記第1誤差に加えて前記第2誤差および前記第3誤差にも基づいて(つまり、第1誤差と第2誤差と第3誤差とを加味したマルチタスクの誤差に基づいて)、誤差逆伝搬法により、系列処理部12と分類処理部(分類部13)とオートエンコーダー部21と単語分散表現分類部(ファストテキスト分類部22)とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する。つまり、制御部31は、ここに列挙した各部が有する学習モデルを更新するよう、制御する。
一形態として、テキスト分類装置(符号1,2,3,4)は、系列処理部12と分類処理部(分類部13)とを備える。
系列処理部12は、入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第1表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する。
分類処理部(分類部13)は、前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する。
ここで、系列処理部12及び分類処理部(分類部13)それぞれが有するニューラルネットワークのパラメーターは、前述のいずれかの学習装置によって学習された結果を反映したものである。つまり、前述の学習装置によって学習済みの学習モデルに基づいて、分類処理部(分類部13)は、前記中間表現を基に、前記テキストが属するクラスを推定する。
上記のテキスト分類装置(符号1,2,3,4)において、前記テキストは、外部のソーシャルメディアのサーバー装置から取得されたものであってもよい。
[評価結果]
次に、本実施形態によるテキスト分類装置の評価実験の結果について説明する。
図11は、本実施形態(基本形および3つの変形例)によるテキスト分類装置を、従来技術と比較して評価するための実験の結果のデータを示す表である。この表では、データを示す各行および各列に、便宜的に、それぞれ行番号および列記号を付与している。
この表の縦(行)方向は、実施形態や変形例等の構成の違いに対応する。この表の第1行目は、本実施形態の基本形に関するデータを表す。第2行目は、本実施形態の第1変形例に関するデータを表す。第3行目は、第2変形例に関するデータを表す。第4行目は、第3変形例に関するデータを表す。第5行目は、畳み込みニューラルネットワーク(CNN)ではなく再帰型ニューラルネットワーク(RNN)を利用していた従来技術に関するデータを表す。
第1行目の本実施形態(畳み込みニューラルネットワーク利用)の基本形では、オートエンコーダー処理とファストテキスト分類処理の両方を使用する。
第2行目の第1変形例では、オートエンコーダー処理を使用せず、ファストテキスト分類処理を使用する。
第3行目の第2変形例では、オートエンコーダー処理を使用し、ファストテキスト分類処理を使用しない。
第4行目の第3変形例では、オートエンコーダー処理もファストテキスト分類処理も使用しない。
第5行目は、上記の通り、再帰型ニューラルネットワークを用いる従来技術の評価値である。
これらのすべてに同じ学習データを用いて比較・評価している。
また、この表の横(列)方向は、評価項目等に対応する。
A列の「(tAE,tclass)」は、オートエンコーダー処理およびファストテキスト処理をそれぞれ用いる場合であるか否かを表す。それぞれ、値が1の場合にはその処理を用い、値が0の場合にはその処理を用いない。
B列の「Precise」は、機械学習の精度を表す。精度は、所定のクラスに属すると判定(分類)したデータのうち、実際にそのクラスに属するものの割合である。
C列の「Recall」は、機械学習の再現率を表す。再現率は、実際に所定のクラスに属するもののうち、そのクラスに属すると判定(分類)されたものの割合である。
D列の「F1」は、機械学習のF1値(F値)を表す。F1値は、精度と再現率の調和平均である。
E列の「時間」は、機械学習に要した時間である。この時間は「h:mm」(時、分)の形式で表されている。
まず、従来技術と第3変形例とを比較する。本実施形態の第3変形例では、畳み込みニューラルネットワークをシステムに導入したことにより、再帰型ニューラルネットワークを用いる従来技術に比べて、学習時間が約1/16と大幅に短縮されている。なお、前述の通り、両者で同一の学習データを用いている。また、第3変形例のF1値は従来技術と比べて0.023ポイント向上し、精度は0.120ポイント向上した。
次に、第2変形例と上記の第3変形例とを比較する。第2変形例は、オートエンコーダー処理のサブタスクを用いることが特徴である。上記の第3変形例と比べて、第2変形例における再現率は0.046ポイント向上している。また、F1値は0.003ポイント向上している。
次に、第1変形例と上記の第3変形例とを比較する。第1変形例は、ファストテキスト分類処理(即ち、単語分散表現によるクラスタリング処理)も用いることが特徴である。第3変形例と比べて、第1変形例における再現率は0.029ポイント向上している。
次に、本実施形態の基本形と上記の第3変形例とを比較する。基本形は、オートエンコーダー処理のサブタスクに加えて、ファストテキスト分類処理(即ち、単語分散表現によるクラスタリング処理)も用いることが特徴である。第3変形例と比べて、基本形における精度は0.013ポイント向上している。
本実施形態によると、畳み込み型ニューラルネットワーク(CNN)を用いることにより、同じ学習データ量に対する学習時間を短縮することができる。また、学習による制度や再現率を向上させることができる。これにより、現実のソーシャルメディアに本実施形態を適用したときに、フィードバックによるモデル更新を行いやすくなる。これにより、さらにモデルの精度等が向上することが期待される。
以上、実施形態(変形例を含む)を説明したが、本発明はさらに次のような変形例でも実施することが可能である。なお、組み合わせ可能な場合において、複数の変形例を組み合わせて実施してもよい。
[変形例A]
図5では、スイッチ401および402を切り替えることにより、本実施形態の基本形と第1変形例から第3変形例までのいずれかとを実現できる構成を示した。これに対して、このようなスイッチ401や402を用いずに、図1から図4までの各々を実現するための専用の構成を有するテキスト分類装置を実施してもよい。
[変形例B]
また、モデルの機械学習処理を行う装置と、テキストの分類を行うテキスト分類装置とが別の装置であってもよい。この場合、機械学習の結果として得られたモデルの情報(具体的には、ニューラルネットワークのパラメーター値の集合の情報)が、機械学習処理後の所定のタイミングで、機械学習処理を行った装置からテキストの分類を行うテキスト分類装置に渡される。
[変形例C]
上述した実施形態(第1変形例を含む)において、ファストテキスト分類部22によるファストテキスト分類処理を用いた。fastTextの代わりに、他の方法を用いたサブタスクを実行するようにしてもよい。例えば、fastText以外の分散表現(Word2Vec)や、他の様々な表現方法で文をベクトルとして表現し、K-meansによるクラスタリングを行うことができる。この変形例Cに示した、fastText以外の手段を用いる処理もまた、「入力されるテキスト、および入力されるテキストとは別の言語資源に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定する」処理である。即ち、変形例Cに示す方法は、前記の単語分散表現分類部による処理である。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明は、例えば、大量のテキストの分類(一例として、ソーシャルメディアで投稿されたテキストからの放送番組の素材の抽出など)に利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
1,2,3,4 テキスト分類装置(学習装置)
11 入力部
12 系列処理部
13 分類部(分類処理部)
14 出力部
21 オートエンコーダー部
22 ファストテキスト分類部(単語分散表現分類部)
31 制御部
112 系列処理(CNN)
113 分類処理(ニュース性抽出処理,出力層,FFNN)
121 オートエンコーダー処理(AE)
122 ファストテキスト分類処理(Class)
401 スイッチ
402 スイッチ
411 加算処理
412 乗算処理
413 加算処理
1121 ワンホットベクトル化処理
1122 入力層(FFNN)
1123 中間層(畳み込み)
1124 プーリング層
1125 中間層(FFNN)
1211 中間層(FFNN)
1212 中間層(パディング)
1213 中間層(逆畳み込み)
1214 中間層(FFNN)
1215 出力層(FFNN)

Claims (5)

  1. 入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第1表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する系列処理部と、
    前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する分類処理部と、
    前記分類処理部によって推定されたクラスの情報と前記テキストが属するクラスの正解である正解クラスの情報との誤差である第1誤差に基づいて、誤差逆伝搬法により前記分類処理部および前記系列処理部それぞれが有するニューラルネットワークのパラメーターを更新するよう制御する制御部と、
    前記系列処理部から出力される前記中間表現を基に、逆畳み込み処理を行うとともに、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記第1表現に対応する第2表現を出力し、前記第1表現と前記第2表現との誤差である第2誤差を出力するオートエンコーダー部と、
    前記系列処理部から出力される前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記入力されるテキスト、および前記入力されるテキストとは別の言語資源に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定するとともに、当該推定の結果であるクラスタの情報と、前記テキストが属する正解のクラスタである正解クラスタの情報との誤差である第3誤差を出力する単語分散表現分類部と、
    を具備し、
    前記制御部は、前記第1誤差に加えて前記第2誤差および前記第3誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記オートエンコーダー部と前記単語分散表現分類部のそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、
    学習装置。
  2. 入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第1表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する系列処理部と、
    前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する分類処理部と、
    を具備するテキスト分類装置であって、
    前記系列処理部及び前記分類処理部それぞれが有するニューラルネットワークのパラメーターは、請求項に記載の学習装置によって学習された結果を反映したものである、
    テキスト分類装置。
  3. 前記テキストは、ソーシャルメディアのサーバー装置から取得されたものである、
    請求項に記載のテキスト分類装置。
  4. コンピューターを、
    請求項に記載の学習装置、
    として機能させるためのプログラム。
  5. コンピューターを、
    請求項またはに記載のテキスト分類装置、
    として機能させるためのプログラム。
JP2018226795A 2018-12-03 2018-12-03 テキスト分類装置、学習装置、およびプログラム Active JP7186591B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018226795A JP7186591B2 (ja) 2018-12-03 2018-12-03 テキスト分類装置、学習装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018226795A JP7186591B2 (ja) 2018-12-03 2018-12-03 テキスト分類装置、学習装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020091549A JP2020091549A (ja) 2020-06-11
JP7186591B2 true JP7186591B2 (ja) 2022-12-09

Family

ID=71012835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018226795A Active JP7186591B2 (ja) 2018-12-03 2018-12-03 テキスト分類装置、学習装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP7186591B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813939A (zh) * 2020-07-13 2020-10-23 南京睿晖数据技术有限公司 一种基于表征增强与融合的文本分类方法
CN112000809B (zh) * 2020-09-29 2024-05-17 迪爱斯信息技术股份有限公司 一种文本类别的增量学习方法及装置、可读存储介质
CN112507099B (zh) * 2020-12-18 2021-12-24 北京百度网讯科技有限公司 对话理解模型的训练方法、装置、设备和存储介质
CN115630689A (zh) * 2022-12-21 2023-01-20 苏州大学 优化文本分类模型输出层激活函数的方法、设备和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049684A (ja) 2015-08-31 2017-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 分類モデルを学習する方法、コンピュータ・システムおよびコンピュータ・プログラム
US20170308790A1 (en) 2016-04-21 2017-10-26 International Business Machines Corporation Text classification by ranking with convolutional neural networks
JP2018025874A (ja) 2016-08-08 2018-02-15 富士ゼロックス株式会社 テキスト解析装置及びプログラム
JP2018026098A (ja) 2016-08-09 2018-02-15 パナソニックIpマネジメント株式会社 識別制御方法及び識別制御装置
JP2018055580A (ja) 2016-09-30 2018-04-05 富士通株式会社 機械学習プログラム、機械学習方法、および機械学習装置
JP2018142294A (ja) 2017-02-28 2018-09-13 富士ゼロックス株式会社 マイクロブログ投稿から購入ステージを識別するために深層学習を使用するシステムおよび方法、プログラム、サーバ装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959272B1 (en) * 2017-07-21 2018-05-01 Memsource a.s. Automatic classification and translation of written segments

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049684A (ja) 2015-08-31 2017-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 分類モデルを学習する方法、コンピュータ・システムおよびコンピュータ・プログラム
US20170308790A1 (en) 2016-04-21 2017-10-26 International Business Machines Corporation Text classification by ranking with convolutional neural networks
JP2018025874A (ja) 2016-08-08 2018-02-15 富士ゼロックス株式会社 テキスト解析装置及びプログラム
JP2018026098A (ja) 2016-08-09 2018-02-15 パナソニックIpマネジメント株式会社 識別制御方法及び識別制御装置
JP2018055580A (ja) 2016-09-30 2018-04-05 富士通株式会社 機械学習プログラム、機械学習方法、および機械学習装置
JP2018142294A (ja) 2017-02-28 2018-09-13 富士ゼロックス株式会社 マイクロブログ投稿から購入ステージを識別するために深層学習を使用するシステムおよび方法、プログラム、サーバ装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
大濱 吉紘、外1名,学習誤差の順逆並行伝播によるオートエンコーダ学習,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年05月19日,第117巻,第64号,p.13-18
張 培楠、外1名,単語分散表現を用いた多層Denoising Auto-Encoderによる評価極性分類,情報処理学会 研究報告 自然言語処理(NL) 2015-NL-222,日本,情報処理学会,2015年07月08日,p.1-8
牧野 仁宣、外3名,ニューラルネットワークを用いた既出Tweet分類,言語処理学会第24回年次大会 発表論文集 [online],日本,言語処理学会,2018年04月16日,p.1143-1146

Also Published As

Publication number Publication date
JP2020091549A (ja) 2020-06-11

Similar Documents

Publication Publication Date Title
JP7186591B2 (ja) テキスト分類装置、学習装置、およびプログラム
CN109783817B (zh) 一种基于深度强化学习的文本语义相似计算模型
CN112435656B (zh) 模型训练方法、语音识别方法、装置、设备及存储介质
CN102388382B (zh) 可缩放的群集方法和系统
US20140156575A1 (en) Method and Apparatus of Processing Data Using Deep Belief Networks Employing Low-Rank Matrix Factorization
CN111414749B (zh) 基于深度神经网络的社交文本依存句法分析系统
WO2023065859A1 (zh) 物品推荐方法、装置及存储介质
CN109710916A (zh) 一种标签提取方法、装置、电子设备及存储介质
CN111046183A (zh) 用于文本分类的神经网络模型的构建方法和装置
US10685012B2 (en) Generating feature embeddings from a co-occurrence matrix
CN111783873B (zh) 基于增量朴素贝叶斯模型的用户画像方法及装置
Chen et al. Generalized Correntropy based deep learning in presence of non-Gaussian noises
CN110765269A (zh) 基于动态词向量和层级神经网络的文档级情感分类方法
CN111160000B (zh) 作文自动评分方法、装置终端设备及存储介质
CN108549718B (zh) 一种通用主题嵌入模型联合训练方法
CN112231584A (zh) 基于小样本迁移学习的数据推送方法、装置及计算机设备
CN113157919B (zh) 语句文本方面级情感分类方法及系统
CN111008266A (zh) 文本分析模型的训练方法及装置、文本分析方法及装置
CN113408706B (zh) 训练用户兴趣挖掘模型、用户兴趣挖掘的方法和装置
CN109145107B (zh) 基于卷积神经网络的主题提取方法、装置、介质和设备
CN114998659A (zh) 随时间在线训练脉冲神经网络模型的图像数据分类方法
Ku et al. Adding learning to cellular genetic algorithms for training recurrent neural networks
CN116431597A (zh) 用于训练数据分类模型的方法、电子设备和计算机程序产品
CN113011531A (zh) 分类模型训练方法、装置、终端设备及存储介质
CN108021544B (zh) 对实体词的语义关系进行分类的方法、装置和电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221018

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221129

R150 Certificate of patent or registration of utility model

Ref document number: 7186591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150