1

特定のハッシュタグを含むツイート内の人気のあるキーワードまたはフレーズの簡単なリストを作成したいと思います。

たとえば、「#justinbieber」ハッシュタグを含むすべてのツイートについて、「and」、「theなど。完璧である必要はありません。意味があるだけです。

テキスト分析を実行するために利用できる Ruby ツールには、どのようなものがありますか? もちろん、分析部分はTwitterに限定する必要はありません。

ほとんどの場合、特定のハッシュタグを使用して定期的にツイートをリクエストして保存し、特定の時間枠内でツイートに分析を適用します。

作業は Heroku の Rails または Sinatra アプリ内で行われますが、分析は rake タスクまたは何らかのスケジュールされたジョブで行われます。ツイートの保存方法はまだ決めていません。

4

1 に答える 1

2

私はJRubyを介してOpenNLPを使用することにかなり満足しました。ただし、このような単純なものの場合は、より単純なアプローチでも十分な場合があります。Twitterで#justinbieberを検索してランダムにツイートしてみましょう。

s = "If u never give up and if u fight for everything that u want, u can live our dreams. #JustinBieber"

いくつかの不要な単語を削除します。

words = s.split(/\W/).reject(&:empty?) - %w(the and u our if for that)
# => ["If", "never", "give", "up", "fight", "everything", "want", "can", "live", "dreams", "JustinBieber"]

カウントを作成します。

words.each_with_object(Hash.new{ |h,k| h[k] = 0}) { |w, h| h[w] += 1 }
#=> {"If"=>1, "never"=>1, "give"=>1, "up"=>1, "fight"=>1, "everything"=>1, "want"=>1, "can"=>1, "live"=>1, "dreams"=>1, "JustinBieber"=>1}

これを1つ以上のツイートに対して行う場合、カウントはより意味があります。さらに、すでにRubyハッシュを持っているので、それをMongoDBコレクションなどに保存するのは簡単です。

于 2011-10-09T16:43:13.157 に答える