狠狠撸
Submit Search
笔测迟丑辞苍で検索エンジン2
?
2 likes
?
1,870 views
Yasukazu Kawasaki
Follow
1 of 25
Download now
Download to read offline
More Related Content
笔测迟丑辞苍で検索エンジン2
1.
Pythonで ブックマーク検索エンジンを
作ってみた。 ニコ生Pythonユーザー会 (PyNLUG) かわ
2.
本日のアジェンダ ? ニコ生Pythonユーザー会(co116049)について ? 自己绍介 ?
Pythonでブックマーク検索エンジン o ?OpenID o 検索システム o 今後の展開 2009/12/26 プログラミング生放送勉強会 第2回
3.
ニコ生Pythonユーザー会(co116049) ニコニコ生放送界隈で、Pythonを愛好するゆる?い集まり。 参加資格 ? ニコニコ動画のアカウント登録している方(必須) ? Pythonを愛してやまない(任意) ?
Pythonってよく分かんないけど、何か好き(任意) ? Python大嫌い(任意) ? ニシキヘビを飼っている(狩っているでも可) 2009/12/26 プログラミング生放送勉強会 第2回
4.
ニコ生Pythonユーザー会(co116049) 参加方法 http://com.nicovideo.jp/community/co116049 にアクセス
←クリック 2009/12/26 プログラミング生放送勉強会 第2回
5.
ニコ生Pythonユーザー会(co116049) 参加特典 ? コミュニティで放送ができる(ただしプレミア会員のみ) ? 誰かが放送されると、マイページに表示される 以上
2009/12/26 プログラミング生放送勉強会 第2回
6.
自己绍介 HatenaID:?kawa1128 Twitter:?@kawa1128 ニコ生コミュニティ:co70366 ?????????????????????????????????
?http://com.nicovideo.jp/community/co70366 WEB:http://www.kawa1128.jp/ ニコ生での活動: ? Python放送(メイン) ? 気まぐれに歌う ? 時々ピアノを弾く ? 自分で撮った写真のスライドショー(延々30分) 2009/12/26 プログラミング生放送勉強会 第2回
7.
自己绍介 主な使用言語(利用頻度順): Perl? Python C/C++ Ruby
2009/12/26 プログラミング生放送勉強会 第2回
8.
自己绍介
自分のブックマークを整理したい! ↓ 自分がブックマークしたということは、自分にとって、重要? ↓ ちょっと検索してみよう ↓ あれ、このページってこないだ「お気に入り」に入れなかっ たっけ? 2009/12/26 プログラミング生放送勉強会 第2回
9.
ブックマーク検索エンジン 結論 自分のブックマークをブックマークを一ヶ所で管理して、検索 すれば、自分得? 検索エンジンにも興味あるし、作ってしまおう!! 類似サービス ?はてなのブックマーク(はてぶ) →気にしない、気にしない。検索エンジン作ってみたいよ! どうせなら、いろんな人に使って欲しいよね第2回
2009/12/26 プログラミング生放送勉強会
10.
ブックマーク検索エンジン OpenID ?OpenID(オープンアイディー)とはウェブサイトによらず使用で きる認証システムの標準、およびそこで使用される識別子である。 (by?Wikipedia?日本語
版) ?自分でユーザー認証とかしなくても、他のところがやってくれる ↓ 自分でパスワードの管理をしなくてすむ。 ただし、ユーザー管理の必要はある。 利用例)ATND: http://atnd.org/ 2009/12/26 プログラミング生放送勉強会 第2回
11.
ブックマーク検索エンジン OpenIDの仕組み 1. End?User(サイト利用者)がConsumer(自サイト)にアクセス – Consumerに対して、End?UserはIdentifierを渡す –
Consumerは受け取ったIdentifierを元にIdentity?Provider(実際に認 証するサイト)をDiscoveryする。 – End?Userは、Identity?Providerで、認証をする。 – Identity Providerから、Consumerにリダイレクトされてくる。? 2009/12/26 プログラミング生放送勉強会 第2回
12.
ブックマーク検索エンジン OpenIDの仕組み?
2009/12/26 プログラミング生放送勉強会 第2回
13.
ブックマーク検索エンジン OpenIDの例?はてなを利用した例 1. OpenID認証を利用したサイトに対して、はてなの
Identifier(http://www.hatena.ne.jp/kawa1128/)を渡す。 2. 受け取ったら、Identiferをライブラリに渡して、Discoveryする 。 3. Discoveryした結果、認証するためのページのURIを得る。 4. そこにリダイレクトさせるように、HTTP?Status?301をクライア ントにかえす。(この際に認証後にリダイレクトするページを 渡しておく) 5. クライアントのブラウザが認証するサイトを表示する。 6. 認証する。 7. Identify?Providerから、リダイレクトされてくる。 8. 認証完了 2009/12/26 プログラミング生放送勉強会 第2回
14.
ブックマーク検索エンジン OpenIDの例?はてなを利用した例 受け取る情報
openid.sig? xNttUpcaC57H/3vRPM=? openid.return_to? http://www.kawa1128.jp/test/openid/verify.cgi? janrain_nonce=2009-12- 23T15%3A14%3A08ZKCFGIu&openid1_claimed_id=http %3A%2F%2Fwww.hatena.ne.jp%2Fkawa1128%2F? janrain_nonce? 2009-12-23T15:14:08ZKCFGIu? openid.response_nonce 2009-12-23T15:14:13ZmLDjrU? openid.claimed_id? http://www.hatena.ne.jp/kawa1128/? openid.mode? id_res? openid1_claimed_id http://www.hatena.ne.jp/kawa1128/? openid.signed? mode,claimed_id,identity,return_to,response_nonce,assoc_ handle? openid.identity? http://www.hatena.ne.jp/kawa1128/? openid.assoc_handle? 1260465265:cPZRiL75:bf7e6ec7eb? 2009/12/26 プログラミング生放送勉強会 第2回
15.
ブックマーク検索エンジン OpenIDの例?Pythonコード例 import?openid.consumer.consumer import?openid.store.filestore
import?openid.extensions.sreg auth_uri?=?'http://www.hatena.ne.jp/kawa1128/' openidsession?=?dict() store?=?openid.store.filestore.FileOpenIDStore("./store") consumer=?openid.consumer.consumer.Consumer(openidsession,?store) request?=?consumer.begin(auth_uri) urlroot?=?"http://www.kawa1128.jp" urlredirect?=?request.redirectURL(urlroot,?urlroot?+?'/test/openid/verify.cgi') print?'Status:?301?Moved' print?'Location:?',?urlredirect print? 2009/12/26 プログラミング生放送勉強会 第2回
16.
ブックマーク検索エンジン 検索エンジン ?
自分最適化 (いまんとこスケールさせることは考えない) ? そもそも、自分で登録するんだからノイズが少ない ので、スコアリングロジックは単純に! ? でも、技術的追求はしたいよね。 ? 形態素解析とかは、むりだけどね。 というわけで、 DBとしてSQLite3を利用 形態素解析器として、MeCabを利用。 2009/12/26 プログラミング生放送勉強会 第2回
17.
ブックマーク検索エンジン 検索エンジンのしゅるい ?
形態素解析を利用したもの o 検索精度は割と高め o ディスク容量は中程度 o Indexingに時間はかかる ? N-gram方式を利用したもの o 検索漏れがない o Indexingが早い o ディスク容量は結構使う 2009/12/26 プログラミング生放送勉強会 第2回
18.
ブックマーク検索エンジン クローラーとインデクサ ?
リンクの深さ 5段くらい? ? 一度クロールしても、しばらくして、ブックマーク に新たに追加された場合再度クロール。それ以外の 場合際クロールはしない。 ? 認証とかされているとお手上げ。 ? 一度インデックシングした情報は消さない ? できれば、キャッシュとして、クロールしたページ は残しておきたい。 2009/12/26 プログラミング生放送勉強会 第2回
19.
ブックマーク検索エンジン インデクサ & サーチャー 1.スクレイピングして単語に分解。
2.単語を単語DBに登録 3.出現位置と、URLをロケーションDBに登録 2009/12/26 プログラミング生放送勉強会 第2回
20.
ブックマーク検索エンジン DB構成 UserDB
BookMarkDB URLDB ---------------------- ----------------------- ---------------------- openid user_id URL user_id url_id url_id date WordDB LocationDB ----------------------- ---------------------- word url_id word_id word_id position 2009/12/26 プログラミング生放送勉強会 第2回
21.
ブックマーク検索エンジン 宣伝!
http://bs.kawa1128.jp/ 絶賛公開予定!!!! 2009/12/26 プログラミング生放送勉強会 第2回
22.
ブックマーク検索エンジン 宣伝!
http://bs.kawa1128.jp/ 絶賛公開予定!!!! 未定!! 2009/12/26 プログラミング生放送勉強会 第2回
23.
この子たちのために完成せず。
2009/12/26 プログラミング生放送勉強会 第2回
24.
ブックマーク検索エンジン そのた 詳細は、はてなダイアリーでかいていこうと思うの
で、そちらを参照くださいませ。 →?http://d.hatena.ne.jp/kawa1128/ その他、個人的なことは →?http://www.kawa1128.jp/ Twitterで聞いてもおk → @kawa1128?で! 2009/12/26 プログラミング生放送勉強会 第2回
25.
最後までお聞きくださり ありがとうございました。 2009/12/26 プログラミング生放送勉強会
第2回
Download