0.はじめに
大学でデータサイエンスの講義を受講している者です。
あまりにも広範囲な分野であるため"広く浅く"情報整理したいため投稿。
内容のレベルは超入門編、個人的な感情も少し入り混じった備忘録。
(齟齬がある場合はご指摘いただけると助かります。)
データサイエンス学習全体像
【データサイエンス】概要
【データサイエンス】人工知能
【データサイエンス】機械学習
【データサイエンス】ディープラーニング
【データサイエンス】分析の分類・確率分布
【データサイエンス】探索的データ分析
【データサイエンス】統計的検定
【データサイエンス】予測モデリング
【データサイエンス】自然言語処理
【アルゴリズム】パーセプトロン
【データサイエンス】機械学習における関数
【データサイエンス】確率
1.自然言語処理
言語処理においても学習したため一部抜粋
個人的にはテキストがどのようにコンピュータ側に理解されているのかの概念が面白かった
2.特徴
2-1.なぜ自然言語処理が必要とされているのか
ビッグデータ時代ともあり様々なデータを併用するにあたりテキストデータの重要性が上がってきているため
具体的な例だとSNSの情報や音声での会話記録などの生データがそれにあたる
顧客の評価データを収集しマーケティングに用いる
-
音声・テキストの記録データから市場の動向を探る
といった分析面においても重要なデータとなる
2-2.形態素解析とは
英文は単語ごとにスペースとスペースで区切られそれぞれ独立しているが日本文は区切られてはいない
そのため形態素のレベルまで落とし込み分析をする必要がある
意味における最小単位のこと
2-3.コンピュータはなぜ自然言語を扱えるのか
様々な考え方により精度が向上し扱えるようになった
文章を理解するために英語の授業でやったような S(主語) V(述語)と 関係性を見出す必要がある
動詞形容詞の分類をタグ付けすることにより文法定義が可能
-
核文法
-
格文法の原理 byチャールズフィルモア
表面的な文章のゆれに捕らわれないで文の意味を捕らえるべきという考え方
言語を動詞を中心とした目的格・主格・道具格の関係によって捉えようとしている -
FrameNet
「誰が料理するのか何を料理するのか」という関係を記述した部分から
語彙を出すことによりCooking Frame
が起動、枠組みを表すことができるモデル
コンピュータが世界についての常識・知識を蓄えることを目的としている側面がある
2-4.ネットワークの構成で表現
トポロジー図みたいにある単語から構成し関係性を見出す考え方もある
発話は「何のためにするのか」といった意図が必要になる
そのためにプランニングという概念が必要
2-5.言語理解が難関な理由
日本語例だと「ハシ」は橋にも箸にも取れる
談話レベルで「あれ」「それ」が何を指すのか理解が難しい
日本語はゼロ代名詞と呼ばれる主語・目的語が省略される特性がある
全て統語論で理解できるわけではないため様々な分野の研究が現在においても行われている
コンピュータが世界についての知識を蓄えることも課題として挙げられる
2-6.機械翻訳が向上する
以前はパーザが統合解析を行い、適切な文字を取り出して文章化されていた
ただこれはあまり精度がよくなかった
原因例だと「Bank」
という言語は金融や道路など複数の意味として略されてしまう
ニューラルネットが進出しencoder-decoderモデル
が提唱
精度が急激に向上した
encoder
とdecoder
の2構成で成り立つモデル
encoder
で一度文字をベクトル変換しdiscoder
へ渡す
ベクトル変換することでざっくりと文脈を捉えやすいようにされている
処理しやすい状態でdecoder
に渡すため理解が促進される
3.応用例
言語をカテゴリー分けすることができるためA書籍に
何の単語が多く使われているか
aの単語の後に続く単語は何がよく使われるのか
-
aの単語と似たようなカテゴリーの単語はよく使われるのか
といった分析が可能
代表的にはN-gramモデルがある