JP6306951B2 - ソーシャルネットワークサービスにおけるノイズ投稿の分類方法およびシステム - Google Patents

ソーシャルネットワークサービスにおけるノイズ投稿の分類方法およびシステム Download PDF

Info

Publication number
JP6306951B2
JP6306951B2 JP2014127175A JP2014127175A JP6306951B2 JP 6306951 B2 JP6306951 B2 JP 6306951B2 JP 2014127175 A JP2014127175 A JP 2014127175A JP 2014127175 A JP2014127175 A JP 2014127175A JP 6306951 B2 JP6306951 B2 JP 6306951B2
Authority
JP
Japan
Prior art keywords
sns
data
sns client
compression rate
feature amount
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.)
Active
Application number
JP2014127175A
Other languages
English (en)
Other versions
JP2016006583A (ja
Inventor
新吾 堀内
新吾 堀内
佑輔 小林
佑輔 小林
正寿 西村
正寿 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2014127175A priority Critical patent/JP6306951B2/ja
Publication of JP2016006583A publication Critical patent/JP2016006583A/ja
Application granted granted Critical
Publication of JP6306951B2 publication Critical patent/JP6306951B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ソーシャルネットワークサービスにおけるノイズ投稿の分類方法およびシステムに関する。具体的には、Twitter(登録商標)などのソーシャルネットワークサービス(以下、SNSという)における投稿データに関し、当該サービスに対して投稿を行ったり、他人の投稿を閲覧したりするためのクライアントアプリケーションソフトウェア(例えば、Twitter for Android(登録商標))を目的別に分類するための学習(分類)モデルを生成する。分類モデルにより、未知のSNSクライアントを分類し、特に、不要な投稿データ(ノイズ)を出力するSNSクライアントを抽出する方法およびシステムに関する。
従来、SNSにおいて投稿される投稿データを収集し、分析することでマーケティングなどに活用することが行われている。例えば、特許文献1には、投稿データを電子掲載する際の適合度合いを評価値として指標化し、当該評価値に基づいて投稿データをランク分けすることにより分析する装置が開示されている。特許文献1における評価は、投稿データにおける文章を複数の単語に分解し、予め定義したスコア設定テーブルと各単語を照合し、単語単位でスコアを算出した後、文章全体の総スコアを算出するものである。例えば、単語単位のスコアはいわゆる重み付け値であり、不適切な単語に対し大きなスコアを設定することで、不適切な単語を多く含む投稿データの総スコアはより大きくなる。これにより、投稿データをランク分けし、電子掲載の際の適合度合いを分析することできる。
特開2006−268303号公報
しかしながら、特許文献1における分析を行うには、投稿データ中に、ある程度の数の単語を必要とし、単語数の少ないSNS投稿データを分析することには適していない。
また、近年、SNSの利用は複雑化しており、投稿データの種類も、定型文の自動投稿や、広告・キャンペーンなど様々である。また、投稿データの分析目的によって、ノイズの定義も変わってくる。加えて、投稿アプリケーションを生成するためのAPIは公開されており、誰でもSNSクライアントを生成することができる。すなわち、常に新しい投稿データやノイズが発生し、加えて、未知のSNSクライアントも新たに発生することから、既存の静的なデータ参照では判別しきれないものが出てくることが想定される。このような状況において、投稿データごとに分析を行ってノイズを特定するためには、SNSクライアントによる投稿データのような個々の文章が短いものは、分析のインプットデータとして適さない。
また、ユーザは用途に応じて、SNSクライアントを使い分けている(分類している)傾向がある(例えば、分類1:ユーザ本人の投稿は、Twitterなどの投稿アプリケーション、分類2:ゲームアプリケーションのハイスコア取得、所定の電子書籍を読み終えた、などユーザの行動に伴う投稿は、行動記録アプリケーション、分類3:キャンペーン用投稿は、各企業の専用アプリケーション、分類4:自動投稿は、botアプリケーションなど)。なお、このSNSクライアントの分類は、分類1がユーザの意思が最も強く、数字が多くなるにつれ弱くなり、分類4が最も弱いと考えることができる。分類2は、その内容や投稿タイミングによりユーザの思考を読み取ることができ、分類3は、ユーザのある程度の嗜好を判断することができる。分類4においては、ロボットによる自動投稿のため、ユーザ意思はないと言える。すなわち、投稿データにおけるユーザ意思が強いほど、ユーザにとっては重要度が高い投稿であり、マーケティングに活用する企業などにとっては有用性が高い投稿であるといえる。
以上より、SNSクライアントによる投稿データ単位ではなく、SNSクライアント単位での分析を行い、ノイズを出力するSNSクライアントを抽出する方法およびシステムが求められている。
そこで本発明は、SNSクライアントの分類に着目し、前述した課題を解決するために、SNSにおける投稿データに基づいて、前記投稿データを出力するSNSクライアントを分類する方法を実行するためのコンピュータ実行可能命令を有するコンピュータプログラムであって、前記方法は、
前記投稿データを取得するステップと、
前記取得した投稿データから、SNSクライアント識別子、アカウント識別子、および本文内容を少なくとも抽出し、前記SNSクライアントごとの特徴量を算出するステップであって、前記特徴量は、平均圧縮率および総圧縮率を少なくとも含み、前記平均圧縮率は、前記SNSクライアント識別子および前記アカウント識別子ごとに、前記本文内容を結合し、かつ圧縮した場合の、前記SNSクライアント識別子ごとの平均圧縮率であり、前記総圧縮率は、前記SNSクライアント識別子ごとに前記本文内容を結合し、かつ圧縮した場合の圧縮率である、ステップと、
前記特徴量を学習モデルのインプットデータとして、前記取得した投稿データを出力したSNSクライアントを分類するステップであって、前記学習モデルは、前記SNSにおける投稿データから複数の前記SNSクライアントの前記特徴量を説明変数、および前記SNSクライアントの分類を目的変数として生成される、ステップと
を備えたことを特徴とする。
また、前段落に記載の発明において、前記特徴量は、平均投稿数をさらに含み、前記平均投稿数は、前記SNSクライアント識別子および前記アカウント識別子ごとに算出される投稿数の、前記SNSクライアント識別子ごとの平均投稿数であることを特徴とする。
さらに、前段落に記載の発明において、前記抽出することは、前記取得した投稿データからさらに投稿日時を抽出することを含み、前記特徴量は、投稿間隔平均標準偏差をさらに含み、前記投稿間隔平均標準偏差は、前記投稿日時から、前記SNSクライアント識別子および前記アカウント識別子ごとに投稿間隔を算出し、それぞれの標準偏差から算出される前記SNSクライアント識別子ごとの平均値であることを特徴とする。
以上説明したように、本発明により、SNSにおける投稿データに基づいて、当該投稿データを出力するSNSクライアントを目的別に分類するための分類モデルを生成し、未知のSNSクライアントを分類することができる。これにより、特に、ノイズを出力するSNSクライアントを抽出することができる。また、ある目的を以って投稿データを分析する場合に、ノイズとなる投稿データを出力するSNSクライアントを一括して分割対象から除外することが可能となり、従来と比較し、より効率的に投稿データの分析を行うことができる。さらに、分類モデルを学習させることで、今後新たに発生する種類のSNSクライアントにも対応することができる。
本発明の一実施形態に係るシステム構成を示す図である。 本発明の一実施形態に係るSNSクライアントデータ記憶部に格納されたデータを示す図である。 本発明の一実施形態に係る教師データ記憶部に格納されたデータを示す図である。 本発明の一実施形態に係る分類モデルを示す図である。 本発明の一実施形態に係る分類モデルデータ記憶部に格納されたデータを示す図である。 本発明の一実施形態に係る分類モデル生成処理を示すフローチャートである。 本発明の一実施形態に係るSNSクライアント分類処理を示すフローチャートである。 本発明の一実施形態における実行する学習パターンの判断方法を示すフローチャートである。
以下、添付した図面を参照して、SNSにおける投稿データに基づいて、当該投稿データを出力するSNSクライアントを目的別に分類するための分類モデルを生成し、未知のSNSクライアントを分類することができるSNSクライアント分類システムおよび方法を詳細に説明する。
まず始めに、本システムの概要を説明する。図1は、本発明の一実施形態に係るシステム構成を示す図である。図1において、データセンタなどに設置された、各SNS提供企業などが管理するSNS投稿データ蓄積サーバ100は、インターネット104を介して、ユーザ端末102a、102b・・・、および102n(以下、まとめて「ユーザ端末102」という)、ならびにモバイル端末103a、103b・・・、および103n(以下、まとめて「モバイル端末103」という)と通信を行うように構成されている。
SNSを利用するユーザは、ユーザ端末102、またはモバイル端末103を使用して各SNS投稿データ蓄積サーバ100が提供するSNSを利用する。各ユーザにより投稿された投稿データは、SNS投稿データ蓄積サーバ100に送信され、そのデータベースに集約される。なお、SNS投稿データ蓄積サーバ100は、図1において、単一のサーバとして示されているが、複数台のサーバによる分散システムとして構成することも可能である。また、SNS投稿データ蓄積サーバ100は、SNSクライアントごとに存在するため、実際は、インターネット104に多くのSNS投稿データ蓄積サーバ100が接続されている。
また、インターネット104には、SNSクライアント分類サーバ101が接続されている。各SNS投稿データ蓄積サーバ100に集約された投稿データは、SNSクライアント分類サーバ101に送信され、SNSクライアント分類サーバ101上で分類モデルを用いて、SNSクライアント単位に分類される。
次に、SNSクライアント分類サーバ101の構成を詳細に説明する。なお、図1では、単一のサーバコンピュータを想定し、必要な機能構成だけを示している。
SNSクライアント分類サーバ101は、CPU110に、システムバス115を介してRAM111、入力装置112、出力装置113、通信制御装置114、および不揮発性記憶媒体(ROMやHDDなど)で構成される記憶装置116が接続された構成を有する。記憶装置116は、SNSクライアント分類システムの各機能を奏するためのソフトウェアプログラムを格納するプログラム格納領域と、当該ソフトウェアプログラムが取り扱うデータを格納するデータ格納領域とを備えている。以下に説明するプログラム格納領域の各手段は、実際は独立したソフトウェアプログラム、そのルーチンやコンポーネントなどであり、CPU110によって記憶装置116から呼び出された後、RAM111のワークエリアに展開され、かつデータベースなどを適宜参照しながら順次実行されることで、各機能を奏するものである。
記憶装置116におけるデータ格納領域は、本発明に関連するものだけを列挙すると、SNSクライアントデータ記憶部130、教師データ記憶部131、分類モデルデータ記憶部132、および投稿データ記憶部133を備える。いずれも、記憶装置116内に確保された一定の記憶領域である。
SNSクライアントデータ記憶部130は、投稿データを出力するSNSクライアント(例えば、Twitterなどのアプリケーション)に関するデータを格納する。図2は、本発明の一実施形態に係るSNSクライアントデータ記憶部130に格納されたデータを示す図である。図2におけるSNSクライアントデータは、SNSクライアントの名称を示す「クライアント名」、SNSクライアントを目的別に分類する「カテゴリID」とその内容を示す「カテゴリ名」を含む。「カテゴリID」は、例えば、SNSクライアントが、Twitterなどのユーザ本人による投稿データを出力する投稿アプリケーションの場合は「1」、ゲームアプリケーションのハイスコア取得などユーザの行動に伴う投稿データを出力する行動記録アプリケーションの場合は「2」、キャンペーン用の投稿データを出力する各企業の専用アプリケーションの場合は「3」、一定時間ごとに辞書に登録された定型文を自動出力するbotアプリケーションの場合は「4」を格納する。この場合、カテゴリIDの数値が少ないほど、ユーザ意思が強い投稿データを出力するSNSクライアントであると考えることができる。そのため、例えば、ユーザ意思の弱いカテゴリID「4」の投稿データはノイズデータであると考えられ、フィルタリングにより非表示対象にするなどといった実施形態が想定される。なお、SNSクライアントデータは、投稿データに含まれる「クライアント名」を抽出することにより生成されるが、抽出時点では「カテゴリID」および「カテゴリ名」を定めることができないため、両項目はデータレコード生成時点では空データである。レコード生成後、管理者などにより、「カテゴリID」および「カテゴリ名」に対しある程度のデータ(全てである必要はなく、学習に必要な最低限のデータであればよい)が手動登録され、後述する学習処理を行うことで、学習後のデータを改めて登録することもできる。
教師データ記憶部131は、分類モデルに対する教師データを格納する。図3は、本発明の一実施形態に係る教師データ記憶部131に格納されたデータを示す図である。図3における教師データは、「クライアント名」、各特徴量、および「カテゴリID」を含む。各特徴量は、「平均圧縮率」、「総圧縮率」、「投稿間隔平均標準偏差」、および「平均投稿数」であり、これらが分類モデルを生成するための説明変数となる。なお、各特徴量の算出については後述する。また、各特徴量の説明変数に対し、「カテゴリID」が目的変数となる。これらに基づいて、次項に示す分類モデルデータが生成されることになる。なお、本データにおけるカテゴリIDについても、前項のSNSクライアントデータのカテゴリID同様、後述する学習処理を行うことで、学習後のデータを改めて登録することもできる。
分類モデルデータ記憶部132は、教師データに基づいて生成される学習(分類)モデルデータを格納する。本発明における分類モデルは、説明変数(特徴量)をインプットとし、説明変数によって目的変数(カテゴリID)が説明できるかを定量的に分析する(回帰分析)、二値分類器である。二値分類器は、様々な従来技術(線形回帰、決定木、ロジスティック回帰、ニューラルネットワーク、サポートベクターマシン(SVM)、パーセプトロンなど)を用いて実現することができる。
図5は、本発明の一実施形態に係る分類モデルデータ記憶部132に格納されたデータを示す図である。また、図4は、本発明の一実施形態に係る分類モデルを示す図である。図4の分類モデルには決定木を用いている。図4の分類モデルに対応するデータが図5の分類モデルデータである。図5における分類モデルデータは、各ツリーノードを一意に識別させる「ノードID」、各ノードIDの親ノードIDを示す「親ノードID」、同一の親ノードを持つノード間の順序を示す「兄弟間順序」、各ノード内容を示す「内容」、および「カテゴリID」を含む。「兄弟間順序」は、本実施形態では、同一の親ノードに対してYesのエッジにぶら下がるノードを「1」、Noのエッジにぶら下がるノードを「2」としている。同一の親ノードに対してエッジの種類がさらに多い場合は、例えば、左のノードから1、2、3・・・と番号を割り当てることができる。
図5の分類モデルを用いて図4の分類モデルデータを説明すると、ルートノード[平均圧縮率<0.78]は「ノードID」が「0」であり、親ノードは存在しないため、「親ノードID」および「兄弟間順序」は空データである。
次に、ルートノードの子ノードである「平均投稿数<5」および「平均投稿数<2.7」の「ノードID」は、各々、「1」および「6」である。両ノードの「親ノードID」は、ルートノードである「0」が格納される。また、「兄弟間順序」は、各々、Yesのエッジにぶら下がるノード「平均投稿数<5」は「1」、Noのエッジにぶら下がるノード「平均投稿数<2.7」は「2」が格納される。
同様に、ノード「平均投稿数<5」の子ノードである「自動投稿」および「総圧縮率<=0.55」の「ノードID」は、各々、「2」および「3」である。ここで、ノード「自動投稿」は、終端ノード(図4上では二重線のブロックとして示される)であり、学習対象であるSNSクライアントが、カテゴリID「4」で示されるbotアプリケーションに分類されることを示す。そのため、「カテゴリID」には「4」が格納される。その他のノードも、同様に構成される。なお、図2、3、および5における各データは一実施形態であり、データ項目の追加、削除を妨げるものではない。
投稿データ記憶部133は、各SNS投稿データ蓄積サーバ100から提供された投稿データを格納する。投稿データについては後述する。
次に、記憶装置116におけるプログラム格納領域に格納されているソフトウェアプログラムは、本発明に関連するものだけを列挙すると、投稿データ取得手段120、SNSクライアントデータ生成手段121、特徴量算出手段122、教師データ生成手段123、分類モデルデータ生成手段124、およびSNSクライアント分類手段125を備えている。これらの手段は、CPU110によって実行される。
投稿データ取得手段120は、各SNS投稿データ蓄積サーバ100から提供され、投稿データ記憶部133に格納されている投稿データを取得する。
SNSクライアントデータ生成手段121は、取得された投稿データからSNSクライアント名を抽出し、当該SNSクライアント名に基づいてSNSクライアントデータを生成し、SNSクライアントデータ記憶部130に格納する。
特徴量算出手段122は、取得された投稿データからSNSクライアント識別子、アカウント識別子、本文内容、および投稿日時などを抽出し、各特徴量(平均圧縮率、総圧縮率、投稿間隔平均標準偏差、平均投稿数)を算出する。
教師データ生成手段123は、生成されたSNSクライアントデータおよび算出された各特徴量から教師データを生成し、教師データ生成手段123に格納する。
分類モデルデータ生成手段124は、教師データの各特徴量を説明変数、およびカテゴリIDを目的変数として、分類(学習)モデルデータを生成し、分類モデルデータ記憶部132に格納する。
SNSクライアント分類手段125は、分類対象のSNSクライアントに係る各特徴量を分類モデルのインプットとして、SNSクライアントを分類する。また、SNSクライアント分類手段125は、分類結果を、SNSクライアントデータ記憶部130、および教師データ生成手段123に反映することもできる。
次に、本発明の分類モデル生成処理について流れに沿って説明する。図6は、本発明の一実施形態に係る分類モデル生成処理を示すフローチャートである。まず、ステップ101にて、投稿データ取得手段120は、各SNS投稿データ蓄積サーバ100から提供され、投稿データ記憶部133に格納されている投稿データを取得する。ここで、投稿データの取得は、一実施形態において、SNSクライアント名、アカウント名(投稿ユーザ名)、本文内容、投稿日時などがソースコード中に埋め込まれた電子ファイルを、SNS投稿データ蓄積サーバ100から受信することである。なお、SNSクライアント名およびアカウント名は、それぞれ、SNSクライアントおよびアカウントを識別できるものであればよく、IDなどを含む任意の識別子のことである。また、投稿データの取得は、特定の期間に投稿されたデータなど取得条件を絞り込むことができる。他の実施形態では、投稿データ自体が予め絞り込まれたデータである。
投稿データを取得すると、SNSクライアントデータ生成手段121は、取得された投稿データからSNSクライアント名を抽出し、当該SNSクライアント名に基づいて、SNSクライアントデータ(図2)を生成する(ステップ102)。生成されたSNSクライアントデータは、SNSクライアントデータ記憶部130に格納される。ここで、SNSクライアントデータにおける「カテゴリID」および「カテゴリ名」は、データ生成時点では未だ分類されていないため、空データである。しかしながら、以降の分類(学習)処理のため、SNSクライアントデータの全て、または所在が明らかな一部のSNSクライアントに係るデータの「カテゴリID」および「カテゴリ名」に対し、データを手動登録することができる。この手動登録したカテゴリデータを初期値として、以降の分類(学習)を行うことになる。
次に、投稿データを取得すると、特徴量算出手段122は、取得された投稿データからSNSクライアント名、アカウント名、本文内容、投稿日時などを抽出し、各特徴量(平均圧縮率、総圧縮率、投稿間隔平均標準偏差、平均投稿数)を算出する(ステップ103)。各特徴量を詳細に説明する。
平均圧縮率は、SNSクライアントおよびアカウントごとに、投稿データ(本文内容)を圧縮した場合の、SNSクライアントごとの平均圧縮率である。同一アカウントが、所定のSNSクライアントを用いて同一または類似する投稿をした場合、圧縮率が高くなり(圧縮後のファイルサイズが小さくなり)、このようなSNSクライアントおよびアカウントの組み合わせが多い場合、それらの平均圧縮率も高くなる。例えば、SNSクライアントが、一定時間ごとに辞書に登録された定型文を自動出力するbotアプリケーションである場合は、アカウント毎の投稿データが同一または類似する傾向にあり、その圧縮率も高くなる。なお、botアプリケーションは、一定時間ごとのみならず、指定日時などユーザが予め設定したタイミングで、設定した内容を投稿できるものである。また、一定時間とあるが、厳密には投稿タイミングごとに数秒程度のランダム時間を付与した上で、自動投稿する、などといったものもある。なお、圧縮は、ある実施形態では、投稿データにおける本文内容(文字列)を結合し、一般的な圧縮アルゴリズムを用いて行う。そのため、平均圧縮率の計算は、同一のSNSクライアントかつ同一のアカウントごとに、投稿データ中の本文内容を結合した上で圧縮し、それぞれの圧縮率に対し、同一のSNSクライアントごとに平均値(これがSNSクライアントごとの平均圧縮率である)をとることにより行われる。
一実施形態において、SNSクライアント集合Cに含まれるSNSクライアントCごとかつアカウントごとの平均圧縮率V1C(c∈C)は、次の数式により算出することができる。
Figure 0006306951
ここで、avea∈A()は、アカウント集合Aに含まれるアカウントaごとに、引数の平均値を算出することを表す。また、zip(str)は文字列strに対して圧縮処理を行うことを表す。Tw(C,a)はSNSクライアントCがアカウントaにより投稿した投稿データ集合である。Σt∈Tw(C,a)str(t)は、投稿データ集合Tw(C,a)に含まれる投稿データtの全ての文字列strを連結することを表す。
総圧縮率は、SNSクライアントごとに投稿データを圧縮した際の圧縮率である。同一のSNSクライアントを使用するユーザ間で類似する投稿を行った場合に圧縮率は高くなる。総圧縮率の計算は、同一のSNSクライアントごとに投稿データ中の本文内容を結合した上で圧縮することにより行われ、それぞれの圧縮率が、SNSクライアントごとの総圧縮率である。
一実施形態において、SNSクライアント集合Cに含まれるSNSクライアントCごとの総圧縮率V2C(c∈C)は、次の数式により算出することができる。
Figure 0006306951
各表記の意味は、平均圧縮率V1C(c∈C)の説明において示した通りである。
投稿間隔平均標準偏差は、投稿データ中の投稿日時から、SNSクライアントおよびアカウントごとに投稿間隔を算出し、それぞれの標準偏差から算出されるSNSクライアントごとの平均値である。SNSクライアントが、一定時間ごとに自動投稿するbotアプリケーションの場合は、投稿間隔が一定であるため、投稿間隔にばらつきが少なく、標準偏差およびその平均値も小さくなる。なお、ここで標準偏差を用いているのは、現在のbotアプリケーションには、一定時間ごとに投稿するものであっても、厳密には、投稿タイミングごとに数秒程度のランダム時間を付与した上で、自動投稿するものもあるためである。投稿間隔平均標準偏差の計算は、同一のSNSクライアントかつ同一のアカウントごとに、投稿データから取得された投稿日時を時系列に並べた上で、投稿間隔を算出し、当該投稿間隔の標準偏差を求め、それぞれの標準偏差に対し、同一のSNSクライアントごとに平均値(これがSNSクライアントごとの投稿間隔平均標準偏差である)をとることにより行われる。
一実施形態において、SNSクライアント集合Cに含まれるSNSクライアントCごとかつアカウントごとの投稿間隔平均標準偏差V3C(c∈C)は、次の数式により算出することができる。
Figure 0006306951
ここで、avea∈A()は、アカウント集合Aに含まれるアカウントaごとに、引数の平均値を算出することを表す。また、stddevt∈Tw(C,a)()は、SNSクライアントCごとかつアカウントaごとの投稿データ集合Tw(C,a)に含まれる投稿データtごとに、引数の標準偏差を算出することを表す。minu t ediff(t,tj)は、投稿データtとtとの投稿時間の差を分単位で算出することを表す。
平均投稿数は、SNSクライアントおよびアカウントごとに算出される投稿数(投稿数)の、SNSクライアントごとの平均投稿数である。キャンペーン用の投稿を行うアプリケーションは、投稿数が少なくなる傾向がある。平均投稿数の計算は、同一のSNSクライアントかつ同一のアカウントごとに、投稿数をカウントし、同一のSNSクライアントごとに平均値(これがSNSクライアントごとの平均投稿数である)をとることにより行われる。
一実施形態において、SNSクライアント集合Cに含まれるSNSクライアントCごとかつアカウントごとの平均投稿数V4C(c∈C)は、次の数式により算出することができる。
Figure 0006306951
ここで、avea∈A()は、アカウント集合Aに含まれるアカウントaごとに、引数の平均値を算出することを表す。また、n(Tw(C,a))は、SNSクライアントCごとかつアカウントaごとの投稿データ集合Tw(C,a)の要素数である。
図6の処理フローに戻り、ステップ103において各特徴量を算出すると、教師データ生成手段123は、ステップ102で生成されたSNSクライアントデータ、およびステップ103で算出された各特徴量から教師データ(図3)を生成する(ステップ104)。生成された教師データは、教師データ記憶部131に格納される。図3における「クライアント名」および「カテゴリID」は、SNSクライアントデータ(図2)からコピーすることによりデータを格納することが出来る。なお、一実施形態において、「クライアント名」および「カテゴリID」の紐付けは分析担当者が行うこともできるまた、各特徴量(平均圧縮率、総圧縮率、投稿間隔平均標準偏差、平均投稿数)は、ステップ103において算出された値そのものである。
次に、分類モデルデータ生成手段124は、ステップ104で生成された教師データの各特徴量を説明変数、およびカテゴリIDを目的変数として、分類(学習)モデルデータ(図5)を生成する(ステップ105)。生成された分類モデルデータは、分類モデルデータ記憶部132に格納される。分類モデルデータから示すことができる分類モデル(図4)は、いわゆる決定木であり、一般的な決定木生成アルゴリズムを用いて生成される。分類モデルデータの詳細説明、および分類モデルデータと分類モデルの関係については上述した通りである。また、分類モデル生成時の説明変数として用いられる各特徴量は、必ずしも全てを用いる必要はない。例えば、平均圧縮率および総圧縮率のみを説明変数として、学習モデルを生成することもできる。ステップ105の後、本処理は終了する。
次に、本発明のSNSクライアント分類処理について流れに沿って説明する。図7は、本発明の一実施形態に係るSNSクライアント分類処理を示すフローチャートである。まず、ステップ201にて、投稿データ取得手段120は、分類対象とするSNSクライアントに係る投稿データ(以下、分類対象投稿データという)を投稿データ記憶部133から取得する。投稿データについての説明は、ステップ101のものと同様である。
次に、分類対象投稿データを取得すると、特徴量算出手段122は、取得された分類対象投稿データからSNSクライアント名、アカウント名、本文内容、投稿日時などを抽出し、各特徴量(平均圧縮率、総圧縮率、投稿間隔平均標準偏差、平均投稿数)を算出する(ステップ202)。各特徴量についての説明もステップ103のものと同様である。
分類対象投稿データの各特徴量を算出すると、SNSクライアント分類手段125は、算出された各特徴量を、ステップ105で生成した分類モデルのインプットとして、分類対象のSNSクライアントを分類する。分類方法は、分類モデルにおける各ノード(終端ノードを除く)および各ノードに対するエッジを条件式(例えば、if文や、switch文)として考え、分類対象のSNSクライアントの各特徴量を用いて、ルートノードから各条件に沿って進み、いずれかの終端ノードに辿りつくことにより行われる。辿りついた終端ノードに係るカテゴリが、分類対象のSNSクライアントが分類されたカテゴリである。
ステップ203において、分類対象のSNSクライアントが分類されると、SNSクライアント分類手段125は、その分類結果(カテゴリIDおよびカテゴリ名)、およびステップ202で算出された各特徴量を、SNSクライアントデータ記憶部130、および教師データ生成手段123に反映することができる(ステップ204および205)。これにより、再度、分類モデル生成処理(図6)を実行することにより、分類モデルを更新(学習)することもできる。ステップ205の後、本処理は終了する。なお、初期値のまま分類モデルを更新しない場合は、ステップ204および205は実施せず、ステップ203の後、本処理は終了する。
なお、分類モデルを更新(学習)するか否か、どのような学習を行うかについては、所定のルールに従って、実行する学習パターンを判断することができる。図8は、本発明の一実施形態における実行する学習パターンの判断方法を示すフローチャートである。まず、ステップ301において、分析する投稿データの投稿期間が一定範囲の固定か否かを判断する。様々な投稿期間のデータに対して繰り返し分析を行う場合は、Noルートに進む。一方、分析する投稿データの投稿期間が一定範囲の固定であると判断されると、Yesルートに進み、以下の実行パターン1(非学習パターン)のルールに則って、図7の分類処理を実行することができる。
実行パターン1(非学習パターン)
一度、分類モデルを生成した後、当該分類モデルを用いてSNSクライアントを分類するが、分類モデルの学習は行わない。すなわち、分類結果や各特徴量の反映(ステップ204および205の実行)をせず、分類モデル生成処理(図6)が初回時に実行されるのみである。
一方、ステップ301において、分析する投稿データの投稿期間が一定範囲の固定でないと判断されると、Noルートに進み、過去データの保存領域が十分に確保できるか否かを判断する(ステップ302)。分類モデルの学習の際、過去データを用いることで、より精度の高い分類や、細かい分類が可能となる。しかしながら、そのためには過去データを保存しておくデータ領域が必要となる。過去データの保存量は、求める分類の精度などに基づいて定めることができ、過去データが定めた保存量を上回る場合は、古いものから順に削除することが出来る。
ステップ302において、過去データの保存領域が十分に確保できないと判断されると、Noルートに進み、以下の実行パターン2(未分類SNSクライアント学習パターン)のルールに則って、図7の分類処理を実行することができる。
実行パターン2(未分類SNSクライアント学習パターン)
第1の期間を対象として分類モデルを用いてSNSクライアントを分類した後、第1の期間とは別の第2の期間に未知のSNSクライアントが所定数以上発生したことを条件に、第2の期間を対象としてSNSクライアントの分類を行う。第2の期間を対象とした分類の際、分類対象が既知のSNSクライアントの場合は、前回の分類において既に教師データ記憶部131に格納されている各特徴量を用いて分類モデルの更新を行う。一方、分類対象が未知のSNSクライアントの場合は、投稿データ記憶部133に格納された投稿データから各特徴量を算出する。更新した分類モデルのインプットとして、算出した未知のSNSクライアントの各特徴量を用いて、未知のSNSクライアントの分類を行う。
一方、ステップ302において、過去データの保存領域が十分に確保できると判断されると、Yesルートに進み、投稿データに対するより精度の高い分類が必要か否かを判断する(ステップ303)。ステップ303において、投稿データに対するより精度の高い分類が必要ないと判断されると、Noルートに進み、以下の実行パターン3(全学習パターン)のルールに則って、図7の分類処理を実行することができる。
実行パターン3(全学習パターン)
第1の期間を対象として分類モデルを用いてSNSクライアントを分類した後、第1の期間とは別の第2の期間に投稿データが所定数以上発生したことを条件に、第2の期間を対象としてSNSクライアントの分類を行う。第2の期間を対象とした分類の際、分類対象のSNSクライアントが既知であるか未知であるかに関わらず、投稿データ記憶部133に格納された投稿データから各特徴量を算出する。前回の分類において既に教師データ記憶部131に格納されている各特徴量を用いて分類モデルの更新を行い、更新した分類モデルのインプットとして、算出した既知および未知のSNSクライアントの各特徴量を用いて、既知および未知のSNSクライアントの分類を行う。
なお、図8に示す実行する学習パターンの判断方法は、あくまでも一実施形態であり、本発明は、これらの判断および学習パターンに限定されない。また、投稿データの分析に対して過去データを考慮したり、分析を所定の期間別に行ったりすることで、以下のようにSNSクライアントをさらに細かく分類することもできる。
実行パターン4(過去データ考慮学習パターン)
分類モデルを用いてSNSクライアントを分類した後、当該SNSクライアント分類結果が以前の分類結果と同一であった場合、分類結果および各特徴量の反映を行い、再度、分類モデル生成処理を実行することで、分類モデルの学習を行う。SNSクライアント分類結果が以前の分類結果と同一である場合のみ学習が行われるため、分類結果のブレに対応することができ、より精度の高い分類が可能となる。
実行パターン5(期間別分類パターン)
SNSクライアントデータ(図2)および教師データ(図3)に期間の概念を持たせ、期間ごとに分類する。すなわち、同一のSNSクライアントであっても、期間ごとに、当該期間における投稿データから各特徴量が算出され、個別のカテゴリに分類される。例えば、SNSクライアント「Patent」は、期間「2014年3月」においてはカテゴリ「本人」であるが、「2014年4月」では、カテゴリ「自動投稿」であるといった分類をすることができる。

Claims (5)

  1. ソーシャルネットワークサービス(SNS)における投稿データに基づいて、前記投稿データを出力するSNSクライアントをコンピュータが分類する方法であって、前記方法は、
    前記コンピュータが、前記投稿データを取得するステップと、
    前記コンピュータが、前記取得した投稿データから、SNSクライアント識別子、アカウント識別子、および本文内容を少なくとも抽出し、前記SNSクライアントごとの特徴量を算出するステップであって、前記特徴量は、平均圧縮率および総圧縮率を少なくとも含み、前記平均圧縮率は、前記SNSクライアント識別子および前記アカウント識別子ごとに、前記本文内容を結合し、かつ圧縮した場合の、前記SNSクライアント識別子ごとの平均圧縮率であり、前記総圧縮率は、前記SNSクライアント識別子ごとに前記本文内容を結合し、かつ圧縮した場合の圧縮率である、ステップと、
    前記コンピュータが、前記特徴量を学習モデルのインプットデータとして、前記取得した投稿データを出力したSNSクライアントを分類するステップであって、前記学習モデルは、前記SNSにおける投稿データから複数の前記SNSクライアントの前記特徴量を説明変数、および前記SNSクライアントの分類を目的変数として生成される、ステップと
    を備えたことを特徴とする方法。
  2. 前記特徴量は、平均投稿数をさらに含み、前記平均投稿数は、前記SNSクライアント識別子および前記アカウント識別子ごとに算出される投稿数の、前記SNSクライアント識別子ごとの平均投稿数であることを特徴とする請求項1に記載の方法。
  3. 前記抽出することは、前記取得した投稿データからさらに投稿日時を抽出することを含み、前記特徴量は、投稿間隔平均標準偏差をさらに含み、前記投稿間隔平均標準偏差は、前記投稿日時から、前記SNSクライアント識別子および前記アカウント識別子ごとに投稿間隔を算出し、それぞれの標準偏差から算出される前記SNSクライアント識別子ごとの平均値であることを特徴とする請求項2に記載の方法。
  4. ソーシャルネットワークサービス(SNS)における投稿データに基づいて、前記投稿データを出力するSNSクライアントを分類する方法をコンピュータに実行させるコンピュータ実行可能命令を有するコンピュータプログラムであって、前記コンピュータプログラムは、前記コンピュータに、
    前記投稿データを取得させ、
    前記取得した投稿データから、SNSクライアント識別子、アカウント識別子、および本文内容を少なくとも抽出させ、前記SNSクライアントごとの特徴量を算出させ、前記特徴量は、平均圧縮率および総圧縮率を少なくとも含み、前記平均圧縮率は、前記SNSクライアント識別子および前記アカウント識別子ごとに、前記本文内容を結合し、かつ圧縮した場合の、前記SNSクライアント識別子ごとの平均圧縮率であり、前記総圧縮率は、前記SNSクライアント識別子ごとに前記本文内容を結合し、かつ圧縮した場合の圧縮率であり、
    前記特徴量を学習モデルのインプットデータとして、前記取得した投稿データを出力したSNSクライアントを分類させ、前記学習モデルは、前記SNSにおける投稿データから複数の前記SNSクライアントの前記特徴量を説明変数、および前記SNSクライアントの分類を目的変数として生成される
    ことを特徴とするコンピュータプログラム。
  5. ソーシャルネットワークサービス(SNS)における投稿データに基づいて、前記投稿データを出力するSNSクライアントを分類するサーバコンピュータであって、前記サーバコンピュータは、
    前記投稿データを取得する手段と、
    前記取得した投稿データから、SNSクライアント識別子、アカウント識別子、および本文内容を少なくとも抽出し、前記SNSクライアントごとの特徴量を算出する手段であって、前記特徴量は、平均圧縮率および総圧縮率を少なくとも含み、前記平均圧縮率は、前記SNSクライアント識別子および前記アカウント識別子ごとに、前記本文内容を結合し、かつ圧縮した場合の、前記SNSクライアント識別子ごとの平均圧縮率であり、前記総圧縮率は、前記SNSクライアント識別子ごとに前記本文内容を結合し、かつ圧縮した場合の圧縮率である、手段と、
    前記特徴量を学習モデルのインプットデータとして、前記取得した投稿データを出力したSNSクライアントを分類する手段であって、前記学習モデルは、前記SNSにおける投稿データから複数の前記SNSクライアントの前記特徴量を説明変数、および前記SNSクライアントの分類を目的変数として生成される、手段と
    を備えたことを特徴とするサーバコンピュータ。
JP2014127175A 2014-06-20 2014-06-20 ソーシャルネットワークサービスにおけるノイズ投稿の分類方法およびシステム Active JP6306951B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014127175A JP6306951B2 (ja) 2014-06-20 2014-06-20 ソーシャルネットワークサービスにおけるノイズ投稿の分類方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014127175A JP6306951B2 (ja) 2014-06-20 2014-06-20 ソーシャルネットワークサービスにおけるノイズ投稿の分類方法およびシステム

Publications (2)

Publication Number Publication Date
JP2016006583A JP2016006583A (ja) 2016-01-14
JP6306951B2 true JP6306951B2 (ja) 2018-04-04

Family

ID=55224996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014127175A Active JP6306951B2 (ja) 2014-06-20 2014-06-20 ソーシャルネットワークサービスにおけるノイズ投稿の分類方法およびシステム

Country Status (1)

Country Link
JP (1) JP6306951B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7396087B2 (ja) 2020-02-06 2023-12-12 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
JP6857775B1 (ja) * 2020-12-07 2021-04-14 株式会社日立製作所 アカウント分析システム、及びアカウント分析方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075829B2 (en) * 2009-04-10 2015-07-07 Nec Corporation Clustering apparatus, and clustering method
JP5525268B2 (ja) * 2010-01-19 2014-06-18 Kddi株式会社 性格推定装置及びプログラム
JP2012141837A (ja) * 2011-01-04 2012-07-26 Sony Corp 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP2016006583A (ja) 2016-01-14

Similar Documents

Publication Publication Date Title
Buntain et al. Automatically identifying fake news in popular twitter threads
US11436430B2 (en) Feature information extraction method, apparatus, server cluster, and storage medium
CN105426356B (zh) 一种目标信息识别方法和装置
CN110163647B (zh) 一种数据处理方法及装置
Zhu et al. Popularity modeling for mobile apps: A sequential approach
US20200272944A1 (en) Failure feedback system for enhancing machine learning accuracy by synthetic data generation
US11367150B2 (en) Demographic-based targeting of electronic media content items
CN109598307B (zh) 数据筛选方法、装置、服务器及存储介质
KR20210023452A (ko) 속성 단위 리뷰 분석 장치 및 방법
JP6719399B2 (ja) 解析装置、解析方法、およびプログラム
Emmery et al. Simple queries as distant labels for predicting gender on twitter
US10614505B2 (en) Clustering system, method, and program, and recommendation system
EP2613275B1 (en) Search device, search method, search program, and computer-readable memory medium for recording search program
JP6306951B2 (ja) ソーシャルネットワークサービスにおけるノイズ投稿の分類方法およびシステム
CN114238764A (zh) 基于循环神经网络的课程推荐方法、装置及设备
CN107688594B (zh) 基于社交信息的风险事件的识别系统及方法
Kolahkaj et al. A recommender system by using classification based on frequent pattern mining and J48 algorithm
US11270357B2 (en) Method and system for initiating an interface concurrent with generation of a transitory sentiment community
JP2010272004A (ja) 判別装置及び判別方法、並びにコンピューター・プログラム
JP6457986B2 (ja) メッセージ分類システム、メッセージ分類方法及びプログラム
CN112328812B (zh) 基于自调参数的领域知识抽取方法与系统、电子设备
CN112507185B (zh) 用户肖像的确定方法和装置
Mueez et al. Exploratory data analysis and success prediction of google play store apps
CN113722487A (zh) 用户情感分析方法、装置、设备及存储介质
US20230214679A1 (en) Extracting and classifying entities from digital content items

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180309

R150 Certificate of patent or registration of utility model

Ref document number: 6306951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250