|
2004.3.28 電子辞書研究会 第1回大会
清水伸一(安城学園高等学校)
Download Scripts
1. Perl モジュールについて
Perl には、スクリプトから呼び出して使えるモジュールがあります。CPAN(Comprehensive Perl Archive Network:http://www.perl.com/CPAN/)とそのミラーサイトに、無償で使える多くのモジュールがリストされています。これらのモジュールは、CPANサイトからダウンロードできます。また、使用法や例などもここで調べることができます。
Perl モジュールのインストール方法は、CPANのサイトに書いてありますが、例がWindows 95 や古い Mac OS になっているなど、現状に合わないようです。現在、 Windows 用 ActivePerl には、ppmというDOSベースで動くモジュールインストール用のプログラムがありますので、通常はそれを使用します。インターネットに接続できる環境でDOS窓(コマンドプロンプト)を開き、以下のように打ち込めばOKです。
ppm install モジュール名 |
ppm install LWP |
sudo perl -MCPAN -e 'install モジュール名' |
sudo perl -MCPAN -e 'install LWP' |
sudo perl -MCPAN shell install モジュール名 ... |
インストール: | ファイルを所定のフォルダへコピー/保存します。 |
使用方法: | Windows では DOS窓(コマンドプロンプト)を開き、ファイルのあるフォルダへcdで移動後、「perl ツール名」というコマンドを打ちます。または、ファイルをダブルクリックします。MacOS X では、DOS窓の代わりにTerminalを立ち上げ、所定のディレクトリへ移動後、「perl ツール名」というコマンドを打ちます。 |
使用条件: | コンピュータがインターネットに接続されていること、perl がインストールしてあること、LWPモジュールがインストールしてあること |
use LWP::Simple; $sc=get 'http://www.cnn.com/TRANSCRIPTS/index.html'; print "$sc\n"; |
TRANSCRIPTS index | |||||||||
↓ | ↓ | ↓ | ↓ | ||||||
Breaking News index | Larry King Live index | Insight index | ... | ||||||
↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ |
bn01 | bn02 | ... | lkl01 | lkl02 | ... | i_ins01 | i_ins02 | ... | ... |
category | files | words |
acd | 109 | 906704 |
asb | 629 | 4975794 |
bn | 4412 | 5912409 |
bt | 12 | 36128 |
cct | 187 | 1420206 |
cf | 1022 | 5306082 |
cg | 224 | 1514878 |
cp | 93 | 607447 |
cst | 3469 | 2683388 |
en | 157 | 572619 |
gc | 15 | 46169 |
I_c | 61 | 224018 |
i_dl | 121 | 477067 |
i_if | 94 | 348850 |
i_ins | 569 | 2187704 |
i_qaa | 608 | 1827508 |
ip | 982 | 7582532 |
lad | 8171 | 5022007 |
ldt | 175 | 1455618 |
le | 216 | 3936693 |
lkl | 1146 | 9496288 |
lklw | 277 | 2250152 |
lol | 3777 | 3333170 |
lt | 8026 | 6214453 |
ltm | 9810 | 8238098 |
nac | 125 | 832571 |
nfcnn | 1132 | 1200122 |
pitn | 147 | 778003 |
pzn | 112 | 919116 |
rs | 233 | 1013126 |
sdi | 486 | 618917 |
se | 7029 | 17456486 |
sm | 3666 | 3158024 |
smn | 3324 | 2984543 |
sun | 2205 | 1586506 |
tt | 128 | 804776 |
wbr | 939 | 6147668 |
total | 63888 | 114075840 |
use Lingua::EN::Tagger; $p = new Lingua::EN::Tagger; $text="I have to confess right off of the top, I'm not really much of a car enthusiast."; $tagged_text = $p->add_tags($text); print "$tagged_text\n"; |
<prp>I</prp> <vbp>have</vbp> <to>to</to> <nns>confess</nns> <nn>right</nn> <in>off</in> <in>of</in> <det>the</det> <jj>top</jj> <ppc>,</ppc> <prp>I</prp> <vbp>'m</vbp> <rb>not</rb> <rb>really</rb> <jj>much</jj> <in>of</in> <det>a</det> <nn>car</nn> <nn>enthusiast</nn> <pp>.</pp> |
use Lingua::EN::Fathom; $text = new Lingua::EN::Fathom; $text->analyse_file("テキスト名"); print($text->report); |
File name: | テキスト名 |
Number of characters: | 17148 |
Number of words: | 2842 |
Percent of complex words: | 15.13 |
Average syllables per word: | 1.6288 |
Number of sentences: | 203 |
Average words per sentence: | 14.0000 |
Number of text lines: | 125 |
Number of blank lines: | 0 |
Number of paragraphs: | 1 |
READABILITY INDICES | |
Fog: | 11.6521 |
Flesch: | 54.8300 |
Flesch-Kincaid: | 9.0896 |
use Lingua::EN::Fathom; $text = new Lingua::EN::Fathom; $text->analyse_file("テキスト名"); %words = $text->unique_words; print "Corpus has ", $text->num_words, " tokens, ", scalar keys(%words), " types.\n"; print "Frequency of each type:\n"; print "\t$_: $words{$_}\n" foreach keys %words; |