救助要請の抽出

提供:ANPI_NLP

移動: 案内, 検索

@aidashin あいだしんさんのツイートの一部です。


私は「Twitter 救助要請通報支援サイト」( http://is.gd/THMebZ )開設者です。15日分より、救助要請情報ログを以下に蓄積しております

ログは空白区切りプレーンテキストです。ファイル名は “current.txt.日付.gz”, 各行は上から順に、(1行目)発言時刻, (2行目)TwitterID: ツィート文, (3行目)発信者情報、あるいはRT元URL, です。

一部、日付のないものもありますが、それはログバックアップしていなかった期間を補完するものです。現在は当サイトの情報に基づいて適宜通報しておりますが、さらに応用して「救命要請情報が通報が既報かどうか確認システム」の構築のお役立てにしたいと思っています。

「半日でシステム構築する」ことを最優先にしたため、TwitterAPIを用いず、「1500ったー( http://is.gd/8zDmh0 )」で得た救命要請関連HTML文書を処理し、現在も10分置きに獲得し続けています。

とりあえず、当システム稼働中はログファイルが10分置きに追加されます。ANPI NLP 活動に少しでもお役立ていただけたら幸いです。


どうやって

まずは動くものをつくる

以下のスクリプトを helpme.rb とします。

def helpme(tweet)
  return false if tweet =~ /マップ/e
  return false if tweet =~ /【被災者の方へ】/e
  return false if tweet =~ /【救助・支援が必要な方へ】/e
  tweet =~ /[救助願求食水届]/e && tweet =~ /[県市町村]/e
end
while line = gets
  puts line if helpme(line.chomp)
end

次のコマンドを実行します。

gzip -dc www.selab.cs.tut.ac.jp/~aida/Log/*.gz | ruby helpme.rb | head -100

この出力を見る限り精度は高そうです。ログがEUC-JPなので上記スクリプトもEUC-JPです

内山がこれまでにやったのは以下の手順です。

1.あたりをつけるために、とりあえず,「助」という文字を含むツイートを出してみる。

2.これを眺めて規則をつくる。

精度は良いようですが、再現率に問題がある可能性があります。

疑似正例として上記スクリプトに一致するツイートを helpme.txt.gz として https://data.ecom.trans-aid.jp/ANPI_NLP/file/ の救助要請におきました。疑似負例としては、上記スクリプトに一致しない not-helpme.txt.gz を同じ場所におきました。これらを利用して、機械学習ができるかもしれません。

@masaoutiyama 2011年3月20日 (日) 17:28 (JST)

相田さんがご自分でキーワードを追加していくというご連絡がありました。 @masaoutiyama 2011年3月20日 (日) 23:21 (JST)

個人用ツール