Suche senden
Hochladen
Hivemallで類似ニュース記事を抽出してみる
•
0 gefällt mir
•
1,474 views
Mikio Nozaki
Folgen
第4回 Apache Hivemall Meetup での発表資料 https://techplay.jp/event/663945
Weniger lesen
Mehr lesen
Daten & Analysen
Melden
Teilen
Melden
Teilen
1 von 25
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
CDH4->5 update苦労話
CDH4->5 update苦労話
Yu Yamada
ユーザーに愛されるソフトを作りたい!!
ユーザーに愛されるソフトを作りたい!!
hiyohiyo
DataEngConf NYC’18 セッションサマリー #1
DataEngConf NYC’18 セッションサマリー #1
gree_tech
[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1
Takashi Suzuki
History of TreasureData Support
History of TreasureData Support
Toru Takahashi
SQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイント
ソフトウェア品質シンポジウム
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
hiyohiyo
[社内セッション]DevOps時代の僕の生き方、働き方
[社内セッション]DevOps時代の僕の生き方、働き方
Shigeki Morizane
Empfohlen
CDH4->5 update苦労話
CDH4->5 update苦労話
Yu Yamada
ユーザーに愛されるソフトを作りたい!!
ユーザーに愛されるソフトを作りたい!!
hiyohiyo
DataEngConf NYC’18 セッションサマリー #1
DataEngConf NYC’18 セッションサマリー #1
gree_tech
[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1
Takashi Suzuki
History of TreasureData Support
History of TreasureData Support
Toru Takahashi
SQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイント
ソフトウェア品質シンポジウム
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
hiyohiyo
[社内セッション]DevOps時代の僕の生き方、働き方
[社内セッション]DevOps時代の僕の生き方、働き方
Shigeki Morizane
CpawCTF Q22 Writeup
CpawCTF Q22 Writeup
KentaroKurose
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Takuya Iwatsuka
Call for Speakersに講演を256倍通す方法
Call for Speakersに講演を256倍通す方法
Kentaro Takeda
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Koichiro Matsuoka
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
Insight Technology, Inc.
Node-REDのノードの日本語化でOSSコミュニティへ貢献してみよう
Node-REDのノードの日本語化でOSSコミュニティへ貢献してみよう
Hitachi, Ltd. OSS Solution Center.
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
Insight Technology, Inc.
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
hiyohiyo
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925
小川 雄太郎
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
Go Sueyoshi (a.k.a sue445)
Drupal business consortiam in Japan:DBCJ 20140909
Drupal business consortiam in Japan:DBCJ 20140909
Hidekazu Ikeda
Node-REDの開発に参加しよう
Node-REDの開発に参加しよう
nodered_ug_jp
Dll Injection
Dll Injection
Hiroaki Hata
ゲームの裏側を支える人たちの裏側
ゲームの裏側を支える人たちの裏側
Riou Tomita
ソフトウェアエンジニアと高位合成
ソフトウェアエンジニアと高位合成
Kenichiro MITSUDA
僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア
Yu Yamada
Oss magic
Oss magic
K5_sem
新卒採用を、まっとうに ー面接者への通信簿ー
新卒採用を、まっとうに ー面接者への通信簿ー
慧悟 岩本
n次請けSIerでもできること
n次請けSIerでもできること
陽一 滝川
IT技術者でも1から学べるビジネスモデルキャンバス入門
IT技術者でも1から学べるビジネスモデルキャンバス入門
陽一 滝川
Weitere ähnliche Inhalte
Ähnlich wie Hivemallで類似ニュース記事を抽出してみる
CpawCTF Q22 Writeup
CpawCTF Q22 Writeup
KentaroKurose
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Takuya Iwatsuka
Call for Speakersに講演を256倍通す方法
Call for Speakersに講演を256倍通す方法
Kentaro Takeda
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Koichiro Matsuoka
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
Insight Technology, Inc.
Node-REDのノードの日本語化でOSSコミュニティへ貢献してみよう
Node-REDのノードの日本語化でOSSコミュニティへ貢献してみよう
Hitachi, Ltd. OSS Solution Center.
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
Insight Technology, Inc.
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
hiyohiyo
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925
小川 雄太郎
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
Go Sueyoshi (a.k.a sue445)
Drupal business consortiam in Japan:DBCJ 20140909
Drupal business consortiam in Japan:DBCJ 20140909
Hidekazu Ikeda
Node-REDの開発に参加しよう
Node-REDの開発に参加しよう
nodered_ug_jp
Dll Injection
Dll Injection
Hiroaki Hata
ゲームの裏側を支える人たちの裏側
ゲームの裏側を支える人たちの裏側
Riou Tomita
ソフトウェアエンジニアと高位合成
ソフトウェアエンジニアと高位合成
Kenichiro MITSUDA
僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア
Yu Yamada
Oss magic
Oss magic
K5_sem
新卒採用を、まっとうに ー面接者への通信簿ー
新卒採用を、まっとうに ー面接者への通信簿ー
慧悟 岩本
n次請けSIerでもできること
n次請けSIerでもできること
陽一 滝川
IT技術者でも1から学べるビジネスモデルキャンバス入門
IT技術者でも1から学べるビジネスモデルキャンバス入門
陽一 滝川
Ähnlich wie Hivemallで類似ニュース記事を抽出してみる
(20)
CpawCTF Q22 Writeup
CpawCTF Q22 Writeup
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Call for Speakersに講演を256倍通す方法
Call for Speakersに講演を256倍通す方法
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
Node-REDのノードの日本語化でOSSコミュニティへ貢献してみよう
Node-REDのノードの日本語化でOSSコミュニティへ貢献してみよう
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
Drupal business consortiam in Japan:DBCJ 20140909
Drupal business consortiam in Japan:DBCJ 20140909
Node-REDの開発に参加しよう
Node-REDの開発に参加しよう
Dll Injection
Dll Injection
ゲームの裏側を支える人たちの裏側
ゲームの裏側を支える人たちの裏側
ソフトウェアエンジニアと高位合成
ソフトウェアエンジニアと高位合成
僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア
Oss magic
Oss magic
新卒採用を、まっとうに ー面接者への通信簿ー
新卒採用を、まっとうに ー面接者への通信簿ー
n次請けSIerでもできること
n次請けSIerでもできること
IT技術者でも1から学べるビジネスモデルキャンバス入門
IT技術者でも1から学べるビジネスモデルキャンバス入門
Hivemallで類似ニュース記事を抽出してみる
1.
Hivemallで 類似ニュース記事を抽出してみる 株式会社mediba 野崎幹男 2018/04/17(火) 第4回 Apache Hivemall
Meetup
2.
アジェンダ ❖ はじめに ➢ 自己紹介 ➢
会社の説明など ❖ 類似ニュース記事の抽出 ❖ まとめ
3.
自己紹介 ■氏名 : 野崎幹男 ■所属
: 株式会社 mediba システム本部 システム開発1部コミュニケーション開発 G ■担当業務 : バックエンドエンジニア ■趣味 : フットサル / サッカー観戦 / 登山
4.
企業概要 ■会社名 : 株式会社
mediba ■会社設立年月 : 2000年12月6日 ■本社 : 渋谷 ■従業員数 : 415名(※2017年1月現在) ■業務内容 : - KDDIグループの一員 - モバイルデバイス向けのメディア事業など - Mission「ヒトに"HAPPY"を」
5.
medibaのサービスの紹介
6.
担当サービス ■au Webポータル (https://auone.jp) ●
auスマートフォンのデフォルトホームページ ● 2017/04にリニューアル ● ポータルサイト ○ ポータル ○ ニュース ○ 天気 ○ 占い ○ 乗り換え ○ ..etc ● 技術要素 ○ PHP, Golang, Node etc.. ○ AWS, オンプレ etc.. ○ MySQL, Elasticsearch, memcached etc.. ○ Lambda, Docker etc..
7.
medibaとTreasure Dataの関わり ■ トレジャーデータサービス
by IDCFを利用 ■ 複数サービスのアクセスログなどを収集している ■ 別部署PRJのプライベートDMP構築のため ■ これまで : とりあえずデータ収集 (した or している) ■ これから: データの分析・活用(していきたい) サービスA サービスB サービスC
8.
● 2017/04にリニューアル時にTDへのデータ収集開始 ● 2017/04〜にて、簡単な集計を実施 ○
Digdag / Redash / PostgreSQL ● 2017/12〜 Hivemall on TDを個人的に触ってみる ○ これがHivemallとの出会い ○ minhashを使ってユーザレコメンドしてみる ○ 弊社の技術ブログにまとめた (※1) ○ 油井さんの目に留まり、本日の発表に至る・・・ 担当サービスとTreasure Dataの関わり ※1 https://ceblog.mediba.jp/post/170605665442/treasure-data%E3%81%AEhivemall%E3%81%A7%E9%A1%9E%E4%BC%BC%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%AC%E3%82%B3%E3%83%A1% E3%83%B3%E3%83%89%E3%82%92%E8%A9%A6%E3%81%99
9.
アジェンダ ❖ はじめに ➢ 自己紹介 ➢
会社の説明など ❖ 類似ニュース記事の抽出 ❖ まとめ
10.
発表内容 ■ 発表ネタどうしよう・・ ● Hivemallほとんど使っていないし、、分析業務しているわけでもない し、、 ●
でも、ドキュメント見ると NLP系の関数があるぞ・・ ■ 関連記事(リリース済み) ● ある記事に対してコンテンツベースで類似した記事を表示 ● ElasticsearchのMLTQuery(More Like This Query)を利用 ● ElasticsearchクラスタはEC2でクラスタ構築 ↓ 関連記事抽出をHivemall on TDのみで実現出来るか試して みる・・!
11.
[補足]MLT(More Like This)Queryについて ■処理概要 ●
index時 ○ タイトルや本文のfieldにsimilarityを設定しておく (※1) ○ アルゴリズムが選べる ■ BM25 (ES5系以降でデフォルト) ■ Classic(TF/IDF) (ES2系でデフォルト) ※1 https://www.elastic.co/guide/en/elasticsearch/reference/6.2/similarity.html#similarity index時 query時
12.
[補足]MLT(More Like This)Queryについて ■処理概要 ●
query時 ○ 記事表示時にMLT Queryを投げる ■ 単語長, 文書長などに関するパラメータが設定できる ○ score順に記事IDのリストが返却される ※1 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html index時 query時
13.
[補足]tf-idfとBM25について ● tf-idf ○ tf
(term frequency) : 単語出現頻度 ■ ある単語Tiの文書Dj中の重み ■ TF (i,j) = (文書Djにおける単語Tiの出現回数) / 文書Djの総単語数 ■ 文書中において出現頻度の高い単語は重要 ○ idf(inverse Document Frequeyncy) : 逆文書頻度 ■ n : 単語Tiが出現する文書数 / N: 文書の総数 ■ IDF(i) = log(N/n) ■ 多くの文書において出現頻度の高い単語は重要ではない ● BM25 ○ DL(j) = 文書Djの総単語数 / NDL(j) = DL(j) / (すべての文書の平均 DL) ○ CW(i,j) = [ TF(i,j) * IDF(i) * (K1 + 1) ] / [ K1 * (1 - b + (b * NDL(j)) + TF(i,j) ] ○ tf-idf プラス より短い文書において出現回数が大きいものが重要 http://sonickun.hatenablog.com/entry/2014/11/12/122806 https://ja.wikipedia.org/wiki/Tf-idf https://en.wikipedia.org/wiki/Okapi_BM25
14.
● 記事データ投入 ○ 適当なニュース記事を
1000件 タイトルと本文 ○ embulkでTDに投入 ● 油井さんのtf-idfサンプルを利用させていただきました ○ https://github.com/treasure-data/workflow-examples /tree/master/machine-learning/tf-idf ● 前処理 ○ タグ/改行削除 ○ 1文字の単語削除 ○ アルファベット2文字削除 ○ 形態素解析 (関数 : tokenize_ja() ) ■ kuromoji / neologd ■ 特定の品詞のみ利用 処理概要1 記事データ 投入 前処理 記事数など取得 スコア計算 https://hivemall.incubator.apache.org/userguide/misc/tokenizer.html#japanese-tokenizerl
15.
処理概要1 記事データ 投入 前処理 記事数など取得 スコア計算 query/explode_japanese.sql tfidf.dig
16.
処理概要1 記事データ 投入 前処理 記事数など取得 スコア計算
17.
● 以下2つを計算 ○ 記事数 ■
tf-idf用 ○ DL(document length) ■ 文書Nの総単語数 ■ すべての文書の平均 DL ■ BM25用 処理概要2 記事データ 投入 前処理 記事数など取得 スコア計算 https://hivemall.incubator.apache.org/userguide/misc/tokenizer.html#japanese-tokenizerl tfidf.dig
18.
スコア(tfidf/BM25)を計算 ● tfidfは以下の関数を利用 ○ tf(),
tfidf() ● BM25は定義を利用 ○ CW(i,j) = [ TF(i,j) * IDF(i) * (K1 + 1) ] / [ K1 * (1 - b + (b * NDL(j)) + TF(i,j) ] ○ K=1, b=0.25 処理概要3 記事データ 投入 前処理 記事数など取得 スコア計算 tf-idf BM25
19.
類似記事を抽出してみる・・ 結果 ⇢ 同じパターン tf-idf BM25
20.
類似記事を抽出してみる・・ 結果 ⇢ 異なるパターン tf-idf BM25
21.
アジェンダ ❖ はじめに ➢ 自己紹介 ➢
会社の説明など ❖ 類似ニュース記事の抽出 ❖ まとめ
22.
◎ : hivemall
onTDで類似記事を得ることが出来た! △ : 結果の評価を得るには記事数が少なかった ◎ : Elasticsearchクラスタの構築, 運用が不要 ◎ : Neologdの利用が簡単 ?:tokenize_ja() の返り値に品詞が含まれない・・? ? : パラメータのチューニングがElasiticsearchより簡単にできそう? まとめ
23.
これからやりたいこと ● 機能開発 ○ ユーザベースのニュース記事レコメンド ■
Matrix Factorization / Factorization Machine ? ○ ニュース記事のラベリング ■ word2vec / fastText ? ○ ユーザのクラスタリング ■ k-means など ● ユーザ分析 ○ 行動分析 ○ ABC分析 ⇛などなど沢山あるが、人手が足りていません・・
24.
http://www.mediba.jp/recruit/career/joblist.html#engineer なので、分析・機械学習などしたいエンジニアの方 絶賛募集しています!
25.
ご清聴 ありがとう ございました!
Jetzt herunterladen