JP2022035314A - 情報処理装置及びプログラム - Google Patents
情報処理装置及びプログラム Download PDFInfo
- Publication number
- JP2022035314A JP2022035314A JP2020139540A JP2020139540A JP2022035314A JP 2022035314 A JP2022035314 A JP 2022035314A JP 2020139540 A JP2020139540 A JP 2020139540A JP 2020139540 A JP2020139540 A JP 2020139540A JP 2022035314 A JP2022035314 A JP 2022035314A
- Authority
- JP
- Japan
- Prior art keywords
- document
- information
- user
- network
- feature
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ユーザに対応するノードと、そのユーザが持つ文書に対応する各ノードとをリンクで結んだ二部ネットワークとユーザの閲覧履歴とを用いてユーザの嗜好にあった推薦を行う場合と比べて、より精度の高い文書推薦を行う情報処理装置及びプログラムを提供する。【解決手段】情報処理装置は、ユーザの情報及び文書の情報を収集するステップS101と、ユーザに対応するノードと文書に対応するノードとをリンクで接続した二部ネットワークを作成しS103、ユーザの素性と文書の素性からなる素性情報を生成しS104、二部ネットワークと素性情報とを合成して素性付きネットワークを生成しS105、素性付きネットワークを用いて目的ユーザに対する推薦文書の推薦スコアを算出するS107。【選択図】図5
Description
本発明は、情報処理装置及びプログラムに関する。
従来から、知識ベースを活用した文書データベース検索・管理システムが提案されている。
特許文献1には、取得情報に基づくユーザの行動を検出する行動検出部と、記行動の対象となった情報の詳細情報を取得してキーワード抽出を行なう情報取得部と、行動から情報に対する評価を行なう評価取得部と、抽出キーワードと評価を対応づけて登録するデータベース部とを備える嗜好情報収集システムが記載されている。
特許文献2には、ユーザに提示した対象のうちユーザが所定の反応を示した対象である反応対象の分布を異なる観点によりそれぞれ分析した複数の分析値をそれぞれ良くすることが可能な対象であって、ユーザに提示する対象である提示対象を観点毎に選択する選択部と、観点毎に提示対象を分析値とともに提示するように制御する提示制御部とを備える情報処理装置が記載されている。
特許文献3には、ユーザが入力した複数のパラメータを受け付けるとともにユーザに推薦するコンテンツを表示する入力表示部と、複数のパラメータのうち分野情報を有する第一のパラメータを取得し、第一のパラメータの分野情報に関連したコンテンツが有するコメント情報を抽出するコメント取得部と、複数のパラメータのうち時事性情報を有する第二のパラメータを取得し、第二のパラメータの時事性情報に基づいてコーパスを作成するコーパス作成部と、複数のパラメータのうちホットトピック情報を有する第三のパラメータを取得し、コメント情報及びコーパスを比較し、予め定められた基準を満たすコメント情報及びコーパスの組み合わせと、第三のパラメータのホットトピック情報とをベクトルに変換し、変換したベクトルから算出した算出値に応じてコンテンツを選択し、入力表示部に推薦コンテンツとしてコンテンツの表示を指示する潜在意味解析推薦部とを備えるコンテンツ推薦装置が記載されている。
特許文献4には、各文書が指定期間内の日時情報を属性として持つ文書集合を入力する文書入力部と、文書集合及び閲覧された文書又はブックマーク操作によるラベル付けを行った文書を含む履歴文書の各々をキーワード解析することにより、各々が複数のキーワードを含む複数の特徴ベクトルを求める文書解析部と、文書集合をクラスタリングすることにより、各々が同一の話題に属する文書からなる複数の話題クラスタ及び複数のサブ話題クラスタを求めるクラスタリング部と、サブ話題クラスタ間の話題の推移を表す推移構造を生成する話題推移生成部と、各話題クラスタ及び各サブ話題クラスタにおいて特徴属性を抽出する特徴属性抽出部と、履歴文書の特徴ベクトルと文書集合に含まれる各文書の特徴ベクトルとの類似性判定により、サブ話題クラスタのいずれかに相当する興味クラスタを抽出する興味クラスタ抽出部と、興味クラスタが持つ推移構造に基づいて、該興味クラスタと推移関係にあるサブ話題クラスタを求め、該サブ話題クラスタに含まれる文書を推薦文書として抽出する推薦文書抽出部と、推薦文書を特徴属性とともに提示する推薦文書提示部とを備える情報推薦装置が記載されている。
特許文献5には、各ユーザが持つ各アイテムを表すデータを取得する取得手段と、データに含まれる各ユーザおよび各アイテムをそれぞれノードとし、ユーザに対応するノードと、そのユーザが持つ各アイテムに対応する各ノードとをリンクで結んだ二部ネットワークを生成する生成手段と、二部ネットワークからコミュニティの階層構造を抽出する抽出手段と、抽出手段で抽出された階層構造における各層のコミュニティにおけるノードの重要度を算出し、算出した重要度からノードの各コミュニティへの帰属度を算出する第1算出手段と、第1算出手段が算出した帰属度と、コミュニティにおけるアイテムの重要度から、ユーザとアイテムとの相性を表す指標を算出する第2算出手段とを備える情報処理装置が記載されている。
ところで、取得したデータに含まれる各ユーザおよび各文書をそれぞれノードとし、ユーザに対応するノードと、そのユーザが持つ文書に対応する各ノードとをリンクで結んだ二部ネットワークと、ユーザの閲覧履歴とを用いてユーザの嗜好にあった推薦を行う場合、文書内容上の関連性が考慮されていないため、同一トピックの文書でも過去に閲覧される回数が少ないときにはあまり推薦されず、新規文書の場合にはそもそも推薦されることがない。
本発明の目的は、取得したデータに含まれる各ユーザおよび各文書をそれぞれノードとし、ユーザに対応するノードと、そのユーザが持つ文書に対応する各ノードとをリンクで結んだ二部ネットワークと、ユーザの閲覧履歴とを用いてユーザの嗜好にあった推薦を行う場合と比べて、より精度の高い文書推薦を行う技術を提供することにある。
請求項1に記載の発明は、ユーザの情報及び文書の情報を収集する情報収集手段と、前記情報収集手段で収集された情報を入力して処理するプロセッサであり、プログラムを実行することで、前記ユーザに対応するノードと前記文書に対応するノードとをリンクで接続した二部ネットワークを作成し、前記ユーザの素性と前記文書の素性からなる素性情報を生成し、前記二部ネットワークと前記素性情報とを合成して素性付きネットワークを生成し、前記素性付きネットワークを用いて目的ユーザに対する推薦文書を選択する、情報処理装置である。
請求項2に記載の発明は、前記プロセッサは、前記素性付きネットワークから、リンクが密に接続されたかたまり部分であるコミュニティを抽出し、抽出した前記コミュニティを用いて前記目的ユーザに対する推薦文書を選択する、請求項1に記載の情報処理装置である。
請求項3に記載の発明は、前記ユーザの素性は、前記ユーザのドメイン知識キーワードを含み、前記文書の素性は、出現単語、カテゴリタグあるいは深層学習モデルで得られる分散表現の少なくともいずれかを含む、請求項1,2のいずれかに記載の情報処理装置である。
請求項4に記載の発明は、前記プロセッサは、Nを前記ユーザ及び前記文書のノード数として前記二部ネットワークをN×Nの行列として作成し、h1をベクトルの次元数として前記素性情報をN×h1のベクトルとして作成し、前記N×Nの行列と前記N×h1のベクトルとを合成して前記素性付きネットワークを作成する、請求項3に記載の情報処理装置である。
請求項5に記載の発明は、前記プロセッサは、GCNを用いて前記素性付きネットワークを下処理する、請求項4に記載の情報処理装置である。
請求項6に記載の発明は、前記プロセッサは、前記コミュニティを用いて前記目的ユーザと推薦文書候補との第1推薦スコアを算出し、前記第1推薦スコアが相対的に高い推薦文書候補を前記推薦文書として選択する、請求項2に記載の情報処理装置である。
請求項7に記載の発明は、前記プロセッサは、前記情報収集手段で収集された文書に含まれない新規文書と、前記情報収集手段で収集された既存文書との類似度を算出し、前記類似度が相対的に大きい複数の前記既存文書を既存文書候補として抽出し、前記目的ユーザと前記既存文書候補との第2推薦スコアを算出し、前記第2推薦スコアを用いて前記目的ユーザと前記新規文書との前記第1推薦スコアを算出する、請求項6に記載の情報処理装置である。
請求項8に記載の発明は、前記プロセッサは、前記目的ユーザの前記推薦文書に対する閲覧の有無を前記素性付きネットワークにフィードバックする、請求項1~7のいずれかに記載の情報処理装置である。
請求項9に記載の発明は、前記プロセッサは、前記情報収集手段で収集された情報の経過時間に応じた重みを用いて前記素性付きネットワークを形成する、請求項1~8のいずれかに記載の情報処理装置である。
請求項10に記載の発明は、コンピュータに、ユーザの情報及び文書の情報を収集するステップと、収集された情報を用いて、前記ユーザに対応するノードと前記文書に対応するノードとをリンクで接続した二部ネットワークを作成するステップと、前記ユーザの素性と前記文書の素性からなる素性情報を生成するステップと、前記二部ネットワークと前記素性情報とを合成して素性付きネットワークを生成するステップと、前記素性付きネットワークを用いて目的ユーザに対する推薦文書を選択するステップと、を実行させるプログラムである。
請求項1,2,4,6,10に記載の発明によれば、各ユーザおよび各文書をそれぞれノードとし、ユーザに対応するノードと、そのユーザが持つ文書に対応する各ノードとをリンクで結んだ二部ネットワークと、ユーザの閲覧履歴とを用いてユーザの嗜好にあった推薦を行う場合と比べて、より精度の高い文書推薦を行うことができる。
請求項3に記載の発明によれば、さらにユーザのドメイン知識、出現単語、カテゴリタグあるいは深層学習モデルで得られる分散表現のいずれかを用いて文書推薦を行うことができる。
請求項5に記載の発明によれば、さらに、GCN(Graph Convolutional Network)を用いて素性付きネットワークを下処理し、学習モデルの精度向上や素性のないノードの対応を可能とする。
請求項7に記載の発明によれば、さらに、新規文書に対してもユーザに対して文書推薦できる。
請求項8,9に記載の発明によれば、さらに、学習モデルの精度を向上させることができる。
以下、図面に基づき本発明の実施形態について説明する。
図1Aは、本実施形態における情報処理装置の全体構成ブロック図である。本実施形態の情報処理装置は、ユーザ嗜好を表す特徴をバックエンドで学習し、ユーザの嗜好に合致したパーソナライズ情報提供を行う装置であり、より具体的には、ユーザの購入した文書やユーザの閲覧した文書等、ユーザと文書との関係性を履歴データとして収集し、当該履歴データから特徴を学習することで、目的ユーザに対してその嗜好に合致する文書を推薦する装置である。本実施形態の情報処理装置は、図1Bに示すように、クライアント20とサーバコンピュータ22からなるサーバクライアントシステムにおけるサーバコンピュータ22として実現され得る。この場合、ユーザ端末としてのクライアント20は、スマートフォン、タブレット、携帯電話、PC等の携帯情報端末で実現され得る。
情報処理装置は、機能モジュールとして、情報収集モジュール10、情報統合モジュール12、事前処理モジュール、特徴計算モジュール16、及び情報検索・推薦モジュール18を備える。
情報収集モジュール10は、履歴データとしてユーザの情報及び文書の情報を収集するモジュールであり、入力部101、情報収集部102、及び記憶部103を備える。入力部101は、通信インターフェイス等を備え、例えばインターネット等から履歴データとしてユーザの情報と文書の情報を収集する。入力部101は、収集した履歴データを情報収集部102に出力する。情報収集部102は、収集した履歴データを記憶部103に格納するとともに、情報統合モジュール12に出力する。履歴データは、具体的にはユーザとそのユーザが購買した文書、ユーザとそのユーザが閲覧した文書、ユーザとそのユーザがSNS等で言及した文書等であり、ユーザと文書の対応関係(関係性)を有するデータである。
情報統合モジュール12は、各種の情報を統合・管理するモジュールであり、管理部121、記憶部122、情報提示制御部123、及びユーザ操作取得部124を備える。管理部121は、各種情報を管理する。各種情報には、収集した履歴データ、作成された素性付きネットワークデータ、抽出された特徴データ、演算された推薦スコア等が含まれる。
記憶部122は、各種情報を記憶する。ユーザ操作取得部124は、図示しないユーザ端末からのユーザ操作を取得して管理部121に出力する。ユーザ操作には、目的ユーザからの文書検索要求が含まれる。情報提示制御部123は、ユーザ操作に応じた管理部121からの指令に基づき、ユーザ操作に応じた情報、具体的には目的ユーザの嗜好に合致する文書の情報を図示しないユーザ端末に出力する。
事前処理モジュール14は、情報収集モジュール10で収集した履歴データ、すなわちユーザの情報及び文書の情報を処理するモジュールであり、処理部141、記憶部142、時間ウエイト加工部143、言語解析部144、素性作成部145、及び素性付きネットワーク構築部146を備える。処理部141は、時間ウエイト加工部143、言語解析部144、素性作成部145、及び素性付きネットワーク構築部146の動作を制御する。
時間ウエイト加工部143は、処理すべき履歴データの取得時間に応じたウエイトを付与する。すなわち、古いデータよりも新しいデータの方がユーザの現時点の特徴を反映していると考えられるため、新しいデータに対して相対的に大きなウエイトを付与する。例えば、1ヶ月、半年、1年等と時間スパンを決定し、履歴データを時間スパンで分割する。それぞれの時間スパンで履歴データの全体ウエイトを決定する。このとき、現在に近い時間スパンの方のウエイトを相対的に大きくする。このようにして決定された時間ウエイトは、出現頻度を反映したウエイトと乗算した上で、後述するネットワークのリンクのウエイトに設定する。
言語解析部144は、履歴データの自然言語処理を行う。自然言語処理は公知であり、例えば形態素解析で単語単位に分割を行い、文章毎に各単語の出現頻度をカウントしてベクトル化する。そして、履歴データとしてのユーザの情報と文書の情報を言語解析し、各ユーザおよび各文書をそれぞれノードとし、ユーザに対応するノードと、文書に対応する各ノードとをリンクで結んだ二部ネットワークを作成する。
素性作成部145は、ユーザの情報に含まれるユーザの素性情報及び文書の情報に含まれる文書の素性情報をベクトルで表現する。ユーザの素性情報は、ユーザID、ユーザの性別、ユーザのドメイン知識キーワード等であり、これらをユーザノードの素性としてbag-of -word形式(出現単語の数をカウントしたもの)でベクトル化する。文書の素性情報は、文書ID、文書のコンテンツ(出現単語)、様々な属性(出現したエンティティとその属性)、カテゴリタグ等であり、これらを文書ノードの素性としてbag-of- word形式でベクトル化する。任意の深層学習モデルで得られる分散表現を文書の素性情報として用いてもよい。ここで、ドメイン知識キーワードとは、ドメイン知識に関するキーワードであり、ドメイン知識とは、ある専門分野に特化した分野の知識を意味し、一般知識と区別される。また、ユーザIDや文書IDを用いることで、属性の存在しないノードも初期素性ベクトルとして付与することが可能となる。
素性付きネットワーク構築部146は、言語解析部144で作成された二部ネットワークと、素性作成部145で作成された素性ベクトルとを用いて、素性付きネットワークを構築する。素性付きネットワーク構築部146が、二部ネットワーク及び素性付きネットワークをともに構築してもよい。
特徴計算モジュール16は、素性付きネットワーク構築部146で構築された素性付きネットワークからリンクが密に接続されたかたまり部分であるコミュニティ抽出による潜在トピック及び特徴を抽出するモジュールであり、特徴計算部161及び記憶部162を備える。特徴計算部161は、素性付きネットワークからコミュニティを抽出し、各コミュニティの各ノードにおける確率分布の期待値μと、コミュニティ確率分布の標準偏差σを計算する。本実施形態におけるコミュニティはクラスタと同じ意味を有し、個々のコミュニティは「意味」あるいは「機能」のまとまりに対応し、潜在嗜好と同義である。また、コミュニティ抽出とは、ネットワークから個々のコミュニティ構造を抽出することを意味し、ネットワーク内に意味的/機能的に共通性を有するノード群をクラスタリングすることを意味する。本実施形態では、単なる二部ネットワークではなく、素性情報が付与された素性付きネットワークを用いることで、コミュニティ抽出精度を向上させる。素性情報は、二部ネットワークと相互補足情報として機能し得る。
情報検索・推薦モジュール18は、図示しないユーザ端末からのユーザ操作に応じ、目的ユーザの嗜好に合致する文書を検索し推薦するモジュールであり、情報検索部181、情報推薦部182、及び記憶部183を備える。
情報検索部181は、特徴計算モジュール16で抽出された特徴を用いて、推薦スコアを計算する。情報推薦部182は、計算された推薦スコアを用いて、相対的にスコアの高い文書を選択し、目的ユーザに対する推薦文書として出力する。
図1Aに示す各機能モジュールは、論理的に分離可能なソフトウェア、ハードウェア等の部品を意味する。従って、本実施形態におけるモジュールはコンピュータプログラムにおけるモジュールのみならず、ハードウェア構成におけるモジュールも意味する。モジュールは機能に対して1:1に対応してもよいが、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよい。これらのモジュールは、図1Bに示すサーバコンピュータ22内のプロセッサ24によって実行されてもよいし、分散又は並列環境における複数のプロセッサ24によって実行されてもよい。各モジュールによる処理では、対象となる情報をメモリ26から読み込み、CPU等のプロセッサ24で処理を行った後に、処理結果をメモリ26に出力して書き込む。メモリ26は、HDD、RAM、CPU内のレジスタ等が含まれる。1つの実施形態では、単一のサーバコンピュータ22内における単一のプロセッサ24が、各モジュール10~18の機能を実現するものであるが、これに限定されるものではない。本実施形態におけるプロセッサは広義的なプロセッサを指し、汎用的なプロセッサ(例えば CPU Central Processing Unit等)や、専用のプロセッサ(例えばGPU Graphics Processing Unit、ASIC Application Specific Integrated Circuit、FPGA Field Programmable Gate Array、プログラマブル論理デバイス等)を含むものである。
図2は、各ユーザ50および各文書52をそれぞれノードとし、ユーザに対応するノードと、文書に対応する各ノードとをリンクで結んだ二部ネットワークを模式的に示す。二部ネットワークとは、二部グラフとも呼ばれ、ノードの集合が2つの部分集合に分割されており、同じ部分集合内のノード同士の間にリンクがないネットワーク(グラフ)である。すなわち、ユーザのノード同士の間にリンクがなく、文書のノード同士の間にもリンクがない。図2において、丸印がユーザを表すノードであり、正方形が文書を表すノードである。また、ユーザのノードと文書のノードを結ぶ直線がリンクである。
この二部ネットワークは、履歴データにおいて、ユーザと文書に関係がある(例えば過去にユーザがその文書を閲覧した事実がある等)ため履歴データに付与される値が1であるユーザと文書のノード間をリンクで結ぶことにより生成される。この二部ネットワークでは、ユーザと文書に関係がないため履歴データに付与される値が0であるユーザとアイテムのノード間にはリンクは生成されない。二部ネットワークは、情報統合モジュール12の管理部121から供給された履歴データに基づき、事前処理モジュール14の言語解析部144あるいは素性付きネットワーク構築部146で作成される。二部ネットワークは、具体的にはNをノード数、つまりユーザ数と文書数の合計とすると、N×N隣接行列のマトリクスとして表現される。
図3は、素性作成部145で作成される素性情報ベクトルを模式的に示す。ユーザ50の素性ベクトル、及び文書52の素性ベクトルは、それぞれドメイン知識単語の成分と、出現単語の成分から構成される。ドメイン知識単語の成分は、T1,T2,T3から構成され、出現単語の成分は、T4,T5,・・・Tnから構成される。ユーザ50の素性ベクトルは、例えば、
(T1,T2,T3,T4,T5,・・・Tn)=(1,1,0,1,0,・・・0)
と表現される。また、文書52の素性ベクトルは、例えば、
(T1,T2,T3,T4,T5,・・・Tn)=(0,0,1,1,1,・・・0)
と表現される。素性ベクトルは、具体的には素性ベクトルの次元数をh1としたときにN×h1のマトリクスとして表現される。
なお、図では、各ベクトルの成分を0または1で表現したが、これに限定されるものではなく、ウエイトを乗算して表現してもよい。また、既述したように、ユーザ50の素性ベクトルとして、ユーザIDやユーザ性別を含んでもよく、文書52の素性ベクトルとして、文書IDを含んでもよい。
(T1,T2,T3,T4,T5,・・・Tn)=(1,1,0,1,0,・・・0)
と表現される。また、文書52の素性ベクトルは、例えば、
(T1,T2,T3,T4,T5,・・・Tn)=(0,0,1,1,1,・・・0)
と表現される。素性ベクトルは、具体的には素性ベクトルの次元数をh1としたときにN×h1のマトリクスとして表現される。
なお、図では、各ベクトルの成分を0または1で表現したが、これに限定されるものではなく、ウエイトを乗算して表現してもよい。また、既述したように、ユーザ50の素性ベクトルとして、ユーザIDやユーザ性別を含んでもよく、文書52の素性ベクトルとして、文書IDを含んでもよい。
図4は、素性付きネットワーク構築の一例を模式的に示す。素性付きネットワークは、ユーザに対応するノードと、文書に対応する各ノードとをリンクで結んだ二部ネットワークのマトリクス60と、全ての素性ベクトルからなる素性マトリクス62とからGCN(Graph Convolution Network:グラフ畳み込みネットワーク)演算器64により作成される。GCNは、グラフデータに対して畳み込みを行う手法であり、グラフ内のノードが有する特徴量に、リンク関係にあるノードの特徴量に重みをかけたものを加えていく方法である。具体的には、二部ネットワークマトリクスAをN×N隣接行列、素性マトリクスXをN×h1とし、Nをノード数(=ユーザ数+文書数)、h1を1つの素性ベクトルの次元数、h2を埋込ベクトルの次元数(=トピック/コミュニティ数)とすると、
GCN(X,A)=A’・ReLU(A’・X・Wo)Wi
により素性付きネットワークを作成する。
GCN(X,A)=A’・ReLU(A’・X・Wo)Wi
により素性付きネットワークを作成する。
ここで、
「・」は行列乗算
Woはh1×h0のウエイトマトリクス
Wiはh2×h0のウエイトマトリクス
である。h0は初期値である。
また、A’は、
A’=D-1/2・(IN+A)・D-1/2
である。ここで、
INは単位行列
Dは度数マトリクス
であり、
D=Diag(sum(A+IN,dim=1))
で定義される。つまりA+INを行方向にsum演算して得られたベクトルを対角行列に変換したものである。
「・」は行列乗算
Woはh1×h0のウエイトマトリクス
Wiはh2×h0のウエイトマトリクス
である。h0は初期値である。
また、A’は、
A’=D-1/2・(IN+A)・D-1/2
である。ここで、
INは単位行列
Dは度数マトリクス
であり、
D=Diag(sum(A+IN,dim=1))
で定義される。つまりA+INを行方向にsum演算して得られたベクトルを対角行列に変換したものである。
ReLU関数(Rectified Linear Unit:ランプ関数)は、公知のニューラルネットワークの活性化関数であり、入力値が0以下の場合には出力値が常に0、入力値が0より上の場合には出力値が入力値と同じ値となる関数である。要するに、
f(x)=max(0,x)
である。ReLU関数は、計算式がシンプルであるため処理を高速化できる。また、入力値が0以下は常に出力値が0となるので、ニューロン群の活性化がスパース(疎、スカスカ)になり、発火しないニューロンも表現できることで精度が向上する利点がある。GCN演算器64は、上記の式に基づいて、各コミュニティの各ノードにおける確率分布の期待値μと、コミュニティ確率分布の標準偏差σとに分けて、畳み込み演算を行う。すなわち、確率分布の期待値μに関して、
GCN(X,A)μ=A’・ReLU(A’・X・Wo)Wiμ
で演算し、確率分布の標準偏差σに関して、
GCN(X,A)σ=A’・ReLU(A’・X・Wo)Wiσ
で演算する。ここで、Wiμ、Wiσは、それぞれ期待値μと標準偏差σについてのウエイトマトリクスWiである。
f(x)=max(0,x)
である。ReLU関数は、計算式がシンプルであるため処理を高速化できる。また、入力値が0以下は常に出力値が0となるので、ニューロン群の活性化がスパース(疎、スカスカ)になり、発火しないニューロンも表現できることで精度が向上する利点がある。GCN演算器64は、上記の式に基づいて、各コミュニティの各ノードにおける確率分布の期待値μと、コミュニティ確率分布の標準偏差σとに分けて、畳み込み演算を行う。すなわち、確率分布の期待値μに関して、
GCN(X,A)μ=A’・ReLU(A’・X・Wo)Wiμ
で演算し、確率分布の標準偏差σに関して、
GCN(X,A)σ=A’・ReLU(A’・X・Wo)Wiσ
で演算する。ここで、Wiμ、Wiσは、それぞれ期待値μと標準偏差σについてのウエイトマトリクスWiである。
GCNについては、例えば、Thomas N. Kipf, Max Welling, Semi-Supervised Classification with Graph Convolutional Networks, (ICLR 2017) に詳述されている。
このようにして作成された素性付きネットワークを用いて、潜在トピック・特徴を抽出し、目的ユーザの嗜好に合致した文書を検索する。
図5は、本実施形態の全体処理フローチャートである。図1Aに示す各機能モジュールの処理であり、ハードウェアとしてのプロセッサ24が実行する処理である。
まず、情報収集モジュール10は、インターネット等を用いて履歴データとしてユーザの情報と文書の情報を定期的あるいは不定期に収集する(S101)。情報収集モジュール10は、収集した履歴データを記憶部103に記憶し、また情報統合モジュール12に出力する。情報統合モジュール12の管理部121は、収集した履歴データを記憶部122に記憶し、また事前処理モジュール14に出力する。
次に、事前処理モジュール14の処理部141は、収集した履歴データを用いてバックエンドで学習する。すなわち、言語解析部144は、履歴データを自然言語処理し(S102)、二部ネットワークを作成する(S103)とともに、素性作成部145に出力する。素性作成部145は、履歴データに含まれる素性の情報をベクトル化して素性ベクトルを作成する(S104)。言語解析部144は、作成した二部ネットワークを素性付きネットワーク構築部146に出力する。また、素性作成部145は、作成した素性ベクトルを素性付きネットワーク構築部146に出力する。
素性付きネットワーク構築部146は、二部ネットワークのマトリクス表現である二部ネットワークマトリクスAと、素性ベクトルのマトリクス表現である素性マトリクスXから、GCNを用いて素性付マトリクスを構築する(S105)。事前処理モジュール14の処理部141は、構築された素性付マトリクスを記憶部142に記憶し、また特徴計算モジュール16に出力する。
次に、特徴計算モジュール16の特徴計算部161は、素性付きネットワークからコミュニティ抽出により潜在トピック・特徴を演算する(S106)。具体的には、正規分布に従うノイズεと期待値μと標準偏差σとに基づいて各コミュニティにおける重要度pt、及び各コミュニティへの帰属度bを演算する。特徴計算モジュール16は、演算されたpt及びbを情報検索・推薦モジュール18に出力する。
情報検索・推薦モジュール18の情報検索部181は、pt及びbを用いて目的ユーザに対する推薦候補文書の推薦スコアを演算する(S107)。すなわち、目的ユーザをU、コンテキスト(文書)をC、推薦候補文書をRとすると、Rの推薦スコアを以下の計算フローで演算する。
(1)RとUの間の類似度sim(R,U)を計算する。
sim(R,U)=γ1sim1(R,U)+γ2sim2(R,U)
ここで、
sim1(R,U)=1/2*(b(U)*pt(R)+pt(U)*b(R))
sim2(R,U)=z(R)*z(U)
であり、
である。zは既知の埋め込みベクトル、*は内積を表す。
(2)RとCの間の類似度sim(R,C)を上記の式にて計算する。
(3)推薦scoreを類似度sim(R,U)と類似度sim(R,C)から計算する。
score(R|C,U)=b1*sim(R,C)+b2*sim(R,U)
ここで、b1及びb2は、
b1+b2=1
を満たす任意の値であり、例えばb1=b2=0.5と設定し得る。
次に、情報推薦部182は、演算された推薦スコアのうち、最も高いスコア、あるいは推薦スコアの高い順に上位K個の文書を目的ユーザの嗜好に合致する推薦文書を選択し(S108)、ユーザ端末に推薦文書として出力する(S109)。
(1)RとUの間の類似度sim(R,U)を計算する。
sim(R,U)=γ1sim1(R,U)+γ2sim2(R,U)
ここで、
sim1(R,U)=1/2*(b(U)*pt(R)+pt(U)*b(R))
sim2(R,U)=z(R)*z(U)
であり、
(2)RとCの間の類似度sim(R,C)を上記の式にて計算する。
(3)推薦scoreを類似度sim(R,U)と類似度sim(R,C)から計算する。
score(R|C,U)=b1*sim(R,C)+b2*sim(R,U)
ここで、b1及びb2は、
b1+b2=1
を満たす任意の値であり、例えばb1=b2=0.5と設定し得る。
次に、情報推薦部182は、演算された推薦スコアのうち、最も高いスコア、あるいは推薦スコアの高い順に上位K個の文書を目的ユーザの嗜好に合致する推薦文書を選択し(S108)、ユーザ端末に推薦文書として出力する(S109)。
図6は、コミュニティ抽出による潜在トピック・特徴抽出の処理を模式的に示す。なお、図では、既述した素性付きネットワーク構築の処理についても前段の処理として示している。
二部ネットワークマトリクス60と素性マトリクス62は、それぞれGCNμ演算器64a及びGCNσ演算器64bにて畳み込み演算され、特徴計算モジュール16に出力される。
特徴計算モジュール16の特徴計算部161は、図中演算モジュール66として示す演算を実行する。
すなわち、まず、GCNμ及びGCNσそれぞれについて、ソフトプラス関数softplusでそれぞれμ’、logσ’に変換する。ソフトプラス関数softplusは、入力値を0以上の正の数値に変換して出力する関数であり、ReLU関数に類似する活性化関数である。但し、入力値が0付近では、出力値が0にはならない。具体的には、ReLU関数(正規化線形関数)に対する平滑化近似であり、
f(x)=log(1+ex)
である。
f(x)=log(1+ex)
である。
次に、μ’についてはマルコフチェーンを用いて、
μ=A・μ’
とし、logσ’については、列方向に平均をとってlogσとする。
μ=A・μ’
とし、logσ’については、列方向に平均をとってlogσとする。
次に、正規分布に従うノイズεと、μと、logσとを用いてシグモイド関数sigmoidでコミュニティにおける重要度ptを、
pt=sigmoid(μ+ε○σ)
で算出する。演算子○は、アダマール積である。
pt=sigmoid(μ+ε○σ)
で算出する。演算子○は、アダマール積である。
次に、ptを用いて各コミュニティへの帰属度bをベイズ定理により演算して特徴が抽出される。ベイズ定理を用いた各コミュニティへの帰属度(割合)bの算出については、特許文献4(特開2019-008414号公報)に記載されている。
そして、リンク予測関数演算器68でpt及びbを用いてリンク予測関数を演算し、ロスを計算する。具体的には、リンク予測関数f(z;θ)は、ptとbからアダマール積○を用いて
f(z;θ)=(b○pt)・(b○pt)T
で演算され、さらにロス関数lossは、
loss=binary-cross-entropy +kld1+kld2
で演算される。ここで、
である。
f(z;θ)=(b○pt)・(b○pt)T
で演算され、さらにロス関数lossは、
loss=binary-cross-entropy +kld1+kld2
で演算される。ここで、
なお、pi_estimateはmean[b,dim=0]であり、mean[b,dim=0]は列の方向にマトリクスbを平均することを意味する。これにより、N×h2のマトリクスであるbから1×h2のベクトルが算出される。
また、pi_priorは1×h2のベクトルであり、その値はランダムに設定される。ロス関数は、ネットワーク再構築時の損失であり、これを最小化するように各パラメータを調整する。
以上のようにして各コミュニティの重要度pt及びコミュニティへの帰属度bが決定され、決定されたpt及びbを用いて、既述したように、目的ユーザUと推薦候補文書Rに対して推薦スコアが算出される。そして、推薦スコアを高い順に並べ、最も高いスコアの文書、あるいはスコアの高い順に上位K個の文書が推薦文書として目的ユーザUに提示される。目的ユーザUは、提示された文書を視認し、所望の文書に対して閲覧等の行動をとり得る。
本実施形態では、GCNを用いて二部ネットワークに素性情報を付与したが、GCN以外にも任意の手法で二部ネットワークと素性情報を合成してもよい。また、推薦スコアも上記の式に限定されず、学習モデルから特徴を抽出し、当該特徴を用いて目的ユーザの嗜好性を定量評価し得る任意の手法を用い得る。
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、種々の変形が可能である。
例えば、本実施形態では、履歴データを用いて目的ユーザに対して当該ユーザの嗜好に合致する文書を検索して提示しているが、新規文書の場合には過去履歴が存在しないため、ユーザとの関係性を直接的に演算することが困難である。
この場合、以下の処理を実行することで目的ユーザに文書を推薦すればよい。
(1)まず、新規文書Dと履歴ネットワークに存在する文書nの間の類似度w(D,n)を演算する。
ここで、類似度演算は、出現単語の一致性で実行してもよく、BERTその他の言語モデルでの学習により得られた分散表現の類似度(cosine類似度、内積等)を用いてもよい。あるいは、トピックモデルで得られた潜在トピックを用いて実行してもよい。トピックモデルは、例えばLDA(Latent Dirichlet Allocation:潜在的ディリクレ配分法)やPLSA(Probabilistic Latent Semantic Analysis:確率的潜在意味解析法)等を用いることができる。
(3)最後に、演算された推薦スコアの高い新規文書Dを目的ユーザの嗜好に合致する文書として提示する。
本変形例では、履歴データの存在する既存文書との類似度を用いて、目的ユーザと新規文書との関係性を評価するといえる。
また、本実施形態あるいは上記の変形例において、目的ユーザに対して推薦文書を提示した後、当該目的ユーザが当該文書を閲覧した場合、N×N隣接行列で表現される二部ネットワークのマトリクスAの対応箇所に閲覧された回数に応じてウエイトを付与し、これを深層学習モデルに新規学習パラメータとして取り込んでフィードバックし、誤差逆伝播法(バックプロパゲーション)等によりモデルのパラメータを更新してもよい。
10 情報収集モジュール、12 情報統合モジュール、14 事前処理モジュール、16 特徴計算モジュール、18 情報検索・推薦モジュール、50 ユーザ、52 文書、60 二部ネットワークマトリクス、62 素性マトリクス。
Claims (10)
- ユーザの情報及び文書の情報を収集する情報収集手段と、
前記情報収集手段で収集された情報を入力して処理するプロセッサであり、プログラムを実行することで、
前記ユーザに対応するノードと前記文書に対応するノードとをリンクで接続した二部ネットワークを作成し、
前記ユーザの素性と前記文書の素性からなる素性情報を生成し、
前記二部ネットワークと前記素性情報とを合成して素性付きネットワークを生成し、
前記素性付きネットワークを用いて目的ユーザに対する推薦文書を選択する、
情報処理装置。 - 前記プロセッサは、
前記素性付きネットワークから、リンクが密に接続されたかたまり部分であるコミュニティを抽出し、
抽出した前記コミュニティを用いて前記目的ユーザに対する推薦文書を選択する、
請求項1に記載の情報処理装置。 - 前記ユーザの素性は、前記ユーザのドメイン知識キーワードを含み、
前記文書の素性は、出現単語、カテゴリタグあるいは深層学習モデルで得られる分散表現の少なくともいずれかを含む、
請求項1,2のいずれかに記載の情報処理装置。 - 前記プロセッサは、
Nを前記ユーザ及び前記文書のノード数として前記二部ネットワークをN×Nの行列として作成し、
h1をベクトルの次元数として前記素性情報をN×h1のベクトルとして作成し、
前記N×Nの行列と前記N×h1のベクトルとを合成して前記素性付きネットワークを作成する、
請求項3に記載の情報処理装置。 - 前記プロセッサは、GCNを用いて前記素性付きネットワークを下処理する、
請求項4に記載の情報処理装置。 - 前記プロセッサは、
前記コミュニティを用いて前記目的ユーザと推薦文書候補との第1推薦スコアを算出し、
前記第1推薦スコアが相対的に高い推薦文書候補を前記推薦文書として選択する、
請求項2に記載の情報処理装置。 - 前記プロセッサは、
前記情報収集手段で収集された文書に含まれない新規文書と、前記情報収集手段で収集された既存文書との類似度を算出し、
前記類似度が相対的に大きい複数の前記既存文書を既存文書候補として抽出し、
前記目的ユーザと前記既存文書候補との第2推薦スコアを算出し、
前記第2推薦スコアを用いて前記目的ユーザと前記新規文書との前記第1推薦スコアを算出する、
請求項6に記載の情報処理装置。 - 前記プロセッサは、
前記目的ユーザの前記推薦文書に対する閲覧の有無を前記素性付きネットワークにフィードバックする、
請求項1~7のいずれかに記載の情報処理装置。 - 前記プロセッサは、
前記情報収集手段で収集された情報の経過時間に応じた重みを用いて前記素性付きネットワークを形成する
請求項1~8のいずれかに記載の情報処理装置。 - コンピュータに、
ユーザの情報及び文書の情報を収集するステップと、
収集された情報を用いて、前記ユーザに対応するノードと前記文書に対応するノードとをリンクで接続した二部ネットワークを作成するステップと、
前記ユーザの素性と前記文書の素性からなる素性情報を生成するステップと、
前記二部ネットワークと前記素性情報とを合成して素性付きネットワークを生成するステップと、
前記素性付きネットワークを用いて目的ユーザに対する推薦文書を選択するステップと、
を実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020139540A JP2022035314A (ja) | 2020-08-20 | 2020-08-20 | 情報処理装置及びプログラム |
US17/163,813 US20220058464A1 (en) | 2020-08-20 | 2021-02-01 | Information processing apparatus and non-transitory computer readable medium |
CN202110232979.5A CN114077661A (zh) | 2020-08-20 | 2021-03-03 | 信息处理装置、信息处理方法和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020139540A JP2022035314A (ja) | 2020-08-20 | 2020-08-20 | 情報処理装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022035314A true JP2022035314A (ja) | 2022-03-04 |
Family
ID=80269661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020139540A Pending JP2022035314A (ja) | 2020-08-20 | 2020-08-20 | 情報処理装置及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220058464A1 (ja) |
JP (1) | JP2022035314A (ja) |
CN (1) | CN114077661A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230136726A1 (en) * | 2021-10-29 | 2023-05-04 | Peter A. Chew | Identifying Fringe Beliefs from Text |
CN115186086B (zh) * | 2022-06-27 | 2023-08-08 | 长安大学 | 一种异构环境下嵌入预期价值的文献推荐方法 |
CN114818737B (zh) * | 2022-06-29 | 2022-11-18 | 北京邮电大学 | 科技论文数据文本语义特征提取方法、系统及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818279B2 (en) * | 2006-03-13 | 2010-10-19 | Microsoft Corporation | Event detection based on evolution of click-through data |
US10509832B2 (en) * | 2015-07-13 | 2019-12-17 | Facebook, Inc. | Generating snippet modules on online social networks |
-
2020
- 2020-08-20 JP JP2020139540A patent/JP2022035314A/ja active Pending
-
2021
- 2021-02-01 US US17/163,813 patent/US20220058464A1/en active Pending
- 2021-03-03 CN CN202110232979.5A patent/CN114077661A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114077661A (zh) | 2022-02-22 |
US20220058464A1 (en) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fan et al. | Processes and methods of information fusion for ranking products based on online reviews: An overview | |
CN106815297B (zh) | 一种学术资源推荐服务系统与方法 | |
CN107688870B (zh) | 一种基于文本流输入的深度神经网络的分层因素可视化分析方法及装置 | |
CN107066589B (zh) | 一种基于综合知识的实体语义和词频的排序方法及装置 | |
CN112966091B (zh) | 一种融合实体信息与热度的知识图谱推荐系统 | |
JP2022035314A (ja) | 情報処理装置及びプログラム | |
Jiang et al. | Cloud service recommendation based on unstructured textual information | |
KR20200007713A (ko) | 감성 분석에 의한 토픽 결정 방법 및 장치 | |
CN111177538A (zh) | 一种基于无监督权值计算的用户兴趣标签构建方法 | |
Kyaw et al. | Business intelligent framework using sentiment analysis for smart digital marketing in the E-commerce era | |
CN111221968A (zh) | 基于学科树聚类的作者消歧方法及装置 | |
Yigit et al. | Extended topology based recommendation system for unidirectional social networks | |
Khatter et al. | Content curation algorithm on blog posts using hybrid computing | |
Liu et al. | Age inference using a hierarchical attention neural network | |
Ghobakhloo et al. | Design of a personalized recommender system using sentiment analysis in social media (case study: banking system) | |
US20130332440A1 (en) | Refinements in Document Analysis | |
Shaik et al. | Recurrent neural network with emperor penguin-based Salp swarm (RNN-EPS2) algorithm for emoji based sentiment analysis | |
Huang et al. | A novel temporal recommendation method based on user query topic evolution | |
Liang et al. | JST-RR model: joint modeling of ratings and reviews in sentiment-topic prediction | |
Abbas et al. | Aspect category detection of mobile edge customer reviews: A distributed and trustworthy restaurant recommendation system | |
Wang et al. | CA-CD: context-aware clickbait detection using new Chinese clickbait dataset with transfer learning method | |
KR102454261B1 (ko) | 사용자 정보 기반 협업 파트너 추천 시스템 및 그 방법 | |
Xu | Web mining techniques for recommendation and personalization | |
CN116127367A (zh) | 服务评价的审核方法、装置以及计算机可读存储介质 | |
Ma et al. | In-depth Recommendation Model Based on Self-Attention Factorization. |