#!/usr/bin/python
import urllib
import json
# API呼び出し
url = "http://api.atnd.org/events/?ym=201203&format=json"
result = urllib.urlopen(url)
result = json.loads(result.read())
count = result["results_returned"]
# 件数取得
num = result["results_available"]
print "検索結果:" + str(result["results_available"]) + "件"
# イベントの表示
for event in result["events"]:
print event["title"] + " : " + event["event_url"] + " : " + event["address"]
# 残りのイベントの取得処理
while count < num:
url = "http://api.atnd.org/events/?ym=201203&format=json&start=" + str(count + 1)
result = urllib.urlopen(url)
result = json.loads(result.read())
count = count + result["results_returned"]
for event in result["events"]:
print event["title"] + " : " + event["event_url"]
2012年3月21日水曜日
Python: ATNDのAPIを使ってイベントをJSON形式で取得する
ATNDのAPIを使って、Pythonでイベント情報を取得してみました。
2012年2月26日日曜日
自然言語処理勉強会(#tokyonlp)メモ
日時
2012年2月25日 13:00~18:30頃
Jubatusの紹介
2012年2月25日 13:00~18:30頃
Jubatusの紹介
※「ユバタス」と読むらしい
- データはこれからも増え、データの種類も多様化する(テキスト・行動記録・音声など)
- Jubatusは分散かつオンラインの機械学習基盤を提供
- 高速処理、大規模、より深い分析
- hadoop+mahoutではリアルタイム性が難しいし、オンライン学習ライブラリでは並列分散化が大変。ストリーム処理基盤では分散機械学習が難しい。
- Jubatusはこれらすべてを持ち合わせる。
- 活用例
- 全国に散らばったセンサーからデータ収集・分析・予測をし、それぞれが自律して学習し、モデル情報だけを交換
- イメージとしては、個別に自習をし、たまに勉強会で情報交換する、という感じ。
- 3つの処理フェーズ
- UPDATE(学習)
- ANALYZE(分析)
- MIX(モデルを混ぜ合わせる)
- レコメンド:近傍探索アルゴリズム
- キーワード:コサイン類似度、Jaccard係数
- アルゴリズム
- 転置インデックス コサイン類似度
- Locality Sensitive Hashing(LSH)
- minhash
- アンカーグラフ
count-min sketch
- キーを持たないハッシュ表を組み合わせたもの。ハッシュ表をいくつか持つ。
- メモリ使用量を少なくできる。(データの数によらず一定)
- ただし、width, depthが小さいとシノニムが頻発し精度が悪くなる。
- 精度を上げる工夫
- Conservative Update
- Lossy Conservative Update
- approximate counting
- ライブラリ madoka
日本語入力を支える技術
- 執筆作業はしんどかった。
- 機械学習について初心者向けの解説書がなかったので、そういうものを書きたかった。
- データ構造に力を入れすぎたのが反省。
- ツールの活用が重要。git, docdiff
MCMCの初歩
- MCMC:複雑な確率分布からサンプリングするためのツール
- 確率とは:出来事に対して与える0~1の確信度
- サンプリングとは: ある確率分布にしたがうデータを生成すること。
- なぜMCMCは便利か?
- 高次元のデータから効率的にサンプリングできる。
- ベイズの定理と組み合わせることでパラメーターをサンプリングできる。
transliteration入門
- transliteration=名前、固有名詞の(音的な)翻訳
- L2P(Letter-to-Phoneme)や発音推定(漢字が与えられたときに読み方を推定する)に類似
- たとえば、英語人名のHarringtonから日本語の「ハリントン」を導出
- 2つの種類
- transliteration mining
- sourceとtargetのペアが入っているが、ノイズが入っている。
- transliteration generation
- トレーニングに含まれないsourceの文字が与えられた場合に、targetの文字に変換する。
登録:
コメント (Atom)