DEIM Forum 2016 B7-1
ツイートにカテゴリタグを自動付与しカテゴリ毎に表示する
Twitter クライアントの開発
甘利 咲子
†井上 寛生
††速水 治夫
††††神奈川工科大学 情報学部 情報工学科 〒243-0292 神奈川県厚木市下荻野 1030
††神奈川工科大学 大学院 工学研究科 情報工学専攻 〒243-0292 神奈川県厚木市下荻野 1030
†††神奈川工科大学 情報学部 情報メディア学科 〒243-0292 神奈川県厚木市下荻野 1030
E-mail: †[email protected],††[email protected],†††[email protected]
あらまし 現在,Twitter では 140 文字以内でツイートできるという手軽さから全世界で,日々膨大なツイートが
投稿されている.ユーザが多くのアカウントをフォローしている場合,ホームタイムラインに流れる膨大なツイー
トの中から,ユーザにとって有益なツイートを閲覧することが難しい現状がある.この問題点を解決するため,ホ
ームタイムライン上のツイートをリアルタイムで 1 件ずつ解析し,その解析結果からツイートに対してそのツイー
トに合ったカテゴリタグを自動付与する.これにより,ホームタイムライン上のツイートのカテゴリを表示すると
ともに,カテゴリ毎に別カラムで表示する Twitter クライアントを提案する.評価実験により本クライアントは有効
であることが確認された.
キーワード Twitter,フィルタリング,カテゴリ,ツイート,タイムライン,分類
1. は じ め に
Twitter で は 140 文 字 以 内 で ツ イ ー ト を 投 稿 で き る と い う 手 軽 さ か ら , 全 世 界 で 毎 秒 膨 大 な ツ イ ー ト が さ れ て い る . ユ ー ザ は ホ ー ム タ イ ム ラ イ ン に 表 示 さ れ て い る 膨 大 な ツ イ ー ト の 中 か ら , 有 益 な ツ イ ー ト を 閲 覧 す る こ と が 困 難 に な っ て い る . Twitter API が 1.0 か ら 1.1 にバー ジョ ンア ップさ れ , Twitter API 1.0 で は制 限時間 60 分の うち に,各 呼び 出 し 回 数 が 合 計350 回 と制限 があ った が,Twitter API 1.1 にバ ージ ョン アップ され た結 果,制 限時 間が 15 分, 制 限 数 が 各 呼 び 出 し 毎 に 規 定 さ れ , 自 身 の ホ ー ム 画 面 の タ イ ム ラ イ ン を 取 得 す る 場 合 , 制 限 数 が 15 回と, 以 前 のTwitter API と 比べ ,ホ ームタ イム ライ ンを遡 り 有 益 な ツ イ ー ト を 閲 覧 す る こ と が , よ り 難 し く な っ て い る . ユ ー ザ は , ユ ー ザ 自 身 が 興 味 ・ 関 心 が あ る ツ イ ー ト を 投 稿 す る ア カ ウ ン ト を フ ォ ロ ー し て い る が , 毎 回 ユ ー ザ が 閲 覧 し た い ツ イ ー ト を 投 稿 す る わ け で は な い . 時 と し て , ユ ー ザ が 閲 覧 し た く な い ツ イ ー ト を 投 稿 す る ア カ ウ ン ト も 存 在 す る . ア カ ウ ン ト や 単 語 を タ イ ム ラ イ ン に 非 表 示 す る ミ ュ ー ト 機 能 も 存 在 す る が , こ の 機 能 で は ユ ー ザ 自 身 が 予 め 設 定 し な け れ ば な ら い と い う 手 間 が 発 生 す る だ け で な く , ユ ー ザ が 有 益 と 感 じ る ツ イ ー ト を 閲 覧 す る 機 会 を 損 失 し て し ま う 恐 れ が あ る . そ こ で , ツ イ ー ト を カ テ ゴ リ 毎 に 別 カ ラ ム で 表 示 す る Twitter ク ライア ント を提 案する .ブ ログ のよ うに カ テ ゴ リ を 表 示 し , カ テ ゴ リ 毎 に ツ イ ー ト を 分 類 す る こ と で , ツ イ ー ト の 内 容 に 目 を 通 さ ず , ど の よ う な カ テ ゴ リ の ツ イ ー ト な の か を 判 断 し や す く す る た め の シ ス テ ム を 提 案 す る .2. 関 連 研 究 ・ サ ー ビ ス
ツ イ ー ト を , カ テ ゴ リ に 分 類 す る 研 究 は , 先 行 研 究 と し て 行 わ れ て お り , 機 械 学 習 な ど を 用 い て ツ イ ー ト を フ ィ ル タ リ ン グ す る 手 法 を 提 案 し て い る [1][2]. ま た , 安 藤 ら に よ っ て 提 案 さ れ た MAUOS 方式に よ っ て ,Twitter に投 稿さ れる よう な短い 文章 にお いて特 徴 を 抽 出 し , 未 知 な 話 題 の 意 見 に つ い て も 分 類 す る こ と が で き た と 報 告 し て い る [3]. マ イ ク ロ ブ ロ グ の 記 事 を , ユ ー ザ の 選 好 に 基 づ き 分 類 す る 手 法 も 提 案 さ れ て い る [4]. ツ イ ー ト に 含 ま れ る 主 観 表 現 と 客 観 表 現 を 用 い た 有 益 な ツ イ ー ト を 推 定 す る 研 究 も 行 わ れ て い る [5]. Wikipedia の カ テ ゴ リ 階 層 を 利 用 し た Twitter ユ ー ザ を カ テ ゴ ラ イ ズ す る 手 法 も 提 案 さ れ て い る [6].短文を 分 類 す る 際 , Web サ ービ スの 情報を 用い, カテ ゴライ ズ す る 点 で 類 似 し て い る . 自 動 更 新 , カ テ ゴ リ 分 類 , 時 系 列 情 報 な ど の 考 え 方 を 用 い て 既 存 の ベ イ ジ ア ン フ ィ ル タ 手 法 を 改 良 す る こ と で , ブ ロ グ ス パ ム の 問 題 に 対 応 す る 手 法 を 提 案 し て い る [7]. 関 連 サ ー ビ ス を 調 査 し た 範 囲 で は , ユ ー ザ に よ っ て 指 定 さ れ た ア カ ウ ン ト , ワ ー ド か ら タ ブ 別 に 表 示 す る サ ー ビ ス は 存 在 し た . し か し , カ テ ゴ リ 別 カ ラ ム 表 示 す る Twitter クライ アン トは 存在し なか った .3. 提 案 手 法
本 論 文 で は , ホ ー ム タ イ ム ラ イ ン の ツ イ ー ト を カ テ ゴ ラ イ ズ し , カ テ ゴ リ 別 カ ラ ム 毎 に 表 示 す る シ ス テ ム を 提 案 す る . ユ ー ザ の ホ ー ム タ イ ム ラ イ ン の ツ イ ー ト に 対 し て , カ テ ゴ リ タ グ を 付 与 し ,カ テ ゴ リ 毎 に 表 示 す る こ と で , 煩 雑 と し た ホ ー ム タ イ ム ラ イ ン が 整 理 さ れ 見 や す く な る と 仮 定 し た . こ の 仮 定 に 基 づ き , ホ ー ム タ イ ム ラ イ ン の ツ イ ー ト を 形 態 素 解 析 に か け , そ の 解 析 結 果 か ら カ テ ゴ リ タ グ を 自 動 付 与 し , ツ イ ー ト を カ テ ゴ リ 毎 に 分 類 し 表 示 す る . 3.1 シ ス テ ム 構 成 本 試 作 シ ス テ ム の シ ス テ ム 構 成 図 を 図 1 に示す . 図 1 提案 シス テム の 構成 図 3.2 ア ル ゴ リ ズ ム の 概 要 (1)カ テ ゴ リ 選 定 ア ル ゴ リ ズ ム ツ イ ー ト を カ テ ゴ ラ イ ズ す る 際 に 用 い る カ テ ゴ リ と し て , は て な 社 の サ ー ビ ス の 1 つで ある はて なキー ワ ー ド の 16 種類 のカ テゴリ を使 用し た( 表 1 参 照). ツ イ ー ト 毎 に こ の カ テ ゴ リ を 選 定 す る ア ル ゴ リ ズ ム を 以 下 に 示 す . 表 1 カテ ゴリ 一覧 表 読 書 音 楽 ウ ェ ブ コ ン ピ ュ ー タ 動 植 物 テ レ ビ ア ニ メ 食 ス ポ ー ツ ゲ ー ム マ ン ガ ア イ ド ル 社 会 地 理 ア ー ト サ イ エ ン ス Step.1: 本 試 作 シ ス テ ム に ロ グ イ ン し , ユ ー ザ の ト ー ク ン を 取 得 後 , Twitter API を 用いて ユー ザの ホーム タ イ ム ラ イ ン を JSON 形 式の デー タファ イル で 1 件ず つ 取 得 し 続 け る . Step.2: 取 得 し た ホ ー ム タ イ ム ラ イ ン の デ ー タ を 順 次 形 態 素 解 析 に か け る . 形 態 素 解 析 の 辞 書 に は , は て な 社 の は て な キ ー ワ ー ド 辞 書 を 使 用 し ,は て な キ ー ワ ー ド に 登 録 さ れ て い る , は て な カ テ ゴ リ を 用 い て ツ イ ー ト の カ テ ゴ リ 判 断 を 行 う . ま た , 同 一 の 単 語 に , 複 数 の カ テ ゴ リ が 存 在 す る 場 合 , 形 態 素 解 析 の 結 果 だ け で は , カ テ ゴ リ ID が若 い カ テ ゴ リ が 表 示 さ れ る た め , ツ イ ー ト の 内 容 と は か け 離 れ た カ テ ゴ リ と 判 断 さ れ て し ま う 可 能 性 が あ る . こ の た め , 形 態 素 解 析 の 結 果 に , hatena_keyword と い う 文 字 列 が 含 ま れ て い る 場 合 , は て な キ ー ワ ー ド の 情 報 を 格 納 し て い る テ ー ブ ル に 検 索 を か け , カ テ ゴ リ ID を 取 得 す る . 図 2 に MeCab サー バに よ る解 析結 果 例を 示す . 図 2 MeCab サ ーバ の 解析 結果 例 Step.3: ツ イ ー ト に 含 ま れ る 単 語 に カ テ ゴ リ が 存 在 す る 場 合 , そ の カ テ ゴ リ の 出 現 回 数 を カ ウ ン ト す る . 各 カ テ ゴ リ の 出 現 回 数 を , 各 カ テ ゴ リ の 出 現 回 数 の 合 計 で 割 り , ツ イ ー ト に 含 ま れ る カ テ ゴ リ の 割 合 を 求 め る . こ の ア ル ゴ リ ズ ム の 実 行 例 を 図 3 に示 す. 図 3 カテ ゴリ 選定 ア ルゴ リズ ム の実 行例 (2)フ ィ ル タ リ ン グ ア ル ゴ リ ズ ム (1)で選 定さ れた カテゴ リ を 用い て,ユー ザ自 身がホ ー ム タ イ ム ラ イ ン に 流 れ る ツ イ ー ト を フ ィ ル タ リ ン グ す る ア ル ゴ リ ズ ム を 以 下 に 示 す . フ ィ ル タ リ ン グ パ タ ー ン ① : 1 つの ツイ ート に対し て , ユ ー ザ に よ っ て 選 択 さ れ た カ テ ゴ リ タ グ の 出 現 度 が 最 も 高 い も の を 表 示 す る . フ ィ ル タ リ ン グ パ タ ー ン ② : 1 つの ツイ ート に対し て , ユ ー ザ に よ っ て 指 定 さ れ た カ テ ゴ リ タ グ の 出 現 度 の し き い 値 以 上 の も の を 表 示 す る . こ の 2 つ のフィ ルタ リン グパ ターン を, ユー ザは随 時 切 換 え て 選 ぶ こ と が で き る . 以 上 の 処 理 に よ り ユ ー ザ の ホ ー ム タ イ ム ラ イ ン 上 の ツ イ ー ト を カ テ ゴ リ 毎 に リ ア ル タ イ ム に 表 示 す る . StreamingAPI REST API
提案システム node.js server socket.io MeCab server (はてなキーワード辞書込) はてなキーワード MySQL DB socket.io client ① ② ④ ⑤ ⑥ ⑦ ⑧ ツイート投稿 ツイートリアルタイム カテゴリ別カラム表示 ③ オムライス作った! オムライス 名詞,固有名詞,*,*,*,*,*,おむらいす,*,(食),hatena_keyword 作っ 動詞,自立,*,*,五段・ラ行,連用タ接続,作る,ツクッ,ツクッ た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ ! 記号,一般,*,*,*,*,!,!,! EOS オムライス作った! 野球の試合観戦しに 行く~! PHPを使ってシステム 開発しています. 今日も疲れたな~ A B C D ・ ・ ・ ツイート 単語 カテゴリ A オムライス 食 B 野球 スポーツ C PHP 読書 コンピュータ システム コンピュータ ツイート カテゴリ カウント 出現度(%) A 食 1 100 B スポーツ 1 100 C 読書 1 33.3 コンピュータ 2 66.7
3.3 ユ ー ザ イ ン タ フ ェ ー ス (1)カ テ ゴ リ 選 択 表 1 に示した 16 種 類の カテゴ リ を 用い て,ユ ーザ に よ っ て 選 択 さ れ た カ テ ゴ リ に 合 っ た ツ イ ー ト を カ テ ゴ ラ イ ズ す る . ま た , こ の 16 種 類の どの カテゴ リ に も属 さない ツ イ ー ト は , そ の 他 と し て 表 示 す る . 16 種 類の カテゴ リ の い ず れ か( 重 複 有 り ),ま た は そ の 他 の ツ イ ー ト と 判 断 さ れ 表 示 さ れ る た め , ツ イ ー ト の 表 示 漏 れ は 起 こ ら な い . (2)フ ィ ル タ リ ン グ 選 択 前 述 し た フ ィ ル タ リ ン グ パ タ ー ン を 選 択 す る . フ ィ ル タ リ ン グ パ タ ー ン ② を 選 択 し た 際 に は , ス ラ イ ド バ ー で カ テ ゴ リ 出 現 度 (%)のし きい 値を 指定す る. (3)カ テ ゴ リ 別 カ ラ ム 毎 に 表 示 ツ イ ー ト に 対 し カ テ ゴ リ タ グ を 自 動 付 与 し た 後 , ユ ー ザ に よ っ て 指 定 さ れ た カ テ ゴ リ の 出 現 度 に よ っ て ツ イ ー ト を カ テ ゴ ラ イ ズ 及 び フ ィ ル タ リ ン グ し , カ テ ゴ リ 別 カ ラ ム 毎 に 表 示 す る . (1),(2)で述 べた カテゴ リ選 択 ,フィ ルタ リン グ選択 を 行 う 操 作 画 面 を 図 4 に, 本研 究の試 作シ ステ ム 表示 の 画 面 を 図 5 に示 す. 図 4 カテ ゴリ ・フ ィ ルタ リン グ 選択 画面 図 5 試作 シス テム の 画面 キャ プ チャ
4. 評 価 実 験
4.1 実 験 概 要 Twitter ユーザ 5 名 を対 象に,評価 実験を 行っ た.本 試 作 シ ス テ ム で 予 め 用 意 し て い る カ テ ゴ リ の 中 に は , 幅 広 い 意 味 を 持 つ カ テ ゴ リ , 及 び 狭 い 意 味 の カ テ ゴ リ が 存 在 す る . こ の た め , 評 価 実 験 を 行 っ た 際 , 評 価 に 偏 り が 生 じ て し ま う こ と を 考 慮 し , 両 者 の カ テ ゴ リ を 用 い て , 評 価 実 験 を 行 う . 今 回 , 実 験 で 指 定 し た カ テ ゴ リ は ,「 ゲ ー ム 」,「 食 」 の 2 つ のカ テゴリ であ る. ま た ,本 試 作 シ ス テ ム の 精 度 を 検 証 す る た め ,フ ィ ル タ リ ン グ パ タ ー ン ② の 実 験 を 行 う 際 , カ テ ゴ リ タ グ の 出 現 度 の し き い 値 を 100%,75%, 50%,25%と,25% 刻 み の 4 段 階から 指定 した . 被 験 者 は 予 め ,自 身 の ホ ー ム タ イ ム ラ イ ン 最 新 200 件 に 目 を 通 し , 指 定 し た カ テ ゴ リ に 属 す る と 思 う ツ イ ー ト を ピ ッ ク ア ッ プ し 計 数 す る . 本 試 作 シ ス テ ム で ホ ー ム タ イ ム ラ イ ン を 表 示 し た 際 , カ テ ゴ リ 別 カ ラ ム に 何 件 ツ イ ー ト が 表 示 さ れ た か , ま た , ピ ッ ク ア ッ プ し た ツ イ ー ト が , そ の う ち 何 件 含 ま れ て い た か を 目 視 で 計 数 し て も ら っ た . こ の 件 数 か ら , 適 合 率 , 再 現 率 , F 値( 以下 ,指標 値 と 略 す ) を 求 め , 評 価 を 行 う . こ れ ら 3 つの 値を 算 出 す る に あ た っ て 必 要 と な る 数 値 を ど の よ う に し て 求 め た か を 図 6 に示 す. 図 6 ツイ ート の分 類 図 6 のツ イート 分類 に示 した,A,B,C の値 の詳細 を 以 下 に 示 す . A: ユ ー ザ が 自 身 の ホ ー ム タ イ ム ラ イ ン 最 新 200 件 か ら ピ ッ ク ア ッ プ し た 指 定 し た カ テ ゴ リ に 属 す る ツ イ ー ト 件 数 B: 本 試 作 シ ス テ ム の カ テ ゴ リ 別 カ ラ ム 表 示 の 結 果 表 示 さ れ た ツ イ ー ト 件 数 C: A と B の共 通し たツ イート が表 示さ れた 件数 こ れ ら ,A,B,C の値 を用 いて ,指 標値 の計 算式を 以 下 に 示 す . 適 合 率 =𝐶 𝐵 再 現 率=𝐶 𝐴 F 値 =2 × 適合率 × 再現率 適 合 率+ 再現率A
B
C
4.2 フ ィ ル タ リ ン グ パ タ ー ン ① の 評 価 フ ィ ル タ リ ン グ パ タ ー ン ① で は , 指 定 さ れ た カ テ ゴ リ タ グ の 出 現 度 が 最 も 高 い ツ イ ー ト を , そ の カ テ ゴ リ と 判 断 し 表 示 す る . フ ィ ル タ リ ン グ パ タ ー ン ① に よ る カ テ ゴ リ 毎 の ツ イ ー ト 件 数 を 表 2 に, 平均 指標値 を表 3 に 示す. 表 2 フィ ルタ リン グ パタ ーン ① の A,B,C の一 覧表 表 3 フィ ルタ リン グ パタ ーン ① の平 均指 標値