2011年01月

コーパスとは?

Wikipedia より

コーパス(corpus)とは、言語学において、自然言語処理の研究に用いるため、自然言語の文章を構造化し大規模に集積したもの。構造化では言語的な情報(品詞、統語構造など)が付与される。コンピュータ利用が進み、電子化データとなった。


この「コーパス」、世界中に溢れている。
完成したものもあれば、作成途中のものもある。あるいは、永遠に未完成のものもある。

たとえば、、


British National Corpus

略してBNC。1億語の徹底したサンプル・コーパス(バランスよく様々な領域からサンプリングして構築したコーパス)。かつてはその中に含まれていたデータの著作権者の一人が,どういうわけかEU以外での販売の禁止を主張したため,わが国でも入手が不可能となり,研究の進展を妨げていた。しかし,BNCは世界からの要望に答え,この「問題の」データをはずしたため,現在誰でも購入できるようになった。契約書(End User Licence)を2枚送って申し込めば,CD-ROM2枚が送られてくる(SARAというコンコーダンサが付いている)。シングルユーザーで£50。クレジットカードでの申し込みが可能。今後コーパスを本格的に使おうという人は買って損はしない。ただ,なにぶん1億語なので解凍するときに,パソコンがフリーズしたかと思うほど時間がかかるので覚悟しておくこと ^^;
(なお、現在の価格は、single copy: GBP 75=¥9764)

KOTONOHA:国立国語研究所のコーパス開発計画

日本語をはじめとする言語を分析するための基礎資料として、書き言葉や話し言葉の資料を体系的に収集し、研究用の情報を付与したものを言語コーパス (language corpus)と呼びます。コーパスは1960年頃から言語研究のために構築されるようになりましたが、近年では狭い意味での言語学の領域を超えて、幅広い研究領域で利用されるようになってきました。また学術目的での利用だけでなく、産業界でも利用されています。・・もちろん、このほかに、日本語に興味をもつ個人が、言葉に関する疑問を解消するためにコーパスを利用することも考えられます。
以下の図はKOTONOHAの全体像とこれから構築を開始する書き言葉均衡コーパスの関係を示しています。横軸は時間軸で、明治から現代までを示しています。縦軸は言葉のジャンルを示しており、上半分が書き言葉、下半分が話し言葉に該当します。KOTONOHAは図中の全領域を対象としますが、全体を単一のコーパスとして一気に実現することはできませんので、適当なまとまりごとに要素となるコーパスを構築することによって、段階的に整備を進めます。

イメージ 1


ここに例として挙げたコーパスは、その構築に相当の資金・人員・時間を要する。
とても一個人で太刀打ち出来るシロモノではない。

しかし、その仕様というかフォーマットというか、あるいは構築に際してのルールは、個人が趣味でテキストマイニングを行なう際の小規模なコーパス作りにも、できれば採用したいものである。

まぁ、今のところは形態素解析という低水準で右往左往しているだけなので、とりあえずこのレベルでのガイドラインとして、国立国語研究所のコーパス開発計画に記載されているものに準拠しようと思う。
ちなみに、現在、解析エンジン MeCab で使っている辞書 UniDic は、この開発計画の成果物の一部である。

  参照::形態論情報

How to use MeCab on Gentoo Linux



CS50 / Week 2: Monday

前回の続き。

後半の while ループの講義を聞いていて、思わず本箱の奥から Kernighan & Ritchie の「プログラミング言語C」を取り出してしまった(藁)

イメージ 1

今からもう30年以上も前の本だ。

そういえば、この David Malan 先生、かつて、 Kernighan の「CS50」の授業を受けた、とかいう記事をどっかで読んだ記憶がある。



語彙の豊富さの違いを見抜く

統計言語Rは統計計算用の基本的な機能を提供する。
Windows、MacOSX、Linux など、ほとんど全てのOSで動く。
入手は CRAN という専用サイトから行なう。 もちろんタダである。

ただし、実際の統計解析に際しては、ユーザーが独自の機能を追加するのが原則だ。

そして、あるユーザーが作成した機能に汎用性があって、しかも彼に公共心とか慈悲心があると、それらは全世界のユーザーに無償で公開される――それが、「Rパッケージ」である。

この「Rパッケージ」がカバーする分野は、極めて広い。
自然科学から人文科学まで、あるいはビジネスの実務的統計解析など、最先端の統計手法が揃っている。

いま筆者がハマっている "languageR" というパッケージもそうで、これは計算機による自然言語処理というモダンな研究分野が生み出した産物だ。


もちろん門外漢であるから、その 説明書き を読んでも、ほとんどチンプンカンプン(藁)
そして、よう分からんのに「面白い」というのも変な話だが、そこに示されているRのプログラム(スクリプト)を自分のPCで動かしていると、途中で何が行われているかは分からねど、入力データと出力結果ははっきりくっきり視えるので、ときどき「キラァ~ン☆」体験が起こる。


たとえば、Rを起動して、以下のスクリプトを実行する。
library(languageR)
data(alice)
alice.growth = growth.fnc(alice)
plot(alice.growth)

すると。。。

イメージ 1

今までに勉強した Type-TokenRatio とか Yule's K とか、あるいは Zipf's 何たら を含むグラフが出力される(もちろん、大部分は意味不明;藁)。

じつはこれ、ルイス・キャロル「不思議の国のアリス」のテキストに関する解析結果である。
つまり、 "languageR" パッケージには、この文学作品の(句読点やカッコを除去した)全文が収録されていて、それを分析しているわけである。

ちなみに、ソースは「グーテンベルグ・プロジェクト」であって、ここから著作権の消滅した書籍がテキストファイルとして自由に入手できる。このプロジェクト、日本の「青空文庫」と同じである。


さらに、こんなスクリプトもある。
data(alice, through)
compare.richness.fnc(tolower(alice), tolower(through[1:length(alice)]))


実行結果。
イメージ 2

ここでは、"alice" のほかに "through" というテキストが使われているが、これはもちろん "Through the looking glass"、「鏡の国のアリス」だ。

つまり、「不思議の国のアリス」と「鏡の国のアリス」で「語彙の豊富さ」の差を統計的に検定しているのである。

出力の最後の部分を見ると、

・語彙の大きさについては、統計的に有意な差が認められる(p=0.0068<0.05)
・"Growth Rate" なるものについては、有意差は無し(p=0.3119>0.05)

と読める。


むかぁ~し、ちょこっと統計的検定を齧ったものとしては、どうして、たった2つのサンプルで検定が可能なのか? "Growth Rate" とは一体何者か? といった疑問が熱い胸をよぎる♪

これは、本腰を入れて追究せねばなりますまい(藁)

(続く)

堅い話で恐縮ですが・・

このヤフー!ブログで "プレゼン" なんかやって、ど~する? という陰口が聞こえてきそうですが。。

まぁ、暇つぶしにトライしてみました。 何はともあれ、プレゼン!!



以前、当ブログで使ったロクでもない画像3枚をつなげたPDFファイルを、SlideShare というウェブサイトにアップロードして、こういう「フラッシュ」を作ってもらいました
(ありがたいことに、無料でござる)。

(黒い魔ソフトのパワーポイントもオッケーらしいすが、わたくし Linux ユーザーでして、そのへんのことは、よう分からしまへん。)


んで、そいつを当ページに埋め込んだのでありますが、実を言うと、仕事の〆切りをとっくにオーバーしておりまして、ノン気にこんなことやってる場合じゃないんです・・(トホホ)
ギャラリー
  • 百舌鳥
  • キジ
  • キジ
  • 平成最後の満月
  • ウグイス初撮り
  • ウグイス初撮り
  • ウグイス初撮り
  • 小望月
  • オツネントンボ
記事検索
  • ライブドアブログ