質問: おそらくテキストマイニング、機械学習に関連する質問です。下記の求人情報検索サイトでは、どんな技術が使われているか、推測してください。 どちらも求人情報の検索サイトですが、企業の求人ページ等から拾ってきた情報を、職種・勤務地等の項目で整理してDB化しています。ポイントは、非定型の企業HPから、どうやって情報を綺麗に整理するか、です。
回答: 抽出処理を2段階に分けましょう。 * (1)非構造データである各種企業HPから,(単なるプレーンテキストではなく)データ構造としての文書情報を解析して抽出する。 * (2)(1)の出力結果を,文書のデータ構造を気にしながら単語レベルの解析にかけ,意味に応じて分類し。検索可能な形式で蓄積する。 (1)を実現するためには,企業HPのHTMLソースを「DOM構造」としてパースし,各文言がどのような糸で掲載されているのかを判定していく必要があります。 Webページに限定するのであれば,(X)HTMLのセマンティクスや,GoogleにWebサイトを認識させるためのSEO対策の手法なども参考になるでしょう。 例えば,titleタグやh1タグでマークアップされた要素中の文言は,極めて重要な情報,そのWebページを特徴づけて要約する,価値の高い情報と言う事になります。 また,ul要素・ol要素・table要素などでマークアップされた情報は,何らかの項目を列挙していると判定できます。 このようにして,Webページから「各文言に対して意味や重みが付与されたデータ構造としての文書情報」が抽出されます。(1)がここまでです。 (2)では,(1)の成果物を分解し,さらに詳細なレベルで解析します。 例えば文書中に「Windows」という固有名詞が使われていれば,このページは「コンピュータ」というタグを付けよう。みたいな細かい分類処理を行ないます。 「東京都」というワードが見つかれば,勤務先は東京都であろうと分類します。 そのような解析処理のために必要なのが形態素解析であり,それらのツールの種類については,No.1さんが回答なさいました。 この結果,各ページの特徴を単語レベルで解析することができ,任意のキーワードで検索をかけた時に適切なページが返される事になります。 Googleがやっている事よりも一歩進んだ,メタな検索+インデクシングのアルゴリズムですね。