(57)【要約】【課題】ソーシャルメディアから取得した情報である投稿文が、どの種別の情報であるかを判定する情報判定装置を提供する。【解決手段】情報判定装置１は、種別が既知のクラスに分類した正例の投稿文と、その他の種別を１つのクラスとした負例の投稿文とから、未知の投稿文がどのクラスに属するかを判定するためのニューラルネットワークを初期モデルとして学習する初期モデル学習手段１１と、負例の投稿文の特徴ベクトルを算出する特徴ベクトル算出手段１２と、特徴ベクトルに基づいて負例の投稿文を複数のクラスに分類するクラスタリング手段１３と、初期モデルの出力層のノード数を変えて、正例の投稿文と複数のクラスに分類された負例の投稿文とを用いて学習し、情報判定モデルを生成する情報判定モデル学習手段１４と、情報判定モデルを用いて未知の投稿文の種別を判定する判定手段１５と、を備える【選択図】図１
2019016122.tif 000002
【特許請求の範囲】
【請求項１】
ソーシャルメディアから取得した情報である投稿文が、当該投稿文の投稿内容を分類したどの種別に属する前記情報かを判定するための情報判定モデルを学習するモデル学習装置であって、
予め、前記種別が既知である１以上のクラスに分類した正例の投稿文と、前記正例の投稿文が属する種別以外の１つのクラスに分類した負例の投稿文とを学習データとして、前記種別が未知である投稿文が、どのクラスに属するかを判定するためのニューラルネットワークを初期モデルとして学習する初期モデル学習手段と、
前記負例の投稿文の特徴ベクトルを算出する特徴ベクトル算出手段と、
前記特徴ベクトル算出手段で算出された特徴ベクトルに基づいて、前記負例の投稿文を複数のクラスに分類するクラスタリング手段と、
前記初期モデルの出力層のノード数を、前記正例の投稿文のクラス数と、前記クラスタリング手段で分類された負例の投稿文のクラス数とを加算したクラス数に変えて、前記正例の投稿文と複数のクラスに分類された負例の投稿文とを学習データとして学習することで、前記情報判定モデルを生成する情報判定モデル学習手段と、
を備えることを特徴とするモデル学習装置。
【請求項２】
前記特徴ベクトル算出手段は、前記負例の投稿文に対する前記初期モデルの中間層から出力された出力ベクトルを、前記特徴ベクトルとして算出することを特徴とする請求項１に記載のモデル学習装置。
【請求項３】
前記ニューラルネットワークの中間層を双方向ＬＳＴＭで構成することを特徴とする請求項１または請求項２に記載のモデル学習装置。
【請求項４】
ソーシャルメディアから取得した情報である投稿文が、当該投稿文の投稿内容を分類したどの種別に属する前記情報かを判定する情報判定装置であって、
予め、前記種別が既知である１以上のクラスに分類した正例の投稿文と、前記正例の投稿文が属する種別以外の１つのクラスに分類した負例の投稿文とを学習データとして、前記種別が未知である投稿文が、どのクラスに属するかを判定するためのニューラルネットワークを初期モデルとして学習する初期モデル学習手段と、
前記負例の投稿文の特徴ベクトルを算出する特徴ベクトル算出手段と、
前記特徴ベクトル算出手段で算出された特徴ベクトルに基づいて、前記負例の投稿文を複数のクラスに分類するクラスタリング手段と、
前記初期モデルの出力層のノード数を、前記正例の投稿文のクラス数と、前記クラスタリング手段で分類された負例の投稿文のクラス数とを加算したクラス数に変えて、前記正例の投稿文と複数のクラスに分類された負例の投稿文とを学習データとして学習することで、情報判定モデルを生成する情報判定モデル学習手段と、
前記情報判定モデルを用いて、前記種別が未知である投稿文が、どの種別に属する情報かを判定する判定手段と、
を備えることを特徴とする情報判定装置。
【請求項５】
前記特徴ベクトル算出手段は、前記負例の投稿文に対する前記初期モデルの中間層からの出力ベクトルを、前記特徴ベクトルとして算出することを特徴とする請求項４に記載の情報判定装置。
【請求項６】
前記ニューラルネットワークの中間層を双方向ＬＳＴＭで構成することを特徴とする請求項４または請求項５に記載の情報判定装置。
【請求項７】
コンピュータを、請求項１から請求項３のいずれか一項に記載のモデル学習装置として機能させるためのモデル学習プログラム。
【請求項８】
コンピュータを、請求項４から請求項６のいずれか一項に記載の情報判定装置として機能させるための情報判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソーシャルメディアから取得した情報が、どのような種別の情報であるかを判定する情報判定用のモデルを学習するモデル学習装置、当該モデルを用いた情報判定装置およびそれらのプログラムに関する。
【背景技術】
【０００２】
近年、ソーシャル・ネットワーキング・サービス（ＳＮＳ：Social Networking Service）の発達により、個人が、容易にかつリアルタイムで情報を発信することが可能になった。例えば、ＳＮＳには、火事、事故等の現場に偶然居合わせた人から、その現場の目撃情報等が投稿されることが多くなっている。これらの投稿は、現場の写真や映像を付加したものがあり、火事、事故等の発生した瞬間をとらえた画像、映像として、ニュース番組等に活用されることも多い。そこで、放送局等では、ＳＮＳを監視する等、人手により、これらの情報を抽出している。
【０００３】
人手により、このようなＳＮＳから必要な情報を抽出する手法は、キーワード検索を用いることが多い。しかしながら、例えば、ＳＮＳの投稿では、「○○線が遅れている」といった路線名が書かれている場合、「△△駅での事故で電車が遅れている」といった駅名が書かれている場合等があり、ＳＮＳの表現の方法が多岐にわたっている。そのため、これらの表現をすべてカバーするキーワードを作成することは困難である。
【０００４】
そこで、これらの問題を解決するために、機械学習を用いた投稿の抽出手法が多く研究されている。例えば、再帰型ニューラルネットワーク（Recurrent Neural Network：ＲＮＮ）により、ツイート〔登録商標〕がニュース制作に役立つ情報であるか否かを判定する手法が開示されている（特許文献１参照）。また、例えば、ＳＮＳへの投稿のｎ−ｇｒａｍと気象状況の関連度とを算出し、この関連度を機械学習することにより、気象事象に関連する有用な投稿を抽出する手法が開示されている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】宮崎太郎，鳥海心，武井友香，山田一郎，後藤淳，“ニュース制作に役立つtweetの自動抽出手法”，言語処理学会，第23回年次大会発表論文集，pp.418-421，2017年3月
【非特許文献２】萩行正嗣，“選択式天気情報を用いたソーシャルメディアからの有用投稿抽出”，言語処理学会，第22回年次大会発表論文集，pp.397-400，2016年3月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前記した従来の手法は、予めＳＮＳから情報を収集し学習を行っている。
一般に、ツイート等のＳＮＳの情報から所望の情報を抽出する場合、正例（例えば、ニュースに役立つ情報）は、負例（例えば、ニュースに役立たない情報）よりもはるかに数が少ない。例えば、「事故」等のニュースに役立つ情報の正例が２００件、負例が１００，０００件等のように、学習データに大きな偏りが生じている。
【０００７】
正例と負例とのそれぞれのクラスにデータ量の大きな差がある場合、機械学習の精度が低下することが知られている。これは、確率モデルとして、正例に対して、負例の発生確率が大きくなるため、正例のクラスに属する情報であっても、誤って負例のクラスに属する情報であると誤判定してしまうからである。
なお、この問題は、正例をさらに細かく分類する場合、例えば、「ニュース」を、「火事」、「自動車事故」、「電車事故」等の種別に分類して学習する場合、種別ごとの正例のクラスに属する学習データと負例のクラスに属する学習データとに、さらにデータ量の大きな偏りが生じてしまう。
このように、従来の手法は、正例と負例とのそれぞれのクラスに属する学習データに偏りが生じ、機械学習を精度よく行うことができないという問題がある。
【０００８】
そこで、本発明は、学習データの偏りを軽減することで、ソーシャルメディア情報がどの種別の情報であるかを精度よく判定するためのモデル学習装置、情報判定装置およびそれらのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するため、本発明に係るモデル学習装置は、ソーシャルメディアから取得した情報である投稿文が、当該投稿文の投稿内容を分類したどの種別に属する情報かを判定するための情報判定モデルを学習するモデル学習装置であって、初期モデル学習手段と、特徴ベクトル算出手段と、クラスタリング手段と、情報判定モデル学習手段と、を備える構成とした。
【００１０】
かかる構成において、モデル学習装置は、初期モデル学習手段によって、予め、種別が既知である１以上のクラスに分類した正例の投稿文と、正例の投稿文が属する種別以外の１つのクラスに分類した負例の投稿文とを学習データとして、第１段階目の学習として、ニューラルネットワークを初期モデルとして学習する。この初期モデルは、種別が未知である投稿文がどのクラスに属するかを判定するためのモデルである。この初期モデルの出力層は、判定対象となる種別が既知のクラスの数と、それ以外の種別を１つのクラスとしたクラス数をノード数としたものである。
【００１１】
そして、モデル学習装置は、特徴ベクトル算出手段によって、負例の投稿文の特徴ベクトルを算出する。この特徴ベクトルは、初期モデルの中間層の出力を用いてもよいし、投稿文を構成する単語ごとの分散表現ベクトルの加算平均を用いてもよい。
そして、モデル学習装置は、クラスタリング手段によって、特徴ベクトル算出手段で算出された特徴ベクトルに基づいて、負例の投稿文を複数のクラスに分類する。このように、モデル学習装置は、学習データである負例の投稿文を、複数のクラスに分類することで、正例のクラスの学習データのデータ量との偏りを軽減した負例のクラスの学習データを生成することができる。
【００１２】
そして、モデル学習装置は、情報判定モデル学習手段によって、初期モデルの出力層のノード数を、正例の投稿文のクラス数と、クラスタリング手段で分類された負例の投稿文のクラス数とを加算したクラス数に変える。さらに、モデル学習装置は、情報判定モデル学習手段によって、正例の投稿文と複数のクラスに分類された負例の投稿文とを学習データとして、出力層のノード数を変更したモデルに対して、第２段階目の学習を行うことで、情報判定モデルを生成する。
【００１３】
このように、出力層のノード数を正例のクラス数と負例のクラス数との和として学習することで、モデル学習装置は、種別が未知である投稿文が、予め定めた種別のどのクラスに属するか、あるいは、予め定めた種別以外のどのクラスに属するのかを判定可能な情報判定モデルを生成することができる。
なお、モデル学習装置は、コンピュータを、前記した各手段として機能させるためのモデル学習プログラムで動作させることができる。
【００１４】
また、前記課題を解決するため、本発明に係る情報判定装置は、ソーシャルメディアから取得した情報である投稿文が、当該投稿文の投稿内容を分類したどの種別に属する情報かを判定する情報判定装置であって、初期モデル学習手段と、特徴ベクトル算出手段と、クラスタリング手段と、情報判定モデル学習手段と、判定手段と、を備える構成とした。
【００１５】
かかる構成において、情報判定装置は、初期モデル学習手段によって、予め、種別が既知である１以上のクラスに分類した正例の投稿文と、正例の投稿文が属する種別以外の１つのクラスに分類した負例の投稿文とを学習データとして、第１段階目の学習として、ニューラルネットワークを初期モデルとして学習する。
【００１６】
そして、情報判定装置は、特徴ベクトル算出手段によって、負例の投稿文の特徴ベクトルを算出する。
そして、情報判定装置は、クラスタリング手段によって、特徴ベクトル算出手段で算出された特徴ベクトルに基づいて、負例の投稿文を複数のクラスに分類する。
【００１７】
そして、情報判定装置は、情報判定モデル学習手段によって、初期モデルの出力層のノード数を、正例の投稿文のクラス数と、クラスタリング手段で分類された負例の投稿文のクラス数とを加算したクラス数に変える。さらに、情報判定装置は、情報判定モデル学習手段によって、正例の投稿文と複数のクラスに分類された負例の投稿文とを学習データとして、出力層のノード数を変更したモデルに対して、第２段階目の学習を行うことで、情報判定モデルを生成する。
【００１８】
そして、情報判定装置は、判定手段によって、情報判定モデルを用いて、種別が未知である投稿文がどの種別に属する情報かを判定する。このとき、情報判定装置は、投稿文を、種別が予め定められたクラスに属すると判定すれば、そのクラスに対応する種別を判定結果とする。また、情報判定装置は、投稿文を、種別が予め定められていないクラスに属すると判定すれば、判定対象外の種別である旨を判定結果とする。
なお、情報判定装置は、コンピュータを、前記した各手段として機能させるための情報判定プログラムで動作させることができる。
【発明の効果】
【００１９】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、正例に対して多く存在する負例の学習データをクラスタリングすることで、正例のクラスの学習データと、負例のクラスの学習データとのデータの偏りを軽減することができ、機械学習の精度を高めることができる。
これによって、本発明は、ＳＮＳにおいて個人が発信する大量のソーシャル・ビッグデータであっても、投稿文の種別の判定精度を高めることができ、ニュース等の情報源として有効に活用することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る情報判定装置の構成を示すブロック構成図である。
【図２】本発明の実施形態に係る情報判定装置が学習するニューラルネットワークの例であって、中間層に双方向ＬＳＴＭを用いたネットワーク構成図である。
【図３】図１の初期モデル学習手段が学習する初期モデルの出力層の構造を説明するための説明図である。
【図４】図２の双方向ＬＳＴＭを構成するＬＳＴＭの構造を示す構造図である。
【図５】図１のクラスタリング手段の動作概要を説明するための説明図である。
【図６】図１の情報判定モデル学習手段が学習する情報判定モデルの出力層の構造を説明するための説明図である。
【図７】本発明の実施形態に係る情報判定装置の動作を示すフローチャートである。
【図８】本発明の変形例に係るモデル学習装置の構成を示すブロック構成図である。
【図９】本発明の変形例に係る情報判定装置の構成を示すブロック構成図である。
【図１０】本発明の実施形態に係る情報判定装置が学習するニューラルネットワークの他の例を示すネットワーク構成図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について図面を参照して説明する。
［情報判定装置の構成］
最初に、図１を参照して、本発明の実施形態に係る情報判定装置１の構成について説明する。
【００２２】
情報判定装置１は、ＳＮＳで発信される情報（投稿単位のテキストデータであるツイート〔登録商標〕等、以下、投稿文という）が、予め定めたどの種別（カテゴリ）に属する情報であるかを判定するものである。
この情報判定装置１は、学習データ記憶装置２に予め記憶されている学習データに基づいて、投稿文がどの種別に属する情報であるかを判定するためのモデル（情報判定モデル）を学習し、学習したモデルに基づいて、種別が未知である投稿文の種別を判定する。
【００２３】
学習データ記憶装置２は、情報判定装置１が学習を行うための学習データを予め記憶するもので、ハードディスク装置等の一般的は記憶装置である。
この学習データ記憶装置２には、判定を行いたい種別に属する投稿文である種別が既知である正例の学習データと、判定を行いたい種別に属さない投稿文である負例の学習データとを、予め人手により登録しておく。
【００２４】
正例の学習データは、判定を行いたい種別に属する投稿文を種別ごと複数のクラスに分類したものである。この正例の学習データには、判定を行いたい種別、例えば、ニュースの種類である「火事」、「自動車事故」、「電車事故」等の種別が既知である投稿文を、種別ごとにクラス分けしたものを用いる。この各クラスには、種別の内容を示すラベル（「火事」等）を対応付けておく。なお、ここでは、正例の学習データが予め複数の種別にクラス分けされた例を示すが、１つの種別、例えば、「ニュースに役立つ情報」のみの１つのクラスであっても構わない。
【００２５】
負例の学習データは、判定を行いたい種別に属さない投稿文を単一のクラスにまとめたものである。この負例の学習データには、多くの学習パターンを収集するため、例えば、取得可能なすべての投稿文からランダムに抽出した投稿文で、判定を行いたい種別に属さない投稿文を用いる。
【００２６】
図１に示すように、情報判定装置１は、制御部１０と記憶部２０とで構成される。
制御部１０は、情報判定装置１の動作を制御するものである。
制御部１０は、初期モデル学習手段１１と、特徴ベクトル算出手段１２と、クラスタリング手段１３と、情報判定モデル学習手段１４と、判定手段１５と、を備える。
【００２７】
初期モデル学習手段１１は、種別ごと投稿文を複数クラスに分類した正例の学習データと、その他の種別の投稿文を単一クラスにまとめた負例の学習データとを用いて、投稿文がどのクラスに属するかを判定するモデル（初期モデル）を機械学習するものである。
この初期モデル学習手段１１は、学習データ記憶装置２に記憶されている学習データである投稿文を入力し、その投稿文が、学習データ記憶装置２に記憶されているクラス（正例：複数クラス、負例：単一クラス）の中のどのクラスに属するかを判定するモデルをニューラルネットワークにより学習する。例えば、初期モデル学習手段１１は、再帰型ニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）の一種である双方向ＬＳＴＭ（Bidirectional Long short-term memory）を中間層に用いた順伝播型ニューラルネットワーク（ＦＦＮＮ：Feed Forward Neural Network）として、初期モデルを学習する。
【００２８】
図２は、双方向ＬＳＴＭを用いた初期モデルＭ１の構成図である。
図２に示すように、初期モデルＭ１は、入力層Ｌ１、中間層Ｌ２および出力層Ｌ３を有するニューラルネットワークである。
【００２９】
入力層Ｌ１は、投稿文を文字（始端記号＜ｓ＞、終端記号＜ｅ＞を含む）ごとに入力する。ここで、文字はベクトル表現とする。なお、文字のベクトル表現は、次元数を全文字種数とし、表現する文字の成分のみを“１”、他を“０”とする「ｏｎｅ−ｈｏｔ表現」とする。
【００３０】
中間層Ｌ２は、順方向のＬＳＴＭと逆方向のＬＳＴＭとで構成される。順方向のＬＳＴＭは、投稿文の始端記号から順に文字（文字ベクトル）を入力層Ｌ１から入力し、終端記号までＬＳＴＭの演算を繰り返す。また、逆方向のＬＳＴＭは、投稿文の終端記号から順に文字（文字ベクトル）を入力層Ｌ１から入力し、始端記号までＬＳＴＭの演算を繰り返す。そして、双方向のＬＳＴＭの演算結果であるそれぞれのベクトルを連結したベクトルを中間層Ｌ２の出力ベクトル（中間層出力Ｖ）とする。
【００３１】
出力層Ｌ３は、中間層出力Ｖの各要素の値に重みを付加して加算し正規化することで、出力ノードにおける確率値を計算する。この確率値が最大となるノードに対応するクラスが判定結果となる。
初期モデルの出力層Ｌ３は、図３に示すように、次元数（ノード数）を、正例のクラスの数（ｎ）と、負例のクラスの数（ここでは、“１”）を加算したクラス数（ｎ＋１）とする。
【００３２】
初期モデル学習手段１１は、入力した投稿文が学習データとしてクラスが既知（教師データ）であるため、この出力層Ｌ３の出力に対して、誤差を小さくする方向に初期モデルＭ１のモデルパラメータ（ＬＳＴＭ内の重み行列、中間層出力Ｖから出力層Ｌ３へのノード間の重み行列等）を学習する。なお、誤差を小さくするには、一般的な誤差逆伝播法（Back Propagation）を用いればよい。
【００３３】
図２中、中間層Ｌ２を構成するＬＳＴＭは、一般的なものであるため、詳細な説明は省略するが、図４を参照して簡単に説明しておく。
ＬＳＴＭは、ＲＮＮの系列データを扱うモデルであって、図４に示すように、入力ゲートＧｉ、忘却ゲートＧｆ、出力ゲートＧｏの３つのゲートを持ち、メモリセル（ＣＥＣ：Constant Error Carousel）への状態の取り込みおよび忘却と、メモリセルからの出力とを制御するものである。
ＬＳＴＭは、以下の式（１）〜式（５）の演算を行う。
【００３４】
【数１】
2019016122.tif 000003
【００３５】
ここで、ｗｔは投稿文のｔ番目の文字ベクトル、ｈｔはｗｔ入力時のＬＳＴＭの出力ベクトル、σはシグモイド関数（活性化関数）を示す。また、ｉｔ，ｆｔ，ｏｔ，ｃｔはそれぞれ入力ゲートＧｉ、忘却ゲートＧｆ、出力ゲートＧｏ、メモリセル（ＣＥＣ）の状態（出力ベクトル）を示す。また、◎はベクトルの要素ごとの積（アダマール積）を示す。
また、Ｗ，Ｕ（下付き文字省略）は重み行列、ｂ（下付き文字省略）はバイアスである。このＷ，Ｕ，ｂは、学習対象となるパラメータである。
このように、ニューラルネットワークとして、文字単位のＲＮＮを用いることで、内容が多岐にわたり、出現語彙数が膨大な投稿文であっても、精度よくクラス判定を行うことができる。
なお、図２に示した初期モデルＭ１の双方向ＬＳＴＭは、非特許文献１に記載されているように、アテンションメカニズムを導入し、双方向のＬＳＴＭの演算結果（出力ベクトル）に対して、投稿文全体における文字の重みを付加してもよい。
【００３６】
図１に戻って、情報判定装置１の構成について説明を続ける。
初期モデル学習手段１１は、学習した初期モデルを、初期モデル記憶手段２１に書き込み記憶する。また、初期モデル学習手段１１は、学習を完了した時点で、完了した旨を特徴ベクトル算出手段１２に通知する。
【００３７】
特徴ベクトル算出手段１２は、学習データ記憶装置２に記憶されている単一クラスにまとめられた負例の学習データ（投稿文）の特徴ベクトルを投稿文ごとに算出するものである。
この特徴ベクトル算出手段１２は、初期モデル学習手段１１に記憶されている初期モデルを用いて、投稿文の特徴ベクトルを算出する。具体的には、特徴ベクトル算出手段１２は、図２で説明した初期モデルＭ１において、負例の学習データである投稿文を入力し、中間層Ｌ２の出力（中間層出力Ｖ）を特徴ベクトルとして算出する。
このように、生成対象となるモデルの中間層の出力を特徴ベクトルとすることで、その特徴ベクトルは、投稿文の種別を判定するために適した特徴量となる。
特徴ベクトル算出手段１２は、算出した特徴ベクトルを、対応する負例の学習データとともに、クラスタリング手段１３に出力する。
【００３８】
クラスタリング手段１３は、特徴ベクトル算出手段１２で算出された特徴ベクトルに基づいて、負例の学習データ（投稿文）を複数のクラスに分類（クラスタリング）するものである。
クラスタリング手段１３におけるクラスタリング手法は、一般的な手法を用いればよく、例えば、k-means法、Repeated bisection法を用いることができる。
なお、クラスタリングを行う際のクラスタ数は、予め外部から設定されるものとする。このクラスタ数は、厳密な値である必要はなく、正例のクラスと負例のクラスとの学習データの数に大きな偏りが発生しない範囲で、予め操作者が設定すればよい。
例えば、ニュースの種別を行うモデルであれば、ニュースの種別（「火災」，「自動車事故」，「爆発」等）である正例が２３種類に対して、負例のクラスを１０程度とする。
【００３９】
このクラスタリング手段１３は、クラスタリングしたそれぞれの負例のクラスに固有の識別子を割当て、当該識別子と、当該クラスに属する負例の学習データとを対応付けて、学習データ記憶手段２２に書き込み記憶する。
これによって、クラスタリング手段１３は、図５に示すように、単一の負例クラスＮに属している複数の学習データＤ１，Ｄ２，…，Ｄｎを、複数の負例クラスＮ１，Ｎ２，…，Ｎｍ（識別子）に対応付けて分類する。
【００４０】
なお、クラスタリング手段１３は、学習データ記憶装置２に記憶されているすでに複数のクラスに分類されている正例の学習データについては、そのまま、学習データ記憶手段２２に書き込み記憶する。
これによって、学習データ記憶手段２２には、種別ごとに複数のクラスに分類した正例の学習データと、種別は未知であるが複数のクラスに分類した負例の学習データとが記憶されることになる。
クラスタリング手段１３は、クラスタリングを完了した時点で、完了した旨を情報判定モデル学習手段１４に通知する。
【００４１】
情報判定モデル学習手段１４は、種別ごとに投稿文を複数クラスに分類した正例の学習データと、その他の種別の投稿文を複数クラスに分類した負例の学習データとを用いて、投稿文がどの種別（クラス）に属するかを判定するモデル（情報判定モデル）を機械学習するものである。
この情報判定モデル学習手段１４は、学習データ記憶手段２２に記憶されている学習データである投稿文を入力し、その投稿文が、学習データ記憶手段２２に記憶されているクラス（正例：複数クラス、負例：複数クラス）の中のどのクラスに属するかを判定するモデルをニューラルネットワークにより学習する。
【００４２】
ここでは、情報判定モデル学習手段１４は、初期モデル学習手段１１で学習した初期モデルのモデルパラメータを初期値としてさらに学習を行うことで、情報判定モデルを生成する。このように、第１段階の学習を行った初期モデルに、さらに第２段階の学習を行うことで、情報判定モデルの精度を高めることができる。
もちろん、情報判定モデル学習手段１４は、初期モデル学習手段１１で学習した初期モデルのモデルパラメータを用いずに、最初から、学習データ記憶手段２２に記憶されている学習データで、情報判定モデルを学習することとしても構わない。
【００４３】
具体的には、情報判定モデル学習手段１４は、図２，図３に示した初期モデルＭ１に対して出力層のノード数を変えて情報判定モデルＭ２を学習する。
初期モデルＭ１と情報判定モデルＭ２との違いは、出力層Ｌ３のノード数である。
初期モデルＭ１の出力層Ｌ３のノード数は、図３に示したように、正例のクラスＰ１，Ｐ２，…，Ｐｎの数（ｎ）と、負例のクラスＮの数（ここでは、“１”）を加算したクラス数（ｎ＋１）である。一方、情報判定モデルＭ２の出力層Ｌ３のノード数は、図６に示すように、正例のクラスＰ１，Ｐ２，…，Ｐｎの数（ｎ）と、負例のクラスＮ１，Ｎ２，…，Ｎｍの数（ｍ）を加算したクラス数（ｎ＋ｍ）である。
これによって、情報判定モデルＭ２は、負例のクラスを判定することが可能になる。
【００４４】
また、情報判定モデル学習手段１４は、正例のクラスについては、既知の種別の内容を示すラベルを対応付けておき、負例のクラスについては、ラベル無し、あるいは、判定対象の種別ではないことを示すラベルを対応付けておく。
情報判定モデル学習手段１４は、学習した情報判定モデルを、情報判定モデル記憶手段２３に書き込み記憶する。
【００４５】
判定手段１５は、情報判定モデル学習手段１４に記憶されている情報判定モデルを用いて、入力した種別が未知である投稿文（未知データ）が、どの種別に属する投稿文であるのかを判定するものである。
【００４６】
具体的には、判定手段１５は、未知データをベクトル表現に変換し、図２に示したニューラルネットワークで構成した情報判定モデルＭ２の入力層Ｌ１に、順方向および逆方向から、順次、文字ベクトルを入力する。
そして、判定手段１５は、中間層Ｌ２において、情報判定モデルＭ２のパラメータ（重み行例等）を用いて、順方向のＬＳＴＭと逆方向のＬＳＴＭとで、それぞれＬＳＴＭの演算を繰り返す。その後、順方向のＬＳＴＭと逆方向のＬＳＴＭとの出力を連結したベクトル（中間層出力Ｖ）を生成する。
そして、判定手段１５は、図６に示すように、中間層出力Ｖの各要素の値に重みを付加して出力層Ｌ３に伝搬させて、各ノードの確率値を計算する。
【００４７】
ここで、判定手段１５は、確率値が最大のノードに対応するクラスが正例のクラスであれば、そのクラスに対応する種別に対応するラベルを判定結果として出力する。また、判定手段１５は、確率値が最大のノードに対応するクラスが負例のクラスであれば、予め定めた種別ではない旨を判定結果として出力する。
【００４８】
記憶部２０は、情報判定装置１の動作で使用または生成する各種データを記憶するものである。記憶部２０は、初期モデル記憶手段２１と、学習データ記憶手段２２と、情報判定モデル記憶手段２３と、を備える。
これら各記憶手段は、ハードディスク、半導体メモリ等の一般的な記憶装置で構成することができる。なお、ここでは、記憶部２０において、各記憶手段を個別に設けているが、１つの記憶装置の記憶領域を複数に区分して各記憶手段としてもよい。また、記憶部２０を外部記憶装置として、情報判定装置１の構成から省いてもよい。
【００４９】
初期モデル記憶手段２１は、初期モデル学習手段１１で学習した初期モデル（図２，図３参照）を記憶するものである。この初期モデル記憶手段２１に記憶される初期モデルは、特徴ベクトル算出手段１２および情報判定モデル学習手段１４が参照する。
【００５０】
学習データ記憶手段２２は、クラスタリング手段１３で複数のクラスに分類された負例の学習データと、予め種別ごとに複数のクラスに分類された正例の学習データとを記憶するものである。この学習データ記憶手段２２に記憶される学習データは、情報判定モデル学習手段１４が参照する。
【００５１】
情報判定モデル記憶手段２３は、情報判定モデル学習手段１４で学習した情報判定モデル（図２，図６参照）を記憶するものである。この情報判定モデル記憶手段２３に記憶される情報判定モデルは、判定手段１５が参照する。
【００５２】
以上説明したように情報判定装置１を構成することで、情報判定装置１は、負例のクラスを１つではなく複数にクラス分けすることで、正例と負例とのそれぞれのクラスにおける学習データのデータ量の偏りを軽減することができる。
これによって、情報判定装置１は、従来の手法に比べて、投稿文の種別判定の精度を高めることができる。
なお、情報判定装置１は、一般的なコンピュータを、前記した制御部１０の各手段として機能させるプログラム（情報判定プログラム）で動作させることができる。
【００５３】
［情報判定装置の動作］
次に、図７を参照（構成については、適宜図１参照）して、本発明の実施形態に係る情報判定装置１の動作について説明する。なお、学習データ記憶装置２には、判定を行いたい種別に属する投稿文である正例の学習データと、判定を行いたい種別に属さない投稿文である負例の学習データとが、予め記憶されているものとする。
【００５４】
ステップＳ１において、情報判定装置１の初期モデル学習手段１１は、学習データ記憶装置２に記憶されている学習データである投稿文を入力し、その投稿文が、学習データ記憶装置２に記憶されているクラス（正例：複数クラス、負例：単一クラス）の中のどのクラスに属するかを判定するモデル（初期モデル）をニューラルネットワークにより学習する。
【００５５】
ステップＳ２において、情報判定装置１の初期モデル学習手段１１は、すべての学習データを用いた学習が終了したか否かを判定する。
このステップＳ２で、学習が終了していないと判定した場合（Ｎｏ）、情報判定装置１は、ステップＳ１に戻って学習動作を継続する。
【００５６】
一方、ステップＳ２で、学習が終了したと判定した場合（Ｙｅｓ）、情報判定装置１は、ステップＳ３において、学習した初期モデルを、初期モデル記憶手段２１に書き込み記憶する。
このステップＳ３までの動作によって、情報判定装置１は、機械学習により、既知の種別に対応した複数のクラスと、その他の種別に対応した単一のクラスとを判定することが可能な初期モデルを生成する。
【００５７】
次に、ステップＳ４において、情報判定装置１の特徴ベクトル算出手段１２は、初期モデルを用いて、学習データ記憶装置２に記憶されている単一クラスにまとめられた負例の学習データについて、それぞれの投稿文から、特徴ベクトルを算出する。このとき、特徴ベクトル算出手段１２は、初期モデルにおいて、負例の学習データを入力層に入力したときの中間層の出力を特徴ベクトルとして算出する。
【００５８】
ステップＳ５において、情報判定装置１のクラスタリング手段１３は、ステップＳ４で算出した特徴ベクトルに基づいて、k-means法等により、負例の学習データを複数のクラスに分類（クラスタリング）する。
【００５９】
ステップＳ６において、情報判定装置１のクラスタリング手段１３は、ステップＳ５でクラスタリングした負例のクラスの学習データと、学習データ記憶装置２に記憶されているすでに複数のクラスに分類されている正例の学習データとを、学習データ記憶手段２２に書き込み記憶する。
これによって、複数クラスの正例の投稿文と、複数クラスの負例の投稿文とが、新たな学習データとして、学習データ記憶手段２２に記憶される。
【００６０】
ステップＳ７において、情報判定装置１の情報判定モデル学習手段１４は、学習データ記憶手段２２に記憶されている学習データである投稿文を入力し、その投稿文が、学習データ記憶手段２２に記憶されているクラス（正例：複数クラス、負例：複数クラス）の中のどのクラスに属するかを判定するモデル（情報判定モデル）をニューラルネットワークにより学習する。
このとき、情報判定モデル学習手段１４は、出力層のノード数のみを変えて、初期モデル学習手段１１で学習した初期モデルに対してさらに学習を行うことで、情報判定モデルを生成する。
【００６１】
ステップＳ８において、情報判定装置１の初期モデル学習手段１１は、すべての学習データを用いた学習が終了したか否かを判定する。
このステップＳ８で、学習が終了していないと判定した場合（Ｎｏ）、情報判定装置１は、ステップＳ７に戻って学習動作を継続する。
【００６２】
一方、ステップＳ８で、学習が終了したと判定した場合（Ｙｅｓ）、情報判定装置１は、ステップＳ９において、学習した情報判定モデルを、情報判定モデル記憶手段２３に書き込み記憶する。
このステップＳ９までの動作によって、情報判定装置１は、機械学習により、既知の種別に対応した複数のクラスと、その他の種別に対応した複数のクラスとを判定することが可能な情報判定モデルを生成する。
【００６３】
次に、ステップＳ１０において、情報判定装置１の判定手段１５は、情報判定モデルを用いて、外部から入力される種別が未知である投稿文（未知データ）が、どのクラス（種別）に属する情報であるかを判定する。このとき、判定手段１５は、未知データに対応するクラスが正例クラスであれば、そのクラス（種別）に対応するラベルを判定結果として出力する。また、判定手段１５は、未知データに対応するクラスが負例クラスであれば、予め定めた種別ではない旨を判定結果として出力する。
【００６４】
このステップＳ１０の動作は、判定を行いたい未知データが複数存在する場合、その数だけ、未知データを入力し、判定を行う。なお、このステップＳ１０の動作は、ステップＳ９までの動作が完了した後、情報判定装置１は、任意のタイミングで、未知データを入力し判定を行うことができる。
以上の動作によって、情報判定装置１は、負例の学習データを複数のクラスに分類することで、クラスごとの学習データの偏りを軽減することができ、投稿文の種別判定の精度を高めることができる。
【００６５】
以上、本発明の実施形態に係る情報判定装置１の構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。
［変形例］
（変形例１）
ここでは、情報判定装置１は、情報判定モデルを学習する動作と、情報判定モデルを用いて、種別が未知である投稿文が、どの種別に属する情報であるかを判定する動作との２つの動作を１つの装置で行うものとした。
しかし、これらの動作は、別々の装置で行うこととしても構わない。
【００６６】
具体的には、情報判定モデルの学習動作を実現する装置は、図８に示すモデル学習装置３として構成することができる。
モデル学習装置３は、図８に示すように、図１で説明した情報判定装置１から、判定手段１５を省いて構成すればよい。この構成は、図１で説明した情報判定装置１と同じ、情報判定モデルを学習する動作のみを行う。なお、モデル学習装置３の動作は、図７で説明したステップＳ１からＳ９までの動作と同じである。
このモデル学習装置３は、コンピュータを前記した各手段として機能させるためのプログラム（モデル学習プログラム）で動作させることができる。
【００６７】
また、情報判定モデルを用いて、種別が未知である投稿文が、どの種別に属する情報であるかを判定する動作を実現する装置は、図９に示す情報判定装置１Ｂとして構成することができる。
情報判定装置１Ｂは、図９に示すように、図１で説明した情報判定装置１の判定手段１５と、情報判定モデル記憶手段２３とで構成すればよい。なお、情報判定装置１Ｂの動作は、図７で説明したステップＳ１０の動作と同じである。
この情報判定装置１Ｂは、コンピュータを前記した各手段として機能させるためのプログラム（情報判定プログラム）で動作させることができる。
このように、学習動作と判定動作とを異なる装置で動作させることで、１つのモデル学習装置３で学習した情報判定モデルを、複数の情報判定装置１Ｂで利用することが可能になる。
【００６８】
（変形例２）
ここでは、初期モデル学習手段１１および情報判定モデル学習手段１４（学習手段１１，１４）が学習するモデル（初期モデルおよび情報判定モデル）として、双方向ＬＳＴＭを中間層とする順伝播型ニューラルネットワーク（ＦＦＮＮ）を用いた。しかし、これらのモデルには、一般的なＦＦＮＮを用いてもよい。
【００６９】
図１０に一般的なＦＦＮＮで構成した初期モデルＭＤ１および情報判定モデルＭＤ２の例を示す。
図１０に示すように各モデルＭＤ１，ＭＤ２は、入力層Ｌ１と、複数の階層で構成された中間層Ｌ２と、出力層Ｌ３とで構成される。入力層Ｌ１には、投稿文ごとに、予め定めた次元数の分散表現ベクトルを入力し、重みを付加して各層を伝搬させて、出力層Ｌ３から出力する。
【００７０】
なお、中間層Ｌ２の出力ベクトル（中間層出力Ｖ）と、出力層Ｌ３との関係は、図３および図６と同じである。初期モデルＭＤ１の出力層Ｌ３のノード数は、図３と同様、正例のクラスの数（ｎ）と、負例のクラスの数（“１”）を加算したクラス数（ｎ＋１）である。また、情報判定モデルＭＤ２の出力層Ｌ３のノード数は、図６と同様、正例のクラスの数（ｎ）と、負例のクラスの数（ｍ）を加算したクラス数（ｎ＋ｍ）である。
【００７１】
この各モデルＭＤ１，ＭＤ２に入力される投稿文の分散表現ベクトルは、例えば、Ｗｏｒｄ２Ｖｅｃ、ＧｌｏＶｅ等の一般的な分散表現ベクトル生成手法により生成した、単語ごとの予め定めた次元数のベクトルを、投稿文に含まれる単語数分加算し、平均化したものである。
例えば、学習手段１１，１４は、投稿文「消防車おるけど火事？」を、形態素解析により、「消防車／おる／けど／火事／？」のように単語に分割する。
そして、学習手段１１，１４は、各単語を分散表現ベクトルに変換して加算し、単語数で除算することで、当該投稿文に対応する分散表現ベクトルを生成する。
これによって、異なる単語数の投稿文であっても、同一次元の分散表現ベクトルで、初期モデルＭＤ１および情報判定モデルＭＤ２の学習を行うことができる。
【００７２】
（変形例３）
ここでは、特徴ベクトル算出手段１２は、初期モデルの中間層の出力ベクトルを負例の学習データ（投稿文）の特徴ベクトルとして算出することとした。
しかし、この特徴ベクトルは、投稿文の各単語の分散表現ベクトルを加算平均したものとしてもよい。この投稿文の分散表現ベクトルは、変形例２で説明したものと同様、Ｗｏｒｄ２Ｖｅｃ、ＧｌｏＶｅ等の一般的な分散表現ベクトル生成手法により生成した、単語ごとの予め定めた次元数のベクトルを、投稿文に含まれる単語数分加算し、平均化したものである。
なお、特徴ベクトル算出手段１２は、初期モデルの中間層の出力ベクトルを特徴ベクトルとして算出することが好ましい。初期モデルの中間層の出力ベクトルは、情報判定モデルと同じ学習データを用いて学習した結果を反映したものであり、精度のよい特徴ベクトルを算出することができるからである。
【符号の説明】
【００７３】
１，１Ｂ  情報判定装置
１１      初期モデル学習手段
１２      特徴ベクトル算出手段
１３      クラスタリング手段
１４      情報判定モデル学習手段
１５      判定手段
２１      初期モデル記憶手段
２２      学習データ記憶手段
２３      情報判定モデル記憶手段
２        学習データ記憶装置
３        モデル学習装置
【図１】
2019016122.tif 000004
【図２】
2019016122.tif 000005
【図３】
2019016122.tif 000006
【図４】
2019016122.tif 000007
【図５】
2019016122.tif 000008
【図６】
2019016122.tif 000009
【図７】
2019016122.tif 000010
【図８】
2019016122.tif 000011
【図９】
2019016122.tif 000012
【図１０】
2019016122.tif 000013