(57)【要約】  従来技術ではユーザのブログポストに基づいてユーザの興味を効果的に表現できるキーワードを抽出することが困難であるという技術的課題を解決するために、ソーシャルネットワークに基づくユーザキーワード抽出装置、方法、及びコンピュータ読み取り可能な記憶媒体を提供する。本願はソーシャルネットワークに基づくユーザキーワード抽出方法を開示し、ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、かつ単語分割の処理を実行し、各ブログポストの単語リストを取得すること、取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで単語ベクトルモデルを取得すること、キーワード抽出アルゴリズムに基づいてブログポストに対応するキーワードを抽出してターゲットユーザのキーワード候補集合を構成し、かつ単語ベクトルモデルに基づいてキーワード候補集合内の各キーワードの単語ベクトルを計算し、かつセマンティック類似度グラフを構築すること、セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行してキーワードをスコアリングすることでユーザの興味キーワードを取得することを含む。本願はさらにソーシャルネットワークに基づくユーザキーワード抽出装置及びコンピュータ読み取り可能な記憶媒体を提供する。
2019533205.tif 000002
【特許請求の範囲】
【請求項１】
ソーシャルネットワークに基づくユーザキーワード抽出装置であって、プロセッサで実行可能なユーザキーワード抽出プログラムが記憶されているメモリと、プロセッサと、を含み、前記ユーザキーワード抽出プログラムが前記プロセッサによって実行される時、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得するステップと、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得するステップと、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算するステップと、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築するステップと、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとするステップと、を実現する
ことを特徴とするソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項２】
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する前記ステップにおいて、
前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応し、
全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成し、
全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成する
ことを特徴とする請求項１に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項３】
対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算する前記ステップにおいて、
２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする
ことを特徴とする請求項２に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項４】
前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする
ことを特徴とする請求項１に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項５】
前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする
ことを特徴とする請求項２に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項６】
スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする前記ステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数が前記第二所定数より大きい
ことを特徴とする請求項１に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項７】
スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする前記ステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数が前記第二所定数より大きい
ことを特徴とする請求項２に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項８】
ソーシャルネットワークに基づくユーザキーワード抽出方法において、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得し、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得し、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算し、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築し、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする
ことを特徴とするソーシャルネットワークに基づくユーザキーワード抽出方法。
【請求項９】
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する前記ステップにおいて、
前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応し、
全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成し、
全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成する
ことを特徴とする請求項８に記載のソーシャルネットワークに基づくユーザキーワード抽出方法。
【請求項１０】
対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算する前記ステップにおいて、
２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする
ことを特徴とする請求項９に記載のソーシャルネットワークに基づくユーザキーワード抽出方法。
【請求項１１】
前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする
ことを特徴とする請求項８に記載のソーシャルネットワークに基づくユーザキーワード抽出方法。
【請求項１２】
前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする
ことを特徴とする請求項９に記載のソーシャルネットワークに基づくユーザキーワード抽出方法。
【請求項１３】
スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする前記ステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数が前記第二所定数より大きい
ことを特徴とする請求項８に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項１４】
スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする前記ステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数が前記第二所定数より大きい
ことを特徴とする請求項９に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項１５】
コンピュータ読み取り可能な記憶媒体であって、前記コンピュータ読み取り可能な記憶媒体にユーザキーワード抽出プログラムが記憶されており、前記ユーザキーワード抽出プログラムが少なくとも１つのプロセッサによって実行されることにより、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得するステップと、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得するステップと、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算するステップと、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築するステップと、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとするステップと、を実現する
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項１６】
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する前記ステップにおいて、
前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応し、
全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成し、
全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成する
ことを特徴とする請求項１５に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１７】
対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算する前記ステップにおいて、
２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする
ことを特徴とする請求項１６に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１８】
前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする
ことを特徴とする請求項１５に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１９】
前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする
ことを特徴とする請求項１６に記載のコンピュータ読み取り可能な記憶媒体。
【請求項２０】
スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする前記ステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数が前記第二所定数より大きい
ことを特徴とする請求項１５に記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
「関連出願の相互参照」
本願は、パリ条約に基づいて２０１７年０８月２９日に中国国家知識産権局に出願された、中国特許出願第２０１７１０７５４３１４．４号の「ユーザキーワード抽出装置、方法、及びコンピュータ読み取り可能な記憶媒体」と題する中国特許出願の優先権を主張し、当該出願の全体が参照によりここに組み込まれる。
【０００２】
本願は、コンピュータ技術分野に関し、詳しく言えば、ソーシャルネットワークに基づくユーザキーワード抽出装置、方法、及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【０００３】
現在、ソーシャルネットワークの普及に伴い、ユーザのブログポストに対するパーソナライズされた推薦事項など、マイクロブログなどのソーシャルネットワークに基づくアプリケーションがますます増えている。現在の推薦方法は、主に同じタグ情報に基づく友人の推薦、共通の関心に基づく友人の推薦、話題の人気に基づくマイクロブログトピックの推薦などがあるが、このタイプの推薦は限られており、ユーザの興味や嗜好に基づいてターゲットを絞った推薦を行うことは困難である。従って、大量のブログポストデータからユーザの興味を効果的に表現できるキーワードを抽出し、ユーザの真の興味を分析して決定することは、解決すべき緊急の課題である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願は、ソーシャルネットワークに基づくユーザキーワード抽出装置、方法、及びコンピュータ読み取り可能な記憶媒体を提供し、従来技術ではユーザのブログポストに基づいてユーザの興味を効果的に表現できるキーワードを抽出することが困難であるという技術的課題を解決することを主な目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために、本願は、ソーシャルネットワークに基づくユーザキーワード抽出装置を提供し、該装置は、プロセッサで実行可能なユーザキーワード抽出プログラムが記憶されているメモリと、プロセッサと、を含み、前記ユーザキーワード抽出プログラムが前記プロセッサによって実行される時、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得するステップと、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得するステップと、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算するステップと、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築するステップと、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとするステップと、を実現する。
【０００６】
場合によっては、前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する前記ステップにおいて、
前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応し、
全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成し、
全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成する。
【０００７】
場合によっては、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算する前記ステップにおいて、
２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする。
【０００８】
場合によっては、前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする。
【０００９】
場合によっては、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする前記ステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数は前記第二所定数より大きい。
【００１０】
また、上記の目的を達成するために、本願は、ソーシャルネットワークに基づくユーザキーワード抽出方法を提供し、該方法において、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得し、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得し、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算し、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築し、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする。
【００１１】
場合によっては、前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する前記ステップにおいて、
前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応し、
全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成し、
全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成する。
【００１２】
場合によっては、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算する前記ステップにおいて、
２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする。
【００１３】
場合によっては、前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする。
【００１４】
また、上記の目的を達成するために、本願は、コンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ読み取り可能な記憶媒体にユーザキーワード抽出プログラムが記憶されており、前記ユーザキーワード抽出プログラムが少なくとも１つのプロセッサによって実行されることにより、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得するステップと、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得するステップと、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算するステップと、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築するステップと、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとするステップと、を実現する。
【発明の効果】
【００１５】
本願の提供するソーシャルネットワークに基づくユーザキーワード抽出装置、方法、及びコンピュータ読み取り可能な記憶媒体は、ターゲットユーザが所定の時間間隔内に発表した各ブログポストに対して単語分割の処理を実行することで、各ブログポストに対応する単語リストを取得し、Ｗｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得し、キーワード抽出アルゴリズムに基づいてブログポストの単語リストから対応するキーワードを抽出してキーワード候補集合を構成し、上記単語ベクトルモデルに基づいて集合内の各キーワードの単語ベクトルを計算し、キーワード集合内のキーワード及び単語ベクトルに基づいてセマンティック類似度グラフを構築し、セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行してキーワードをスコアリングし、スコアが所定の条件を満たすキーワードを該ユーザの興味キーワードとする。本願は、上記形態でユーザが発表したブログポストをまとめて単語分割の処理を実行することで、ユーザの興味を効果的に表現できるキーワードを抽出する。
【図面の簡単な説明】
【００１６】
【図１】本願のソーシャルネットワークに基づくユーザキーワード抽出装置の好適な実施例の概略図である。
【図２】本願のソーシャルネットワークに基づくユーザキーワード抽出装置の一実施例におけるユーザキーワード抽出プログラムのプログラムモジュールの概略図である。
【図３】本願のソーシャルネットワークに基づくユーザキーワード抽出方法の好適な実施例のフローチャートである。
【発明を実施するための形態】
【００１７】
図面と実施例を組み合わせて本願の目的の実現、機能及び利点をさらに説明する。本明細書に記載された具体的な実施例は、単に本願を説明するためのものであり、本願を限定するためのものではないことが理解される。
【００１８】
本願は、ソーシャルネットワークに基づくユーザキーワード抽出装置を提供する。図１に示すように、本願のソーシャルネットワークに基づくユーザキーワード抽出装置の好適な実施例の概略図である。
【００１９】
本実施例において、ソーシャルネットワークに基づくユーザキーワード抽出装置は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ、パーソナルコンピュータ）であってもよいし、またスマートフォン、タブレットコンピュータ、電子ブックリーダー、ポータブルコンピュータなどの端末装置であってもよい。
【００２０】
該ソーシャルネットワークに基づくユーザキーワード抽出装置は、メモリ１１、プロセッサ１２、通信バス１３、及びネットワークインタフェース１４を含む。
【００２１】
ただし、メモリ１１は、フラッシュメモリ、ハードディスク、マルチメディアカード、カード型メモリ（例えば、ＳＤ又はＤＸメモリなど）、磁気メモリ、磁気ディスク、光ディスクなどを含む少なくとも１つのタイプの読み取り可能な記憶媒体を含む。メモリ１１は、いくつかの実施例では、ソーシャルネットワークに基づくユーザキーワード抽出装置のハードディスクなど、ソーシャルネットワークに基づくユーザキーワード抽出装置の内部記憶装置であってもよい。メモリ１１は、他の実施例では、ソーシャルネットワークに基づくユーザキーワード抽出装置に搭載されたプラグインハードディスク、スマートメモリカード（Ｓｍａｒｔ  Ｍｅｄｉａ(登録商標)  Ｃａｒｄ、ＳＭＣ）、セキュアデジタル（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ、ＳＤ）カード、フラッシュカード（Ｆｌａｓｈ  Ｃａｒｄ）など、ソーシャルネットワークに基づくユーザキーワード抽出装置の外部記憶装置であってもよい。さらに、メモリ１１は、ソーシャルネットワークに基づくユーザキーワード抽出装置の内部記憶装置と外部記憶装置の両方を含むこともできる。メモリ１１は、ユーザキーワード抽出プログラムなどのソーシャルネットワークに基づくユーザキーワード抽出装置にインストールされたアプリケーションソフトウェアや各種データを記憶するために用いられるだけでなく、出力されたデータや出力されるデータを一時的に記憶するためにも使用できる。
【００２２】
プロセッサ１２は、いくつかの実施例では、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）、コントローラ、マイクロコントローラ、マイクロプロセッサ、又は他のデータ処理チップであってもよく、メモリ１１に記憶されたプログラムコード又は処理データを実行するために用いられ、例えばユーザキーワード抽出プログラムの実行などである。
【００２３】
通信バス１３は、これらの構成要素間の接続通信を実現するために用いられる。
【００２４】
ネットワークインタフェース１４は、標準的な有線インタフェース、無線インタフェース（例えば、ＷＩ−ＦＩインタフェース）を任意に含んでもよく、一般的に、該装置と他の電子デバイスとの間の通信接続を確立するために用いられる。
【００２５】
図１は、構成要素１１−１４及びユーザキーワード抽出プログラムを有するソーシャルネットワークに基づくユーザキーワード抽出装置のみを示しているが、理解されるように、示された全ての構成要素を実施する必要はなく、より多くの又はより少ない構成要素を実施することも可能である。
【００２６】
場合によっては、該装置はまたユーザインタフェースを含むことができ、ユーザインタフェースはディスプレイ（Ｄｉｓｐｌａｙ）、キーボード（Ｋｅｙｂｏａｒｄ）などの入力ユニットを含むことができ、選択可能なユーザインタフェースはまた、標準的な有線インタフェース及び無線インタフェースを含むことができる。場合によっては、いくつかの実施例では、ディスプレイは、ＬＥＤディスプレイ、液晶ディスプレイ、タッチ液晶ディスプレイ及びＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ−Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ、有機発光ダイオード）タッチセンサなどであってもよい。ただし、ディスプレイは、ソーシャルネットワークに基づくユーザキーワード抽出装置で処理された情報及び視覚化されたユーザインタフェースを表示するための表示画面又は表示ユニットと適宜呼ばれてもよい。
【００２７】
図１に示す装置の実施例では、メモリ１１にユーザキーワード抽出プログラムが記憶されている。プロセッサ１２がメモリ１１に記憶されたユーザキーワード抽出プログラムを実行する時、ステップＡ、ステップＢ、ステップＣ、ステップＤ、ステップＥを実現する。
【００２８】
ステップＡ、ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得する。
【００２９】
ステップＢ、取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得する。
【００３０】
ステップＣ、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算する。
【００３１】
本実施例では、マイクロブログを例に挙げて本願の解決手段を説明する。ターゲットユーザが発表したマイクロブログのコンテンツに基づいて、該ユーザの興味や嗜好を効果的に表現できるキーワードを取得する必要がある場合、ユーザが発表したブログポストを取得して単語分割の処理を実行する。理解されるように、時間の経過とともに、ユーザの興味や嗜好が変化する可能性があるため、キーワード抽出の精度を向上させるために、発表したブログポストを時間次元でフィルタリングし、所定の時間間隔を設定し、この期間に発表したブログポストのみを分析し、例えば、過去１年間に発表したブログポストのみを分析する。当然ながら、他の実施例では、ユーザが所定の時間間隔内に発表したブログポストの数が少ない場合、過去に該ユーザが発表した全てのブログポストを分析することもできる。
【００３２】
ターゲットユーザのブログポストを取得した後、単語分割ツールを使用して、取得された各ブログポストに対して単語分割の処理を１つずつ実行する。例えば、Ｓｔａｎｆｏｒｄ中国語単語分割ツール、ｊｉｅｂａ単語分割などの単語分割ツールを使用して単語分割の処理を実行する。例えば、「昨日夕方、映画を見に行った」というブログポストのコンテンツに対して単語分割を実行すると、「昨日｜夕方｜行く｜見る｜た｜映画」の結果を得る。単語分割の処理後に単語分割結果を残し、さらに、キーワードの有効性をさらに向上させるために、単語分割結果の動詞及び／又は名詞のみを残し、副詞や形容詞などのユーザの興味を表現できない単語を削除する。例えば、上記の例では、「映画」という単語のみを残してもよい。理解されるように、単語分割の処理後に得られた結果が空の場合、対応するブログポストをフィルタリングし、単語分割結果が空でないブログポストごとに対応する単語リストを取得し、上記時間間隔内の全てのブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得し、該単語ベクトルモデルはキーワードを１つの単語ベクトルに変換するために用いられる。Ｗｏｒｄ２Ｖｅｃモデルは、単語ベクトルを計算するためのツールであり、該モデルをトレーニングしてそれを使用して単語の単語ベクトルを計算するための成熟した計算方法があるが、ここでは説明しない。
【００３３】
次いで、キーワード抽出アルゴリズムを使用して各ブログポストについてキーワードを抽出し、例えば、ＴＦ−ＩＤＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ−Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ、単語出現頻度−逆文書頻度）アルゴリズム、ＬＳＡ（Ｌａｔｅｎｔ  Ｓｅｍａｎｔｉｃ  Ａｎａｌｙｓｉｓ、潜在意味解析）アルゴリズム、ＰＬＳＡ（Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｌａｔｅｎｔ  Ｓｅｍａｎｔｉｃ  Ａｎａｌｙｓｉｓ、確率的潜在意味解析）アルゴリズムなどのキーワード抽出アルゴリズムのいずれか１つを利用して各ブログポストの単語リストに対して計算し、スコアが最も高い１つ又は複数の単語を該ブログポストに対応するキーワードとし、上記単語ベクトルモデルを使用して各キーワードを対応する単語ベクトルに変換する。或いは、１つの実施形態として、複数のキーワード抽出アルゴリズムを組み合わせてキーワードの抽出を実行し、具体的には、キーワード抽出アルゴリズムに基づいてブログポストの単語リストから該ブログポストに対応するキーワードを抽出するステップにおいて、それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする。例えば、それぞれ上記ＴＦ−ＩＤＦアルゴリズム、ＬＳＡアルゴリズム又はＰＬＳＡアルゴリズムに従って１回のキーワード抽出を実行し、そして重複するキーワードを該ブログポストに対応するキーワードとする。
【００３４】
ブログポストのコンテンツは一般的に比較的短いため、上記キーワード抽出アルゴリズムをブログポストのキーワード抽出に適用する場合、一般的に、抽出されたキーワードのノイズが大きく、かつあまりにも広範であり、ユーザの興味を正確に反映しにくいため、本実施例では、多数のブログポストに対して、上記キーワード抽出アルゴリズムを適用してキーワードを抽出してキーワード候補とし、キーワード候補集合を作成し、さらに後続のアルゴリズムに従って該キーワード集合を処理してユーザの興味を反映できるキーワードを取得する。
【００３５】
ステップＤ、前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する。
【００３６】
ターゲットユーザが上記所定の時間間隔内に発表した各ブログポストに対応するキーワードにより、該ターゲットユーザのキーワード候補集合を構成し、かつ上記単語ベクトルモデルを使用して集合内の各キーワードの単語ベクトルを計算する。上記キーワード候補集合及び単語ベクトルに基づいて、セマンティック類似度グラフを構築する。
【００３７】
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築するステップにおいて、具体的には、前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応するステップと、全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成するステップと、全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成するステップと、を含んでもよい。
【００３８】
ただし、文脈類似度を計算する時に、２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする。ただし、単語ノード間に作成されたエッジは、有向エッジであってもよいし、また無向エッジであってもよく、ただし、有向エッジの方向は、早く出現する単語ノードから遅く出現する単語ノードを指す方向であってもよい。それらは異なる利点を備え、有向エッジの特徴として、Ｐａｇｅｒａｎｋアルゴリズムの実行時に反復計算を実行する必要があり、計算量がわずかに大きく、その利点として、ノイズ除去効果が良好である。例えば、あるユーザを分析した後、取得されたキーワードは、ロナウド、レアルマドリード、ラリガ、サッカー、抽選であり、最初の４つの単語がセマンティック類似度グラフでどれを指しても、Ｐａｇｅｒａｎｋアルゴリズムのスコアリングで相互補強的役割を形成する。そのため、おやつなどの単語と他の単語が有向エッジを作成しても、反復計算において促進を形成できず、それによって「抽選」という単語に対するスコアが低くなり、この単語を除外することができる。無向エッジの場合、Ｐａｇｅｒａｎｋアルゴリズムの実行時に計算速度が速く、反復計算が不要であるが、ノイズ除去効果が不良であり、例えば、上記の例では、「抽選」という単語を除外しない場合がある。他の実施例では、他の形態によって２つの単語間のセマンティック類似度を計算してもよく、例えば、大規模コーパスに基づいてセマンティック類似度を計算する方法などであり、大規模コーパスに基づいてセマンティック類似度を計算する方法が成熟した単語間のセマンティック類似度の計算方法であるため、その具体的な原理はここでは説明しない。
【００３９】
ステップＥ、前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする。
【００４０】
セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各単語ノードをスコアリングし、単語ノードのＰａｇｅｒａｎｋ値が大きいほど、グラフで該単語ノードを指す他の単語ノード（有向エッジの場合）又は該単語ノードに接続される他の単語ノード（無向エッジの場合）が多いことを示し、さらにグラフで該単語ノードとの類似度が高い他の単語ノードが多いことを示し、該単語ノードに対応するキーワードがユーザの興味をよりよく表現できる。よって、スコアが高いキーワードをターゲットユーザの興味キーワードとする。具体的には、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとするステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数は前記第二所定数より大きい。
【００４１】
理解されるように、上記各実施例に係る所定の閾値、所定の単語数、第一所定数、第二所定数などの予め設定する必要があるパラメータは、ユーザにより実際の状況に応じて設定することができる。
【００４２】
上記実施例の提供するソーシャルネットワークに基づくユーザキーワード抽出装置は、ターゲットユーザが所定の時間間隔内に発表した各ブログポストに対して単語分割の処理を実行することで、各ブログポストに対応する単語リストを取得し、Ｗｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得し、キーワード抽出アルゴリズムに基づいてブログポストの単語リストから対応するキーワードを抽出してキーワード候補集合を構成し、上記単語ベクトルモデルに基づいて集合内の各キーワードの単語ベクトルを計算し、キーワード集合内のキーワード及び単語ベクトルに基づいてセマンティック類似度グラフを構築し、セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行してキーワードをスコアリングし、スコアが所定の条件を満たすキーワードを該ユーザの興味キーワードとする。本願は、上記形態でユーザが発表したブログポストをまとめて単語分割の処理を実行することで、ユーザの興味を効果的に表現できるキーワードを抽出する。
【００４３】
場合によっては、他の実施例では、ユーザキーワード抽出プログラムは１つ又は複数のモジュールに分割されてもよく、１つ又は複数のモジュールはメモリ１１に記憶されており、かつ１つ又は複数のプロセッサ（本実施例ではプロセッサ１２）によって実行されることにより、本願を完成させる。本願で言及されるモジュールとは、特定の機能を実行できる一連のコンピュータプログラム命令セグメントを指す。例えば、図２に示すように、本願のソーシャルネットワークに基づくユーザキーワード抽出装置の一実施例におけるユーザキーワード抽出プログラムのプログラムモジュールの概略図であり、該実施例において、ユーザキーワード抽出プログラムは、取得モジュール１０、トレーニングモジュール２０、抽出モジュール３０、グラフ構築モジュール４０及びスコアリングモジュール５０に分割されてもよく、例えば、
取得モジュール１０は、ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得するために用いられ、
トレーニングモジュール２０は、取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得するために用いられ、
抽出モジュール３０は、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算するために用いられ、
グラフ構築モジュール４０は、前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築するために用いられ、
スコアリングモジュール５０は、前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとするために用いられる。
【００４４】
取得モジュール１０、トレーニングモジュール２０、抽出モジュール３０、グラフ構築モジュール４０及びスコアリングモジュール５０が実行されることにより実現される機能又は操作ステップは、上記実施例とほぼ同じであり、ここでは説明しない。
【００４５】
さらに、本願は、ソーシャルネットワークに基づくユーザキーワード抽出方法を提供する。図３に示すように、本願のソーシャルネットワークに基づくユーザキーワード抽出方法の好適な実施例のフローチャートである。該方法は、１つの装置によって実行されてもよく、該装置は、ソフトウェア及び／又はハードウェアによって実現されてもよい。
【００４６】
本実施例では、ソーシャルネットワークに基づくユーザキーワード抽出方法は、ステップＳ１０、ステップＳ２０、ステップＳ３０、ステップＳ４０、ステップＳ５０を含む。
【００４７】
ステップＳ１０、ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得する。
【００４８】
ステップＳ２０、取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得する。
【００４９】
ステップＳ３０、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算する。本実施例では、マイクロブログを例に挙げて本願の解決手段を説明する。ターゲットユーザが発表したマイクロブログのコンテンツに基づいて、該ユーザの興味や嗜好を効果的に表現できるキーワードを取得する必要がある場合、ユーザが発表したブログポストを取得して単語分割の処理を実行する。理解されるように、時間の経過とともに、ユーザの興味や嗜好が変化する可能性があるため、キーワード抽出の精度を向上させるために、発表したブログポストを時間次元でフィルタリングし、所定の時間間隔を設定し、この期間に発表したブログポストのみを分析し、例えば、過去１年間に発表したブログポストのみを分析する。当然ながら、他の実施例では、ユーザが所定の時間間隔内に発表したブログポストの数が少ない場合、過去に該ユーザが発表した全てのブログポストを分析することもできる。
【００５０】
ターゲットユーザのブログポストを取得した後、単語分割ツールを使用して、取得された各ブログポストに対して単語分割の処理を１つずつ実行する。例えば、Ｓｔａｎｆｏｒｄ中国語単語分割ツール、ｊｉｅｂａ単語分割などの単語分割ツールを使用して単語分割の処理を実行する。例えば、「昨日夕方、映画を見に行った」というブログポストのコンテンツに対して単語分割を実行すると、「昨日｜夕方｜行く｜見る｜た｜映画」の結果を得る。単語分割の処理後に単語分割結果を残し、さらに、キーワードの有効性をさらに向上させるために、単語分割結果の動詞及び／又は名詞のみを残し、副詞や形容詞などのユーザの興味を表現できない単語を削除する。例えば、上記の例では、「映画」という単語のみを残してもよい。理解されるように、単語分割の処理後に得られた結果が空の場合、対応するブログポストをフィルタリングし、単語分割結果が空でないブログポストごとに対応する単語リストを取得し、上記時間間隔内の全てのブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得し、該単語ベクトルモデルはキーワードを１つの単語ベクトルに変換するために用いられる。Ｗｏｒｄ２Ｖｅｃモデルは、単語ベクトルを計算するためのツールであり、該モデルをトレーニングしてそれを使用して単語の単語ベクトルを計算するための成熟した計算方法があるが、ここでは説明しない。
【００５１】
次いで、キーワード抽出アルゴリズムを使用して各ブログポストについてキーワードを抽出し、例えば、ＴＦ−ＩＤＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ−Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ、単語出現頻度−逆文書頻度）アルゴリズム、ＬＳＡ（Ｌａｔｅｎｔ  Ｓｅｍａｎｔｉｃ  Ａｎａｌｙｓｉｓ、潜在意味解析）アルゴリズム、ＰＬＳＡ（Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｌａｔｅｎｔ  Ｓｅｍａｎｔｉｃ  Ａｎａｌｙｓｉｓ、確率的潜在意味解析）アルゴリズムなどのキーワード抽出アルゴリズムのいずれか１つを利用して各ブログポストの単語リストに対して計算し、スコアが最も高い１つ又は複数の単語を該ブログポストに対応するキーワードとし、上記単語ベクトルモデルを使用して各キーワードを対応する単語ベクトルに変換する。或いは、１つの実施形態として、複数のキーワード抽出アルゴリズムを組み合わせてキーワードの抽出を実行し、具体的には、キーワード抽出アルゴリズムに基づいてブログポストの単語リストから該ブログポストに対応するキーワードを抽出するステップにおいて、それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする。例えば、それぞれ上記ＴＦ−ＩＤＦアルゴリズム、ＬＳＡアルゴリズム又はＰＬＳＡアルゴリズムに従って１回のキーワード抽出を実行し、そして重複するキーワードを該ブログポストに対応するキーワードとする。
【００５２】
ブログポストのコンテンツは一般的に比較的短いため、上記キーワード抽出アルゴリズムをブログポストのキーワード抽出に適用する場合、一般的に、抽出されたキーワードのノイズが大きく、かつあまりにも広範であり、ユーザの興味を正確に反映しにくいため、本実施例では、多数のブログポストに対して、上記キーワード抽出アルゴリズムを適用してキーワードを抽出してキーワード候補とし、キーワード候補集合を作成し、さらに後続のアルゴリズムに従って該キーワード集合を処理してユーザの興味を反映できるキーワードを取得する。
【００５３】
ステップＳ４０、前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する。
【００５４】
ターゲットユーザが上記所定の時間間隔内に発表した各ブログポストに対応するキーワードにより、該ターゲットユーザのキーワード候補集合を構成し、かつ上記単語ベクトルモデルを使用して集合内の各キーワードの単語ベクトルを計算する。上記キーワード候補集合及び単語ベクトルに基づいて、セマンティック類似度グラフを構築する。
【００５５】
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築するステップにおいて、具体的には、前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応するステップと、全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成するステップと、全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成するステップと、を含んでもよい。
【００５６】
ただし、文脈類似度を計算する時に、２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする。ただし、単語ノード間に作成されたエッジは、有向エッジであってもよいし、また無向エッジであってもよく、ただし、有向エッジの方向は、早く出現する単語ノードから遅く出現する単語ノードを指す方向であってもよい。それらは異なる利点を備え、有向エッジの特徴として、Ｐａｇｅｒａｎｋアルゴリズムの実行時に反復計算を実行する必要があり、計算量がわずかに大きく、その利点として、ノイズ除去効果が良好である。例えば、あるユーザを分析した後、取得されたキーワードは、ロナウド、レアルマドリード、ラリガ、サッカー、抽選であり、最初の４つの単語がセマンティック類似度グラフでどれを指しても、Ｐａｇｅｒａｎｋアルゴリズムのスコアリングで相互補強的役割を形成する。そのため、おやつなどの単語と他の単語が有向エッジを作成しても、反復計算において促進を形成できず、それによって「抽選」という単語に対するスコアが低くなり、この単語を除外することができる。無向エッジの場合、Ｐａｇｅｒａｎｋアルゴリズムの実行時に計算速度が速く、反復計算が不要であるが、ノイズ除去効果が不良であり、例えば、上記の例では、「抽選」という単語を除外しない場合がある。他の実施例では、他の形態によって２つの単語間のセマンティック類似度を計算してもよく、例えば、大規模コーパスに基づいてセマンティック類似度を計算する方法などであり、大規模コーパスに基づいてセマンティック類似度を計算する方法が成熟した単語間のセマンティック類似度の計算方法であるため、その具体的な原理はここでは説明しない。
【００５７】
ステップＳ５０、前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする。
【００５８】
セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各単語ノードをスコアリングし、単語ノードのＰａｇｅｒａｎｋ値が大きいほど、グラフで該単語ノードを指す他の単語ノード（有向エッジの場合）又は該単語ノードに接続される他の単語ノード（無向エッジの場合）が多いことを示し、さらにグラフで該単語ノードとの類似度が高い他の単語ノードが多いことを示し、該単語ノードに対応するキーワードがユーザの興味をよりよく表現できる。よって、スコアが高いキーワードをターゲットユーザの興味キーワードとする。具体的には、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとするステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数は前記第二所定数より大きい。
【００５９】
理解されるように、上記各実施例に係る所定の閾値、所定の単語数、第一所定数、第二所定数などの予め設定する必要があるパラメータは、ユーザにより実際の状況に応じて設定することができる。
【００６０】
上記実施例の提供するソーシャルネットワークに基づくユーザキーワード抽出方法は、ターゲットユーザが所定の時間間隔内に発表した各ブログポストに対して単語分割の処理を実行することで、各ブログポストに対応する単語リストを取得し、Ｗｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得し、キーワード抽出アルゴリズムに基づいてブログポストの単語リストから対応するキーワードを抽出してキーワード候補集合を構成し、上記単語ベクトルモデルに基づいて集合内の各キーワードの単語ベクトルを計算し、キーワード集合内のキーワード及び単語ベクトルに基づいてセマンティック類似度グラフを構築し、セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行してキーワードをスコアリングし、スコアが所定の条件を満たすキーワードを該ユーザの興味キーワードとする。本願は、上記形態でユーザが発表したブログポストをまとめて単語分割の処理を実行することで、ユーザの興味を効果的に表現できるキーワードを抽出する。
【００６１】
さらに、本願の実施例は、コンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ読み取り可能な記憶媒体にユーザキーワード抽出プログラムが記憶されており、前記ユーザキーワード抽出プログラムが１つ又は複数のプロセッサによって実行されることにより、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得する操作と、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得する操作と、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算する操作と、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する操作と、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする操作と、を実現する。
【００６２】
さらに、前記ユーザキーワード抽出プログラムがプロセッサによって実行される時に、
前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応する操作と、
全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成する操作と、
全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成する操作と、を実現する。
【００６３】
さらに、前記ユーザキーワード抽出プログラムがプロセッサによって実行される時に、
２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする操作を実現する。
【００６４】
さらに、前記ユーザキーワード抽出プログラムがプロセッサによって実行される時に、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出する操作と、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする操作と、を実現する。
【００６５】
本願のコンピュータ読み取り可能な記憶媒体の具体的な実施形態は上記ソーシャルネットワークに基づくユーザキーワード抽出装置と方法の各実施例とほぼ同じであり、ここでは説明しない。
【００６６】
なお、上記の本願の実施例の番号は、単に説明のためのものであり、実施例の優劣を表すものではない。本明細書において、用語「含む」、「含有する」又はそれらの任意の他の変型は、非排他的に含むことを意図し、それにより一連の要素を含むプロセス、方法、品物や装置はそれらの要素を含むだけでなく、かつ明確に列挙された他の要素を含み、又はこのようなプロセス、方法、品物や装置に固有の要素をさらに含む。より多くの制限がない場合に、語句「１つの．．．を含む」に限定される要素は、前記要素を含むプロセス、方法、品物や装置の中に他の同じ要素がさらに存在する場合は除外されない。
【００６７】
上記実施形態の説明によって、当業者であれば、上記実施例の方法がソフトウェアと必要な汎用ハードウェアプラットフォームの方式によって実現することができ、当然のことながら、ハードウェアによって実現することもできるが、多くの場合では、前者がより好適な実施形態であることは、明らかに理解されるものである。このような理解に基づき、本願の技術的解決手段は、本質的に又は、従来技術に寄与する部分がソフトウェア製品の形で具体化することができ、該コンピュータソフトウェア製品は、上述したように記憶媒体（例えば、ＲＯＭ／ＲＡＭ、磁気ディスク、光ディスク）に記憶され、複数の命令を含み、それにより１台の端末装置（携帯電話、コンピュータ、サーバ、又はネットワーク装置など）で本願の各実施例に記載の方法を実行する。
【００６８】
以上は、本願の好適な実施例にすぎず、本願の特許請求の範囲を限定するものではなく、本明細書及び図面の記載を利用して行う同等の構造又は同等のプロセスの変換、又は他の関連技術分野における直接的又は間接的な利用の全てが、いずれも本願に属することを理解されたい。
【図１】
2019533205.tif 000003
【図２】
2019533205.tif 000004
【図３】
2019533205.tif 000005
【手続補正書】
【提出日】平成30年9月19日(2018.9.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソーシャルネットワークに基づくユーザキーワード抽出装置であって、プロセッサで実行可能なユーザキーワード抽出プログラムが記憶されているメモリと、プロセッサと、を含み、前記ユーザキーワード抽出プログラムが前記プロセッサによって実行される時、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得するステップと、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得するステップと、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算するステップと、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築するステップと、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとするステップと、を実現する
ことを特徴とするソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項２】
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する前記ステップにおいて、
前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応し、
全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成し、
全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成する
ことを特徴とする請求項１に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項３】
対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算する前記ステップにおいて、
２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする
ことを特徴とする請求項２に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項４】
前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする
ことを特徴とする請求項１または２に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項５】
スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする前記ステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数が前記第二所定数より大きい
ことを特徴とする請求項１または２に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項６】
ソーシャルネットワークに基づくユーザキーワード抽出方法において、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得し、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得し、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算し、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築し、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする
ことを特徴とするソーシャルネットワークに基づくユーザキーワード抽出方法。
【請求項７】
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築する前記ステップにおいて、
前記キーワード候補集合内のキーワードを単語ノードとし、ただし、１つのキーワードが１つの単語ノードに対応し、
全ての単語ノードを巡回し、対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算し、２つの単語ノード間の文脈類似度が所定の閾値より大きい場合、前記２つの単語ノードの間にエッジを作成し、
全ての単語ノード及び作成されたエッジで前記セマンティック類似度グラフを構成する
ことを特徴とする請求項６に記載のソーシャルネットワークに基づくユーザキーワード抽出方法。
【請求項８】
対応する単語ベクトルに基づいて、２つずつの単語ノード間の文脈類似度を計算する前記ステップにおいて、
２つの単語ノードの単語ベクトルを取得し、かつこの２つの単語ベクトル間のコサイン類似度を計算し、前記コサイン類似度を前記２つの単語ノード間の文脈類似度とする
ことを特徴とする請求項６に記載のソーシャルネットワークに基づくユーザキーワード抽出方法。
【請求項９】
前記ブログポストに含まれる単語の数が所定の単語数以上である場合、キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出する前記ステップにおいて、
それぞれ所定の複数のキーワード抽出アルゴリズムに従ってブログポストの単語リストからキーワードを抽出し、
前記複数のキーワード抽出アルゴリズムによって抽出されたキーワードにおいて重複するキーワードを該ブログポストに対応するキーワードとする
ことを特徴とする請求項６または７に記載のソーシャルネットワークに基づくユーザキーワード抽出方法。
【請求項１０】
スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとする前記ステップにおいて、
スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、
又は、スコアが所定のスコアより高いキーワードを前記ターゲットユーザの興味キーワードとし、ただし、スコアが所定のスコアより高いキーワードの数が第一所定数より大きい場合、前記第一所定数のキーワードにおける第二所定数のキーワードを前記ターゲットユーザの興味キーワードとし、前記第一所定数が前記第二所定数より大きい
ことを特徴とする請求項６または７に記載のソーシャルネットワークに基づくユーザキーワード抽出装置。
【請求項１１】
コンピュータ読み取り可能な記憶媒体であって、前記コンピュータ読み取り可能な記憶媒体にユーザキーワード抽出プログラムが記憶されており、前記ユーザキーワード抽出プログラムが少なくとも１つのプロセッサによって実行されることにより、
ターゲットユーザが所定の時間間隔内に発表したブログポストを取得し、所定の単語分割ツールを使用して取得されたブログポストに対して単語分割の処理を実行し、各ブログポストに対応する単語リストをそれぞれ取得するステップと、
取得された各ブログポストに対応する単語リストをＷｏｒｄ２Ｖｅｃモデルに入力してトレーニングすることで、単語ベクトルモデルを取得するステップと、
キーワード抽出アルゴリズムに基づいて、ブログポストの単語リストから該ブログポストに対応するキーワードを抽出し、前記ターゲットユーザが前記所定の時間間隔内に発表したブログポストに蓄積されたキーワードにより、前記ターゲットユーザのキーワード候補集合を構成し、かつ前記単語ベクトルモデルに基づいて、前記キーワード候補集合内の各キーワードの単語ベクトルを計算するステップと、
前記キーワード候補集合及び前記キーワード候補集合内の各キーワードに対応する単語ベクトルに基づいて、セマンティック類似度グラフを構築するステップと、
前記セマンティック類似度グラフでＰａｇｅｒａｎｋアルゴリズムを実行して各キーワードをスコアリングし、スコアが所定の条件を満たすキーワードを前記ターゲットユーザの興味キーワードとするステップと、を実現する
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【国際調査報告】
2019533205.tif 000006
2019533205.tif 000007
2019533205.tif 000008
2019533205.tif 000009