- ベストアンサー
単語出現回数カウントソフト
テキストファイルの文字を読み取って、 出力回数の多い単語のトップ10を 表示するような、ソフトを探しています。 特定の文字列出力回数を出すのは、 簡単なのですが、不特定の文字列、 トップ10となるとなかなかありません。 フリーウェアであれば、なおうれしいです。 どうか、教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ズバリの回答でないので恐縮ですが、複数のプログラムを組み合わせればできると思います。 #1さんが仰るように日本語の文章をどうやって単語に分けるかが問題になります。それができるプログラムがあれば、後の処理は比較的簡単にできるでしょう。具体的には#2さんの回答にあるKAKASIや茶筌(ChaSen)というプログラムがよく使われているようです。実際、質問者さんが仰るようなソフトもいくつか公開されていますが、単語に分割する部分はKAKASIやChaSenを利用しているものが多いようです。 私自身興味があったので茶筌を試してみました(自分も使うのは初めてです)。使用したのはWindows用のコンソール版茶筌ver.2.3.3です。集計はExcelで行うと仮定して、「単語,品詞」というCSVの形式で出力しました。 まず次の文章をテキストファイル(test.txt)で保存します。 瓜売りが瓜売りに来て瓜売り帰る瓜売りの声 コマンドプロンプトで次のコマンドを実行します。 prompt> chasen.exe -F "%m,%H\n" test.txt 瓜,名詞 売り,名詞 が,助詞 瓜,名詞 売り,名詞 (以下省略) こんな感じで単語と品詞がカンマで区切られて出力されますので、ファイルに出力すれば後はExcelで処理できます。 もっと簡単に結果表示までできるソフトもちょっと探してみました。しかし、導入にPerlやRubyが必要だったり、DBが必要だったりします。ちょっと試すには大掛かり過ぎるのと、質問者さんの環境に合うかわからないため、紹介しませんでした。
その他の回答 (2)
kakasiなどを上手く利用すればできそうですが。 http://d.hatena.ne.jp/keyword/kakasi
お礼
ありがとうございます。大変参考になりました。使えそうです。
単語の区切りがないとアルゴリズム的には不可能です。 上記の文章も 単語 の 区切り が ない と アルゴリズム 的 には 不可能 です 。 とスペース区切りであるとか。 そのあたりは大丈夫ですか?
お礼
アドバイスありがとうございます。
お礼
ありがとうございました。早速使ってみます。