[PR]テレビ番組表
今夜の番組チェック

エンドーレーコのイタリア語マニア

数えて遊ぶ

入口 > 数えて遊ぶ
このページは中谷秀洋氏作の単語分析ソフトの紹介ページです.同氏によれば『十分なイタリア語のテキストを用意して、このプログラムに食わせれば、なんとたちまちイタリア語のことがわかったような気分になれる夢のようなプログラムです』とのこと.本当かどうか,使ってみましょう!
※このページは中谷氏の解説に私がいろいろ付け加た書いたものです.

何を数えるのか
何の中から数えるのか
どうやって使うか(準備編)
  ファイルのダウンロード
  Rubyの準備
  単語分析ソフトの準備
どうやって使うか (実行編)
  すべての単語の数え方
  前後の単語の数え方
どうやって使うか (応用編)
  同一視について
  辞書について

何を数えるのか

この単語分析ソフトでは
  1. 手持ちのイタリア語の文章の中に出てくるすべての単語を数える
  2. 手持ちのイタリア語の文章の中に出てくるある特定の単語の前後の単語を数える

の2つができます.

例えば

  1. あるテキストの中で5回以上出てくる単語のリストを作る
  2. AとBの著作では,どんな動詞がよく使われているか比較してみる
  3. ある動詞のどんな活用形がよく使われているか調べる
  4. 「インターネットで」というとき,in internetというのかsu internetというのか回りのイタリア人にきいても,聞く人聞く人言うことがちがうし...と思ったときに,新聞上でどっちがよく使われているかを調べる
  5. 「Iran」に定冠詞つけて言うのと定冠詞つけないのとどっちが多いかを新聞上で調べる
などを調べることができます.どうですか? 「お,それやってみてもいいかも!」 とか 「じゃあ,他にこんなこともできるのかしら?」 と思った人は,このソフトがきっと役に立ちます.
なお活用形や単数複数などをすべて同一視して数えてくれることがこのソフトの特徴です.つまり,manoについて調べた場合はmaniについても,prendereについて調べた場合は,presoもprendeteも全部一緒に調べてくれます.詳しくは後述.


何の中から数えるのか

残念ながら紙の本の中から自動で数えることはできません.紙の本をスキャンして,デジタル化して...とかいう気の遠くなるような作業をすれば別ですが.

数えたい単語の入っているネタ (データベース) は自分で用意してください.

文学作品なら
 
Liber Liber
 Antologia (frammentaria) della Letteratura Italiana
などからとってくることができます (著作権が切れているものしか載っていません,念のため).

新聞記事なら,各新聞のページ(リンクページ参照)から取って来れます.

テキストデータおよびHTMLデータが対象です.ワープロソフトで作った文章などは「テキスト形式で保存」すればOKです.もちろんアクセント文字にもばっちり対応しています.

