英語を例にして、自然言語処理(Natural Language Process)を紹介する。
処理にはオブジェクト指向言語の Python を使っている。
なお原著は Natural Language Processing with Python
であり、プログラミング言語 Python も合わせて表示されている。
本書は、『谷中瞳:ことばの意味を計算するしくみ』の参考文献の一つとなっている。
まずは下記による O'Reilly のページを参照してほしい。
http://www.oreilly.co.jp/editors/archives/2010/11/nlp-python-chapter12-put-on-googlecode.html
また、書籍に関する情報は下記も参照のこと。
http://www.oreilly.co.jp/books/9784873114705/
読んだ感想は次の通り。
ページ | 内容 |
---|---|
p. xiv | 最終行、《聴衆として人文科学系の人々を想定したもの…》とあるが、聴衆は audience の訳だろうか。 この場合は、「聴講者」、「受講者」、「履修者」がよいのではないか。聴衆というと、一度限りの講演を聴きに来た人、という意味が強いように私には思える。 |
p. 14 | 《19XY 年を 20 世紀と数える世紀の考え方を思い浮かべれば、》とあるが、残念ながら 1900 年は 19 世紀である。 また、20世紀は 1901 年から 2000 年までである。言い換えれば西暦の始まりは 0 年ではなく、1 年である。 この項では、現代的なプログラミング言語ではゼロから値を数える習慣について述べていて、西暦の数え方はこの習慣を理解しやすくするための例として述べられているが、 むしろ反証である。 |
p.228 | 後ろから5行目「verjaardag」というドイツ語の単語について、とあるが、正しくはオランダ語である。 |
p.380 | (63) Heutesieht der Hund die Katze. とあるが、Heute sieht der Hund die Katze. が正しい。 動詞第二位語順を扱えるようにするためだから。 意味は「今日その犬はその猫を見る」 |
p.469 | Erlang の読み方として"アーラング"を当てているが、"アーラン"のほうがよかったのではないかと思う。 Erlang の出所は、アーラン分布で有名な Erlang から来ていると思われるからだ。 |
コンピュータにより実地練習をしてみた。
次の9例からなる。もちろん、すべて英語である。
練習ではこれらのコーパスを取り上げながら、特徴の取り出し方を示している。 たとえば、創世記では、当時人々がどれくらい長く生きていたかを調べたい場合は、以下のコマンドをためしてみよう、とある。
text3.concordance("lived")
残念なことに、私はこれらの作品に対する素養がなかったり、英語に関する能力が不足していたりするので、どんな特徴を取り出したらよいかわからない。 創世記では先の"lived"がカギとなったが、そのほかの作品でどんなカギがあるのだろうか。 そういえば、創世記では、生んだということばは begat だった。誰が誰を生んだのかというのは begat でひけるはずだ。 確かにそれはできた。がそれまでだ。これが筒井康隆の「バブリング創世記」ならば面白かったのに、というところで止まるのが悲しい。
日本語の作品、ということでいえば、 私は後藤明生の 「挾み撃ち」や 「吉野大夫」などの作品を解析したい。 これらの作品で「とつぜん」とか「実さい」とか、後藤明生固有のことばがどのように使われているかをみたいのだ。 もしこういうことをしたければ、個人的にコーパスを作るしかないだろう。後藤明生の作品は著作権があり、 公的な場からデータを得ることは不可能だからである。(以上 2012-01-04)
前回読んでから9年以上たってしまった。Python は 3 になったがうまくいくだろうか。 本文の例を確かめてみたら、print 関数以外は問題なかった。print 関数は、 引数をカッコでくくった結果、動いた。
書名 | 入門自然言語処理 |
著者 | Steven Bird,Ewan Klein,Edward Loper |
発行日 | |
発行元 | オーム社 |
発行所 | オライリー・ジャパン |
定価 | 円(本体) |
サイズ | ??版 |
ISBN | ??? |
その他 | ?? |
まりんきょ学問所 > コンピュータの部屋 > コンピュータの本 > 人工知能 > Steven Bird,Ewan Klein,Edward Loper:入門自然言語処理