日記

まじめなブログにしたい・・・

Rawler 指定した単語群の言葉が文章にどれだけ含まれているか数え上げる。

文章中に含まれている顔文字の数を数えるのに使ったRawlerソース

https://gist.github.com/3980609

これを起動すると、対象ファイル、顔文字一覧ファイルを指定すると、実行される。

対象ファイルは、ScreenNameというフィールドが必要。顔文字一覧ファイルは、ただの改行区切りのテキスト。ともに、エンコードはUTF8にしておく。

ポイントは、

  • カウント処理

CountAddでのカウントするデータをCountDataに送りカウントするデータをためる。CountAdd.GroupTree で、グループ化する変数を決定している。

  • <m:WordsCount> 命令

親のテキストで<m:WordsCount.SouceIterator>で指定された言葉群に含まれている単語があれば、その単語を返す。複数その言葉が存在していれば、その分、複数返す。今のところ、低速ですね・・・。

  • <m:WordsCount.SouceIterator>

>WordsCountで反応させる単語を指定している。中身は、Iteratorとなっており、ファイルを読み込むという処理をしている。

 

しかし、よく考えると、WordsCountという名前はおかしいよな・・・。