※アクセント文字はcaffe` タイプ,caffè タイプ,さらにHTMLで使われているcaffè という表記 (ブラウザ上で表示されるときはcaffè と表示されるが,ファイル上ではcaffè と書いてある) のすべてに対応しているので,大抵は大丈夫でしょう.

※大量のデータをネット上からごそっとまとめてとってきたいとき(いちいちクリックして保存するのが面倒くさいとき)には,自動巡回ソフトが便利です.いろんな仕様のものがありますが,私が使っているGetHTMLWの場合は,あるページのURL(アドレス)を指定すると,そのページおよび,そのページにリンクされているページをとってきて,ハードディスクにためてくれる,というものです.毎日の新聞記事を無差別にとってきて家のコンピュータにためておきたい,という人は,こういうのを持っておくと便利です.
 VectorのWin95/98用自動巡回ソフト一覧
 VectorのMac用自動巡回ソフト一覧
 私が使っているGetHTMLW (フリーソフト・Win95/98用)
  ※フリーソフト=無料でダウンロードして使っていいソフトという意味


どうやって使うか(準備編)

諸般の事情により,準備にすこし手間がかかります.コンピュータって苦手!と思っている人には,すこし大変かもしれませんが,案ずるより産むが易し,詳しく解説するのでやってみてください.

 1. ファイルのダウンロード
 2. Rubyの準備
 3. 単語分析ソフトの準備

という順番でやっていきます.Rubyというのがないと,単語分析ソフトは動きません.

以下は Win95/98 を使っている人むけの解説です.Macの人にはMac版のRubyというのもあるみたいですが,私にはよくわかりません (ごめんなさい).


ファイルのダウンロード

必要なファイルは以下の3個です.すべてダウンロードしてください.
  1. Dos 版 Ruby rbdj145.zip 498,377 Bytes
  2. 中谷氏のダウンロード・コーナーにある,辞書データ(dizio4.lzh)
  3. 同じページの分析用スクリプト(count4.lzh)

いずれも圧縮されているので,展開ソフトを持っていない人は
Vectorのhttp://www.vector.co.jp/vpack/filearea/win95/util/arc/index.htmlとかに行くといろいろあるので,持っておくと今後も何かと便利でしょう.


Rubyの準備

  1. Ruby 用のフォルダを作る.(以下 "c:\ruby"とする)
    ※フォルダはマイコンピュータ→ファイル→新規作成→フォルダで作れます.
  2. さっきダウンロードしてきたrbdj145.zipというファイルを,今作ったフォルダに入れて展開する.すごくたくさんのファイルが出てくる.
  3. ハードディスクCに入っている,autoexec.bat というファイルを「メモ帳」などで開くと,PATH= と書いてあるところがあるので,その行の最後に ;c:\ruby を付け加える.
  4. 同じく autoexec.bat のどこかに set RUBYLIB=//c/ols/ruby/lib という1行を付け加える.
  5. 再起動

これでRubyの準備完了


単語分析ソフトの準備

  1. 単語分析用のフォルダを作る.(以下 "c:\count"とする)
  2. さっきダウンロードしたdizio4.lzhとcount4.lzhをそのフォルダに入れて,それぞれ展開する.いくつかファイルが出てくる.
  3. c:\count の中に適当なフォルダを作って( "c:\count\italia01" とかでもなんでもよい),そこに解析したいイタリア語の HTMLファイルを入れる.テキストファイルの場合は,ファイル名の拡張子 (.txt) を .htm か .html に書き換える.
    ※countの中にあるすべてのフォルダの中のすべてのHTMLファイルを解析するので,ファイルがたくさんある場合は"c:\count\italia02", "c:\count\italia03", ……などと作っていって下さい (フォルダの名前はなんでも良いです).ただし孫フォルダまでは見に行かないので、その点だけ注意して下さい.

これで単語分析ソフトの準備完了


どうやって使うか (実行編)

一番最初に書いた通り
  1. 手持ちのイタリア語の文章の中に出てくるすべての単語を数える
  2. 手持ちのイタリア語の文章の中に出てくるある特定の単語の前後の単語を数える

のふたつができます.


すべての単語の数え方

     
  1. MS-DOS プロンプトを起動して "c:\count" に移動  
  2. ruby count.rb と打ち込んで、待つ

これだけです.MS-DOSプロンプトって何だ?と思った人は,下の方法でやってみてください.

  1. 「メモ帳」などで
    ruby count.rb
    とだけ書いてあるテキストファイルを作って,"c:\count"に入れておく.ファイル名は「prova.bat」など「.bat」で終わる名前にする.
  2. そのファイルを (マイコンピュータなどから) ダブルクリックする

すると c:\count に

count.csv変化形で同一視する前の「生の」集計結果
genkei.csv変化形を同一視し、辞書の意味も併記
sogo.csv変化形それぞれについて、どういう変化をしているのか

の3つのファイルが出来ているはずです.
あとは,そのファイルを眺めてたりいじったりして楽しんでください.エクセルなどで開けるほか,エディタでみることもできます.

解析対象の HTML ファイルが多いほど時間がかかります。
例えば 3000 ファイル(33MB) の解析には K6-2 450MHz で30分以上かかります。

参考までに新聞il manifestoインターネット版8月1ヶ月分のデータベースで調べてみるとこんなかんじのデータがでてきます.

count.csv
単語回数
di36704
e23232
il20539
la17685
che17116
…中略…
aeroporto36
approvato36
balcani36
catalogo36
…後略…

genkei.csv
順位原型回数意味
1di73404(前)〜の(=of),〜から(出身・由来)
2il63422(冠詞)男性単数定冠詞,母音で始まる語の前では l',s+子音で始まる語の前では lo となる
3a27954(前)〜へ, 〜において(=at,to)
4essere26254(動)(自)[英 be]である,ある,いる[sono,sei,e`,siamo,siete,sono]
…中略…
2252aeroporto36(名)(男)空港[=campo d'aviazione]
2252allontanare36 
2252balcani36 
2252bravo36(形)すばらしい,優れた,立派な,腕の良い,上手な,偉い
2252catalogo36 
…後略…
sogo.csv
原形ランク原形単語原形回数生単語生単語回数
1di73404di36704
   del12156
   della8297
   dei4717
   dell'4478
   delle3247
   degli1614
   d'1567
   dello624
…中略…
2252bravo36bravo18
   bravi9
   brave5
   brava4
…後略…


ある特定の単語の前後の単語の数え方

  1. MS-DOS プロンプトを起動して "c:\count" に移動。
  2. ruby zengo.rb 注目単語 -n個数
    と打ち込んで,待つ.もし注目単語がandareで,前後2単語を調べたいなら,
    ruby zengo.rb andare -n2
    と打ち込んで,待つ.

あるいは以下の方法でも同じことです.

  1. 「メモ帳」などで
    ruby zengo.rb 注目単語 -n個数
    例えば
    ruby zengo.rb andare -n2
    とだけ書いてあるテキストファイルを作って,"c:\count"に入れておく.ファイル名は「prova2.bat」など「.bat」で終わる名前にする.
  2. そのファイルを(マイコンピュータなどから)ダブルクリックする

また複数語の前後を同時に調べたいときには,沢山一度に書いておくこともできます.
ruby zengo.rb andare fare di a per -n2
とすれば,andare, fare, di, a, perのすべての,前後2語を数えます.
すると c:\count に

注目単語 個数-avanti.txt
例 andare2-avanti.txt
注目単語と,その前の前後の単語を指定個数とりだしたもののリスト.
注目単語の前の単語列の多い順にならんでいる.
登場したファイル名と行数がついていて,タグジャンプに対応しているので、それぞれの行でタグジャンプすると、解析したテキストの該当行が表示される.
注目単語 個数-dopo.txt
例 andare2-dopo.txt
注目単語と,その前の前後の単語を指定個数とりだしたもののリスト.
注目単語の後の単語列の多い順にならんでいる.
登場したファイル名と行数がついていて,タグジャンプに対応しているので、それぞれの行でタグジャンプすると、解析したテキストの該当行が表示される.
注目単語 個数-avanti.csv
例 andare2-avanti.csv
注目単語の前に現れた単語列の集計
注目単語 個数-dopo.csv
例 andare2-dopo.csv
注目単語の後ろに現れた単語列の集計

という4つのファイルが出来ています.

タグジャンプというのは「メモ帳」にはついてないけれども,多くのエディタについている機能で,例えば
24-Agosto-2000/index.html(168): ne va dopo
と書いてある行のうえでタグジャンプさせると,自動的に24-Agosto-2000というフォルダに入っているindex.htmlというファイルが開き,その168行目が表示される,というものです.「メモ帳」しかエディタを持っていない人はこの際
Vectorの秀丸エディタのページなどから秀丸エディタをゲットしておくと何かと便利でしょう.他のエディタでももちろんいいですけど.

参考までに同じく新聞il manifestoインターネット版8月1ヶ月分のデータベースでandareの前後2語づつを調べてみるとこんなかんじのデータがでてきます.

andare2-avanti.txt
★se,ne,18
01-Agosto-2000/art8.htm(190): se ne va dal campo
30-Agosto-2000/art41.htm(253): se ne ando` a piangere
04-Agosto-2000/art56.htm(112): se ne va a buenos
05-Agosto-2000/art60.htm(125): se ne va a finire
06-Agosto-2000/art19.htm(141): se ne va in vacanza
08-Agosto-2000/art35.htm(159): se ne andra` il ministro
10-Agosto-2000/art16.htm(137): se ne va pensa che
10-Agosto-2000/art62.htm(162): se ne vanno a napoli
15-Agosto-2000/art38.htm(262): se ne andavano da questo
19-Agosto-2000/art30.htm(167): se ne andato dalla gara
22-Agosto-2000/art44.htm(185): se ne vanno poco dopo
23-Agosto-2000/art19.htm(228): se ne andra` dal palazzo
24-Agosto-2000/index.html(169): se ne va dopo la
24-Agosto-2000/art7.htm(107): se ne va dopo la
26-Agosto-2000/art38.htm(147): se ne vada ci dividono
26-Agosto-2000/art44.htm(115): se ne ando` da los
27-Agosto-2000/art17.htm(198): se ne andarono uno ad
29-Agosto-2000/art18.htm(145): se ne andra` anche un
★ne,essere,13
30-Agosto-2000/art15.htm(130): ne sono andate alcune di
02-Agosto-2000/art15.htm(128): n' ero andato nel dopo
02-Agosto-2000/art48.htm(216): n' e` andato in turchia
04-Agosto-2000/index.html(564): ne e` andato alla chetichella
04-Agosto-2000/art44.htm(175): ne e` andato a byrr
04-Agosto-2000/art52.htm(109): ne e` andato alla chetichella
08-Agosto-2000/art42.htm(110): n' e` andato in punta
11-Agosto-2000/art15.htm(134): ne sono andati a migliaia
11-Agosto-2000/art28.htm(113): n' e` andato un centinaio
17-Agosto-2000/art48.htm(166): n' e` andato in silenzio
18-Agosto-2000/art10.htm(171): ne e` andata un anno
22-Agosto-2000/art32.htm(120): n' e` andato nel con
27-Agosto-2000/art3.htm(105): n' e` andato due anni
…後略…
andare2-avanti.csv
sene18
neessere13
nonessere13
cheessere8
ilcosa8
ciessere6
cosaessere6
chesi5
doveessere5
mene5
chenon4
chetutto4
cine4
esseremai4
ilpaese4
saperecome4
cosanon3
eche3
ilministro3
nonpotere3
setutto3
tuttoessere3
…後略…
andare2-dopo.txt
★a,finire,11
05-Agosto-2000/art29.htm(141): e cosi` andra` a finire
05-Agosto-2000/art60.htm(125): se ne va a finire
06-Agosto-2000/art10.htm(118): l' accordo va a finire
12-Agosto-2000/art25.htm(143): vedere come va a finire
15-Agosto-2000/art15.htm(183): mai come va a finire
17-Agosto-2000/art18.htm(105): dove si va a finire
18-Agosto-2000/art4.htm(104): rivoluzione papale va a finire
25-Agosto-2000/art10.htm(132): sa come andra` a finire
25-Agosto-2000/art38.htm(112): sapere come va a finire
29-Agosto-2000/art50.htm(165): sapere come andavano a finire
29-Agosto-2000/art50.htm(200): sapere come vanno a finire
★in,scena,11
01-Agosto-2000/art38.htm(141): di classe andato in scena
05-Agosto-2000/art54.htm(128): parigi non va in scena
10-Agosto-2000/art55.htm(112): a domenica andra` in scena
10-Agosto-2000/art55.htm(148): sara` l' andare in scena
15-Agosto-2000/art45.htm(107): antonio lubrano andata in scena
17-Agosto-2000/art49.htm(143): dove e` andato in scena
18-Agosto-2000/art50.htm(122): fa e` andato in scena
20-Agosto-2000/art4.htm(223): un evento andato in scena
25-Agosto-2000/art1.htm(119): camillo che va in scena
26-Agosto-2000/art36.htm(155): spielt auf andato in scena
27-Agosto-2000/art9.htm(174): tor vergata andava in scena
★oltre,il,11
01-Agosto-2000/art35.htm(248): sostanza che vada oltre l'
01-Agosto-2000/art1.htm(135): principale messaggio va oltre la
04-Agosto-2000/art32.htm(132): difficilmente si andra` oltre i
05-Agosto-2000/art9.htm(113): tempi che vanno oltre i
08-Agosto-2000/art17.htm(165): loro giudizio va oltre il
10-Agosto-2000/art52.htm(172): pelle e` andare oltre l'
18-Agosto-2000/art41.htm(117): e` mai andato oltre i
18-Agosto-2000/art44.htm(332): due solchi va oltre i
24-Agosto-2000/art26.htm(130): personaggio che va oltre i
27-Agosto-2000/art1.htm(157): di destra va oltre il
27-Agosto-2000/art9.htm(132): evangelico che va oltre la
…後略…
andare2-dopo.csv
afinire11
inscena11
oltreil11
direche9
invacanza9
peril9
avedere8
infumo8
inonda7
afare6
auno6
aggiungereil6
avantiil6
dase'6
incontrarea6
aaggiungersi5
ascuola5
atrovare5
avantiper5
ingirare5
abuono4
avantiin4
benee4
dauno4
dipari4
meglioa4
ricordareche4
…後略…


どうやって使うか (応用編)

ちょっと使ってみたひとは気がつくでしょうが,すべての活用形が同一視されていないし,すべての単語に意味がついているわけでもありません.そこで同一視と辞書もいじりたい人はこちらを読んでください.

同一視について

同一視はdoppio.txtの中で指定されています.
nuovo, nuova, nuovi, nuove を全部 nuovo に数えたいときは,doppio.txt
nuovo,nuova
nuovi
nuove
と書けば良く,また,
arrivare,ARE
と書けば、arrivare を規則的な are 動詞とみなしてその変化形同一視パターンを自動生成します.ERE, IRE, ISCO も同様です.


辞書について

辞書ファイルはitaliano.txtです.開いてみればわかりますが,そこに同じように意味を書けば,辞書の項目を増やすことができます.


以上で説明は終わりです.これだけで結構遊べますが,どうやら日々進化しているようなので,新バージョンにも期待しましょう!


入口 > 数えて遊ぶ
© Endo Reiko