(57)【要約】【課題】通信ネットワークから取得されるテキストの特徴量に基づいてユーザの属性を推定する精度を向上させる。【解決手段】対象ユーザのテキストおよび関連ユーザのテキストを取得するテキスト取得部１１０と、取得されたテキストを、このテキストに含まれる各単語が分散表現化された単語列に変換するテキスト解析部１２０と、ニューラルネットワークを用いて、テキスト解析部１２０により変換された単語列に対する系列処理を行う系列処理部１３０と、系列処理の結果に基づき、単語列ごとの特徴量を抽出する特徴量抽出部１４０と、単語列ごとの特徴量に基づき対象ユーザ表現を抽出する対象ユーザ表現抽出部１５０と、単語列ごとの特徴量に基づき関連ユーザ表現を抽出する関連ユーザ表現抽出部１６０と、対象ユーザ表現と関連ユーザ表現とを統合するユーザ表現統合部１７０と、統合結果を用いて対象ユーザの属性を推定する属性推定部１８０と、を備える。【選択図】図４
2020057168.tif 000002
【特許請求の範囲】
【請求項１】
対象ユーザのテキストを取得する第１取得手段と、
前記対象ユーザに関連する関連ユーザのテキストを取得する第２取得手段と、
前記第１取得手段および前記第２取得手段により取得されたテキストを、当該テキストに含まれる各単語が分散表現化された単語列に変換する変換手段と、
ニューラルネットワークを用いて、前記変換手段により変換された前記単語列に対する系列処理を行う系列処理手段と、
前記系列処理手段による系列処理の結果に基づき、前記単語列ごとの特徴量を抽出する特徴量抽出手段と、
前記単語列ごとの特徴量に基づき、前記対象ユーザの特徴量を表す対象ユーザ表現を抽出する対象ユーザ表現抽出手段と、
前記単語列ごとの特徴量に基づき、前記関連ユーザの特徴量を表す関連ユーザ表現を抽出する関連ユーザ表現抽出手段と、
前記対象ユーザ表現と前記関連ユーザ表現とを統合する統合手段と、
前記統合手段による統合結果を用いて前記対象ユーザの属性を推定する推定手段と、
を備えることを特徴とする、属性推定システム。
【請求項２】
前記第１取得手段および前記第２取得手段は、通信ネットワークを介してテキストを取得し、
前記関連ユーザは、前記通信ネットワーク上において前記対象ユーザとの間で予め定められた接続関係を有するユーザであることを特徴とする、請求項１に記載の属性推定システム。
【請求項３】
前記通信ネットワークにおいて接続される各ユーザをノードで表し、ユーザ間の接続関係をエッジで表したグラフにおけるノードの分散表現を取得するネットワーク情報取得手段をさらに備え、
前記統合手段は、前記ノードの分散表現に基づき、前記対象ユーザ表現と前記関連ユーザ表現とを統合する処理において当該関連ユーザの情報を取り入れる程度を決定することを特徴とする、請求項２に記載の属性推定システム。
【請求項４】
前記通信ネットワークにおいて接続される各ユーザをノードで表し、ユーザ間の接続関係をエッジで表したグラフにおけるノードの分散表現を取得するネットワーク情報取得手段をさらに備え、
前記第２取得手段は、前記ノードの分散表現に基づいて前記関連ユーザを決定し、テキストを取得することを特徴とする、請求項２に記載の属性推定システム。
【請求項５】
前記第２取得手段により取得されたテキストを、当該テキストに含まれる各単語が分散表現化された単語列に変換する関連ユーザ固有変換手段と、
前記ニューラルネットワークを用いて、前記関連ユーザ固有変換手段により変換された前記単語列に対する系列処理を行う関連ユーザ固有系列処理手段と、をさらに備え、
前記関連ユーザのテキストは、前記対象ユーザと当該関連ユーザとの関係に応じて、前記変換手段および前記関連ユーザ固有変換手段のいずれか一方により処理され、
前記特徴量抽出手段は、前記関連ユーザ固有系列処理手段による処理結果がある場合は、当該関連ユーザ固有系列処理手段の処理結果および前記系列処理手段の処理結果に基づき、前記単語列ごとの特徴量を抽出することを特徴とする、請求項１に記載の属性推定システム。
【請求項６】
通信ネットワークにおいて接続される各ユーザをノードで表し、ユーザ間の接続関係をエッジで表したグラフにおけるノードの分散表現を取得するネットワーク情報取得手段をさらに備え、
前記関連ユーザは、前記通信ネットワーク上において前記対象ユーザとの間で予め定められた接続関係を有するユーザであり、
前記関連ユーザのテキストは、前記対象ユーザのノードの分散表現と前記関連ユーザのノードの分散表現との類似度に応じて、前記変換手段および前記関連ユーザ固有変換手段のいずれか一方により処理されることを特徴とする、請求項５に記載の属性推定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、属性推定システムに関する。
【背景技術】
【０００２】
マーケティングや個人化（パーソナライゼーション）の観点から、ＳＮＳ（Social Networking Service）等に蓄積された情報を用いてユーザの属性を推定することが要請される場合がある。下記の特許文献１には、ユーザによる投稿文（テキスト）に含まれるキーワードからユーザの属性を推定する技術が開示されている。また、サイト上において、ユーザと属性がわかっている他のユーザとのリンク関係に基づいて、一のユーザの属性を推定することも行われている。さらに、今日、ニューラルネットワークを用い、大量のデータに基づいてユーザの属性を推定することが可能となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１９６０７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ニューラルネットワークを用いて推論を行う場合、ニューラルネットワークの学習用データが多いほど、推論の精度を向上させることができる。
【０００５】
本発明は、蓄積された情報からニューラルネットワークを用いてユーザの属性を推定するシステムにおいて、対象となるユーザと、対象となるユーザと通信ネットワーク上で関連付けられている関連ユーザとが各々投稿したテキストの特徴量を、ユーザごとに算出する場合と比較して、対象のユーザの属性を推定する精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に係る本発明は、
対象ユーザのテキストを取得する第１取得手段と、
前記対象ユーザに関連する関連ユーザのテキストを取得する第２取得手段と、
前記第１取得手段および前記第２取得手段により取得されたテキストを、当該テキストに含まれる各単語が分散表現化された単語列に変換する変換手段と、
ニューラルネットワークを用いて、前記変換手段により変換された前記単語列に対する系列処理を行う系列処理手段と、
前記系列処理手段による系列処理の結果に基づき、前記単語列ごとの特徴量を抽出する特徴量抽出手段と、
前記単語列ごとの特徴量に基づき、前記対象ユーザの特徴量を表す対象ユーザ表現を抽出する対象ユーザ表現抽出手段と、
前記単語列ごとの特徴量に基づき、前記関連ユーザの特徴量を表す関連ユーザ表現を抽出する関連ユーザ表現抽出手段と、
前記対象ユーザ表現と前記関連ユーザ表現とを統合する統合手段と、
前記統合手段による統合結果を用いて前記対象ユーザの属性を推定する推定手段と、
を備えることを特徴とする、属性推定システムである。
請求項２に係る本発明は、
前記第１取得手段および前記第２取得手段は、通信ネットワークを介してテキストを取得し、
前記関連ユーザは、前記通信ネットワーク上において前記対象ユーザとの間で予め定められた接続関係を有するユーザであることを特徴とする、請求項１に記載の属性推定システムである。
請求項３に係る本発明は、
前記通信ネットワークにおいて接続される各ユーザをノードで表し、ユーザ間の接続関係をエッジで表したグラフにおけるノードの分散表現を取得するネットワーク情報取得手段をさらに備え、
前記統合手段は、前記ノードの分散表現に基づき、前記対象ユーザ表現と前記関連ユーザ表現とを統合する処理において当該関連ユーザの情報を取り入れる程度を決定することを特徴とする、請求項２に記載の属性推定システムである。
請求項４に係る本発明は、
前記通信ネットワークにおいて接続される各ユーザをノードで表し、ユーザ間の接続関係をエッジで表したグラフにおけるノードの分散表現を取得するネットワーク情報取得手段をさらに備え、
前記第２取得手段は、前記ノードの分散表現に基づいて前記関連ユーザを決定し、テキストを取得することを特徴とする、請求項２に記載の属性推定システムである。
請求項５に係る本発明は、
前記第２取得手段により取得されたテキストを、当該テキストに含まれる各単語が分散表現化された単語列に変換する関連ユーザ固有変換手段と、
前記ニューラルネットワークを用いて、前記関連ユーザ固有変換手段により変換された前記単語列に対する系列処理を行う関連ユーザ固有系列処理手段と、をさらに備え、
前記関連ユーザのテキストは、前記対象ユーザと当該関連ユーザとの関係に応じて、前記変換手段および前記関連ユーザ固有変換手段のいずれか一方により処理され、
前記特徴量抽出手段は、前記関連ユーザ固有系列処理手段による処理結果がある場合は、当該関連ユーザ固有系列処理手段の処理結果および前記系列処理手段の処理結果に基づき、前記単語列ごとの特徴量を抽出することを特徴とする、請求項１に記載の属性推定システムである。
請求項６に係る本発明は、
通信ネットワークにおいて接続される各ユーザをノードで表し、ユーザ間の接続関係をエッジで表したグラフにおけるノードの分散表現を取得するネットワーク情報取得手段をさらに備え、
前記関連ユーザは、前記通信ネットワーク上において前記対象ユーザとの間で予め定められた接続関係を有するユーザであり、
前記関連ユーザのテキストは、前記対象ユーザのノードの分散表現と前記関連ユーザのノードの分散表現との類似度に応じて、前記変換手段および前記関連ユーザ固有変換手段のいずれか一方により処理されることを特徴とする、請求項５に記載の属性推定システムである。
【発明の効果】
【０００７】
請求項１の発明によれば、蓄積された情報からニューラルネットワークを用いてユーザの属性を推定するシステムにおいて、対象となるユーザと、対象となるユーザと通信ネットワーク上で関連付けられている関連ユーザとが各々投稿したテキストの特徴量を、ユーザごとに算出する場合と比較して、対象のユーザの属性を推定する精度を向上させることができる。
請求項２の発明によれば、単に同じ通信ネットワークを利用するユーザのテキストを取得して処理する構成と比較して、関連性の高いユーザのテキストを用いることで推定精度の向上を図ることができる。
請求項３の発明によれば、対象ユーザ表現と関連ユーザ表現とを単に統合する構成と比較して、通信ネットワークにおける接続関係に基づき関連ユーザ表現を取り入れる程度を制御することで推定精度の向上を図ることができる。
請求項４の発明によれば、対象ユーザと単に接続関係を有するユーザを区別なく関連ユーザとする構成と比較して、接続関係における対象ユーザとの関連性がより高いユーザを関連ユーザとすることで、推定精度の向上を図ることができる。
請求項５の発明によれば、対象ユーザと単に接続関係を有するユーザを区別なく関連ユーザとする構成と比較して、対象ユーザとの関係に応じて対象ユーザのテキストと共に処理する関連ユーザのテキストを選択することで、推定精度の向上を図ることができる。
請求項６の発明によれば、対象ユーザと単に接続関係を有するユーザを区別なく関連ユーザとする構成と比較して、接続関係における対象ユーザとの関連性がより高い関連ユーザのテキストを対象ユーザのテキストと共に処理することで、推定精度の向上を図ることができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態による属性推定システムが適用される情報処理システムの全体構成を示す図である。
【図２】テキスト格納装置に格納されたテキストの構成例を示す図であり、図２（Ａ）は、ラベル付きテキストの構成例を示す図、図２（Ｂ）は、ラベルなしテキストの構成例を示す図である。
【図３】ネットワーク情報格納装置に格納されたネットワーク情報の構成例を示す図である。
【図４】属性推定システムの機能構成を示す図である。
【図５】特徴量抽出部による処理の具体例を示す図である。
【図６】対象ユーザ表現抽出部による処理の具体例を示す図である。
【図７】ユーザ表現統合部による処理の具体例を示す図である。
【図８】対象ユーザに関して、テキストの解析からユーザ表現を抽出するまでの処理の流れを示すフローチャートである。
【図９】関連ユーザに関して、テキストの解析からユーザ表現を抽出するまでの処理の流れを示すフローチャートである。
【図１０】第２の実施形態による属性推定システムの機能構成を示す図である。
【図１１】第３の実施形態による属性推定システムの機能構成を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【００１０】
＜システム構成＞
図１は、本実施形態による属性推定システムが適用される情報処理システムの全体構成を示す図である。属性推定システム１００は通信ネットワークを介して、テキスト格納装置２００と、ネットワーク情報格納装置３００とに接続されている。
【００１１】
属性推定システム１００は、テキスト格納装置２００から対象ユーザおよび関連ユーザのテキストを取得し、取得したテキストに基づいて、対象ユーザの属性を推定する。対象ユーザおよび関連ユーザは、通信ネットワーク上で提供されるサービスを利用するユーザである。対象ユーザとは、属性推定システム１００による属性の推定対象として選択されたユーザである。関連ユーザとは、通信ネットワーク上において対象ユーザとの間で予め定められた要件に基づいて関連付けられるユーザである。対象ユーザと関連ユーザとを関連付ける要件は、客観的に関係性を有することが特定できるものであれば良く、具体的な形式は特に限定されない。実際には、本実施形態を用いた属性の推定を利用するサイトの仕様やサービスの内容等に応じて定めて良い。具体例を挙げると、特定のサービスを利用するユーザであって相互にまたは一方から他方へリンクが張られている関係、利用者が限定される同じサービスを利用しているユーザという関係、サービス・サイトにおいて何らかの関係を有するユーザとして登録されている関係等がある。一例として、本実施形態では、ネットワーク情報格納装置３００に格納されている、通信ネットワーク上の各ユーザの接続関係の情報に基づいて、関連ユーザを特定する。
【００１２】
テキスト格納装置２００は、ＳＮＳ等の通信ネットワーク上で提供されるサービスにおいて取得されるテキストを格納した記憶装置である。テキスト格納装置２００に格納されるテキストには、サービスにおいてやり取りされるテキスト（例えば、チャット・システム等のメッセージ投稿サイトに投稿されたメッセージ等）の他、サービスを利用するために入力されたテキスト（プロフィールや各種の設定情報に含まれるテキスト等）を含んでも良い。また、テキスト格納装置２００は、サービスを提供するサイト（サービス・サイト）自体の記憶装置であっても良いし、サービス・サイトの記憶装置とは別に設けられ、サービス・サイトからＡＰＩ（Application Programming Interface）等を用いてテキストを収集し保存するサーバであっても良い。
【００１３】
本実施形態において、テキスト格納装置２００には、ラベル付きテキスト２１０とラベルなしテキスト２２０とが格納されている。ラベル付きテキスト２１０とは、ユーザの属性の情報がラベルとして付加されたテキストであり、ラベルなしテキスト２２０とは、ユーザの属性の情報が付加されていないテキストである。
【００１４】
図２は、テキスト格納装置２００に格納されたテキストの構成例を示す図である。図２（Ａ）は、ラベル付きテキスト２１０の構成例を示す図、図２（Ｂ）は、ラベルなしテキスト２２０の構成例を示す図である。図２（Ａ）、（Ｂ）に示す構成例において、ラベル付きテキスト２１０およびラベルなしテキスト２２０には、テキストの識別情報（テキストＩＤ）と、テキストに関連するユーザの識別情報（ユーザＩＤ）とが付加されている。そして、ラベル付きテキスト２１０のみに、ラベルが付加されている。なお、図２に示す例では、一つのテキストに一つのラベルが付加されているが、ユーザの属性は複数存在し、テキストにおいても、ユーザの複数の属性に係る内容である場合、複数のラベルが付加される。
【００１５】
ネットワーク情報格納装置３００は、ＳＮＳ等の通信ネットワーク上でのユーザ間の接続関係を示す情報（以下、ネットワーク情報）を格納した記憶装置である。ユーザ間の接続関係としては、通信ネットワークにおいて提供されるサービスに応じて様々な関係を用い得る。具体的には、例えば、一のユーザの投稿メッセージをフォローする関係、一のユーザの「友達」として登録された関係等を上げることができる。その他、通信ネットワーク上で何らかの客観的な関係を有するユーザどうしを本実施形態における接続関係として設定して良い。
【００１６】
図３は、ネットワーク情報格納装置３００に格納されたネットワーク情報の構成例を示す図である。図３に示す構成例では、各ユーザのユーザＩＤと、そのユーザに関連するユーザのユーザＩＤ（関連ユーザＩＤ）とを対応付けて登録している。すなわち、図３に示す例において、ユーザＩＤ「１」のユーザの関連ユーザは、ユーザＩＤ「１００」のユーザである。また、ユーザＩＤ「２」のユーザの関連ユーザは、ユーザＩＤ「１０１」のユーザおよびユーザＩＤ「１０２」のユーザである。
【００１７】
本実施形態において、属性推定システム１００は、テキスト格納装置２００に格納されたテキストのうち、ラベル付きテキスト２１０に関連するユーザを対象ユーザとして、その属性を推定する。属性推定システム１００は、対象ユーザの属性を推定するにあたり、対象ユーザのテキストだけでなく、対象ユーザに関連する関連ユーザのテキストも用いる。属性推定システム１００は、対象ユーザを特定した後、ネットワーク情報格納装置３００に格納されたネットワーク情報に基づいて関連ユーザを特定し、テキスト格納装置２００から関連ユーザのテキストを取得する。
【００１８】
＜属性推定システムの機能構成＞
図４は、属性推定システム１００の機能構成を示す図である。属性推定システム１００は、テキスト取得部１１０と、テキスト解析部１２０と、系列処理部１３０と、特徴量抽出部１４０と、対象ユーザ表現抽出部１５０と、関連ユーザ表現抽出部１６０と、ユーザ表現統合部１７０と、属性推定部１８０とを備える。また、属性推定システム１００は、損失計算部１９０を備える。
【００１９】
テキスト取得部１１０は、通信ネットワークを介してテキスト格納装置２００からテキストを取得する。テキスト取得部１１０は、ユーザ別にテキストを取得する。すなわち、テキスト取得部１１０は、対象ユーザおよびその関連ユーザを特定し、対象ユーザのテキストおよび各関連ユーザのテキストを、テキスト格納装置２００からそれぞれ取得する。テキスト取得部１１０は、例えば、属性推定システム１００を学習させようとするシステム使用者による指定を受け付けて、対象ユーザおよび関連ユーザを特定する。さらに具体的には、対象ユーザの指定を受け付ければ、ネットワーク情報格納装置３００に格納されたネットワーク情報を参照することで、関連ユーザが特定される。ここで、学習における評価に用いるため、対象ユーザのテキストは、ラベル付きテキストに限定される。言い換えれば、対象ユーザとなるユーザは、ラベル付きテキストのユーザである。一方、関連ユーザのテキストに関しては、ラベルは不要であるので、ラベル付きテキストであっても、ラベルなしテキストであっても良い。したがって、テキスト格納装置２００を参照してラベル付きテキストのユーザを選択して対象ユーザとし、ネットワーク情報格納装置３００を参照してその対象ユーザの関連ユーザを特定することにより、システム使用者による指定を受け付けなくても対象ユーザおよび関連ユーザを特定してテキストを取得し得る。テキスト取得部１１０は、第１取得手段の一例であり、第２取得手段の一例である。
【００２０】
テキスト解析部１２０は、テキスト取得部１１０により取得されたテキストを解析し、かかるテキストを、テキストに含まれる各単語が分散表現化された単語列に変換する。具体的には、テキスト解析部１２０は、まずテキストに対して形態素解析等の解析を行い、テキストに含まれる単語を抽出する。そして、テキスト解析部１２０は、抽出した各単語を分散表現の系列に変換する。単語の分散表現とは、高次元の実数ベクトルで表現したものである。単語を形態素解析および単語を分散表現に変換する手法については、既存の手法を用いて良い。
【００２１】
また、テキスト解析部１２０は、テキストの解析を行うにあたり、対象ユーザのテキストと関連ユーザのテキストを区別しない。すなわち、対象ユーザを対象とする処理においても、関連ユーザを対象とする処理においても、対象ユーザのテキストおよび関連ユーザのテキストの両方に対して解析処理を行う。テキスト解析部１２０は、変換手段の一例である。
【００２２】
系列処理部１３０は、テキスト解析部１２０により生成された単語の分散表現の系列に対し、ニューラルネットワークに基づく系列処理を行う。系列処理部１３０は、系列処理手段の一例である。系列処理とは、単語の分散表現の系列の要素を一つずつ順番に処理していく処理方式である。系列処理部１３０のニューラルネットワークには、系列処理に適したＲＮＮ（Recurrent Neural Network）が用いられる。ここでは、ＬＳＴＭ（Long Short-Term Memory）を用いるものとする。ＬＳＴＭは、次式（数１〜数６）により単語の分散表現を処理する。
【００２３】
【数１】
2020057168.tif 000003
【００２４】
【数２】
2020057168.tif 000004
【００２５】
【数３】
2020057168.tif 000005
【００２６】
【数４】
2020057168.tif 000006
【００２７】
【数５】
2020057168.tif 000007
【００２８】
【数６】
2020057168.tif 000008
【００２９】
なお、上記の各式において、ｔはテキストにおける単語の位置である。すなわち、ｔ＝１は１番目の単語、ｔ＝２は２番目の単語であることを表す。そして、ｘtはｔ番目の入力を表す。ここで、入力は、分散表現化された単語である。ｈtは隠れ状態であり、σはシグモイド関数である。また、円（○）に点（・）の演算子は要素積を表す。Ｗ*およびＵ*は重み行列であり、ｂ*はバイアス項である。
【００３０】
式（数１）は、入力ゲート（Input Gate）の値を求める式、式（数２）は、出力ゲート（Output Gate）の値を求める式、式（数３）は、忘却ゲート（Forget Gate）の値を求める式である。式（数４）は、入力に対し、−１から１の範囲に対し、どれくらい入力に係る情報を取り入れるかを求める式である。式（数５）は、入力ゲート値ｉtと忘却ゲート値ｆtとをどれくらい取り出すかを求める式である。式（数６）は、計算した状態をどれくらい取り出すかを求める式である。出力ゲート値ｏtと式（数５）で求めたｃtとを掛け合わせて採取的な状態を決定する。
【００３１】
なお、上記の構成ではＲＮＮとしてＬＳＴＭを用いた例を示したが、系列処理部１３０として用い得るＲＮＮはＬＳＴＭに限定されない。ＬＳＴＭに代えて、例えば、Elman Recurrent Neural Network、Jordan Recurrent Neural Network、Gated Recurrent Unit等の種々のＲＮＮを用い得る。
【００３２】
特徴量抽出部１４０は、系列処理部１３０による処理結果に対する集約処理を行ってテキストの素性（特徴量）を抽出する。特徴量抽出部１４０は、特徴量抽出手段の一例である。系列処理部１３０による系列処理により、テキストに含まれる単語数分の状態が得られており、特徴量抽出部１４０は、この単語ごとの状態をテキスト単位の特徴量として集約する。ここでは、テキストの全体表現として、そのテキストにおける強い特徴を抽出するため、集約処理として、最大プーリング（max pooling）処理を行う。すなわち、テキストに含まれる各単語に関し、単語の状態を表す次元ごとに強い特徴を取って、テキストの全体表現とする。言い換えれば、各単語の状態の次元ごとに最も強く表れている単語の情報を取り出して、テキストの特徴量とする。最大プーリング処理は、次式（数７）により行われる。
【００３３】
【数７】
2020057168.tif 000009
【００３４】
なお、上式において、ｔはテキストにおける単語の位置を表し、ｎはテキストの特徴量の次元数を表す。上記の例では、テキストにおける強い特徴を抽出するため、最大プーリング処理を行ったが、集約処理としては、この最大プーリング処理の他、例えば、平均プーリング（average pooling）処理、注意機構（attention mechanism）等の既存の手法を用い得る。
【００３５】
図５は、特徴量抽出部１４０による処理の具体例を示す図である。図５に示す例において、集約処理は、最大プーリング処理により行われている。図５に示す例では、「私の家はバンクーバーにあります」というテキストを対象として、解析処理、系列処理、集約処理が行われている。まず、対象テキストが、形態素解析により「私」、「の」、「家」、「は」、「バンクーバー」、「に」、「あり」、「ます」という単語列に分解される。そして、各単語に対する系列処理により、各単語から５次元の特徴量が抽出される。そして、各単語の特徴量を最大プーリング処理により集約し、対象テキストの特徴量が得られる。図示の例において、第１次元（上から順に第１次元〜第５次元とする）の特徴量は、「バンクーバー」の０．８が最大値である。したがって、第１次元が「バンクーバー」と強く関連すると仮定される。また、５次元の特徴量のうち、第１、第２、第４、第５次元の特徴量は、「バンクーバー」の特徴量が最大値となっている。
【００３６】
対象ユーザ表現抽出部１５０は、テキスト解析部１２０により解析された全てのテキスト（単語列）に対し、特徴量抽出部１４０による集約処理が行われた後、単語列ごとの処理結果（特徴量）をさらに集約し、対象ユーザのユーザ表現を抽出する。対象ユーザ表現抽出部１５０は、対象ユーザ表現抽出手段の一例である。ユーザ表現とは、そのユーザに関するテキストの特徴量をまとめたものである。以下、対象ユーザのユーザ表現を対象ユーザ表現と呼ぶ。単語列ごとの特徴量の集約は、テキストの特徴量の抽出と同様に、最大プーリング処理により行われる。なお、集約処理としては、上記のテキストの特徴量の抽出において述べた様に、最大プーリング処理の他、例えば、平均プーリング処理、注意機構等の既存の手法を用い得る。
【００３７】
図６は、対象ユーザ表現抽出部１５０による処理の具体例を示す図である。図６に示す例において、集約処理は、最大プーリング処理により行われている。図６に示す例では、テキスト解析部１２０により解析された全てのテキスト（単語列）としてテキスト１、テキスト２があり、これらのテキスト１、２の特徴量を集約して対象ユーザ表現を抽出している。図６に示す例において、テキスト１の特徴量は、図５を参照して得られた特徴量である。同様にして、テキスト２に対する５次元の特徴量が得られたものとする。そして、これらのテキスト１、２の特徴量に対して最大プーリング処理を行い、５次元の対象ユーザ表現が得られている。
【００３８】
関連ユーザ表現抽出部１６０は、テキスト解析部１２０により解析された全てのテキスト（単語列）に対し、特徴量抽出部１４０による集約処理が行われた後、単語列ごとの処理結果（特徴量）をさらに集約し、関連ユーザのユーザ表現を抽出する。また、関連ユーザ表現抽出部１６０は、抽出した各関連ユーザのユーザ表現をさらに集約し、関連ユーザ全体を対象とするユーザ表現を求める。以下、関連ユーザ全体を対象とするユーザ表現を関連ユーザ表現と呼ぶ。関連ユーザ表現抽出部１６０は、関連ユーザ表現抽出手段の一例である。ここで、各関連ユーザのユーザ表現は、対象ユーザ表現抽出部１５０と同様に最大プーリング処理を用いた集約処理により抽出される。また、各関連ユーザのユーザ表現の集約は、全ての関連ユーザのユーザ表現における次元ごとに特徴量の平均を取るため、平均プーリング処理により行われる。平均プーリング処理は、次式（数８）により行われる。
【００３９】
【数８】
2020057168.tif 000010
【００４０】
なお、上式において、ｎは各関連ユーザのユーザ表現における特徴量の次元数を表し、Ｌは関連ユーザの数を表し、ｌはｌ番目の関連ユーザのユーザ表現であることを表す。各関連ユーザのユーザ表現を抽出するための特徴量の集約処理は、最大プーリング処理の他、例えば、平均プーリング処理、注意機構等の既存の手法を用い得る。また、各関連ユーザのユーザ表現に基づく関連ユーザ表現（関連ユーザ全体のユーザ表現）を抽出するための特徴量の集約処理は、平均プーリング処理の他、例えば、最大プーリング処理、注意機構等の既存の手法を用い得る。
【００４１】
ユーザ表現統合部１７０は、対象ユーザ表現と関連ユーザ表現とを統合する。ユーザ表現統合部１７０は、統合手段の一例である。ユーザ表現の統合には、例えば注意機構が用いられる。注意機構を用いた統合処理は、次式（数９〜数１３）により行われる。
【００４２】
【数９】
2020057168.tif 000011
【００４３】
【数１０】
2020057168.tif 000012
【００４４】
【数１１】
2020057168.tif 000013
【００４５】
【数１２】
2020057168.tif 000014
【００４６】
【数１３】
2020057168.tif 000015
【００４７】
なお、上記の式において、ｇ1は対象ユーザ表現であり、ｇ2は関連ユーザ表現である。ｎtargetは対象ユーザの分散表現であり、ｎlはｌ番目の関連ユーザの分散表現である。Ｗα、Ｕαは重みであり、ｂαはバイアス項である。ｓｉｍは対象ユーザと関連ユーザとの間の類似度を計算する関数である。ユーザ間の類似度を計算する手法としては、例えば、ｃｏｓ距離や、Ｊａｃｃａｒｄ係数等の既存の手法を用いて良い。
【００４８】
図７は、ユーザ表現統合部１７０による処理の具体例を示す図である。図７に示す例では、対象ユーザのユーザ表現と、関連ユーザ全体のユーザ表現とを、対象ユーザに対する注意の重みを強く配分した注意機構により統合している。図示の例では、対象ユーザに対する注意の重みα1を０．８、関連ユーザに対する注意の重みα2を０．２としている（すなわち、８対２の割合で注意の重みを配分している）。
【００４９】
属性推定部１８０は、ユーザ表現統合部１７０による統合結果を用いて、対象ユーザの属性を推定する。具体的には、属性推定部１８０は、統合されたユーザ表現を、対象ユーザの属性のラベル数に相当する数の次元に全結合し、ソフトマックス関数を適用して、ラベルごとの属性の確率を得る。得られた各属性の確率が、対象ユーザの属性の推定結果である。属性推定部１８０は、推定手段の一例である。
【００５０】
損失計算部１９０は、属性推定部１８０による対象ユーザの属性の推定結果を用いて損失計算を行う。損失計算の結果は、属性推定システム１００の学習に用いられる。具体的には、損失計算部１９０は、属性推定部１８０の統合処理（注意機構）により得られた各ラベルの確率と、対象ユーザの属性における真のラベルとの交差エントロピーを損失として計算する。ここで、対象ユーザの属性における真のラベルとは、テキスト格納装置２００に格納された対象ユーザのラベル付きテキストにおけるラベルである。属性推定システム１００は、損失計算部１９０の計算により得られた損失を用いて誤差逆伝播アルゴリズムを実行することにより、ユーザ表現統合部１７０の処理および系列処理部１３０の処理で用いられた重み値およびバイアス項の値（以下、バイアス値）を更新する。損失の計算および誤差逆伝播アルゴリズムによる重み値およびバイアス値の更新は、既存の手法を用いて行って良い。
【００５１】
＜属性推定システムのハードウェア構成＞
属性推定システム１００は、例えば、パーソナルコンピュータ等の情報処理装置により実現される。上記の機能構成において、テキスト取得部１１０は、例えば、テキスト格納装置２００およびネットワーク情報格納装置３００に接続するためのネットワーク・インターフェイスと、プログラム制御されたＣＰＵとにより実現される。テキスト解析部１２０、系列処理部１３０、特徴量抽出部１４０、対象ユーザ表現抽出部１５０、関連ユーザ表現抽出部１６０、ユーザ表現統合部１７０、属性推定部１８０および損失計算部１９０の各機能は、ＣＰＵがプログラムを実行することにより実現される。
【００５２】
＜対象ユーザに関する処理の動作＞
図８は、対象ユーザに関して、テキストの解析からユーザ表現を抽出するまでの処理の流れを示すフローチャートである。まず、対象ユーザが特定されると、テキスト取得部１１０が、テキスト格納装置２００から対象ユーザのテキストおよび関連ユーザのテキストを取得する（Ｓ８０１）。関連ユーザが複数存在する場合、全ての関連ユーザのテキストが取得される。
【００５３】
次に、テキスト解析部１２０が、取得したテキストの一つを選択し（Ｓ８０２）、選択したテキストを各単語が分散表現化された単語列に変換する（Ｓ８０３）。次に、系列処理部１３０が、得られた単語列における各単語の分散表現に対して系列処理を行う（Ｓ８０４）。次に、特徴量抽出部１４０が、系列処理された単語の分散表現を集約してテキスト（単語列）の素性（特徴量）を抽出する（Ｓ８０５）。そして、Ｓ８０１で取得されたテキストのうち、Ｓ８０３〜Ｓ８０５の処理が行われていないテキストがある場合（Ｓ８０６でＮｏ）、Ｓ８０２に戻って、テキスト解析部１２０が、未処理のテキストの一つを選択し、Ｓ８０３〜Ｓ８０５の処理が繰り返される。
【００５４】
一方、Ｓ８０１で取得された全てのテキストに対して処理が行われたならば（Ｓ８０６でＹｅｓ）、次に、対象ユーザ表現抽出部１５０が、各テキストの素性を集約して対象ユーザのユーザ表現を抽出する（Ｓ８０７）。
【００５５】
＜関連ユーザに関する処理の動作＞
図９は、関連ユーザに関して、テキストの解析からユーザ表現を抽出するまでの処理の流れを示すフローチャートである。通常、一人の対象ユーザに対して、関連ユーザは複数存在するので、まず、関連ユーザが特定されると、そのうちの一人が処理対象の関連ユーザとして選択される（Ｓ９０１）。処理対象の関連ユーザが選択されると、テキスト取得部１１０が、テキスト格納装置２００から特定された全ての関連ユーザのテキストおよびＳ９０１で処理対象として選択された関連ユーザに対する対象ユーザのテキストを取得する（Ｓ９０２）。
【００５６】
次に、テキスト解析部１２０が、取得したテキストの一つを選択し（Ｓ９０３）、選択したテキストを各単語が分散表現化された単語列に変換する（Ｓ９０４）。次に、系列処理部１３０が、得られた単語列における各単語の分散表現に対して系列処理を行う（Ｓ９０５）。次に、特徴量抽出部１４０が、系列処理された単語の分散表現を集約してテキスト（単語列）の素性（特徴量）を抽出する（Ｓ９０６）。そして、Ｓ９０２で取得されたテキストのうち、Ｓ９０４〜Ｓ９０６の処理が行われていないテキストがある場合（Ｓ９０７でＮｏ）、Ｓ９０３に戻って、テキスト解析部１２０が、未処理のテキストの一つを選択し、Ｓ９０４〜Ｓ９０６の処理が繰り返される。
【００５７】
一方、Ｓ９０２で取得された全てのテキストに対して処理が行われたならば（Ｓ９０７でＹｅｓ）、次に、関連ユーザ表現抽出部１６０が、各テキストの素性を集約して関連ユーザのユーザ表現を抽出する（Ｓ９０８）。関連ユーザ表現抽出部１６０は、事前に特定された関連ユーザのうち、Ｓ９０２〜Ｓ９０８の処理が行われていない関連ユーザが残っている場合（Ｓ９０９でＮｏ）、Ｓ９０１に戻って、未処理の関連ユーザが処理対象として選択される。そして、選択された関連ユーザに関してＳ９０２〜Ｓ９０８の処理が繰り返される。
【００５８】
全ての関連ユーザに対して処理が行われたならば（Ｓ９０９でＹｅｓ）、関連ユーザ表現抽出部１６０は、各関連ユーザのユーザ表現をさらに集約し、関連ユーザ全体を対象とするユーザ表現を抽出する（Ｓ９１０）。
【００５９】
図８、図９を参照して説明した手順により、対象ユーザおよび関連ユーザのユーザ表現が得られると、次に、ユーザ表現統合部１７０による統合処理が行われ、対象ユーザの属性の推定結果として、各属性の確率が得られる。そして、この推定結果と対象ユーザのラベル付きテキストにおけるラベルとを用いて損失計算部１９０による損失の計算が行われ、計算結果を用いた誤差逆伝播アルゴリズムにより、統合処理および系列処理で用いられた重み値およびバイアス値が更新される。
【００６０】
＜第２の実施形態＞
上記の実施形態では、対象ユーザのユーザ表現および関連ユーザのユーザ表現を抽出するために、いずれも対象ユーザのテキストおよび関連ユーザのテキストの両方を用いた。このため、上記の実施形態によれば、対象ユーザのユーザ表現を抽出するために対象ユーザのテキストのみを用いる構成と比較して、ユーザ表現を得るための材料となるテキストの量が増大するため、属性推定システム１００の学習効率が向上する。
【００６１】
一方、上記の実施形態において、関連ユーザのテキストの中には、対象ユーザの属性を推定するのに適さないテキストが混在する可能性がある。具体的には、例えば、対象ユーザと接続関係を有するものの通信ネットワーク上の活動において対象ユーザとはほとんど共通部分のない関連ユーザのテキストは、対象ユーザの属性を推定するのに適さないと考えられる。そこで、対象ユーザおよび関連ユーザの通信ネットワークにおける接続関係に基づいて対象ユーザと関連ユーザとの類似度を評価し、評価した類似度をユーザ表現の統合処理において用いることが考えられる。
【００６２】
図１０は、第２の実施形態による属性推定システム１００の機能構成を示す図である。図１０に示す属性推定システム１００において、テキスト取得部１１０、テキスト解析部１２０、系列処理部１３０、特徴量抽出部１４０、対象ユーザ表現抽出部１５０、関連ユーザ表現抽出部１６０、ユーザ表現統合部１７０、属性推定部１８０および損失計算部１９０は、図４に示した第１の実施形態による属性推定システム１００の対応する各機能実行部と同様である。また、図１０に示す属性推定システム１００は、ネットワーク情報分析部１７１を備える。ネットワーク情報分析部１７１の機能は、例えば、属性推定システム１００を構成するパーソナルコンピュータにおいて、ＣＰＵがプログラムを実行することにより実現される。
【００６３】
ネットワーク情報分析部１７１は、ネットワーク情報格納装置３００からネットワーク情報を取得して、ユーザ間の接続関係を分析する。ネットワーク情報分析部１７１は、ネットワーク情報取得手段の一例である。具体的には、ネットワーク情報分析部１７１は、ネットワーク情報格納装置３００から取得したネットワーク情報に基づき、各ユーザをノードで表し、ユーザ間の接続関係をエッジで表したグラフを構築する。そして、ネットワーク情報分析部１７１は、構築したグラフにおける各ノードの分散表現を取得する。ノードの分散表現を取得するには、ＤｅｅｐＷａｌｋ、ＬＩＮＥ（Large-scale Information Network Embedding）、ｎｏｄｅ２ｖｅｃ等の既存の手法を用いて良い。
【００６４】
ユーザ表現統合部１７０は、ネットワーク情報分析部１７１により得られたユーザの接続関係を表すグラフにおけるノードの分散表現を用い、式（数１３）に示したユーザ間の類似度の計算を行う。すなわち、ｃｏｓ距離や、Ｊａｃｃａｒｄ係数等を用いたｓｉｍ関数の計算において、ネットワーク情報分析部１７１により得られたノードの分散表現を用いる。このようにすることで、対象ユーザおよび関連ユーザのユーザ表現の統合処理において、通信ネットワークにおけるユーザ間の接続関係の類似度が反映される。
【００６５】
＜第３の実施形態＞
第１、第２の実施形態では、対象ユーザおよび関連ユーザのユーザ表現の統合処理において、対象ユーザと関連ユーザとの類似度を反映させた処理を行った。これに対し、第３の実施形態では、関連ユーザの選択において、対象ユーザと関連ユーザとの類似度を反映させる。
【００６６】
図１１は、第３の実施形態による属性推定システム１００の機能構成を示す図である。図１１に示す属性推定システム１００において、テキスト取得部１１０、テキスト解析部１２０、系列処理部１３０、特徴量抽出部１４０、対象ユーザ表現抽出部１５０、関連ユーザ表現抽出部１６０、ユーザ表現統合部１７０、属性推定部１８０および損失計算部１９０は、図４に示した第１の実施形態による属性推定システム１００の対応する各機能実行部と同様である。また、図１１に示す属性推定システム１００は、選択部１１１と、関連ユーザ固有テキスト解析部１２１と、関連ユーザ固有系列処理部１３１とを備える。選択部１１１、関連ユーザ固有テキスト解析部１２１および関連ユーザ固有系列処理部１３１の各機能は、例えば、属性推定システム１００を構成するパーソナルコンピュータにおいて、ＣＰＵがプログラムを実行することにより実現される。
【００６７】
図１１に示すように、第３の実施形態では、変換手段および系列処理手段に関して２系統が設けられている。選択部１１１は、対象ユーザと関連ユーザとの類似度に応じて、テキスト取得部１１０により取得されたテキストを、テキスト解析部１２０および系列処理部１３０の処理系統（以下、第１処理系統）で処理するか、関連ユーザ固有テキスト解析部１２１および関連ユーザ固有系列処理部１３１の処理系統（以下、第２処理系統）で処理するかを選択する。
【００６８】
関連ユーザ固有テキスト解析部１２１は、関連ユーザのテキストのみを対象として、テキストに含まれる各単語が分散表現化された単語列に変換する。関連ユーザ固有テキスト解析部１２１による具体的な処理の内容は、テキスト解析部１２０による処理と同様である。すなわち、関連ユーザ固有テキスト解析部１２１とテキスト解析部１２０との差異は、処理対象のテキストに対象ユーザのテキストを含むか否かである。
【００６９】
関連ユーザ固有系列処理部１３１は、関連ユーザ固有テキスト解析部１２１により生成された単語の分散表現の系列に対し、ニューラルネットワークに基づく系列処理を行う。関連ユーザ固有系列処理部１３１による具体的な処理の内容は、系列処理部１３０による処理と同様である。すなわち、関連ユーザ固有系列処理部１３１と系列処理部１３０との差異は、処理対象のテキストに対象ユーザのテキストを含むか否かである。
【００７０】
選択部１１１による選択処理について、さらに説明する。選択部１１１は、ネットワーク情報格納装置３００からネットワーク情報を取得して、ユーザ間の接続関係を分析する。具体的には、選択部１１１は、ネットワーク情報格納装置３００から取得したネットワーク情報に基づき、各ユーザをノードで表し、ユーザ間の接続関係をエッジで表したグラフを構築する。そして、選択部１１１は、構築したグラフにおける各ノードの分散表現を取得する。ノードの分散表現を取得するには、ＤｅｅｐＷａｌｋ、ＬＩＮＥ（Large-scale Information Network Embedding）、ｎｏｄｅ２ｖｅｃ等の既存の手法を用いて良い。また、選択部１１１は、取得したノードの分散表現に基づき、各ノード（ノードに対応するユーザ）の類似度を評価する。類似度の評価には、ｃｏｓ距離や、Ｊａｃｃａｒｄ係数等の既存の手法を用いて良い。そして、選択部１１１は、対象ユーザとの間の類似度が予め定められた閾値よりも大きい関連ユーザに関しては、そのテキストをテキスト解析部１２０に送り、第１処理系統による処理を実行させる。一方、選択部１１１は、対象ユーザとの間の類似度が予め定められた閾値よりも小さい関連ユーザに関しては、そのテキストを関連ユーザ固有テキスト解析部１２１に送り、第２処理系統による処理を実行させる。
【００７１】
なお、上記の例では、選択部１１１は、ユーザの接続関係に基づいて構築したグラフにおける各ノードの分散表現を用いて、テキストを第１処理系統と第２処理系統の何れで処理させるかを選択した。これに対し、ノードの分散表現に基づいて評価される各ノード（ノードに対応するユーザ）の類似度に基づいて、ユーザを関連ユーザとするか否かを決定しても良い。すなわち、ノードの類似度が予め定められた閾値よりも大きいユーザのみを関連ユーザとし、ユーザ表現を求めて対象ユーザのユーザ表現と統合させるように構成しても良い。
【００７２】
また、図１１に示す属性推定システム１００において、特徴量抽出部１４０は、テキストに対する処理として第１処理系統に加えて第２処理系統による処理が行われ、関連ユーザ固有系列処理部１３１による処理結果を受け付けた場合、系列処理部１３０による処理結果および関連ユーザ固有系列処理部１３１による処理結果の両方を用い、集約処理を行ってテキストの素性（特徴量）を抽出する。
【００７３】
また、図１１に示す属性推定システム１００において、ユーザ表現統合部１７０は、テキストに対する処理として第１処理系統に加えて第２処理系統による処理が行われ、関連ユーザ固有系列処理部１３１による処理結果を受け付けた場合、注意機構による統合処理において、式（数１１）に代えて、次式（数１４）を用いてユーザ表現の統合を行う。
【００７４】
【数１４】
2020057168.tif 000016
【００７５】
以上、本発明の実施形態について説明したが、本発明の技術的範囲は上記実施形態には限定されない。例えば、上記の実施形態では、テキスト格納装置２００およびネットワーク情報格納装置３００を、属性推定システム１００の外部装置として設けたが、属性推定システム１００に含まれる構成としても良い。また、属性推定システム１００の機能を分散し、少なくとも一部を、いわゆるクラウドサーバ等により提供する構成としても良い。また、属性推定システム１００を、第２の実施形態で追加したネットワーク情報分析部１７１と、第３の実施形態で追加した選択部１１１、関連ユーザ固有テキスト解析部１２１および関連ユーザ固有系列処理部１３１とをそれぞれ備える構成としても良い。その他、本発明の技術思想の範囲から逸脱しない様々な変更や構成の代替は、本発明に含まれる。
【符号の説明】
【００７６】
１００…属性推定システム、１１０…テキスト取得部、１１１…選択部、１２０…テキスト解析部、１２１…関連ユーザ固有テキスト解析部、１３０…系列処理部、１３１…関連ユーザ固有系列処理部、１４０…特徴量抽出部、１５０…対象ユーザ表現抽出部、１６０…関連ユーザ表現抽出部、１７０…ユーザ表現統合部、１７１…ネットワーク情報分析部、１８０…属性推定部、１９０…損失計算部、２００…テキスト格納装置、２１０…ラベル付きテキスト、２２０…ラベルなしテキスト、３００…ネットワーク情報格納装置
【図１】
2020057168.tif 000017
【図２】
2020057168.tif 000018
【図３】
2020057168.tif 000019
【図４】
2020057168.tif 000020
【図５】
2020057168.tif 000021
【図６】
2020057168.tif 000022
【図７】
2020057168.tif 000023
【図８】
2020057168.tif 000024
【図９】
2020057168.tif 000025
【図１０】
2020057168.tif 000026
【図１１】
2020057168.tif 000027