Socio-metrics
ゼミナール Ⅱ†
mboxからpajファイルまでの編集†
1. ニュースの場合メーラーからmbox形式でエクスポート→Sylpheedを使用
- スレッド方式のままエクスポートされるため、2か月にまたいでリプライが続くと、新たにスレッドがたてられた時、月日がさかのぼってしまう現象が・・・
そこで、
- 入力
- 編集したいmbox形式ファイル
- 出力
- 1ヶ月ごとに割り振られたmbox形式ファイル
- n個のグループ1つにマージ
n個のグループ1つにマージして、グループごとに色付けをする
便利なバッチファイル:
test.bat←PostgreSQLで使用したもの
- 入力
- 全てのグループについてn個のnetファイル
- 出力
- マージしたpajファイル
N-コーディネータの人数テキストファイル
各グループ&コーディネータの人数テキストファイル
- 入力
- フォルダにあるyyyymm(年月)を含むファイル全て(.や..はプログラム中で除いてある)
- 出力
- 個人データベースのテキストファイル
tf-idf†
- 文章中の特徴的な単語(重要とみなされる単語$w)を抽出するためのアルゴリズム.
- 特徴的な単語の出現回数,出現メール数に着目している
- tf(文章中における重要単語数)
- idf(メール特有の重要単語かどうかを表す)=log{(総メール数 N)/(重要単語を含むメール数 DF{$w})}
- idf高い:多くののドキュメントに出現する
- idf低い:特定のドキュメントにしか出現しない
→対数をとるのは,idfの値が過度に変化するのを防ぐ目的がある…らしい
プログラム:
tf-idf_v1.pl
- 入力
- 引数メールアーカイブ mbox形式
- 出力
- メール送信日,tf-idf値上位の単語(※tf-idf値の閾値などはメモ参照)
:中間ファイルなど
単語DB
EnglishWord.pag
EnglishWord.dir
※ 英辞郎より抽出(単語が定義されているかどうかを調べる)
中間ファイルなど
単語DB fileEnglishWord.pag fileEnglishWord.dir ※ 英辞郎より抽出(単語が存在するかどうかを調べる)~
中間ファイル AllDoc?.txt(対象者のメールを抜き出したもの)
[処理内容]
(1)メール本文の">"がない文の単語分解(スペース,ピリオド,コンマ)を行う
write ・・・も飛ばす
(2)代表キーワードの出現回数を数える TF(メール1文単位)
(3)ドキュメント数を数える N
(4)ドキュメント全体で代表キーワードの出現回数を数える DF(メール全文)
(5)TF * LOG(N/Df)
■考えるところ
- 3文字以上15文字以下
- tf-idfの値が6以上もしくはTop2の語句を抽出
- edやingなどはざっくりになってる
- "ed"→"e"
- "ed"→消す
- "ied"→"y"
- "ing"→消す
- "s"→消す
- "es"→消す
- "d"→消す
- "ies"→"y"
- "ves"→"f"
- idfの計算方法
- (コーディネータ)/(全体)
- (開発orユーザorバグ)/(全体)
- (コーディネータ)/(開発orユーザorバグ)
- (tglなど)/(コーディネータ)
など
- ソフトウェア工学Ⅱ(SNA課題)----済
- PostgreSQLコミュニティ(2004年03月〜2005年02月)を分析
- tf-idf
- その他
- N-コーディネータが増えるほど情報共有できる
- コミュニティの分離・結合のススメを見つけ出す