(57)【要約】【課題】テキストを分類するためのモデルの学習を短時間で行える学習装置、学習済みのモデルを用いてテキストを分類することのできるテキスト分類装置を提供する。【解決手段】学習装置が、入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第１表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する系列処理部と、前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する分類処理部と、前記分類処理部によって推定されたクラスの情報と前記テキストが属するクラスの正解である正解クラスの情報との誤差である第１誤差に基づいて、誤差逆伝搬法により前記分類処理部および前記系列処理部それぞれが有するニューラルネットワークのパラメーターを更新するよう制御する制御部と、を具備する。【選択図】図１
2020091549.tif 000002
【特許請求の範囲】
【請求項１】
入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第１表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する系列処理部と、
前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する分類処理部と、
前記分類処理部によって推定されたクラスの情報と前記テキストが属するクラスの正解である正解クラスの情報との誤差である第１誤差に基づいて、誤差逆伝搬法により前記分類処理部および前記系列処理部それぞれが有するニューラルネットワークのパラメーターを更新するよう制御する制御部と、
を具備する学習装置。
【請求項２】
前記系列処理部から出力される前記中間表現を基に、逆畳み込み処理を行うとともに、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記第１表現に対応する第２表現を出力し、前記第１表現と前記第２表現との誤差である第２誤差を出力するオートエンコーダー部、
を具備し、
前記制御部は、前記第１誤差に加えて前記第２誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記オートエンコーダー部とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、
請求項１に記載の学習装置。
【請求項３】
前記系列処理部から出力される前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記入力されるテキスト、および前記入力されるテキストとは別の言語資源に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定するとともに、当該推定の結果であるクラスタの情報と、前記テキストが属する正解のクラスタである正解クラスタの情報との誤差である第３誤差を出力する単語分散表現分類部、
を具備し、
前記制御部は、前記第１誤差に加えて前記第３誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記単語分散表現分類部とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、
請求項１に記載の学習装置。
【請求項４】
前記系列処理部から出力される前記中間表現を基に、逆畳み込み処理を行うとともに、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記第１表現に対応する第２表現を出力し、前記第１表現と前記第２表現との誤差である第２誤差を出力するオートエンコーダー部と、
前記系列処理部から出力される前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記入力されるテキスト、および前記入力されるテキストとは別の言語資源に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定するとともに、当該推定の結果であるクラスタの情報と、前記テキストが属する正解のクラスタである正解クラスタの情報との誤差である第３誤差を出力する単語分散表現分類部と、
を具備し、
前記制御部は、前記第１誤差に加えて前記第２誤差および前記第３誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記オートエンコーダー部と前記単語分散表現分類部のそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、
請求項１に記載の学習装置。
【請求項５】
入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第１表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する系列処理部と、
前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する分類処理部と、
を具備するテキスト分類装置であって、
前記系列処理部及び前記分類処理部それぞれが有するニューラルネットワークのパラメーターは、請求項１から４までのいずれかに記載の学習装置によって学習された結果を反映したものである、
テキスト分類装置。
【請求項６】
前記テキストは、ソーシャルメディアのサーバー装置から取得されたものである、
請求項５に記載のテキスト分類装置。
【請求項７】
コンピューターを、
請求項１から４までのいずれか一項に記載の学習装置、
として機能させるためのプログラム。
【請求項８】
コンピューターを、
請求項５または６に記載のテキスト分類装置、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキスト分類装置、学習装置、およびプログラムに関する。
【背景技術】
【０００２】
ソーシャルメディアにおける投稿テキストから、テレビ等の放送番組の素材となり得る情報を抽出するケースが増えている。抽出された情報は、報道や番組制作に活用され得る。即時性の高いソーシャルメディアの典型例は、ツイッター（登録商標，https://twitter.com/）などである。しかしながら、ソーシャルメディアから、番組等に活用可能な情報を人手で抽出することは，大変な労力がかかる。こうした理由から、番組等に活用可能な情報を含む投稿、例えばニュース性のある投稿を自動的に抽出するシステムの研究がされている。
【０００３】
非特許文献１には、機械学習の手法を用いてソーシャルメディアから有用情報を抽出するための技術が記載されている。非特許文献１（特に、「２．Ｔｗｅｅｔ判定手法」）に記載されている技術では、正例および負例の投稿テキストを用いてニューラルネットワークを予め学習しておく。ここで、ニューラルネットワークへの入力は投稿テキストであり、出力は投稿テキストが属するクラス（ニュース種別に対応するクラス、および「ニュース性なし」を表すクラス）である。なお、学習に用いられる負例は、ニュース性のない投稿である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】宮崎太郎，鳥海心，武井友香，山田一郎，後藤淳，“Twitterからの有用情報抽出のための学習データのマルチクラス化”，情報処理学会研究報告，第127回情報基礎とアクセス技術研究発表会，2017年（平成29年）7月22日，Vol.2017-IFAT-127，No.1
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ソーシャルメディアの投稿は雑多であるため、ニュース性のある投稿に関しても情報のバリエーションが多く、またニュース性のない投稿も多い。このような特徴により、機械学習のための理想的な学習データを作成することが困難であるという問題がある。また、その結果として、投稿テキストを分類・抽出するシステムの精度が低いという問題があった。
【０００６】
なお、分類・抽出の精度を上げるために、フォードバックによるモデル更新の手法を用いることも考えられる。しかしながら、その手法を用いるためには、フィードバックを受け取ってからモデルを更新するまでの学習時間が必要である。従来の手法では、系列を一つ一つ学習するRecurrent Neural Networks（ＲＮＮ）を用いており、その構造上、長い学習時間を要することも、モデル更新を導入することの障壁となっていた。
【０００７】
本発明は、上記の課題認識に基づいて行なわれたものであり、自然言語で記述されたテキストを分類するためのモデルの学習を短時間で行うことのできる学習装置、その学習装置で学習されたモデルを用いてテキストを分類することのできるテキスト分類装置、およびそれらの装置を実現するプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００８】
［１］上記の課題を解決するため、本発明の一態様による学習装置は、入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第１表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する系列処理部と、前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する分類処理部と、前記分類処理部によって推定されたクラスの情報と前記テキストが属するクラスの正解である正解クラスの情報との誤差である第１誤差に基づいて、誤差逆伝搬法により前記分類処理部および前記系列処理部それぞれが有するニューラルネットワークのパラメーターを更新するよう制御する制御部と、を具備する。
【０００９】
［２］また、本発明の一態様は、上記の学習装置において、前記系列処理部から出力される前記中間表現を基に、逆畳み込み処理を行うとともに、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記第１表現に対応する第２表現を出力し、前記第１表現と前記第２表現との誤差である第２誤差を出力するオートエンコーダー部、を具備し、前記制御部は、前記第１誤差に加えて前記第２誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記オートエンコーダー部とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、ものである。
【００１０】
［３］また、本発明の一態様は、上記の学習装置において、前記系列処理部から出力される前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記入力されるテキスト、および前記入力されるテキストとは別の言語資源に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定するとともに、当該推定の結果であるクラスタの情報と、前記テキストが属する正解のクラスタである正解クラスタの情報との誤差である第３誤差を出力する単語分散表現分類部、を具備し、前記制御部は、前記第１誤差に加えて前記第３誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記単語分散表現分類部とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、ものである。
【００１１】
［４］また、本発明の一態様は、上記の学習装置において、前記系列処理部から出力される前記中間表現を基に、逆畳み込み処理を行うとともに、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記第１表現に対応する第２表現を出力し、前記第１表現と前記第２表現との誤差である第２誤差を出力するオートエンコーダー部と、前記系列処理部から出力される前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理を行うことによって、前記入力されるテキスト、および前記入力されるテキストとは別の言語資源に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定するとともに、当該推定の結果であるクラスタの情報と、前記テキストが属する正解のクラスタである正解クラスタの情報との誤差である第３誤差を出力する単語分散表現分類部と、を具備し、前記制御部は、前記第１誤差に加えて前記第２誤差および前記第３誤差にも基づいて、誤差逆伝搬法により、前記系列処理部と前記分類処理部と前記オートエンコーダー部と前記単語分散表現分類部とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する、ものである。
【００１２】
［５］また、本発明の一態様であるテキスト分類装置は、入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第１表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する系列処理部と、前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する分類処理部と、を具備するテキスト分類装置であって、前記系列処理部及び前記分類処理部それぞれが有するニューラルネットワークのパラメーターは、前記［１］から［４］までのいずれかに記載の学習装置によって学習された結果を反映したものである。
【００１３】
［６］また、本発明の一態様は、上記のテキスト分類装置において、前記テキストは、ソーシャルメディアのサーバー装置から取得されたものである、ことを特徴とする。
【００１４】
［７］また、本発明の一態様は、コンピューターを、上記の［１］から［４］までのいずれか一に記載の学習装置、として機能させるためのプログラム。
【００１５】
［８］また、本発明の一態様は、コンピューターを、上記の［５］または［６］に記載のテキスト分類装置、として機能させるためのプログラムである。
【発明の効果】
【００１６】
本発明によれば、入力テキストを第１表現で表し、畳み込みニューラルネットワーク（ＣＮＮ）を導入したことによって、再帰型ニューラルネットワークの手法を用いる場合と比べて学習時間の大幅な削減が可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態によるテキスト分類装置（学習装置）の概略機能構成を示すブロック図である。
【図２】同実施形態の第１変形例によるテキスト分類装置（学習装置）の概略機能構成を示すブロック図である。
【図３】同実施形態の第２変形例によるテキスト分類装置（学習装置）の概略機能構成を示すブロック図である。
【図４】同実施形態の第３変形例によるテキスト分類装置（学習装置）の概略機能構成を示すブロック図である。
【図５】同実施形態によるテキスト分類装置（学習装置）を実現するための機能構成の一例を示す概略図である。
【図６】同実施形態による系列処理を実現するためのより詳細な構成を示す概略図である。
【図７】同実施形態による系列処理のうちの、中間層（畳み込み層）とプーリング層の、さらに詳細な構成を示す構成図である。
【図８】同実施形態による分類部における分類処理の構成を示す概略図である。
【図９】同実施形態によるオートエンコーダー部におけるオートエンコーダー処理の構成を示す概略図である。
【図１０】同実施形態によるファストテキスト分類部におけるファストテキスト分類処理の構成を示す概略図である。
【図１１】同実施形態（基本形および３つの変形例）によるテキスト分類装置を、従来技術と比較して評価するための実験の結果のデータを示す表である。
【発明を実施するための形態】
【００１８】
次に、本発明の一実施形態について、図面を参照しながら説明する。
図１は、本実施形態によるテキスト分類装置（後述するように、「学習装置」でもある）の概略機能構成を示すブロック図である。図示するように、テキスト分類装置１は、入力部１１と、系列処理部１２と、分類部１３と、出力部１４と、オートエンコーダー部２１と、ファストテキスト分類部２２と、制御部３１とを含んで構成される。
【００１９】
本実施形態によるテキスト分類装置１は、ソーシャルメディア（例えば、ツイッター（https://twitter.com/）等）のサーバー装置から得られる様々な投稿テキスト（ツイート（tweet）等とも呼ばれる）から、ニュース性のある投稿テキストを抽出する。投稿テキストは、例えば日本語や英語や中国語や、その他の各言語で記述された、つまり自然言語で記述されたテキストである。そのため、テキスト分類装置１は、機械学習処理を行う。機械学習に用いられる学習データは、例えば、実際のソーシャルメディアにおける投稿テキストを人手によって分類したデータである。学習データは、例えば、火事、電車事故などといった種別ごとに分類した２４クラスの正例データと、ランダムにサンプリングされた投稿テキストの集合である負例データとの、合計２５クラスのデータから成る。学習データは、クラスの正解情報を含む。テキスト分類装置１は、そのような学習データを基に、文字ワンホット（one-hot）ベクトル系列入力をＣＮＮ（畳み込みニューラルネットワーク，Convolutional neural network）で機械学習することによって、モデルを構築する。この機械学習によって構築されるモデルは、投稿テキストを上記の２５クラスに分類することのできるモデルである。そして、テキスト分類装置１は、学習済みのモデルを用いて、あらゆる投稿テキストを、２５クラスに分類する。つまり、テキスト分類装置１は、あらゆる投稿テキストの中からニュース性があると判断される投稿テキストを自動的に抽出する。抽出された投稿テキストは、例えば、放送番組の制作等に活用することが可能である。
【００２０】
本実施形態による装置の構成の特徴は、次の通りである。
第１に、テキスト分類装置１によるテキストの分類処理では、畳み込みニューラルネットワークを用いる。畳み込みニューラルネットワークを用いることにより、学習時間を短縮することが可能となる。学習時間の短縮により、投稿テキストの分類結果をフィードバックすることによってモデルを更新することが容易になる。
第２に、テキスト分類装置１による機械学習処理では、教師なし学習のサブタスクによるマルチタスク学習を行う。より具体的には、テキスト分類装置１は、マルチタスク学習の教師なしサブタスクとして、オートエンコーダー（auto-encoder）、および単語分散表現による教師なしクラスタリング結果を正例とする分類タスク、の２手法を実行する。これにより、機械学習の精度の向上を期待できる。
【００２１】
テキスト分類装置１を構成する各部は、例えば、電子回路を用いて実現され得る。また、その一例として、コンピューターとプログラムとを用いて、テキスト分類装置１を構成する各部の機能を実現するようにしてもよい。テキスト分類装置１を構成する各部の機能は、次の通りである。
【００２２】
入力部１１は、外部から入力データを取得する。入力データは、ソーシャルメディアのサーバー装置等から得られた投稿テキストである。１件の投稿テキストは、例えば数十文字から数百文字程度の長さを有するテキストである。入力部１１は、投稿テキストを１件ずつ、後段の処理に供給する。
【００２３】
系列処理部１２は、入力部１１から渡される投稿テキストを、畳み込み処理する。また、系列処理部１２は、畳み込み処理の結果のデータのプーリング処理を行う。なお、系列処理部１２は、投稿テキストの畳み込み処理を行うために、畳み込み処理の前に、投稿テキスト（文字の系列）をワンホット（one-hot）ベクトル化する。ワンホットベクトルは、全要素のうちの１個だけの値が「１」であり、それ以外のすべての要素の値が「０」であるベクトルである。ベクトルの各要素は文字の種類に対応する。例えば投稿テキストが日本語で書かれている場合、文字の種類は数千種類（あるいはそれ以上でもよい）であるので、ワンホットベクトルは数千個の要素を有する多次元ベクトルである。ワンホットベクトルの次元数は使用される言語に応じて適宜定めればよい。
なお、系列処理部１２は、内部にニューラルネットワークを有している。
【００２４】
分類部１３は、系列処理部１２から出力される中間データを用いて、投稿テキストの分類を行う。分類部１３は、分類処理の結果として、入力された投稿テキストが属するクラスを出力する。本実施形態では、前述の通り、分類部１３は投稿テキストを２５個のクラスのいずれかに分類する。具体的には、分類部１３は、投稿テキストが２５クラスのうちの各クラスに属する確率値を要素とする確率分布ベクトルｐ＝（ｐ１，ｐ２，・・・，ｐ２５）を求める。そして、分類部１３は、ｐ１からｐ２５までのうちの最も高い値に対応するクラスを、入力された投稿テキストが属するクラスとして出力する。
なお、分類部１３は、内部にニューラルネットワークを有している。テキスト分類装置１が学習モードで動作する場合には、分類部１３は、分類処理の結果と正解との誤差の値ｌｏｓｓｏｕｔ（分類処理誤差）を出力する。
【００２５】
出力部１４は、分類部１３による分類処理の結果であるクラスの情報を外部に出力する。出力部１４が、入力された投稿テキストと、分類処理の結果であるクラスの情報とを関連付けて出力するようにしてもよい。なお、入力される投稿テキストに既に正解データが与えられている場合（後述する学習処理の場合）には、出力部１４が分類処理の結果を外部に出力しないようにしてもよい。
【００２６】
オートエンコーダー部２１は、系列処理部１２から出力される中間データに対して、オートエンコーダー（AutoEncoder，ＡＥ，自己符号化）処理を行う。オートエンコーダー処理は、逆プーリング処理や、逆畳み込み処理を含む。オートエンコーダー部２１は、内部の学習モデルの状態に依存して、系列処理部１２から出力される中間データから、元の投稿テキストに対応する入力文字系列を復元する処理、あるいは復元しようとする処理を行う。
なお、オートエンコーダー部２１は、内部にニューラルネットワークを有している。テキスト分類装置１が学習モードで動作する場合にのみ、オートエンコーダー部２１はオートエンコーダー処理を行う。オートエンコーダー部２１は、オートエンコーダー処理の結果と、入力された元の投稿テキストとの誤差の値ｌｏｓｓＡＥ（オートエンコーダー誤差）を出力する。
【００２７】
ファストテキスト分類部２２は、系列処理部１２から出力される中間データを基に、テキスト分類器であるｆａｓｔＴｅｘｔの手法を用いて、入力された投稿テキストが属するクラスを分類する。ｆａｓｔＴｅｘｔ自体は、既知の手法である。
具体的には、ファストテキスト分類部２２は、次の処理を行う。
ファストテキスト分類部２２は、インターネット上の事典サイト（一例として、ウィキペディア）からダンプ出力したデータおよび本システムにおける学習データ（投稿テキストの集合）を足し合わせたデータを、形態素解析器であるＭｅＣａｂにより単語分割する。そして、ファストテキスト分類部２２は、ｆａｓｔＴｅｘｔを用いて教師なし学習を行い、単語分散表現を生成する。そして、ファストテキスト分類部２２は、学習データに含まれる投稿テキストごとに、全単語の分散表現を平均したベクトルを入力として、Ｋ−ｍｅａｎｓにより教師なしで１００クラスにクラスタリングする。ファストテキスト分類部２２は、１００クラスの出力を持つ順伝搬型ニューラルネットワーク（ＦＦＮＮ，Feed-Forward Neural Network）を出力層として有する。順伝搬型ニューラルネットワークは、順方向のみに伝搬する（逆方向への伝搬を持たない）ニューラルネットワークである。ファストテキスト分類部２２は、この出力層からの出力にｓｏｆｔｍａｘ関数を適用して最終出力とする。
なお、ファストテキスト分類部２２は、内部にニューラルネットワークを有している。テキスト分類装置１が学習モードで動作する場合にのみ、ファストテキスト分類部２２はファストテキスト分類処理を行う。ファストテキスト分類部２２は、ファストテキスト分類処理の結果と、入力された投稿テキストの正解であるクラスとの誤差の値ｌｏｓｓｃｌａｓｓ（ファストテキスト分類誤差）を出力する。
【００２８】
制御部３１は、テキスト分類装置１全体の制御を行う。具体的には、制御部３１は、学習モードで動作するか分類モードで動作するかに応じて、その動作モードの情報をテキスト分類装置１内の各部に伝える。ここで、学習モードは、テキスト分類装置１内の機械学習機能を備える各部において機械学習処理を行うモードである。機械学習処理においては、入力される投稿テキストのデータとともに、その投稿テキストが属するクラスを表す正解データが外部から与えられる。また、分類モードは、学習済みの状態（学習モデル）を用いて、入力される未知の投稿テキストを分類する処理を行う。
つまり、制御部３１による制御に応じて、テキスト分類装置１は、内部の学習モデルの学習処理を行う学習装置としても機能する。
【００２９】
上で説明した通り、系列処理部１２と、分類部１３と、オートエンコーダー部２１と、ファストテキスト分類部２２のそれぞれは、内部にニューラルネットワークを有する。ニューラルネットワーク内のパラメーターは可変であり、学習時には、誤差逆伝搬法（backpropagation）等を用いて、これらのパラメーターの値を調節することができる。各部に含まれるニューラルネットワークのパラメーターは、初期状態において初期値が設定されており、テキスト分類装置１の学習処理の際に最適化され更新される。
なお、順伝搬型ニューラルネットワークを「ＦＦＮＮ」と表す場合がある。また、畳み込みニューラルネットワークを「ＣＮＮ」と表す場合がある。また、再帰型ニューラルネットワークを「ＲＮＮ」と表す場合がある。
【００３０】
次に、本実施形態の変形例（第１変形例から第３変形例まで）の機能構成について説明する。
図２は、本実施形態の第１変形例によるテキスト分類装置（学習装置）の概略機能構成を示すブロック図である。図示するように、本変形例によるテキスト分類装置２は、入力部１１と、系列処理部１２と、分類部１３と、出力部１４と、ファストテキスト分類部２２と、制御部３１とを含んで構成される。つまり、テキスト分類装置２は、テキスト分類装置１には含まれていたオートエンコーダー部２１を持たない。
上記の構成を有するテキスト分類装置２は、機械学習時には、分類部１３から出力される誤差ｌｏｓｓｏｕｔと、ファストテキスト分類部２２から出力されるｌｏｓｓｃｌａｓｓとのみに基づいて、全体の誤差ｌｏｓｓＭＴを算出する。テキスト分類装置２は、このような誤差ｌｏｓｓＭＴに基づいて誤差逆伝搬法を実行することにより機械学習を行う。
【００３１】
図３は、本実施形態の第２変形例によるテキスト分類装置（学習装置）の概略機能構成を示すブロック図である。図示するように、本変形例によるテキスト分類装置３は、入力部１１と、系列処理部１２と、分類部１３と、出力部１４と、オートエンコーダー部２１と、ファストテキスト分類部２２と、制御部３１とを含んで構成される。つまり、テキスト分類装置３は、テキスト分類装置１には含まれていたファストテキスト分類部２２を持たない。
上記の構成を有するテキスト分類装置３は、機械学習時には、分類部１３から出力される誤差ｌｏｓｓｏｕｔと、オートエンコーダー部２１から出力されるｌｏｓｓＡＥとのみに基づいて、全体の誤差ｌｏｓｓＭＴを算出する。テキスト分類装置３は、このような誤差ｌｏｓｓＭＴに基づいて誤差逆伝搬法を実行することにより機械学習を行う。
【００３２】
図４は、本実施形態の第３変形例によるテキスト分類装置（学習装置）の概略機能構成を示すブロック図である。図示するように、本変形例によるテキスト分類装置４は、入力部１１と、系列処理部１２と、分類部１３と、出力部１４と、制御部３１とを含んで構成される。つまり、テキスト分類装置４は、テキスト分類装置１には含まれていたオートエンコーダー部２１やファストテキスト分類部２２を持たない。
上記の構成を有するテキスト分類装置４は、機械学習時には、分類部１３から出力される誤差ｌｏｓｓｏｕｔのみに基づいて、全体の誤差ｌｏｓｓＭＴを算出する。テキスト分類装置４は、このような誤差ｌｏｓｓＭＴに基づいて誤差逆伝搬法を実行することにより機械学習を行う。
【００３３】
次に、本実施形態（前述の第１変形例から第３変形例までを含む）の、より詳細な機能構成と動作について説明する。
図５は、テキスト分類装置１，２，３，４を実現するための機能構成の一例を示す概略図である。図示するように、本実施形態によるテキスト分類装置は、系列処理（ＣＮＮ）１１２と、分類処理（ニュース性抽出処理）１１３と、オートエンコーダー処理（ＡＥ）１２１と、ファストテキスト分類処理（Ｃｌａｓｓ）１２２と、スイッチ４０１と、スイッチ４０２と、加算処理４１１と、乗算処理４１２と、加算処理４１３とを組み合わせることにより実現可能である。ここに列挙した各構成要素の機能は、次に説明する通りである。
【００３４】
系列処理（ＣＮＮ）１１２は、入力系列を畳み込む処理を行うとともに、畳み込み処理の結果に対してプーリング処理を行う。
分類処理１１３（ニュース性抽出処理）は、系列処理１１２の出力を基に、入力に対応するクラスを推定する。つまり、分類処理１１３は、入力された投稿テキストを複数のクラスに分類する。言い換えれば、分類処理１１３は、入力された投稿テキストからニュース性を抽出する処理を行う。機械学習時には、分類処理１１３は、誤差ｌｏｓｓｏｕｔを出力する。
オートエンコーダー処理（ＡＥ）１２１は、内部のニューラルネットワークのパラメーターの状態に依存して、系列処理１１２の出力を基に、元の入力系列を出力しようとする処理を行う。オートエンコーダー処理１２１は、機械学習時にのみ実行される。オートエンコーダー処理１２１は、オートエンコーダー処理の結果として得られる系列と元の入力系列との誤差であるｌｏｓｓＡＥを出力する。
ファストテキスト分類処理（Ｃｌａｓｓ）１２２は、系列処理１１２の出力を基に、単語の分散表現に基づいて、元の入力系列をクラスに分類する。ファストテキスト分類処理１２２は、機械学習時にのみ実行される。ファストテキスト分類処理１２２は、ファストテキスト分類処理の結果として得られるクラスの情報と、正解のクラスの情報との誤差であるｌｏｓｓｃｌａｓｓを出力する。
【００３５】
スイッチ４０１は、オートエンコーダー部２１が実行するオートエンコーダー処理１２１によって出力される誤差を、テキスト分類装置全体の学習処理における誤差に反映させるか否かを切り替えるものである。スイッチ４０１がオン（接続）のとき、オートエンコーダー処理１２１から出力される誤差は全体の学習処理における誤差に反映される。スイッチ４０１がオフ（非接続）のとき、オートエンコーダー処理１２１から出力される誤差は全体の学習処理における誤差に反映されない。スイッチ４０１の状態（オンまたはオフ）は変数ｔＡＥの値に対応する。スイッチ４０１がオフのときｔＡＥ＝０である。スイッチ４０１がオンのときｔＡＥ＝１である。
スイッチ４０２は、ファストテキスト分類部２２が実行するファストテキスト分類処理１２２によって出力される誤差を、テキスト分類装置全体の学習処理における誤差に反映させるか否かを切り替えるものである。スイッチ４０２がオン（接続）のとき、ファストテキスト分類処理１２２から出力される誤差は全体の学習処理における誤差に反映される。スイッチ４０２がオフ（非接続）のとき、ファストテキスト分類処理１２２から出力される誤差は全体の学習処理における誤差に反映されない。スイッチ４０２の状態（オンまたはオフ）は変数ｔｃｌａｓｓの値に対応する。スイッチ４０２がオフのときｔｃｌａｓｓ＝０である。スイッチ４０２がオンのときｔｃｌａｓｓ＝１である。
【００３６】
上記のスイッチ４０１および４０２を切り替えることにより、図５に示す処理構成が、テキスト分類装置１，２，３，４のいずれかを実現する。
つまり、スイッチ４０１がオンのときにのみオートエンコーダー処理１２１の出力が学習処理に用いられる。スイッチ４０１がオフのときにはオートエンコーダー処理１２１の出力が学習処理に用いられない。スイッチ４０１がオフのときにはオートエンコーダー処理１２１そのものが稼働しないように制御してもよい。
また、スイッチ４０２がオンのときにのみファストテキスト分類処理１２２の出力が学習処理に用いられる。スイッチ４０２がオフのときにはファストテキスト分類処理１２２の出力が学習処理に用いられない。スイッチ４０２がオフのときにはファストテキスト分類処理１２２そのものが稼働しないように制御してもよい。
つまり、スイッチ４０１および４０２のオン／オフの組み合わせに応じて、図５に示す処理構成は、テキスト分類装置１，２，３，４のいずれかを実現する。具体的には、次の通りである。
スイッチ４０１がオフ（ｔＡＥ＝０）、且つスイッチ４０２がオフ（ｔｃｌａｓｓ＝０）のとき、図５に示す処理構成はテキスト分類装置４（図４）を実現する。
スイッチ４０１がオン（ｔＡＥ＝１）、且つスイッチ４０２がオフ（ｔｃｌａｓｓ＝０）のとき、図５に示す処理構成はテキスト分類装置３（図３）を実現する。
スイッチ４０１がオフ（ｔＡＥ＝０）、且つスイッチ４０２がオン（ｔｃｌａｓｓ＝１）のとき、図５に示す処理構成はテキスト分類装置２（図２）を実現する。
スイッチ４０１がオン（ｔＡＥ＝１）、且つスイッチ４０２がオン（ｔｃｌａｓｓ＝１）のとき、図５に示す処理構成はテキスト分類装置１（図１）を実現する。
【００３７】
加算処理４１１は、オートエンコーダー処理１２１から出力される誤差ｌｏｓｓＡＥとファストテキスト分類処理１２２から出力される誤差ｌｏｓｓｃｌａｓｓとを加算して、それら誤差の和を出力する。
ただし、スイッチ４０１がオンのときのみ、オートエンコーダー処理１２１から出力される誤差ｌｏｓｓＡＥから出力される誤差ｌｏｓｓＡＥが加算処理４１１に入力される。スイッチ４０１がオフのときには、誤差ｌｏｓｓＡＥの代わりに、ゼロが加算処理４１１に入力される。
また、スイッチ４０２がオンのときのみ、ファストテキスト分類処理１２２から出力される誤差ｌｏｓｓｃｌａｓｓから出力される誤差ｌｏｓｓｃｌａｓｓが加算処理４１１に入力される。スイッチ４０２がオフのときには、誤差ｌｏｓｓｃｌａｓｓの代わりに、ゼロが加算処理４１１に入力される。
【００３８】
乗算処理４１２は、加算処理４１１からの出力値とロス（ｌｏｓｓ）比率λとの乗算を行い、両者の積を出力する。ロス比率λは、適宜設定される実数値である。このλの値は、メインタスクである分類処理から出力される誤差ｌｏｓｓｏｕｔと、加算処理４１１から出力されるサブタスクの誤差である（ｔＡＥ・ｌｏｓｓＡＥ＋ｔｃｌａｓｓ・ｌｏｓｓｃｌａｓｓ）との、重み付け和を算出する際の重みの値である。
【００３９】
加算処理４１３は、分類処理１１３から出力される誤差であるｌｏｓｓｏｕｔと、サブラスク側の重みづけ誤差であるλ（ｔＡＥ・ｌｏｓｓＡＥ＋ｔｃｌａｓｓ・ｌｏｓｓｃｌａｓｓ）とを加算し、両者の和を出力する。加算処理４１３が出力する誤差を、ｌｏｓｓＭＴ（マルチタスク合計誤差）とする。
テキスト分類装置は、このｌｏｓｓＭＴの値を最適化（局所最適化を含む）するように機械学習処理を行う。機械学習処理の詳細については、後で説明する。
【００４０】
図６は、系列処理１１２を実現するためのより詳細な構成を示す概略図である。図示するように、系列処理１１２は、ニューラルネットワークを用いた処理系であり、ワンホット（one-hot）ベクトル化処理１１２１と、入力層（ＦＦＮＮ）１１２２と、中間層（ＣＮＮ）１１２３と、プーリング層１１２４と、中間層（ＦＦＮＮ）１１２５とを含んで構成される。
【００４１】
ワンホットベクトル化処理１１２１は、入力される文字系列の１文字ずつを、ワンホットベクトルに変換して出力する。つまり、ワンホットベクトル化処理１１２１は、ワンホットベクトルの系列である｛ｘｔ｝を出力する。
入力層１１２２は、順伝搬型ニューラルネットワーク（ＦＦＮＮ）であり、ワンホットベクトル化処理１１２１から出力される｛ｘｔ｝を入力し、｛ｈｔｉｎ｝を出力する。
中間層（畳み込み層）１１２３は、畳み込みニューラルネットワーク（ＣＮＮ）であり、入力層１１２２から出力される｛ｈｔｉｎ｝を入力し、｛｛ｈｔＣＮＮ｝ｐ｝を出力する。ここで、ｐは、フィルターの種類を指標する添え字である。系列処理は複数のフィルターの処理を有する。複数のフィルターのサイズは異なっていてよい。
プーリング層１１２４は、中間層１１２３から出力される｛｛ｈｔＣＮＮ｝ｐ｝を入力し、プーリング処理（例えば、マックスプーリング処理）を行う。プーリング層１１２４は、｛ｈｐｐｏｏｌ｝を出力する。
中間層１１２５は、順伝搬型ニューラルネットワークであり、プーリング層１１２４から出力される｛ｈｐｐｏｏｌ｝を入力し、ｈｉｎｔを出力する。
【００４２】
図７は、図６に示した系列処理１１２のうちの、中間層１１２３（畳み込み層）とプーリング層１１２４との、さらに詳細な構成を示す構成図である。ただし、図７は、複数のフィルターのうちの１つだけ（ｐ＝０）を示す。なお、このｐ＝０のフィルターのサイズは２である。
【００４３】
図示するように、中間層１１２３は畳み込みフィルターを有する。中間層１１２３への入力は、最大長ｎの、入力系列に対応する系列｛ｈ０ｉｎ，ｈ１ｉｎ，・・・，ｈｓ−１ｉｎ｝である。この系列の長さはｓ（≦ｎ）である。中間層１１２３への入力の左端およびｈｓ−１ｉｎよりも右側の部分の入力は、ゼロパディングされる。系列｛ｈ０ｉｎ，ｈ１ｉｎ，・・・，ｈｓ−１ｉｎ｝は、例えば、長さｓの「新宿駅西口バスターミナル付近で火事１１月１５日」という入力系列に対応するものである。この入力系列の最も左の文字「新」がｈ０ｉｎに対応する。また、入力系列の左から２番目の文字「宿」がｈ１ｉｎに対応する。以下、同様に続く。中間層１１２３は、ｎ個の畳み込みフィルターを有する。フィルターサイズが２であるため、これらのｎ個の畳み込みフィルターは２入力１出力である。最も左の畳み込みフィルターは、パディングされた左端の「０」とｈ０ｉｎとを入力し、ｈ０ＣＮＮ，０を出力する。左から２番目の畳み込みフィルターは、ｈ０ｉｎとｈ１ｉｎとを入力し、ｈ１ＣＮＮ，０を出力する。左から３番目の畳み込みフィルターは、ｈ１ｉｎとｈ２ｉｎとを入力し、ｈ２ＣＮＮ，０を出力する。左から４番目以後の畳み込みフィルターについても同様である。このように、中間層１１２３からは｛ｈｔＣＮＮ，ｐ｝（０≦ｔ≦ｎ−１）が出力され、プーリング層１１２４に渡される。プーリング層１１２４は、上記の｛ｈｔＣＮＮ，ｐ｝を入力し、プーリング処理を行い、ｈｐｏｏｌ，ｐ（ただし、図示するフィルターではｐ＝０）を出力する。
【００４４】
図７ではｐ＝０の場合を示したが、他のｐに関しても、中間層１１２３およびプーリング層１１２４は、同様の構成を有する。
【００４５】
図８は、分類処理の構成を示す概略図である。図示するように、系列処理１１２の出力結果を基に、分類処理１１３が行われる。分類処理１１３は、ニュース性抽出処理とも呼ばれ，出力層の順伝搬型ニューラルネットワークを含む。
系列処理１１２については既に説明した通りである。
【００４６】
分類処理１１３において、出力層の順伝搬型ニューラルネットワークは、系列処理１１２から出力されるｈｉｎｔを入力し、ｈｏｕｔを出力する。ｈｏｕｔは、分類のクラス数に応じた次元を有するベクトルである。ここで分類処理１１３は２５種類のクラスへの分類を行うものであり、ｈｏｕｔは２５次元の数値ベクトルである。ｈｏｕｔの各要素は、分類対象の投稿テキストが２５種類のクラスの各々に属する可能性を表す数値である。そして、分類処理１１３では、ｈｏｕｔにｓｏｆｔｍａｘ関数を適用する。このｓｏｆｔｍａｘ関数は、２５種類の各クラスに属する確率（０以上且つ１以下）を表す数値を出力する。つまり、分類処理１１３は、ｈｉｎｔを基に、分類対象の投稿テキストが属するクラスを判定する。
【００４７】
図９は、オートエンコーダー部２１によるオートエンコーダー処理の構成を示す概略図である。図示するように、オートエンコーダー処理は、系列処理１１２からの出力であるｈｉｎｔを基に、内部のニューラルネットワークのパラメーターの状態に依存して、ほぼ系列処理１１２のほぼ逆処理を行おうとするものである。具体的には、オートエンコーダー処理は、中間層（ＦＦＮＮ）１２１１と、中間層（パディング）１２１２と、中間層（逆畳み込み）１２１３と、中間層（ＦＦＮＮ）１２１４と、出力層（ＦＦＮＮ）１２１５とを含む。
【００４８】
中間層（ＦＦＮＮ）１２１１は、系列処理１１２からの出力であるｈｉｎｔを入力し、ｈＤｅ＿ｉｎｔを出力する。
中間層（パディング）１２１２は、中間層１２１１からの出力であるｈＤｅ＿ｉｎｔを入力し、フィルターの種類（ｐ＝０，１，２，３，４，５）ごとにゼロパディングしたベクトルである｛｛ｈｔＤｅ＿ｐｏｏｌ｝ｐ｝を出力する。
中間層（逆畳み込み）１２１３は、中間層１２１２からの出力である｛｛ｈｔＤｅ＿ｐｏｏｌ｝ｐ｝を入力し、逆畳み込み処理を行う。中間層（逆畳み込み）１２１３は、逆畳み込み処理の結果である｛｛ｈｔＤｅｃｏｎｖ｝ｐ｝を出力する。
中間層（ＦＦＮＮ）１２１４は、中間層１２１３からの出力である｛｛ｈｔＤｅｃｏｎｖ｝ｐ｝を入力し、複数のフィルターの出力を結合し、ｈＤｅ−ｉｎを出力する。
出力層（ＦＦＮＮ）１２１５は、中間層１２１４からの出力であるｈＤｅ−ｉｎを入力し、ｈＡＥｏｕｔを出力する。このｈＡＥｏｕｔは、ｓｏｆｔｍａｘ関数を適用することによって、入力されたワンホットベクトル系列である｛ｘｔ｝に近い値となることを期待されるものである。機械学習処理によりオートエンコーダー処理の出力と、元の入力系列との誤差が０に近づくことが期待される。
【００４９】
図１０は、ファストテキスト分類部２２によるファストテキスト分類処理の構成を示す概略図である。図示するように、系列処理１１２の出力結果を基に、ファストテキスト分類処理１２２が行われる。ファストテキスト分類処理１２２は、順伝搬型ニューラルネットワークを含み、単語の分散表現に基づく教師なし学習で入力された投稿テキストを分類する。
系列処理１１２については既に説明した通りである。
【００５０】
ファストテキスト分類処理１２２において、出力層の順伝搬型ニューラルネットワークは、系列処理１１２から出力されるｈｉｎｔを入力し、ｈｏｕｔを出力する。ｈｏｕｔは、分類のクラス数に応じた次元を有するベクトルである。ここでファストテキスト分類処理１２２は１００種類のクラスへの分類を行うものであり、ｈｏｕｔは１００次元の数値ベクトルである。ｈｏｕｔの各要素は、分類対象の投稿テキストが１００種類のクラスの各々に属する可能性を表す数値である。そして、ファストテキスト分類処理１２２では、ｈｏｕｔにｓｏｆｔｍａｘ関数を適用する。このｓｏｆｔｍａｘ関数は、１００種類の各クラスに属する確率（０以上且つ１以下）を表す数値を出力する。つまり、ファストテキスト分類処理１２２は、ｈｉｎｔを基に、分類対象の投稿テキストが属するクラスを推定する。
【００５１】
本実施形態のテキスト分類装置は、学習処理モードと分類処理モードのいずれかで動作する。制御部３１は、どのモードで動作するかを制御する。以下では、各モードにおける処理の流れを説明する。学習処理モードにおける学習処理については、処理Ｌ１〜Ｌ５で説明する。分類処理モードにおける分類処理については、処理Ｃ１で説明する。
【００５２】
学習処理の手順は、次の通りである。
［処理Ｌ１  系列処理（１１２）］
系列処理部１２による系列処理（図６）は、次の通りである。
系列処理１１２に入力されるのは、系列数ｎ（ｎは正整数）の文字系列である。
処理Ｌ１−１：  ワンホットベクトル化処理１１２１は、入力される投稿テキストの文字系列を、一文字ずつ分割する。
処理Ｌ１−２：  ワンホットベクトル化処理１１２１は、分割された系列の各文字をワンホットベクトル化する。ワンホットベクトルは、全要素のうちの１個だけの値が「１」であり、それ以外のすべての要素の値が「０」であるベクトルである。ワンホットベクトル化処理１１２１は、ワンホットベクトル系列｛ｘｔ｝＝｛ｘ１，ｘ２，・・・｝を出力する。ここで、ｘｔは、１文字に対応するワンホットベクトルである。添え字ｔは、系列内の位置を表す。系列長がｎであるので、例えば、ｔ＝０，１，・・・，（ｎ−１）とする。
処理Ｌ１−３：  入力層１１２２の順伝搬型ニューラルネットワーク（ＦＦＮＮ）は、系列｛ｘｔ｝に含まれるベクトルを順次１個ずつ入力し、系列｛ｈｔｉｎ｝＝｛ｈ０ｉｎ，ｈ２ｉｎ，・・・｝を出力する。ｈｔｉｎは、入力層１１２２からの出力であり、入力系列における１文字に対応する。
【００５３】
処理Ｌ１−４：  中間層１１２３（畳み込み層）は、系列｛ｈｔｉｎ｝を入力し、当該系列のベクトルを、６種類の異なるフィルターで畳み込む。これらのフィルターのサイズは、それぞれ、４，４，３，３，２，２である。中間層１１２３は、｛｛ｈｔＣＮＮ｝ｐ｝（畳み込み層出力）を出力する。ｐは、各フィルターの種類に対応する添え字であり、ｐ＝０，１，２，３，４，５である。
処理Ｌ１−５：  プーリング層１１２４は、中間層１１２３から出力される｛｛ｈｔＣＮＮ｝ｐ｝を入力する。そして、プーリング層１１２４は、｛｛ｈｔＣＮＮ｝ｐ｝に含まれるフィルターごとにマックスプーリング（max pooling）を行う。マックスプーリングは、領域ごとにその領域に含まれる要素の最大値をとることによって情報を圧縮する処理である。つまり、プーリング層１１２４は、ｐごとに、｛ｈｔＣＮＮ｝の最大値をとり、その結果として得られる｛ｈｐｐｏｏｌ｝（プーリング層出力）を出力する。
【００５４】
処理Ｌ１−６：  中間層１１２５の順伝搬型ニューラルネットワークは、プーリング層１１２４から出力される｛ｈｐｐｏｏｌ｝を入力し、ｈｉｎｔ（中間層出力）を出力する。
【００５５】
系列処理部１２による系列処理のうち、中間層１１２３およびプーリング層１１２４における詳細な処理（図７）は、次の通りである。
中間層１１２３は畳み込みニューラルネットワークを有しており、入力される系列のデータを畳み込む。また、プーリング層１１２４は、例えばマックスプーリングを行うことにより、圧縮された情報を出力する。中間層１１２３とプーリング層１１２４は、複数のフィルターを有する。各フィルターのサイズが異なってもよい。図７で例示するフィルターのサイズは２である。図示するように、中間層１１２３への入力は、入力層１１２２から出力される長さｓの系列ｈ０ｉｎ，ｈ１ｉｎ，・・・，ｈｓ−１ｉｎである。例えば、長さｓの「新宿駅西口バスターミナル付近で火事１１月１５日」という文字系列が入力される。なお、図中において［０］と示している入力にはゼロが入力される。つまり、中間層１１２３への入力はゼロパディングされている。中間層１１２３は、長さｎの系列ｈ０ＣＮＮ，０，ｈ１ＣＮＮ，０，・・・，ｈｎ−１ＣＮＮ，０を出力する。ここで、上付の添え字「ＣＮＮ，０」は、第０番目のフィルター（ｐ＝０）の畳み込みニューラルネットワークからの出力であることを表す。プーリング層１１２４は、中間層１１２３から出力される上記の系列を入力し、プーリング処理することにより、ｈｐｏｏｌ，０を出力する。
【００５６】
なお、図７では、代表して、ｐ＝０のフィルター（サイズは、２）による処理を示した。他のｐ＝１，２，３，４，５のフィルターもまた、各フィルターのサイズに応じた同様の処理を行う。
【００５７】
［処理Ｌ２  分類処理（１１３）］
分類部１３による分類処理（図８）は、次の通りである。
系列処理１１２については既に説明した通りである。系列処理１１２から、ｈｉｎｔが出力される。
処理Ｌ２−１：  分類処理１１３の出力層（順伝搬型ニューラルネットワーク）は、ｈｉｎｔを入力し、ｈｏｕｔを出力する。
処理Ｌ２−２：  分類処理１１３は、出力層から出力されるｈｏｕｔにｓｏｆｔｍａｘ関数を適用する。なお、ｓｏｆｔｍａｘ関数は、機械学習技術の分野で用いられる既知の関数である。ｓｏｆｔｍａｘ関数の出力は、元の投稿テキストが複数のクラスの各々に属する確率を要素とするベクトルである。これにより、分類処理１１３は、元の投稿テキストを、マルチクラス（本実施形態では、ニュース性ありの各分野の２４クラスと、ニュース性なしの１クラスとの、合計２５クラス）に分類する。
処理Ｌ２−３：  分類処理１１３は、分類処理の結果として得られたベクトル（上記のｓｏｆｔｍａｘ関数の出力）クラスと、学習データが持つ正解クラスに基づくベクトル（正解のクラスのみが１であり、他のクラスが０であるベクトル）とに交差関数を適用することにより、分類処理１１３における誤差ｌｏｓｓｏｕｔを算出する。このｌｏｓｓｏｕｔは、テキスト分類装置全体の誤差であるｌｏｓｓＭＴを算出するために用いられる。
【００５８】
［処理Ｌ３  オートエンコーダー処理］
オートエンコーダー部２１によるオートエンコーダー処理（図９）は、次の通りである。なお、スイッチ４０１（図５）をオフにする場合には、オートエンコーダー処理を実行しないようにしてもよい。
系列処理１１２については既に説明した通りである。系列処理１１２から、ｈｉｎｔが出力される。
処理Ｌ３−１：  中間層１２１１の順伝搬型ニューラルネットワークは、系列処理１１２から出力されるｈｉｎｔを入力し、ｈＤｅ＿ｉｎｔ（オートエンコーダー中間層出力）を出力する。
【００５９】
処理Ｌ３−２：  中間層１２１２は、中間層１２１１から出力されるｈＤｅ＿ｉｎｔを入力する。中間層１２１２は、６種類のフィルターの各々で、ｈＤｅ＿ｉｎｔを入力するとともに、各フィルターの畳み込みサイズに合わせてｈＤｅ＿ｉｎｔの左右をゼロパディングする。ここでゼロパディングする処理は、逆プーリング処理である。中間層１２１２は、ゼロパディングした結果である｛｛ｈｔＤｅ＿ｐｏｏｌ｝ｐ｝（ゼロパディング後出力）を出力する。ここで、ｐは、各フィルターに対応する添え字であり、例えば、ｐ＝０，１，２，３，４，５である。つまり、出力される｛｛ｈｔＤｅ＿ｐｏｏｌ｝ｐ｝は、０，０，・・・，０，ｈＤｅ＿ｉｎｔ，０，０，・・・，０という系列である。なお、ｈＤｅ＿ｉｎｔの左右のゼロの数は等しい。
【００６０】
処理Ｌ３−３：  中間層１２１３は、中間層１２１２から出力される｛｛ｈｔＤｅ＿ｐｏｏｌ｝ｐ｝を入力し、逆畳み込み処理（Deconvolution）を行う。中間層１２１３は、逆畳み込み処理の結果である｛｛ｈｔＤｅｃｏｎｖ｝ｐ｝（逆畳み込み出力）を出力する。
【００６１】
処理Ｌ３−４：  中間層１２１４の順伝搬型ニューラルネットワークは、中間層１２１３から出力される｛｛ｈｔＤｅｃｏｎｖ｝ｐ｝を入力し、｛｛ｈｔＤｅｃｏｎｖ｝ｐ｝に含まれる複数のフィルターの出力を結合し、ｈＤｅ−ｉｎとして出力する。
処理Ｌ３−５：  出力層１２１５の順伝搬型ニューラルネットワークは、中間層１２１４から出力されるｈＤｅ−ｉｎを入力し、ｈＡＥｏｕｔを出力する。
処理Ｌ３−６：  オートエンコーダー部２１は、上記のｈＡＥｏｕｔにｓｏｆｔｍａｘ関数を適用し、その関数値をオートエンコーダー処理の出力とする。そして、オートエンコーダー部２１は、オートエンコーダー処理の出力（ｓｏｆｔｍａｘ関数の出力）と、元のワンホットベクトル系列である｛ｘｔ｝と交差関数を適用し、オートエンコーダー処理の誤差であるｌｏｓｓＡＥを算出する。このｌｏｓｓＡＥは、テキスト分類装置全体の誤差であるｌｏｓｓＭＴを算出するために用いられる。
【００６２】
［処理Ｌ４  ファストテキスト分類処理（１２２）］
ファストテキスト分類部２２によるファストテキスト分類処理（図１０）は、次の通りである。なお、スイッチ４０２（図５）をオフにする場合には、ファストテキスト分類処理を実行しないようにしてもよい。
系列処理１１２については既に説明した通りである。系列処理１１２から、ｈｉｎｔが出力される。
処理Ｌ４−１：  ファストテキスト分類処理１２２における出力層の順伝搬型ニューラルネットワークは、系列処理１１２から出力されるｈｉｎｔを入力し、ｈｏｕｔを出力する。ファストテキスト分類部２２によるファストテキスト分類処理１２２の内容は既に説明した通りである。ファストテキスト分類処理１２２は、外部の言語資源（事典サイト等）から得られた大量のテキストと、学習データの投稿テキストとを、それぞれ単語分割し、ｆａｓｔＴｅｘｔにより単語分散表現を生成する。そして、ファストテキスト分類処理１２２は、Ｋ−ｍｅａｎｓにより、教師なしで投稿テキストを１００クラスにクラスタリングする。ファストテキスト分類処理１２２に含まれる出力層の順伝搬型ニューラルネットワークは、投稿テキストが属するクラスの情報として上記のｈｏｕｔを出力する。
【００６３】
処理Ｌ４−２：  ファストテキスト分類部２２は、上記のｈｏｕｔにｓｏｆｔｍａｘ関数を適用することにより、１００種類のクラスの各々の確率を出力する。つまり、ファストテキスト分類部２２は、入力データである投稿テキストをクラスに分類する。
処理Ｌ４−３：  ファストテキスト分類部２２は、ファストテキスト分類処理によって得られたベクトル（上記のｓｏｆｔｍａｘ関数の出力）と学習データとして与えられた正解のクラスを表すベクトルとに、交差関数を適用することによって誤差ｌｏｓｓｃｌａｓｓを算出する。
【００６４】
［処理Ｌ５  マルチタスク学習における誤差逆伝搬］
マルチタスク学習処理において、制御部３１は、次のような制御を行う。
処理Ｌ５−１：  制御部３１は、下の式により全体の誤差ｌｏｓｓＭＴを算出する。
式：  ｌｏｓｓＭＴ＝ｌｏｓｓｏｕｔ＋λ（ｔＡＥ・ｌｏｓｓＡＥ＋ｔｃｌａｓｓ・ｌｏｓｓｃｌａｓｓ）
ここで、ｔＡＥおよびｔｃｌａｓｓは、既に述べたように、それぞれ、スイッチ４０１および４０２（図５）の状態に応じた値であり、ｔＡＥ，ｔｃｌａｓｓ＝｛０，１｝である。言い換えれば、ｔＡＥおよびｔｃｌａｓｓは、それぞれ、オートエンコーダー処理およびファストテキスト処理を使用するか否かを表す。また、λの値は任意であるが、例えば、λ＝０．５・ｅ−ｎとする。ここで、ｎは、機械学習のエポック番号である。つまり、同じ学習データで繰り返し機械学習を行うにあたって、エポック番号が大きくなるほど、サブタスク（オートエンコーダー処理およびファストテキスト処理）による誤差の逆伝搬の寄与の度合いを、メインタスクの誤差のそれに対して小さくしていく。
【００６５】
処理Ｌ５−２：  制御部３１は、算出された誤差ｌｏｓｓＭＴを逆伝搬させることにより、テキスト分類装置内のニューラルネットワークのパラメーターを更新する。つまり、テキスト分類装置は、学習モデルのパラメーターを更新する。なお、誤差逆伝搬法を用いて機械学習を行うこと自体は既存の技術である。
【００６６】
なお、本実施形態では、ニューラルネットワークにおける活性化関数としてＲｅＬＵ(Rectified Linear Unit)関数を用いている。
【００６７】
学習済みのモデルを用いて、投稿テキストを分類（ニュース性の抽出）する処理の手順は、次の通りである。
［処理Ｃ１  未知の投稿テキストの分類処理］
学習済みのモデルを用いて投稿テキストの分類処理を行う場合、制御部３１は、分類モードでテキスト分類装置が動作するよう制御する。分類モードでは、制御部３１は、分類部１３が分類処理（ニュース性抽出処理）を実行するように制御する。また、制御部３１は、オートエンコーダー部２１やファストテキスト分類部２２が動作しないように制御する。また、制御部３１は、分類部１３が誤差ｌｏｓｓｏｕｔを出力しないように制御する。分類モードにおいて分類部１３が誤差ｌｏｓｓｏｕｔを出力してもよいが、そのｌｏｓｓｏｕｔの値は使用されない。また、制御部３１は、ｌｏｓｓＭＴの値を算出しない。さらに、制御部３１は、誤差逆伝搬法によるニューラルネットワークのパラメーターの更新を行わせない。以上のように、処理Ｃ１において、分類部１３は、学習済みのモデルに基づいて、入力された投稿テキストが属するクラスを推定する。これにより、分類部１３は、入力された投稿テキストがニュース性のあるテキストであるか否か、またニュース性がある場合には、どの分野のニュースに属するものであるかを推定できる。
【００６８】
上述した実施形態（変形例を含む）におけるテキスト分類装置（学習装置）の各部の機能を、専用のハードウェア（電子回路等）を用いて実現してもよいし、コンピューターとプログラムとを用いて実現してもよい。また、専用ハードウェアの機能とプログラムの機能とを組み合わせて実施してもよい。一例として、ニューラルネットワークの部分だけを切り出して専用のハードウェアとして実行してもよい。逆に、ニューラルネットワークの部分だけを切り出してコンピューターおよびプログラムで実現してもよい。
【００６９】
上記のように、テキスト分類装置の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７０】
上で説明した実施形態（変形例を含む）の特徴的な構成をまとめると、次の通りである。
【００７１】
一つの変形例として、学習装置（テキスト分類装置としても機能し得る）は、系列処理部１２と、分類部１３と、制御部３１とを含んで構成される。
系列処理部１２は、入力される自然言語によるテキスト（投稿テキスト）に含まれる文字の系列をベクトルで表した第１表現（系列｛ｘｔ｝など）を基に、少なくとも、パラメーターを有する畳み込みニューラルネットワーク（ＣＮＮによる学習モデル）を用いた畳み込み処理を行い、中間表現（ｈｉｎｔ）を生成する。
分類処理部（分類部１３）は、前記中間表現を基に、パラメーターを有するニューラルネットワーク（出力層である順伝搬型ニューラルネットワーク）による処理で前記テキストが属するクラスを推定する。
制御部３１は、分類処理部（分類部１３）によって推定されたクラスの情報（ｈｏｕｔ、あるいはｈｏｕｔにｓｏｆｔｍａｘ関数を適用した結果）と前記テキストが属するクラスの正解である正解クラスの情報との誤差である第１誤差（ｌｏｓｓｏｕｔ）に基づいて、誤差逆伝搬法により分類処理部（分類部１３）および系列処理部１２それぞれが有するニューラルネットワークのパラメーターを更新するよう、即ち、機械学習処理により学習モデルを更新するよう、制御する。
【００７２】
一つの変形例として、学習装置（テキスト分類装置としても機能し得る）は、系列処理部１２と、分類部１３と、制御部３１とに加えて、オートエンコーダー部２１を含んで構成される。
オートエンコーダー部２１は、系列処理部１２から出力される前記中間表現（ｈｉｎｔ）を基に、逆畳み込み処理（中間層１２１３による処理）を行うとともに、パラメーターを有するニューラルネットワークによる処理（中間層１２１１、１２１２、１２１３、１３１２や、出力層１２１５による処理）を行うことによって、前記第１表現に対応する第２表現（ｈＡＥｏｕｔ）を出力し、前記第１表現と前記第２表現との誤差である第２誤差（ｌｏｓｓＡＥ）を出力する。
この場合、制御部３１は、前記第１誤差に加えて前記第２誤差にも基づいて（つまり、第１誤差と第２誤差とを加味したマルチタスクの誤差に基づいて）、誤差逆伝搬法により、系列処理部１２と分類処理部（分類部１３）とオートエンコーダー部２１とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する。つまり、制御部３１は、ここに列挙した各部が有する学習モデルを更新するよう、制御する。
【００７３】
一つの変形例として、学習装置（テキスト分類装置としても機能し得る）は、系列処理部１２と、分類部１３と、制御部３１とに加えて、単語分散表現分類部（ファストテキスト分類部２２）を含んで構成される。
単語分散表現分類部（ファストテキスト分類部２２）は、系列処理部１２から出力される前記中間表現（ｈｉｎｔ）を基に、パラメーターを有するニューラルネットワークによる処理（ファストテキスト分類処理１２２における出力層の順伝搬型ニューラルネットワークによる処理）を行う。これによって、単語分散表現分類部（ファストテキスト分類部２２）は、前記入力されるテキスト、および前記入力されるテキストとは別の言語資源（事典サイト等）に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定する。また、単語分散表現分類部（ファストテキスト分類部２２）は、当該推定の結果であるクラスタの情報と、前記テキストが属する正解のクラスタである正解クラスタの情報との誤差である第３誤差（ｌｏｓｓｃｌａｓｓ）を出力する。
この場合、制御部３１は、前記第１誤差に加えて前記第３誤差にも基づいて（つまり、第１誤差と第３誤差とを加味したマルチタスクの誤差に基づいて）、誤差逆伝搬法により、系列処理部１２と分類処理部（分類部１３）と単語分散表現分類部（ファストテキスト分類部２２）とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する。つまり、制御部３１は、ここに列挙した各部が有する学習モデルを更新するよう、制御する。
【００７４】
一つの例（本実施形態の基本形）として、学習装置（テキスト分類装置としても機能し得る）は、系列処理部１２と、分類部１３と、制御部３１とに加えて、オートエンコーダー部２１と単語分散表現分類部（ファストテキスト分類部２２）とを含んで構成される。オートエンコーダー部２１の機能および単語分散表現分類部（ファストテキスト分類部２２）の機能は上で説明した通りである。
この場合、制御部３１は、前記第１誤差に加えて前記第２誤差および前記第３誤差にも基づいて（つまり、第１誤差と第２誤差と第３誤差とを加味したマルチタスクの誤差に基づいて）、誤差逆伝搬法により、系列処理部１２と分類処理部（分類部１３）とオートエンコーダー部２１と単語分散表現分類部（ファストテキスト分類部２２）とのそれぞれが有するニューラルネットワークのパラメーターを更新するよう制御する。つまり、制御部３１は、ここに列挙した各部が有する学習モデルを更新するよう、制御する。
【００７５】
一形態として、テキスト分類装置（符号１，２，３，４）は、系列処理部１２と分類処理部（分類部１３）とを備える。
系列処理部１２は、入力される自然言語によるテキストに含まれる文字の系列をベクトルで表した第１表現を基に、パラメーターを有する畳み込みニューラルネットワークを用いた畳み込み処理を行うことによって中間表現を生成する。
分類処理部（分類部１３）は、前記中間表現を基に、パラメーターを有するニューラルネットワークによる処理で前記テキストが属するクラスを推定する。
ここで、系列処理部１２及び分類処理部（分類部１３）それぞれが有するニューラルネットワークのパラメーターは、前述のいずれかの学習装置によって学習された結果を反映したものである。つまり、前述の学習装置によって学習済みの学習モデルに基づいて、分類処理部（分類部１３）は、前記中間表現を基に、前記テキストが属するクラスを推定する。
【００７６】
上記のテキスト分類装置（符号１，２，３，４）において、前記テキストは、外部のソーシャルメディアのサーバー装置から取得されたものであってもよい。
【００７７】
［評価結果］
次に、本実施形態によるテキスト分類装置の評価実験の結果について説明する。
図１１は、本実施形態（基本形および３つの変形例）によるテキスト分類装置を、従来技術と比較して評価するための実験の結果のデータを示す表である。この表では、データを示す各行および各列に、便宜的に、それぞれ行番号および列記号を付与している。
【００７８】
この表の縦（行）方向は、実施形態や変形例等の構成の違いに対応する。この表の第１行目は、本実施形態の基本形に関するデータを表す。第２行目は、本実施形態の第１変形例に関するデータを表す。第３行目は、第２変形例に関するデータを表す。第４行目は、第３変形例に関するデータを表す。第５行目は、畳み込みニューラルネットワーク（ＣＮＮ）ではなく再帰型ニューラルネットワーク（ＲＮＮ）を利用していた従来技術に関するデータを表す。
第１行目の本実施形態（畳み込みニューラルネットワーク利用）の基本形では、オートエンコーダー処理とファストテキスト分類処理の両方を使用する。
第２行目の第１変形例では、オートエンコーダー処理を使用せず、ファストテキスト分類処理を使用する。
第３行目の第２変形例では、オートエンコーダー処理を使用し、ファストテキスト分類処理を使用しない。
第４行目の第３変形例では、オートエンコーダー処理もファストテキスト分類処理も使用しない。
第５行目は、上記の通り、再帰型ニューラルネットワークを用いる従来技術の評価値である。
これらのすべてに同じ学習データを用いて比較・評価している。
【００７９】
また、この表の横（列）方向は、評価項目等に対応する。
Ａ列の「（ｔＡＥ，ｔｃｌａｓｓ）」は、オートエンコーダー処理およびファストテキスト処理をそれぞれ用いる場合であるか否かを表す。それぞれ、値が１の場合にはその処理を用い、値が０の場合にはその処理を用いない。
Ｂ列の「Ｐｒｅｃｉｓｅ」は、機械学習の精度を表す。精度は、所定のクラスに属すると判定（分類）したデータのうち、実際にそのクラスに属するものの割合である。
Ｃ列の「Ｒｅｃａｌｌ」は、機械学習の再現率を表す。再現率は、実際に所定のクラスに属するもののうち、そのクラスに属すると判定（分類）されたものの割合である。
Ｄ列の「Ｆ１」は、機械学習のＦ１値（Ｆ値）を表す。Ｆ１値は、精度と再現率の調和平均である。
Ｅ列の「時間」は、機械学習に要した時間である。この時間は「ｈ：ｍｍ」（時、分）の形式で表されている。
【００８０】
まず、従来技術と第３変形例とを比較する。本実施形態の第３変形例では、畳み込みニューラルネットワークをシステムに導入したことにより、再帰型ニューラルネットワークを用いる従来技術に比べて、学習時間が約１／１６と大幅に短縮されている。なお、前述の通り、両者で同一の学習データを用いている。また、第３変形例のＦ１値は従来技術と比べて０．０２３ポイント向上し、精度は０．１２０ポイント向上した。
【００８１】
次に、第２変形例と上記の第３変形例とを比較する。第２変形例は、オートエンコーダー処理のサブタスクを用いることが特徴である。上記の第３変形例と比べて、第２変形例における再現率は０．０４６ポイント向上している。また、Ｆ１値は０．００３ポイント向上している。
【００８２】
次に、第１変形例と上記の第３変形例とを比較する。第１変形例は、ファストテキスト分類処理（即ち、単語分散表現によるクラスタリング処理）も用いることが特徴である。第３変形例と比べて、第１変形例における再現率は０．０２９ポイント向上している。
【００８３】
次に、本実施形態の基本形と上記の第３変形例とを比較する。基本形は、オートエンコーダー処理のサブタスクに加えて、ファストテキスト分類処理（即ち、単語分散表現によるクラスタリング処理）も用いることが特徴である。第３変形例と比べて、基本形における精度は０．０１３ポイント向上している。
【００８４】
本実施形態によると、畳み込み型ニューラルネットワーク（ＣＮＮ）を用いることにより、同じ学習データ量に対する学習時間を短縮することができる。また、学習による制度や再現率を向上させることができる。これにより、現実のソーシャルメディアに本実施形態を適用したときに、フィードバックによるモデル更新を行いやすくなる。これにより、さらにモデルの精度等が向上することが期待される。
【００８５】
以上、実施形態（変形例を含む）を説明したが、本発明はさらに次のような変形例でも実施することが可能である。なお、組み合わせ可能な場合において、複数の変形例を組み合わせて実施してもよい。
［変形例Ａ］
図５では、スイッチ４０１および４０２を切り替えることにより、本実施形態の基本形と第１変形例から第３変形例までのいずれかとを実現できる構成を示した。これに対して、このようなスイッチ４０１や４０２を用いずに、図１から図４までの各々を実現するための専用の構成を有するテキスト分類装置を実施してもよい。
［変形例Ｂ］
また、モデルの機械学習処理を行う装置と、テキストの分類を行うテキスト分類装置とが別の装置であってもよい。この場合、機械学習の結果として得られたモデルの情報（具体的には、ニューラルネットワークのパラメーター値の集合の情報）が、機械学習処理後の所定のタイミングで、機械学習処理を行った装置からテキストの分類を行うテキスト分類装置に渡される。
［変形例Ｃ］
上述した実施形態（第１変形例を含む）において、ファストテキスト分類部２２によるファストテキスト分類処理を用いた。ｆａｓｔＴｅｘｔの代わりに、他の方法を用いたサブタスクを実行するようにしてもよい。例えば、ｆａｓｔＴｅｘｔ以外の分散表現（Ｗｏｒｄ２Ｖｅｃ）や、他の様々な表現方法で文をベクトルとして表現し、Ｋ−ｍｅａｎｓによるクラスタリングを行うことができる。この変形例Ｃに示した、ｆａｓｔＴｅｘｔ以外の手段を用いる処理もまた、「入力されるテキスト、および入力されるテキストとは別の言語資源に基づいて単語分散表現により生成したクラスタリングのいずれのクラスタに属するかを推定する」処理である。即ち、変形例Ｃに示す方法は、前記の単語分散表現分類部による処理である。
【００８６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００８７】
本発明は、例えば、大量のテキストの分類（一例として、ソーシャルメディアで投稿されたテキストからの放送番組の素材の抽出など）に利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【００８８】
１，２，３，４  テキスト分類装置（学習装置）
１１  入力部
１２  系列処理部
１３  分類部（分類処理部）
１４  出力部
２１  オートエンコーダー部
２２  ファストテキスト分類部（単語分散表現分類部）
３１  制御部
１１２  系列処理（ＣＮＮ）
１１３  分類処理（ニュース性抽出処理，出力層，ＦＦＮＮ）
１２１  オートエンコーダー処理（ＡＥ）
１２２  ファストテキスト分類処理（Ｃｌａｓｓ）
４０１  スイッチ
４０２  スイッチ
４１１  加算処理
４１２  乗算処理
４１３  加算処理
１１２１  ワンホットベクトル化処理
１１２２  入力層（ＦＦＮＮ）
１１２３  中間層（畳み込み）
１１２４  プーリング層
１１２５  中間層（ＦＦＮＮ）
１２１１  中間層（ＦＦＮＮ）
１２１２  中間層（パディング）
１２１３  中間層（逆畳み込み）
１２１４  中間層（ＦＦＮＮ）
１２１５  出力層（ＦＦＮＮ）
【図１】
2020091549.tif 000003
【図２】
2020091549.tif 000004
【図３】
2020091549.tif 000005
【図４】
2020091549.tif 000006
【図５】
2020091549.tif 000007
【図６】
2020091549.tif 000008
【図７】
2020091549.tif 000009
【図８】
2020091549.tif 000010
【図９】
2020091549.tif 000011
【図１０】
2020091549.tif 000012
【図１１】
2020091549.tif 000013