物欲購入目録日誌 写真館
スポンサーサイト
--.--.-- (--:--) スポンサー広告
Twitterでつぶやく
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
HTMLから本文抽出(extractcontent)
2010.10.30 (13:45) 余談trackback(0)comment(0)
Twitterでつぶやく
HTMLから本文抽出(extractcontent)

完全にメモ程度なのですが、、HTMLから本文情報を抽出する必要があったのでいいライブラリはないかと物色。
どうもextractcontentというのがあるらしい。

Extractcontent

http://www.moongift.jp/2007/10/extractcontent/
サイボーズのオープンソースらしい

とりあえず、gemからinstallできるので使ってみる。

$sudo gem install extractcontent


rubyのサンプルコードはこんな感じ


--
#! /usr/bin/ruby
# -*- coding: utf-8 -*-
#
# 本文抽出サンプル
#
$KCODE="u"
require 'open-uri'
require 'rubygems'
require 'extractcontent'
require 'kconv'

# ひとつ前のblogのエントリー
URL = 'http://tachiphoto.blog61.fc2.com/blog-entry-1176.html'

extractor = ExtractContent::Extractor.new
open(URL) do |html|
body,title = extractor.analyse(html.read)
puts "body :#{body.toutf8}"
end
--

実行

$./extract_body.rb
body :形態素解析用ライブラリとしてMeCabをサーバー側のCygwinにインストール。twitter botのサーバーはネットとかtwitterを見ているテーブル上にあるwindows7マシンで、開発用のMacと環境が違うのでかなりめんどい。あと穹ちゃん可愛い。
早速、MeCabのコンパイルにひっかかる。http://sarastron.blog69.fc2.com/blog-entry-15.html事象的にはcygwin用のマクロのincludeのundef// tricky macro for MSVC#if defined(_MSC_VER) || defined(__CYGWIN__)#define for if (0); else for/* why windows.h define such a generic macro */#undef max#undef min#define snprintf _snprintf#endifcommon.hの変な部分に記述してある!!わかわからん。というので上記のURLを参考に修正。これでコンパイルはOK。次にrubyラッパーのコンパイルでまたこける。これはmecabのライブラリをうまく認識できていなかったので、Makefileを直接編集で対応http://d.hatena.ne.jp/gnarl/20100519/1274276712さらに環境変数をg++に変更したりライブラリの追加など以前紹介したURLで記述されている部分を修正http://sites.google.com/site/casualconcj/yutiriti-puroguramu/mecab-ruby-wo-insutoru-suru#TOC-MeCab-Ruby-これでOK!!サーバー側で形態素解析できるようになりました。


おっと!いいじゃん!なかなか。^-^

どうも本文抽出にCRFを使っているみたいですね、なかなか
http://www.slideshare.net/shuyo/web-using-crf

たぶん、開発者の発表資料。
prevhome next












トラックバックURL
→http://tachiphoto.blog61.fc2.com/tb.php/1177-f505b034
home
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。