機械学習で「はてブ互助会」フィルタをつくってみた
AI(人工知能)を使ったウェブサービスが流行っているので、私も作ってみました。
人工知能がホッテントリから「はてブ互助会」を自動的にフィルタリングする近未来系RSSフィード、その名も「互助会ほいほい」です。
先行研究
相互ブクマはてなブログだけのホッテントリ
相互ブクマしているユーザIDに注目して、はてブ互助会を狙い撃ちする確実性の高いフィルタリング手法です。
互助会抜きのホッテントリを読むだけなら、このリストで事足ります。
「互助会ほいほい」の目的
互助会系記事は無言ブコメや「参考になります!」など薄気味悪いブコメが並ぶので、
AI(人工知能)で検出できるのかという知的好奇心が開発のきっかけです。
AIを使えば、はてブ互助会以外のスパム記事もフィルタリングできそうです。
そこで、ホッテントリからスパム記事全般をフィルタリングし、情報収集を効率化することを目標としました。
ホッテントリとは、はてなブックマークの人気エントリーのこと。
ホッテントリに紛れ込むスパム記事とは、はてブ互助会のみならず、まとめサイト、ネットデブリやサイバーゴキブリ等々の中身の薄い記事(主観による)を指します。
結論
ホッテントリをフィルタリングした結果をRSSフィードで提供しています。
お好きなRSSリーダーに登録して使って下さい。
スパム判定した記事だけを集めたのが「互助会ほいほい」、
スパム記事を抜いたホッテントリだけ集めたのが「ホッテントリ濃縮還元」です。
スパム記事の検出精度は体感6〜7割くらいです。
スパムフィルターとしての実用性は低いです。
教師データと判定アルゴリズムにまだまだ改善余地があります。
フィルター精度はイマイチですが、意外な副産物がありました。
ホッテントリのブコメをRSSで直接読めることです。
ブコメを読めばおおよそ内容を把握できるので、釣り記事をいちいち開くことがなくなり、RSS消化のスピードが早くなりました。
作り方
教師データとして互助会記事とそうでないホッテントリを各50件ぐらい用意し、
ブコメから互助会っぽいパターンを学習させました。
テキスト分類のアルゴリズムはとりあえずSVM を使いました。
流行りのディープラーニングや定番のナイーブベイズとの比較もそのうち試してみたいです。
プログラムはPythonでさくっと。この本が分かりやすかったです。
サーバはQNAPのNASが大活躍。
仮想環境(Docker)にUbuntu入れて動かしています。
ラズパイだと力不足な用途でも、色々遊べるのでおすすめです。
互助会ホイホイ ver0.0の課題
面白い記事もスパム判定してしまう問題
教師データを整備して学習させれば大部分は解決しそう。
とはいえ、面白い/面白くないはユーザーによって感じ方が異なる根深い問題。
「スパムかスパムでないか」の2値判定しかしていないことが根本原因。
「はてブ互助会」、「まとめサイト」、「アフィリエイト記事」など複数ラベルで判定すれば使いやすくなるかな。
正確な教師データをどう作る問題
ver0.0のスクレイピングしたデータを後から修正して教師データにする予定。
しかし件数が膨大すぎて萎える。
なにか良いアイデアはないものでしょうか。
## 追記
機械学習で分類したRSSは公開停止しました。
新しいRSSははてブのホッテントリからノイズ(互助会等)を減らすでやり直しました。