Stanford大学の自然言語処理講座(1-1)NLPの世界へようこそ!


Stanford大学のNLP(Natural Language Processing=自然言語処理)の講義をオンラインで見ることができる、ということがわかり、さっそく復習を兼ねて基礎から勉強することにしました。

コースの全概要  https://class.coursera.org/nlp/lecture/preview

今回から、私・藤井と、同じく研究開発グループの久保のリレー形式で、このオンライン講義についてのブログを書いてまいります。乞うご期待。

1-1 Course Introduction - Stanford NLP

まず初めに。NLPとは何ぞや?というイントロダクションです。
ちなみに…私の英語ヒアリング能力は、”Hi! I'm Dan Jurafsky”という最初の挨拶が “Hi! I'm dangerousなんとか”と聞こえて「センセったら危険な男なのかしら?ムフフ♡」などと思ってしまった(?)程度なので、間違いがあればご指摘いただければ幸いです・・・と書いたところで、衝撃。
なんと、講義によっては日本語字幕をつけることができるようです。画面右下の「CC」と書いてあるところをクリックしてJapaneseを選べば、日本語字幕ON。さっそく見ていきましょう!

テキストマイニングの全体像 〜技術はどこまで進んでいるのか?

「ジェパディ!」というクイズショウ(クイズ$ミリオネアみたいな感じ?)で、IBMの機械がクイズに正解しました。The new york times でも報じられています。 ほかにもみなさんが意識していない身近なところで、すでに自然言語処理技術は使われています。

17jeopardy_337-span-articleLarge

(出典:The New York Times )

現在の言語処理技術の全体像について。

技術的にほぼ解決したものから、進歩中、まだ難しい、3つのレベルに分かれます。

1,ほぼ解決済み

①スパムメール判定
②品詞のタグ付け(名詞や動詞の判別)
※日本語は、まずは単語で切り分ける必要があるから、英語と違って難しさが残ると思います。
③固有名詞の判別(人、地名の判別)

2,かなりいいセン行ってる。いま進歩中。

①感情分析(ポジティブ、ネガティブの判別)
②同一項目の判別(例:heが誰を指しているか?)
③曖昧性解消(例:mouseがネズミを指しているのか、PCのマウスを指しているのかを判別)
④係り受け解析
⑤機械翻訳
⑥情報抽出(例:メールからパーティの日時を取り出してカレンダーに記載する)

3,まだまだ難しい分野

①質問に答える(例:この薬の効き目は?と聞かれたものに答える)
②言い換え
③要約 (例:「ダウ平均上昇」「S&P500上昇」「住宅価格上昇」という情報から「好景気である」と要約する。
④対話 (例:「あの映画はどこで上映してる?」と聞いたら「TOHOシネマズ梅田だよ。ちなみにチケット取っとこうか?」と答えてくれる)

でもね。最初に断っておきますが、自然言語処理は難しいのです。かのStanfordの先生もdifficultと言ってるくらいですからね。胸を張って「あたし(オレ)難しいことやってンの」と言って大丈夫です。なぜ難しいのか。それは、言語の曖昧さのせいなのです。

1、単語の意味が曖昧。
Teacher strikes idle kids.
という英語があるとしましょう。
その意味は?

①先生は、ぼんやりした子供をぶった。
②先生はアイドルキッズをぶった。
idleの意味がわからないため、①と②のどちらなのかがはっきりしません。

2、動詞?名詞?品詞があいまい。
Fed raises interest rates.
”raise”が動詞だとすると、
連邦準備制度理事会(Fed)は利率を上昇させた。
となりますが、
”interetst”が動詞だとすると、
Fed raises はどちらも名詞となります。

ほかにも。どうして自然言語は難しいのか?
①標準の言葉と違うから
twitterや2ちゃんねるなどのくだけた表現は解析するのがさらに難しい。
②分解が難しい
これは日本語でいうと、単語に区切るところに当てはまりそうです。
③慣用句がある
④新造語がある
⑤固有名詞

課題はいろいろあるけれど・・・何をしていけばいいの?

①言語について知ること。
②言語の世界について知ること。
③それらの知識を統合する方法を知ること。

通常は確率統計でこれらの問題を解決します。

でました。統計。なんせ「統計学が最強の学問である」という本がスマッシュヒットを飛ばしている昨今です。時代は統計です。この際、ベイズ統計とかドヤ顔で語ってしまいましょう。

このコースでは、統計的自然言語処理の鍵となる理論や手法が順番に紹介されるようです。
たとえば・・・

・ヴィタビアルゴリズム
・ナイーブベイズ
・最大エントロピー法
・N-gram
・統計解析
・tf-idf
・情報抽出
・スペルの訂正
・情報検索

この講義に必要とされるもの
・線形代数の知識
・基礎的な確率論の知識
・JavaかPythonのプログラミング能力

だそうです。

みなさま、恐れるなかれ。
私もJava、Python、さっぱりわかりません。
ヴィタビアルゴリズム??最大エントロピー法??
一緒にキャッチアップしていきましょう。

次回からのNLP講義の要約もお楽しみに!


This entry was posted in 自然言語処理(NLP) and tagged , , . Bookmark the permalink.