Submit Search
Upload
ピタジョブの裏側 - クローラ・スクレイパ編 -
•
0 likes
•
1,901 views
JustSystems Corporation
Follow
ピタジョブの裏側について発表したJustTechTalk #3の資料です。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 29
Recommended
Groonga meetup20151129
Groonga meetup20151129
JustSystems Corporation
はじパタ2章
はじパタ2章
tetsuro ito
20170207 bigdata analytics_tokyo講演資料
20170207 bigdata analytics_tokyo講演資料
tetsuro ito
Big data解析ビジネス
Big data解析ビジネス
Mie Mori
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話
cyberagent
WSDM2016報告会−論文紹介(Multi-Score Position Auctions)#yjwsdm
WSDM2016報告会−論文紹介(Multi-Score Position Auctions)#yjwsdm
Yahoo!デベロッパーネットワーク
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
Takeshi Sakaki
「レバレジーズ×ビズリーチ」マーケツール連携の裏側全部語ります。
「レバレジーズ×ビズリーチ」マーケツール連携の裏側全部語ります。
Ken Kurahashi
Recommended
Groonga meetup20151129
Groonga meetup20151129
JustSystems Corporation
はじパタ2章
はじパタ2章
tetsuro ito
20170207 bigdata analytics_tokyo講演資料
20170207 bigdata analytics_tokyo講演資料
tetsuro ito
Big data解析ビジネス
Big data解析ビジネス
Mie Mori
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話
cyberagent
WSDM2016報告会−論文紹介(Multi-Score Position Auctions)#yjwsdm
WSDM2016報告会−論文紹介(Multi-Score Position Auctions)#yjwsdm
Yahoo!デベロッパーネットワーク
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
Takeshi Sakaki
「レバレジーズ×ビズリーチ」マーケツール連携の裏側全部語ります。
「レバレジーズ×ビズリーチ」マーケツール連携の裏側全部語ります。
Ken Kurahashi
BIツールActionista!のOLAP集計エンジンJungarian
BIツールActionista!のOLAP集計エンジンJungarian
JustSystems Corporation
Shaping up ATOK to fit to your iPhone / iPad
Shaping up ATOK to fit to your iPhone / iPad
JustSystems Corporation
ジャストシステムの形態素解析技術 その2 機械学習編
ジャストシステムの形態素解析技術 その2 機械学習編
JustSystems Corporation
ジャストシステムの形態素解析技術
ジャストシステムの形態素解析技術
JustSystems Corporation
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介
JustSystems Corporation
人工無脳バトル 1st STEP 回答と解説
人工無脳バトル 1st STEP 回答と解説
JustSystems Corporation
スマイルゼミの裏側(db編)
スマイルゼミの裏側(db編)
JustSystems Corporation
ATOK Spark のご紹介とJavaによるプラグイン開発について
ATOK Spark のご紹介とJavaによるプラグイン開発について
JustSystems Corporation
BIツールActionista!のインメモリーデータベースIMDB
BIツールActionista!のインメモリーデータベースIMDB
JustSystems Corporation
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
JustSystems Corporation
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
JustSystems Corporation
形態素解析の実装言語Talk パネルディスカッション
形態素解析の実装言語Talk パネルディスカッション
JustSystems Corporation
形態素解析器 売ってみた
形態素解析器 売ってみた
JustSystems Corporation
タッグ開発の現場 【エンジニアとデザイナー編】
タッグ開発の現場 【エンジニアとデザイナー編】
JustSystems Corporation
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
JustSystems Corporation
訴求ファースト。キービジュアル。
訴求ファースト。キービジュアル。
JustSystems Corporation
UX / UIデザインって何?
UX / UIデザインって何?
JustSystems Corporation
【Tech Trend Talk vol.3】社外向け勉強会「環境準備と教師なし学習の実践 -(GIG)」
【Tech Trend Talk vol.3】社外向け勉強会「環境準備と教師なし学習の実践 -(GIG)」
GIG inc.
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
BrainPad Inc.
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
Yuichiro "Philip" Yamada
RPA導入における重要点
RPA導入における重要点
ASAKO OSAKI
転職潜在層採用のためのダイレクトリクルーティング&タレントプール
転職潜在層採用のためのダイレクトリクルーティング&タレントプール
Kentaro Someya
More Related Content
Viewers also liked
BIツールActionista!のOLAP集計エンジンJungarian
BIツールActionista!のOLAP集計エンジンJungarian
JustSystems Corporation
Shaping up ATOK to fit to your iPhone / iPad
Shaping up ATOK to fit to your iPhone / iPad
JustSystems Corporation
ジャストシステムの形態素解析技術 その2 機械学習編
ジャストシステムの形態素解析技術 その2 機械学習編
JustSystems Corporation
ジャストシステムの形態素解析技術
ジャストシステムの形態素解析技術
JustSystems Corporation
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介
JustSystems Corporation
人工無脳バトル 1st STEP 回答と解説
人工無脳バトル 1st STEP 回答と解説
JustSystems Corporation
スマイルゼミの裏側(db編)
スマイルゼミの裏側(db編)
JustSystems Corporation
ATOK Spark のご紹介とJavaによるプラグイン開発について
ATOK Spark のご紹介とJavaによるプラグイン開発について
JustSystems Corporation
BIツールActionista!のインメモリーデータベースIMDB
BIツールActionista!のインメモリーデータベースIMDB
JustSystems Corporation
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
JustSystems Corporation
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
JustSystems Corporation
形態素解析の実装言語Talk パネルディスカッション
形態素解析の実装言語Talk パネルディスカッション
JustSystems Corporation
形態素解析器 売ってみた
形態素解析器 売ってみた
JustSystems Corporation
タッグ開発の現場 【エンジニアとデザイナー編】
タッグ開発の現場 【エンジニアとデザイナー編】
JustSystems Corporation
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
JustSystems Corporation
訴求ファースト。キービジュアル。
訴求ファースト。キービジュアル。
JustSystems Corporation
UX / UIデザインって何?
UX / UIデザインって何?
JustSystems Corporation
Viewers also liked
(17)
BIツールActionista!のOLAP集計エンジンJungarian
BIツールActionista!のOLAP集計エンジンJungarian
Shaping up ATOK to fit to your iPhone / iPad
Shaping up ATOK to fit to your iPhone / iPad
ジャストシステムの形態素解析技術 その2 機械学習編
ジャストシステムの形態素解析技術 その2 機械学習編
ジャストシステムの形態素解析技術
ジャストシステムの形態素解析技術
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介
人工無脳バトル 1st STEP 回答と解説
人工無脳バトル 1st STEP 回答と解説
スマイルゼミの裏側(db編)
スマイルゼミの裏側(db編)
ATOK Spark のご紹介とJavaによるプラグイン開発について
ATOK Spark のご紹介とJavaによるプラグイン開発について
BIツールActionista!のインメモリーデータベースIMDB
BIツールActionista!のインメモリーデータベースIMDB
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
形態素解析の実装言語Talk パネルディスカッション
形態素解析の実装言語Talk パネルディスカッション
形態素解析器 売ってみた
形態素解析器 売ってみた
タッグ開発の現場 【エンジニアとデザイナー編】
タッグ開発の現場 【エンジニアとデザイナー編】
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
訴求ファースト。キービジュアル。
訴求ファースト。キービジュアル。
UX / UIデザインって何?
UX / UIデザインって何?
Similar to ピタジョブの裏側 - クローラ・スクレイパ編 -
【Tech Trend Talk vol.3】社外向け勉強会「環境準備と教師なし学習の実践 -(GIG)」
【Tech Trend Talk vol.3】社外向け勉強会「環境準備と教師なし学習の実践 -(GIG)」
GIG inc.
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
BrainPad Inc.
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
Yuichiro "Philip" Yamada
RPA導入における重要点
RPA導入における重要点
ASAKO OSAKI
転職潜在層採用のためのダイレクトリクルーティング&タレントプール
転職潜在層採用のためのダイレクトリクルーティング&タレントプール
Kentaro Someya
【ホワイトペーパー】SENZOKU LAB.pdf
【ホワイトペーパー】SENZOKU LAB.pdf
Shingo Higano
悩めるひとり情シスを救うChatwork API活用方法
悩めるひとり情シスを救うChatwork API活用方法
Mami Sakaguchi
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
GIG inc.
Talentioと人事システムと私
Talentioと人事システムと私
康晴 渡邉
ヒートマップで、アクセス解析・仮説検証力を磨く 先生:小原 良太郎
ヒートマップで、アクセス解析・仮説検証力を磨く 先生:小原 良太郎
schoowebcampus
楽天のデータサイエンティスト@SAS Forum 2019
楽天のデータサイエンティスト@SAS Forum 2019
Rakuten Group, Inc.
IT技術者でも1から学べるビジネスモデルキャンバス入門
IT技術者でも1から学べるビジネスモデルキャンバス入門
陽一 滝川
Matcher Scout.pdf
Matcher Scout.pdf
TetsuYamagishi
プログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのか
Haruo Sato
士業関連の人工知能の活用例
士業関連の人工知能の活用例
超史 宮崎
ランプライト
ランプライト
Japan IT Patent Association
何故あなたの機械学習はビジネスを改善出来ないのか?
何故あなたの機械学習はビジネスを改善出来ないのか?
Shota Yasui
採用ピッチ.pptx
採用ピッチ.pptx
higashi2
「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け) 先生:赤羽 雄二
「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け) 先生:赤羽 雄二
schoowebcampus
20180925_【サポーターズCoLab勉強会】【営業から運用まで】データサイエンティストという職業
20180925_【サポーターズCoLab勉強会】【営業から運用まで】データサイエンティストという職業
Shunsuke Nakamura
Similar to ピタジョブの裏側 - クローラ・スクレイパ編 -
(20)
【Tech Trend Talk vol.3】社外向け勉強会「環境準備と教師なし学習の実践 -(GIG)」
【Tech Trend Talk vol.3】社外向け勉強会「環境準備と教師なし学習の実践 -(GIG)」
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
RPA導入における重要点
RPA導入における重要点
転職潜在層採用のためのダイレクトリクルーティング&タレントプール
転職潜在層採用のためのダイレクトリクルーティング&タレントプール
【ホワイトペーパー】SENZOKU LAB.pdf
【ホワイトペーパー】SENZOKU LAB.pdf
悩めるひとり情シスを救うChatwork API活用方法
悩めるひとり情シスを救うChatwork API活用方法
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
【Tech Trend Talk vol.5】社外向け勉強会「教師あり学習とプロダクトへの活用 -(GIG)」
Talentioと人事システムと私
Talentioと人事システムと私
ヒートマップで、アクセス解析・仮説検証力を磨く 先生:小原 良太郎
ヒートマップで、アクセス解析・仮説検証力を磨く 先生:小原 良太郎
楽天のデータサイエンティスト@SAS Forum 2019
楽天のデータサイエンティスト@SAS Forum 2019
IT技術者でも1から学べるビジネスモデルキャンバス入門
IT技術者でも1から学べるビジネスモデルキャンバス入門
Matcher Scout.pdf
Matcher Scout.pdf
プログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのか
士業関連の人工知能の活用例
士業関連の人工知能の活用例
ランプライト
ランプライト
何故あなたの機械学習はビジネスを改善出来ないのか?
何故あなたの機械学習はビジネスを改善出来ないのか?
採用ピッチ.pptx
採用ピッチ.pptx
「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け) 先生:赤羽 雄二
「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け) 先生:赤羽 雄二
20180925_【サポーターズCoLab勉強会】【営業から運用まで】データサイエンティストという職業
20180925_【サポーターズCoLab勉強会】【営業から運用まで】データサイエンティストという職業
More from JustSystems Corporation
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
JustSystems Corporation
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
JustSystems Corporation
現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターン
JustSystems Corporation
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
JustSystems Corporation
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustSystems Corporation
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
JustSystems Corporation
最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug
JustSystems Corporation
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustSystems Corporation
JustTechTalk#10 React開発における自動テスト実践
JustTechTalk#10 React開発における自動テスト実践
JustSystems Corporation
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例
JustSystems Corporation
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
JustSystems Corporation
AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用
JustSystems Corporation
ジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組み
JustSystems Corporation
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
JustSystems Corporation
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.
JustSystems Corporation
CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?
JustSystems Corporation
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
TypeScriptの大規模開発への適用
TypeScriptの大規模開発への適用
JustSystems Corporation
More from JustSystems Corporation
(20)
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターン
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustTechTalk#10 React開発における自動テスト実践
JustTechTalk#10 React開発における自動テスト実践
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用
ジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組み
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.
CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
TypeScriptの大規模開発への適用
TypeScriptの大規模開発への適用
ピタジョブの裏側 - クローラ・スクレイパ編 -
1.
JustTechTalk #03 ピタジョブの裏側 ― クローラ・スクレイパ編
― 宮田高志
2.
自己紹介 CPS事業部開発部 NLPチーム
2006年入社、9年目 関わってきた技術 構文解析、情報検索、かな漢字変換、etc 関わってきた商品 ATOK、JMAT、FastReach、ピタジョブ、etc 2
3.
ピタジョブ (https://lets.pitajob.jp/) 求人情報の検索・比較サイト
大手転職サイトの求人の他、 企業サイトから独自に収集し た求人も検索・比較できる 3 2015-11-05現在
4.
どうやって求人情報を集めるか? トップページからリンクを辿って「年商」や 「社員数」などの企業情報、および求人情報を 抽出したい 全ページ取得するわけではない/取得するページ が予め分かっているわけでもない...
5.
ピタジョブの要件 企業情報と求人情報(だけ)を抽出する 収集した情報・ページを企業と紐付ける これらを24時間以内に更新する
6.
システム概要 6 WWW クローラ スクレイパ 推論エンジン 企業情報・ 求人情報DB 企業のウェブページに特化 多様なフォーマットに対応
多様な表現に対応 人手チェック 出稿前の最終確認
7.
クローラ 7 WWW クローラ スクレイパ 推論エンジン 企業情報・ 求人情報DB 企業のウェブページに特化 取得したページは企業と紐付ける アンカーテキストでどのリンクを辿るか判断 <a>タグの中身が画像のこともあるので、 トップページ付近は幅優先で全リンクを辿る
キーワードでページを分類 厳密には最後まで処理しないと必要なページ かどうかは分からないので、粗く選別 人手チェック
8.
クローラ 【例】 アンカーテキスト確認用キーワード 技術者、自動車、リクルート、… ←職種辞書から登録 【例】
ページ選別用キーワード 企業情報: 事業所、アクセス、事業内容、... 求人情報: 中途採用、採用案内、キャリア採用、... 除外: 仕事紹介、ご挨拶、お客様相談室、... 8
9.
スクレイパ WWW クローラ スクレイパ 推論エンジン 企業情報・ 求人情報DB 多様なフォーマットに対応 特定のページ向けではなく汎用のスクレイパ 局所的な構造に着目
次の「推論エンジン」でまとめあげ 人手チェック
10.
採用情報ページの例 (1) 10
11.
採用情報ページの例 (1) 11 「職種」 「仕事内容」 「資格」 「勤務地」
12.
採用情報ページの例 (2) 12
13.
採用情報ページの例 (2) 13 表ではなくリスト 「応募資格」 「勤務地」 「勤務時間」 「待遇 /
福利厚生」
14.
採用情報ページの例 (3)
15.
採用情報ページの例 (3) 共通の項目と各募集職種の 項目を、別ページに記述
16.
HTMLの構造の例 (1) 16 項目名はthタグ、 値はtdタグ
17.
HTMLの構造の例 (2) 17 値の中は<br>で整形 tableではなく、 用語定義リスト
18.
HTMLの構造の例 (3) 18 各項目の記述は table /
tr / td 項目名は最初のtdタグ、 値は二つ目のtdタグ
19.
スクレイピングの方針 (一度に抽出するのではなく) 「項目名」と「値」を ペアで抽出
特定のサイト/ページに特化したルールではなく、で きるだけ共通のルールで ⇒専用のルール記述言語(いわゆるDSL)と“コンパイ ラ”を開発 抽出した「項目名」は(次の推論エンジンで)NLP技 術を使って表記を統一(名寄せ) 「給与」「月収」「年収」... ⇒「給与・年収」
20.
.//{..., {{h1=$key}|{h2=$key}|{h3=$key}|{h4=$key}}?, table=$id/tbody/tr/{{{th=$key}|{td=$key}},td=$val}, ...} スクレイピングルール/コンパイル結果/抽出結果の例 20 import module namespace
functx = "http://www.functx.com"; declare function local:match_tree_1($root as node()) as xs:string* { let $temp_0 := local:check_1_0($root) return ($temp_0) }; declare function local:branch_8($root as node()) as xs:string* { let $temp_2 := fn:distinct-values(local:goto_somewhere_h1_2($root)), $temp_3 := fn:distinct-values(local:goto_somewhere_h2_3($root)), $temp_4 := fn:distinct-values(local:goto_somewhere_h3_4($root)), $temp_5 := fn:distinct-values(local:goto_somewhere_h4_5($root)) $temp_6 := fn:distinct-values(local:goto_somewhere_table_6($root)), where fn:exists($temp_2) or fn:exists($temp_3) or fn:exists($temp_4) or fn:exists($temp_5) or fn:exists($temp_6) return ($temp_2,$temp_3,$temp_4,$temp_5,$temp_6) }; declare function local:state_2($current as node()) as xs:string* { let $temp_0 := local:match_tree_2($current) where fn:exists($temp_0) let $temp_6 := fn:distinct-values(local:goto_adjacent_table_6($current)) return (local:merge($temp_0,$temp_6)) }; declare function local:match_tree_2($root as node()) as xs:string* { let $temp_0 := local:traverse_2_0_0($root) return ($temp_0) }; ... {$id=“...” $key=“担当業務の概要” $val=“○○○におけるコール...”} {$id=“...” $key=“必要な能力・経験” $val=“・商品販売・物販系に...”} {$id=“...” $key=“雇用形態” $val=“正社員”} {$id=“...” $key=“勤務地” $val=“大阪本社(大阪市北区)”} {$id=“...” $key=“勤務時間” $val=“9:00~17:30”} {$id=“...” $key=“給与・年収” $val=“経験・年齢等を充分考慮し...”} {$id=“...” $key=“諸手当” $val=“住宅手当、家族手当、...”} ... コンパイル 抽出対象のHTMLファイルに適用
21.
推論エンジン WWW クローラ スクレイパ 推論エンジン 企業情報・ 求人情報DB 人手チェック 多様な表現に対応 スクレイピング結果の項目名を名寄せ、 必要な項目名/値のペアを組み合わせる 検索キーワードとなる語句を抽出し、 表記を統一する(タグ化)
求人は、中途採用のみを残す
22.
推論エンジン 項目名/値として不適切なものはノイズとして捨てる 職種名やスキル、“見出し”になれる語(タグ)を辞書と する形態素解析で、表記揺れを吸収 JMAT
(詳しくは TechTalk #1, #2 を参照)を利用 文字列検索や正規表現と比べて、より正確/高速 (特に規模が大きい場合) 組み合わせてみて、もっともらしいものを残す 中途採用かどうかの判定も
23.
タグ化 検索しやすいように、文章中のキーワード を抽出して表記を統一 【例】 JAVA, Java,
Java, java ⇒ Java 不完全な表現からもタグ化 【例】 「新宿区」から「東京都新宿区」のタグを生成
24.
25.
人手チェック WWW クローラ スクレイパ 推論エンジン 企業情報・ 求人情報DB 人手チェック 出稿前の最終確認 専門スタッフによる全件確認 ある程度の修正・追記
26.
まとめ ピタジョブでは、独自に収集した求人を掲載 企業情報と求人情報(だけ)を収集
収集した情報を起業に紐付け これらを24時間以内に更新 クローラ アンカーテキストとNLP技術で、取得したページを粗く選別 スクレイパ 多様なフォーマットに対応するために、独自言語でルールを記述 推論エンジン NLP技術で、名寄せ・タグ化を行う システムが生成した企業情報/求人情報は、出稿 前に人手で全件確認 26
27.
現在、会員募集中です!
28.
一緒にピタジョブを作りませんか?
29.
ご静聴ありがとうございました