Entry

英単語集を作ってみたい

2004年07月24日

英単語集なんて大学受験以来ご無沙汰です。英文自体はそこそこ読んでいるけれど,知らない単語に出会っても「その場の雰囲気」で訳語を当てたりしてるので,よっぽど鍵になる言葉じゃない限り,真面目に辞書を引いていなかったからなのでした。もちろん,単語ノートにメモを取るなんてこともしちゃいません。

paragraph reading っていうんでしたっけ。こういう読み方って「文章全体の意味を取る」って意味では役に立つんですけど,一文一文に注目すると,完全に理解できてなかったりします。森は見ているけど,木は見ていない状態です。結局,ちゃんと精読しないと語彙力や構文力が付かないんですよね。paragraph reading ばかりやってると単語が定着しないから(あたしだけ?),以前辞書で調べた単語をもう一回引いちゃったりして,効率が悪かったりします。

ただ,大学受験の頃は,真面目にシコシコと単語集を作ったもんですけど,これに終始しているといくら時間があっても足りません。書き出した単語を覚える時間を考えると,せいぜい1つの文章で10分以内に作りたいものです。もちろん,こんなことは手作業じゃ絶対無理ですから,英文を与えると,単語集を作ってくれるコマンドなんかができないかなぁ……なんて思っています。

コマンド名は 'wordlist' とでもしておきましょう。 機能は単純で,

% wordlist < english.txt
invest :
 1. To commit (money or capital) in order to gain a financial return
 2. a. To spend or devote for future advantage or benefit
    b. To devote morally or psychologically, as to a purpose; commit
 3. To endow with authority or power
 ...
exactly :
 1. In an exact manner; accurately.
 2. In all respects; just
 ...
buck :
 1. a. The adult male of some animals, such as the deer, antelope, or rabbit.
    b. Antelope considered as a group
 ...
stem-cell :
 ...
initiative :
 ...

みたいになるのが理想です。辞書は適当なオンライン辞書から引っ張ってくるってことで……。ここまでやるのは無理かな。

何はともあれ,こういうことをするには,まずは英文を単語に分割する必要があります。ここら辺は基本なので,あちこちのプログラミング本に,それっぽいサンプルがたくさんあります。シェルスクリプトの例を見てみると,

% cat < english.txt | tr ' ' '\012' | uniq | sort > words.txt

みたいにすれば良さそう。

ただ,この例だと,単語の数を数える分には問題ないけれど,単語を抜き出すには不十分です。空白を LF に置き換えているだけで,行末のピリオド(".")やクォーテーション("'")も引っ張ってきてしまうからです。また,wouldn't や can't みたいな語を "would" と "not" ,"can" と "not" に分割したいときにも,ちょっと不十分です。

だからといって,Ruby で

@words = []
ARGF.each do |line|
  @words.push line.scan("[^ .,"']+")
end

みたいにすると,今度は,"U.S." みたいな単語を "U" と "S" に分割しちゃうことになっちゃいます。文末のピリオドと,略語のピリオドを区別する必要がありそうです。

改めて考えてみると,なかなか一筋縄ではいかない感じ。かといって,あまり長い時間考えていると,手作業で単語帳を作った方が早いなんてことになっちゃいそうです。Namazu あたりのライブラリが使えそうですけど,ここら辺を仕切ってくれるライブラリなんて無いもんなんでしょうかね(もう既に逃げ腰)。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN