Submit Search
Upload
捗るリコメンドシステムの裏事情(ハッカドール)
•
279 likes
•
213,008 views
mosa siru
Follow
ハッカドールの裏側を一部紹介。 高校生でも理解できるくらいの内容でかいてみました。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 91
Download now
Download to read offline
Recommended
MLOps入門
MLOps入門
Hiro Mura
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
Yuya Unno
最適化超入門
最適化超入門
Takami Sato
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
[DLHacks]Comet ML -機械学習のためのGitHub-
[DLHacks]Comet ML -機械学習のためのGitHub-
Deep Learning JP
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
Recommended
MLOps入門
MLOps入門
Hiro Mura
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
Yuya Unno
最適化超入門
最適化超入門
Takami Sato
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
[DLHacks]Comet ML -機械学習のためのGitHub-
[DLHacks]Comet ML -機械学習のためのGitHub-
Deep Learning JP
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
全力解説!Transformer
全力解説!Transformer
Arithmer Inc.
Marp Tutorial
Marp Tutorial
Rui Watanabe
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
Megagon Labs
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
Yusuke Uchida
最適輸送入門
最適輸送入門
joisino
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
Deep Learning JP
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
joisino
アジャイルな見積りと計画づくり勉強会
アジャイルな見積りと計画づくり勉強会
Arata Fujimura
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
Deep Learning JP
例外設計における大罪
例外設計における大罪
Takuto Wada
Active Learning 入門
Active Learning 入門
Shuyo Nakatani
TechFeedというテクノロジーキュレーションサービスを作った話
TechFeedというテクノロジーキュレーションサービスを作った話
yoshikawa_t
MySQLおじさんの逆襲
MySQLおじさんの逆襲
yoku0825
More Related Content
What's hot
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
全力解説!Transformer
全力解説!Transformer
Arithmer Inc.
Marp Tutorial
Marp Tutorial
Rui Watanabe
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
Megagon Labs
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
Yusuke Uchida
最適輸送入門
最適輸送入門
joisino
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
Deep Learning JP
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
joisino
アジャイルな見積りと計画づくり勉強会
アジャイルな見積りと計画づくり勉強会
Arata Fujimura
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
Deep Learning JP
例外設計における大罪
例外設計における大罪
Takuto Wada
Active Learning 入門
Active Learning 入門
Shuyo Nakatani
What's hot
(20)
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
全力解説!Transformer
全力解説!Transformer
Marp Tutorial
Marp Tutorial
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
研究効率化Tips Ver.2
研究効率化Tips Ver.2
Pythonによる黒魔術入門
Pythonによる黒魔術入門
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
最適輸送入門
最適輸送入門
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
アジャイルな見積りと計画づくり勉強会
アジャイルな見積りと計画づくり勉強会
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
例外設計における大罪
例外設計における大罪
Active Learning 入門
Active Learning 入門
Viewers also liked
TechFeedというテクノロジーキュレーションサービスを作った話
TechFeedというテクノロジーキュレーションサービスを作った話
yoshikawa_t
MySQLおじさんの逆襲
MySQLおじさんの逆襲
yoku0825
Elasticsearch for Hackadoll
Elasticsearch for Hackadoll
mosa siru
ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善
takahiro_yachi
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
Prunus 1350
登録数2倍にしてと言われた時の正しい対処法
登録数2倍にしてと言われた時の正しい対処法
Chihiro Kurosawa
現在のDNNにおける未解決問題
現在のDNNにおける未解決問題
Daisuke Okanohara
Viewers also liked
(7)
TechFeedというテクノロジーキュレーションサービスを作った話
TechFeedというテクノロジーキュレーションサービスを作った話
MySQLおじさんの逆襲
MySQLおじさんの逆襲
Elasticsearch for Hackadoll
Elasticsearch for Hackadoll
ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
登録数2倍にしてと言われた時の正しい対処法
登録数2倍にしてと言われた時の正しい対処法
現在のDNNにおける未解決問題
現在のDNNにおける未解決問題
Similar to 捗るリコメンドシステムの裏事情(ハッカドール)
Javakuche yono
Javakuche yono
yono05
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
Jubatusでマルウェア分類
Jubatusでマルウェア分類
Shuzo Kashihara
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
Shuji Morisaki
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
Yuta Kashino
AozoraYomite @InfoTalk 2012/12/21
AozoraYomite @InfoTalk 2012/12/21
Yuki Higuchi
Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24
Kazuki Aranami
Search on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 Spring
Eiji Shinohara
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
おとなのテキストマイニング
おとなのテキストマイニング
Munenori Sugimura
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
Go Yamada
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
リアルタイムにデータ分析してWebサービスの面白さを伝えたい
リアルタイムにデータ分析してWebサービスの面白さを伝えたい
x1 ichi
実はとても面白い...Documentation library
実はとても面白い...Documentation library
Kouta Shiobara
Groovyコンファレンス
Groovyコンファレンス
Shinichiro Takezaki
とある制作会社の目次索引作成技法
とある制作会社の目次索引作成技法
Kenshi Muto
Pythonの非同期処理を始める前に
Pythonの非同期処理を始める前に
koralle
2011 icse-reverse engineering feature models
2011 icse-reverse engineering feature models
n-yuki
Hadoop conference Japan 2011
Hadoop conference Japan 2011
Takahiko Ito
Similar to 捗るリコメンドシステムの裏事情(ハッカドール)
(20)
Javakuche yono
Javakuche yono
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
Jubatusでマルウェア分類
Jubatusでマルウェア分類
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
AozoraYomite @InfoTalk 2012/12/21
AozoraYomite @InfoTalk 2012/12/21
Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24
Search on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 Spring
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
おとなのテキストマイニング
おとなのテキストマイニング
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
リアルタイムにデータ分析してWebサービスの面白さを伝えたい
リアルタイムにデータ分析してWebサービスの面白さを伝えたい
実はとても面白い...Documentation library
実はとても面白い...Documentation library
Groovyコンファレンス
Groovyコンファレンス
とある制作会社の目次索引作成技法
とある制作会社の目次索引作成技法
Pythonの非同期処理を始める前に
Pythonの非同期処理を始める前に
2011 icse-reverse engineering feature models
2011 icse-reverse engineering feature models
Hadoop conference Japan 2011
Hadoop conference Japan 2011
More from mosa siru
LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)
mosa siru
KYC and identity on blockchain
KYC and identity on blockchain
mosa siru
マイニングプールの収益配分と攻撃手法
マイニングプールの収益配分と攻撃手法
mosa siru
Payment Channel Introduction
Payment Channel Introduction
mosa siru
Go, memcached, microservices
Go, memcached, microservices
mosa siru
ニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービス
mosa siru
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
lua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Request
mosa siru
Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)
mosa siru
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
mosa siru
how to make twitter list automatically
how to make twitter list automatically
mosa siru
More from mosa siru
(11)
LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)
KYC and identity on blockchain
KYC and identity on blockchain
マイニングプールの収益配分と攻撃手法
マイニングプールの収益配分と攻撃手法
Payment Channel Introduction
Payment Channel Introduction
Go, memcached, microservices
Go, memcached, microservices
ニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービス
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
lua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Request
Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
how to make twitter list automatically
how to make twitter list automatically
捗るリコメンドシステムの裏事情(ハッカドール)
1.
捗る! リコメンドシステムの裏事情 2014/10/11
@mosa_siru (榎本悠介) 1
2.
自己紹介 2
3.
@mosa_siru • 「もさ」って呼んでください
• 大学:複雑ネットワーク研究 • ネットワーククラスタリングの高速化手法 • Twitter SmartList 開発 3
4.
@mosa_siru • DeNA(2年目)
• プラットフォーム API開発・運用 • ハッカドール 立ち上げからジョイン • サーバーAPI 設計・開発・運用(ほぼ全部) • フロント/バックエンド Web開発 • ログ設計・リコメンドシステムをうんうん考える • 社内の分析チームと密に連携 4
5.
特技 5
6.
Bomberman 6
7.
ボンバーマン • 2年間引きこもって極めてました
• 戦績をつけてRatingで可視化しながら対戦 • 極めるとぷよぷよ化する 7
8.
解説動画がホットエントリ入り 8
9.
アジェンダ 9
10.
アジェンダ 1. ハッカドールって?
2. ターゲットユーザーの特徴 3. リコメンドシステムの紹介 10
11.
1. ハッカドールって? 11
12.
ハッカドールって? • アニメ・マンガ・ゲームなど、
オタク系の記事のみを扱った ニュース配信アプリ • 政治・スポーツなどのニュー スは一切扱わない • 使えば使うほど学習していく 12
13.
ハッカドールって? • ゲーミフィケーション
! • というかゲームできる ! • オタクユーザーに刺さる機能 が満載 13
14.
2014夏コミに合わせてリリース 14
15.
極めて高いユーザー評価 • 1ヶ月あまりで数十万DL突破
• 高いリターンレート(継続率) 15
16.
なんでこんなアプリ 作ったの? 16
17.
捗りたい! • 好きなゲームの情報を毎日調
べる辛さ • え、あの漫画の新刊出てたん だ… • もっともっと、まだ見ぬ面白 いコンテンツに出会いたい! 17
18.
コンテンツのマッチング • 増え続けるコンテンツ
• 漫画の1日あたり新刊数はどんどん増えている • でも売上は横ばい • 面白いコンテンツと、それを求めるユーザーを マッチングさせて、エンタメ業界を活性化させ たい 18
19.
こんな人達が開発してます 19
20.
開発陣 • 「オタク以外はチー
ムに入れません」 20
21.
開発風景 社内での観光名所化 21
22.
2. ターゲットユーザーの特徴 22
23.
情報収集力が高い 23
24.
情報収集力が高い • 自力でどんどん好きな情報を集める
• 受動的でない • そのためには多少の苦労はいとわない 24
25.
こだわりが強い 25
26.
こだわりが強い • 「絶対にラブライブ!の情報は逃したくな
い!」 • 1秒でも速く知りたい!! • 興味のある・ないでの差が激しい • 「~のニュースとか本当にどうでもいい」 26
27.
ニッチな記事も好む 27
28.
ニッチな記事も好む • 必ずしもTweet数、はてブ数が高い記事を好む
わけでもない • 例:声優ブログ 28
29.
とにかく嗜好にマッチ していることが重要 29
30.
ハッカドールのリコメンドの 仕組み 30
31.
一般的なリコメンド手法って? 31
32.
一般的なリコメンド手法 • 大きく分けて二分される
• ユーザーベース • 「この商品を買った人はこんな商品 32 も買っています」 • アイテムベース • 「この商品はキルラキルのフィギュ アなので、キルラキルが好きな人に 推薦しよう」
33.
ユーザーベースの特徴 • 推薦されるアイテムの中身に依存しな
いので、汎用的 • ユーザーアクティビティの情報が大量 に必要 • コールドスタート問題 • ニュースや新商品のアクティビティ情 報が少ない • 計算量の工夫が必要 33
34.
アイテムベースの特徴 • 推薦対象となるアイテムの情報が必要
• 全体のアクティビティ量は必ずしも多くなく て良い • ニュース・新情報に対応可能 • 計算量はユーザー数に対して線形 34
35.
ハッカドールでは • リリース当初はアイテムベースがメイン
• 現在はユーザーベースも組み合わせて記事を 配信しています • 試行錯誤し、各種ABテストで検証しながら 35 導入しています • 今回は、アイテムベースの手法を紹介します
36.
アイテムベースの手法 (ベクトル空間モデルの紹介) 36
37.
アイテムの持つ情報とは • ニュースの場合
• タイトル • 記事本文 • 画像 • サイト情報、メタ情報、Tweet情報 etc.. 37
38.
ベクトル空間モデル • 例えば文章情報に着目
• たとえば文章に含まれる「単語の登場数」にだ け着目してみると 38
39.
39 キーワード登場数 立体機動装置1
講談社1 漫画2 エレン1 リヴァイ1 ウサイン・ボルト3 進撃の巨人1 空想科学読本3 諫山創1 (略) ※実際は各種の 重み調整が必要
40.
ベクトル空間モデル • アイテムを全てベクトルで表現
• ユーザーの嗜好もベクトルで表現 • 例:読んだ記事のベクトルを足していく • ベクトルの”近さ”は簡単に計算できる • ユーザーのベクトルと”近い”記事を推薦 40
41.
今回はどうやって 良いベクトル空間を作るか?に フォーカスを当てます
41
42.
どうやって単語を抜き出すか 42
43.
形態素解析 • wikipedia「対象言語の文法の知識(文法のルールの集まり)
や辞書(品詞等の情報付きの単語リスト)を情報源として用い、 自然言語で書かれた文を形態素(Morpheme, おおまかにいえ ば、言語で意味を持つ最小単位)の列に分割し、それぞれの品 詞を判別する作業を指す。」 43
44.
44
45.
45
46.
mecab 46
47.
mecab • 日本製のオープンソースの形態素解析エンジン
47 • 簡単、シンプル、速い • すぐに試せる brew install mecab mecab-ipadic
48.
48
49.
がっ…!ダメっ…! 49
50.
ちゃんとした辞書が必要 • 形態素解析は、辞書(単語リスト)をもとに分割している
• デフォルトのmecabの辞書では、一般用語しか入っていない • 「ラブライブ!」「μ's」などに対応するには、独自のユー ザー辞書が必要 50
51.
オタク辞書の作り方 51
52.
外部リソースを使う • wikipedia
• データが全公開されている 52 • ニコニコ大百科 • オタクキーワードが満載 • 記事のタイトルから、ニッチな キーワードを取得
53.
でも全然必要ない単語もいっぱい… 53
54.
うーむ… 54
55.
とある声優ソムリエが 思いついた手法 55
56.
wikipediaにはカテゴリ情報がある 56
57.
どんどんサブカテゴリを辿っていくと… 57
58.
!!! 58
59.
親カテゴリからの幅優先探索 で専門辞書を作成 59
60.
必要な単語だけ 抽出することに概ね成功 60
61.
before 61
62.
after 62
63.
まだまだこだわる 63 •
100%完璧な手法ではない • 探索の深さはadhoc • 公開直後の情報など、wikipediaに記事がない場合がある • 辞書の管理ツールを作成 • 手動で辞書に必要単語を追加できる • 新単語にいち早く対応
64.
結論:なんだかんだで泥臭い 64
65.
オタク辞書ができた後の話 65
66.
「続きを読む」を含んだ記事を 良く読んでいるので、 「続きを読む」を含んだ記事が
推薦される 66
67.
??? 67
68.
リコメンドに不要な単語 • 辞書には欲しいが、リコメンドには不要かもしれない単語
• 「そもそも」「こちら」「続き」 (各種一般用語) 68 • 数字、記号 etc…
69.
リコメンドに不要な単語 • オタク辞書にない単語は使わない
• 不要単語(ブラックリスト)管理ツールも作成 69
70.
シノニム変換 • 「アイマス」=「アイドルマスター」
• 「ごちうさ」=「ご注文はうさぎですか?」 70 ! • シノニム管理ツールも作成
71.
いいかんじになってきたので プロトタイプつくってみた 71
72.
ラブライブ! の記事しか出ない… 72
73.
重み調整 73 •
TFIDF • 「アニメ」を含む記事を1回読むことと、 「ボンバーマン」を含む記事を1回読むことの重みは異なる • TFIDFだけじゃうまくいかなくなってきた • キーワードの重み管理ツールも作成
74.
重み調整 • よりオタク向けなキーワードの重みを上げる
• 一般記事全体と、オタク向け記事全体でのキーワード登場回 数の違いを考慮 74
75.
どんどん捗る ようになってきた 75
76.
試行錯誤と泥臭さの連続 76
77.
今でも議論・検証しながら 着実に改善しています 77
78.
おわりです 78
79.
ありがとうございました! @mosa_siru 79
80.
おまけ 80
81.
ターゲットユーザーに さらにフォーカスした機能 81
82.
捗った?機能 82
83.
捗った?機能 • ハッカドールちゃんに、リコメンドの
フィードバックをするシンプルな機能 83 • 学習を加速させる ! • 「自動学習じゃないじゃん!」 • 能動的であるターゲットユーザーから、 よりはやく正確な情報が集められる
84.
ウォッチリスト 84
85.
ウォッチリスト • 好きなタイトル名などを登録しておくと、
そのキーワードを含んだニュースが出る たびに教えてくれる 85 ! • 全文検索エンジンから取得
86.
めちゃくちゃ評判が良い 86
87.
もはやリコメンドじゃない 87
88.
ユーザーのことを考えると 絶対に必要な機能だった (というか俺が欲しい)
88
89.
僕らが提供しているのは ”サービス” 技術とかアルゴリズムはその手段
89
90.
ハッカドールはまだ発展途上。 より多くの「捗る!」を 提供していきます
90
91.
おわり 91 @mosa_siru
Download now