はてなダイアリーキーワード自動リンクAPI

はてなダイアリーキーワード自動リンクAPI

テキストファイルを読み込んで,はてなキーワードを抽出するスクリプトを書いてみた.テキストファイルに使用したのは,このエントリ

require 'xmlrpc/client'
require 'kconv'

text = ""

File::open(ARGV[0]) {|f|
  f.each {|line|
    text << line
  }
}

params = {'body' => text,
               'mode' => 'lite',    # これ一応,非公開らしい
               'score' => 20}

@URI = "http://d.hatena.ne.jp/xmlrpc"

client = XMLRPC::Client.new2(@URI)
res = client.proxy("hatena").setKeywordLink(params)

items = []
res['wordlist'].each { |item|
  items.push({
    :cname => item['cname'],
    :score => item['score'],
    :refcount => item['refcount'],
    :word => item['word'].tosjis})
}

items.each { |item|
  puts "#{item[:score]} : #{item[:refcount]} : " + item[:cname] + " : " + item[:word]
}

結果はこんな感じ.(score : refcount : カテゴリ : キーワード)

60 : 215 : web : トラックバック
60 : 215 :  : トラックバック
100 : 46 :  : Silverlight
28 : 396 :  : エントリー
70 : 11 : web : Permalink
37 : 90 : book : アルファ
39 : 94 : web : リンク集
29 : 54 : web : Internet
37 : 90 : music : アルファ
37 : 90 :  : アルファ
50 : 24 : elec : Apollo
41 : 79 :  : script
33 : 54 : elec : アドビ
71 : 119 : web : Web2.0
41 : 79 : music : SCRIPT
100 : 6 : elec : Flex2
25 : 1 :  : どうR
72 : 99 : elec : Adobe
75 : 419 : geography : Java
75 : 23 : elec : CNET
23 : 723 : elec : 仕様
75 : 419 : elec : Java
26 : 10 : science : RIA
26 : 10 : web : RIA
35 : 223 : elec : MS
35 : 223 : anime : MS
35 : 223 : game : MS
35 : 223 :  : MS

任意のブログのフィードから,キーワード抽出するとそのブログの性格に特化したなんかができそう.「はてな」以外の形態素解析も調べてみようかな.