ある文章中に出現する単語の出現回数を、自動的に抽出して上位からランクをつけてくれるソフトはありませんか? 


表計算やデータベース(FileMakerを使っています)でも、字句を指定してやればカウントしてくれますが、自動で単語カウントして上位から表示してくれるようなソフトを探しています。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:2007/12/19 09:56:09
  • 終了:2007/12/23 12:08:23

回答(2件)

id:kanan5100 No.1

kanan5100回答回数1469ベストアンサー獲得回数2752007/12/19 11:42:36

ポイント40pt

http://www.madin.jp/docs/wordcount.html

http://sakaguch.com/hindo.html

http://www.vector.co.jp/soft/win95/util/se387976.html

こういうのでしょうか?

googleで"単語 出現頻度"で検索するといろいろ出てきます。

id:yulu

すばらしい。

同じコトを考えている人はやはりいるのですね。

2007/12/23 12:06:45
id:tanukichi800 No.2

tanukichi800回答回数31ベストアンサー獲得回数32007/12/19 13:55:03

ポイント30pt

出来合いのソフトを探してるんでしたら申し訳ないですが・・

方法としてはchasen + perlが王道でしょうね。

どちらもWindows用も用意されています。


chasenについて参考

http://journal.mycom.co.jp/column/yetanother/045/


あらかじめchasenで1行1単語に区切ったファイルを作っておいて下記のPerlスクリプトに食わせればいいと思います。

なお、ファイルがあまりに巨大な場合は時間とメモリが要りますから別の方法が必要です。


#!/usr/bin/perl


# chasenで区切っておいたファイルの名前

$textfile = "sample.txt";


# 集計

%words = ();

open(TXT,$textfile);

while(<TXT>){

  chomp;

  if(!$words{$_}){

    $words{$_} = 1;

  }else{

    $words{$_}++;

  }

}

close(TXT);


# 結果表示

foreach(keys %words){

  print "$_ : $words{$_}回\n";

}


exit;

id:yulu

perlはやったことがないのですが、

参考になりました。

ありがとうございました。

2007/12/23 12:07:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません