SlideShare une entreprise Scribd logo
1  sur  59
はてなブックマークの システムについて 株式会社はてな / {Shibuya, Kansai}.pm 伊藤 直也
自己紹介 ,[object Object]
アジェンダ ,[object Object],[object Object],[object Object]
はてなブックマークの これまでと現状
はてなブックマーク
はてなブックマークのこれまで ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
現在の数字 ,[object Object],[object Object],[object Object]
データの規模の例 mysql> select count(*) from relword; +-----------+ | count(*)  | +-----------+ | 351277311 | +-----------+ 1 row in set (0.00 sec)
データの規模 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
中規模  ~  大規模ウェブサービス ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
開発体制 ,[object Object],[object Object],[object Object],[object Object]
システム構成 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
プログラミング言語 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
利用している主なソフトウェア ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
各種機能の実現方法
本文抽出
HTML::ExtractContent ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HTML::ExtractContent  の仕組み ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HTML::LayeredExtractor ( 非公開 ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
全文検索機能
2 つの全文検索システム ,[object Object],[object Object],[object Object],[object Object],[object Object]
1.  全文書からの全文検索 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.  個人のブックマークからの全文検索 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
転置インデックス ,[object Object],... perl  => [1, 5, 20, 333, 350, 362 ...] python => [8, 10, 11, 52 ...] ruby  => [1, 10, 21, 333, 350, 428 ...] ...
転置インデックスの構成 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
転置インデックスの構成  ( 続き ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
検索結果のスコアリング ,[object Object],[object Object]
スコアリングの手法 ,[object Object],[object Object],[object Object],[object Object]
スコアリングの手法の一部  ( 続き ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
スコアリング今後 ,[object Object],[object Object]
検索エンジンとアプリケーションのやりとり ,[object Object],[object Object],[object Object],[object Object],[object Object]
Firefox 拡張  +  マイブックマーク検索 ,[object Object]
スペルミス修正機能 ,[object Object]
スペルミス修正サーバー ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
関連エントリー機能
レコメンドエンジン  BSim ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
カテゴライズ機能
文書分類エンジン  BDog ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Complement Naive Bayes
そのほか ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
各所で  TheSchwartz  を活用 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
はてなブックマーク  Firefox  拡張
Firefox  拡張 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
雑感 ,[object Object],[object Object],[object Object],[object Object]
パフォーマンスに関する話
バックエンドのシステム構成 ,[object Object],[object Object],[object Object]
バックエンドシステムの三層構造 proxy proxy LB LB app server app server app server app server LB DB DB LB LB LB
ハードウェア :  自作サーバー
データベースの構成 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
島分け proxy AP bot / feed 通常のリクエスト DB 画像 API etc. proxy
Squid  によるキャッシュ ,[object Object],[object Object],[object Object],[object Object],[object Object]
memcached  によるキャッシュ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
クライアント表示に関する工夫 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
クライアント表示に関する工夫  ( 続き ) ,[object Object],[object Object],[object Object],[object Object]
クライアント表示に関する工夫  ( 続き ) ,[object Object],[object Object]
雑感 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WEB+DB PRESS Vol.49
まとめ ,[object Object],[object Object],[object Object],[object Object]
Thank You  !

Contenu connexe

Tendances

Authoring Tools Comparision in Detail
Authoring Tools Comparision in DetailAuthoring Tools Comparision in Detail
Authoring Tools Comparision in DetailTim Lu
 
PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収
PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収
PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収Hiroshi Tokumaru
 
【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるにはdevsumi2009
 
25000社以上採用計測ソリューション
25000社以上採用計測ソリューション25000社以上採用計測ソリューション
25000社以上採用計測ソリューションnishimizu
 
デブサミ2009 はてなの開発戦略
デブサミ2009 はてなの開発戦略デブサミ2009 はてなの開発戦略
デブサミ2009 はてなの開発戦略Yuichi Tateno
 
PXI, LabVIEW事例集2
PXI, LabVIEW事例集2PXI, LabVIEW事例集2
PXI, LabVIEW事例集2nishimizu
 
Hyper Estraierの設計と実装
Hyper Estraierの設計と実装Hyper Estraierの設計と実装
Hyper Estraierの設計と実装Hiroshi Ono
 
Windows MobileとWeb Api
Windows MobileとWeb ApiWindows MobileとWeb Api
Windows MobileとWeb ApiKenji Wada
 
1242982622API2 upload
1242982622API2 upload1242982622API2 upload
1242982622API2 upload51 lecture
 
Cloud for Enterprise IT (Japanese)
Cloud for Enterprise IT (Japanese)Cloud for Enterprise IT (Japanese)
Cloud for Enterprise IT (Japanese)kurikiyo
 
Php5.3ってなんなんだー
Php5.3ってなんなんだーPhp5.3ってなんなんだー
Php5.3ってなんなんだーKousuke Ebihara
 
モバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRCモバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRCShin Ise
 
Internet Ued Process
Internet Ued ProcessInternet Ued Process
Internet Ued Processrex song
 
Talk In Point Of Gc Once In While
Talk In Point Of Gc Once In WhileTalk In Point Of Gc Once In While
Talk In Point Of Gc Once In WhileNarihiro Nakamura
 

Tendances (20)

Authoring Tools Comparision in Detail
Authoring Tools Comparision in DetailAuthoring Tools Comparision in Detail
Authoring Tools Comparision in Detail
 
PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収
PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収
PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収
 
【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには
 
XS Japan 2008 App Data Japanese
XS Japan 2008 App Data JapaneseXS Japan 2008 App Data Japanese
XS Japan 2008 App Data Japanese
 
25000社以上採用計測ソリューション
25000社以上採用計測ソリューション25000社以上採用計測ソリューション
25000社以上採用計測ソリューション
 
デブサミ2009 はてなの開発戦略
デブサミ2009 はてなの開発戦略デブサミ2009 はてなの開発戦略
デブサミ2009 はてなの開発戦略
 
XS Japan 2008 Ganeti Japanese
XS Japan 2008 Ganeti JapaneseXS Japan 2008 Ganeti Japanese
XS Japan 2008 Ganeti Japanese
 
PXI, LabVIEW事例集2
PXI, LabVIEW事例集2PXI, LabVIEW事例集2
PXI, LabVIEW事例集2
 
Hyper Estraierの設計と実装
Hyper Estraierの設計と実装Hyper Estraierの設計と実装
Hyper Estraierの設計と実装
 
Windows MobileとWeb Api
Windows MobileとWeb ApiWindows MobileとWeb Api
Windows MobileとWeb Api
 
20世紀Ruby
20世紀Ruby20世紀Ruby
20世紀Ruby
 
1242982622API2 upload
1242982622API2 upload1242982622API2 upload
1242982622API2 upload
 
Cloud for Enterprise IT (Japanese)
Cloud for Enterprise IT (Japanese)Cloud for Enterprise IT (Japanese)
Cloud for Enterprise IT (Japanese)
 
Php5.3ってなんなんだー
Php5.3ってなんなんだーPhp5.3ってなんなんだー
Php5.3ってなんなんだー
 
モバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRCモバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRC
 
git-svn intro
git-svn introgit-svn intro
git-svn intro
 
Internet Ued Process
Internet Ued ProcessInternet Ued Process
Internet Ued Process
 
090601-dotplot
090601-dotplot090601-dotplot
090601-dotplot
 
PFI会社案内
PFI会社案内PFI会社案内
PFI会社案内
 
Talk In Point Of Gc Once In While
Talk In Point Of Gc Once In WhileTalk In Point Of Gc Once In While
Talk In Point Of Gc Once In While
 

En vedette

はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3Shoichi Masuhara
 
Topical keyphrase extraction from twitter
Topical keyphrase extraction from twitterTopical keyphrase extraction from twitter
Topical keyphrase extraction from twitterShunsuke Kozawa
 
Joint inference of named entity recognition and normalization for tweets
Joint inference of named entity recognition and normalization for tweetsJoint inference of named entity recognition and normalization for tweets
Joint inference of named entity recognition and normalization for tweetsShunsuke Kozawa
 
cocowa 松本博樹 自己紹介スライド
cocowa 松本博樹 自己紹介スライドcocowa 松本博樹 自己紹介スライド
cocowa 松本博樹 自己紹介スライドHiroki Matsumoto
 
はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015
はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015
はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015Shunsuke Kozawa
 
『BrandSafe はてな』のアドベリフィケーションのしくみ
『BrandSafe はてな』のアドベリフィケーションのしくみ『BrandSafe はてな』のアドベリフィケーションのしくみ
『BrandSafe はてな』のアドベリフィケーションのしくみLintaro Ina
 
サイト/ブログから本文抽出する方法
サイト/ブログから本文抽出する方法サイト/ブログから本文抽出する方法
サイト/ブログから本文抽出する方法Takuro Sasaki
 
はてなブックマークに基づく関連記事レコメンドエンジンの開発
はてなブックマークに基づく関連記事レコメンドエンジンの開発はてなブックマークに基づく関連記事レコメンドエンジンの開発
はてなブックマークに基づく関連記事レコメンドエンジンの開発Shunsuke Kozawa
 
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)Keiku322
 
野澤陽介(Yosuke nozawa)|自己紹介スライド 2014ver
野澤陽介(Yosuke nozawa)|自己紹介スライド 2014ver野澤陽介(Yosuke nozawa)|自己紹介スライド 2014ver
野澤陽介(Yosuke nozawa)|自己紹介スライド 2014ver取締役
 
Perl で自然言語処理
Perl で自然言語処理Perl で自然言語処理
Perl で自然言語処理Toshinori Sato
 
はてなブックマークの新機能における自然言語処理の活用
はてなブックマークの新機能における自然言語処理の活用はてなブックマークの新機能における自然言語処理の活用
はてなブックマークの新機能における自然言語処理の活用Shunsuke Kozawa
 
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyインターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyShinichiro Yoshida
 
HTMLからの本文抽出
HTMLからの本文抽出HTMLからの本文抽出
HTMLからの本文抽出Lintaro Ina
 

En vedette (14)

はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3
 
Topical keyphrase extraction from twitter
Topical keyphrase extraction from twitterTopical keyphrase extraction from twitter
Topical keyphrase extraction from twitter
 
Joint inference of named entity recognition and normalization for tweets
Joint inference of named entity recognition and normalization for tweetsJoint inference of named entity recognition and normalization for tweets
Joint inference of named entity recognition and normalization for tweets
 
cocowa 松本博樹 自己紹介スライド
cocowa 松本博樹 自己紹介スライドcocowa 松本博樹 自己紹介スライド
cocowa 松本博樹 自己紹介スライド
 
はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015
はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015
はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015
 
『BrandSafe はてな』のアドベリフィケーションのしくみ
『BrandSafe はてな』のアドベリフィケーションのしくみ『BrandSafe はてな』のアドベリフィケーションのしくみ
『BrandSafe はてな』のアドベリフィケーションのしくみ
 
サイト/ブログから本文抽出する方法
サイト/ブログから本文抽出する方法サイト/ブログから本文抽出する方法
サイト/ブログから本文抽出する方法
 
はてなブックマークに基づく関連記事レコメンドエンジンの開発
はてなブックマークに基づく関連記事レコメンドエンジンの開発はてなブックマークに基づく関連記事レコメンドエンジンの開発
はてなブックマークに基づく関連記事レコメンドエンジンの開発
 
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
 
野澤陽介(Yosuke nozawa)|自己紹介スライド 2014ver
野澤陽介(Yosuke nozawa)|自己紹介スライド 2014ver野澤陽介(Yosuke nozawa)|自己紹介スライド 2014ver
野澤陽介(Yosuke nozawa)|自己紹介スライド 2014ver
 
Perl で自然言語処理
Perl で自然言語処理Perl で自然言語処理
Perl で自然言語処理
 
はてなブックマークの新機能における自然言語処理の活用
はてなブックマークの新機能における自然言語処理の活用はてなブックマークの新機能における自然言語処理の活用
はてなブックマークの新機能における自然言語処理の活用
 
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyインターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
 
HTMLからの本文抽出
HTMLからの本文抽出HTMLからの本文抽出
HTMLからの本文抽出
 

Plus de Naoya Ito

SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...Naoya Ito
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium MobileNaoya Ito
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + PerlNaoya Ito
 
Web-Gakkai Symposium 2010
Web-Gakkai Symposium 2010Web-Gakkai Symposium 2010
Web-Gakkai Symposium 2010Naoya Ito
 
Introduction to Algorithms#24 Shortest-Paths Problem
Introduction to Algorithms#24 Shortest-Paths ProblemIntroduction to Algorithms#24 Shortest-Paths Problem
Introduction to Algorithms#24 Shortest-Paths ProblemNaoya Ito
 
090518computing Huffman Code Length
090518computing Huffman Code Length090518computing Huffman Code Length
090518computing Huffman Code LengthNaoya Ito
 
スペルミス修正プログラムを作ろう
スペルミス修正プログラムを作ろうスペルミス修正プログラムを作ろう
スペルミス修正プログラムを作ろうNaoya Ito
 
Dijkstra Algorithm
Dijkstra AlgorithmDijkstra Algorithm
Dijkstra AlgorithmNaoya Ito
 
OGC2009 はてなブックマークについて
OGC2009 はてなブックマークについてOGC2009 はてなブックマークについて
OGC2009 はてなブックマークについてNaoya Ito
 
081108huge_data.ppt
081108huge_data.ppt081108huge_data.ppt
081108huge_data.pptNaoya Ito
 
about Thrift
about Thriftabout Thrift
about ThriftNaoya Ito
 
How to read linux kernel
How to read linux kernelHow to read linux kernel
How to read linux kernelNaoya Ito
 
Introduction To Moco
Introduction To MocoIntroduction To Moco
Introduction To MocoNaoya Ito
 

Plus de Naoya Ito (13)

SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + Perl
 
Web-Gakkai Symposium 2010
Web-Gakkai Symposium 2010Web-Gakkai Symposium 2010
Web-Gakkai Symposium 2010
 
Introduction to Algorithms#24 Shortest-Paths Problem
Introduction to Algorithms#24 Shortest-Paths ProblemIntroduction to Algorithms#24 Shortest-Paths Problem
Introduction to Algorithms#24 Shortest-Paths Problem
 
090518computing Huffman Code Length
090518computing Huffman Code Length090518computing Huffman Code Length
090518computing Huffman Code Length
 
スペルミス修正プログラムを作ろう
スペルミス修正プログラムを作ろうスペルミス修正プログラムを作ろう
スペルミス修正プログラムを作ろう
 
Dijkstra Algorithm
Dijkstra AlgorithmDijkstra Algorithm
Dijkstra Algorithm
 
OGC2009 はてなブックマークについて
OGC2009 はてなブックマークについてOGC2009 はてなブックマークについて
OGC2009 はてなブックマークについて
 
081108huge_data.ppt
081108huge_data.ppt081108huge_data.ppt
081108huge_data.ppt
 
about Thrift
about Thriftabout Thrift
about Thrift
 
How to read linux kernel
How to read linux kernelHow to read linux kernel
How to read linux kernel
 
Introduction To Moco
Introduction To MocoIntroduction To Moco
Introduction To Moco
 

はてなブックマークのシステムについて