• 締切済み

英文テキストから単語を抽出するソフト

英語のテキストからその中に入っているすべての英単語を取り出して大まかには次のような条件で単語表を作りたいと考えています.既製ソフトを使ってできるだけ手間のかからない方法で行いたいと考えていますが,どのような方法があるでしょうか. 条件0:意味の違いは無視する. 条件1:名詞,動詞の変化形は原型に戻す.     desks→desk     men→man     studied→study     began→begin     beginning→begin 条件2:同じ単語は一つだけ表に入れる 条件3:記号の取り扱い     ‐は,成語はそのまま取り入れ,行替えのハイフンは数えない     ピリオド,カンマ,括弧など無視     

みんなの回答

回答No.2

エディタの秀丸でマクロを使うのが最も簡便です。 1. //単語抽出マクロ movetolineno 1, 1; while( code !=-1 ){ if( code >0x40 && code< 0x5E || code >0x60 && code< 0x7F || code == 0x2F || code == 0x27 || code == 0x2D ) right; else{ delete; if( column >0 ) insert "\n"; } } endmacro; 2.次に頻度を算出します。 //新単語頻度算出マクロ movetolineno 1, 1; while( code !=-1){ #freq = 1; getsearch; $s = searchbuffer; searchdown $s, word; if( result >0){ gosearchstarted; replaceallfast $s,word; #freq = result; } gosearchstarted; golineend; insert "\t" + str( #freq ); right; } endmacro; 3.2.で出来た頻度表をExellに読み込ませ、ソートし、手作業で原形等に直します。この手作業の自動化は例外が多く困難だと思います。 マクロの使い方は秀丸で調べて下さい。

回答No.1

難しそうですね がんばってください