【AI_12日目】自然言語処理_2冊目
こんにちは投資ロウトです。
背景
AI開発ができるために自然言語処理について理解を深めていきます。
以下の記事で、まず初心者が読むべき2選が書かれているので、そちらをやっていきたいと思います。
日本語
・漢字の種類は文部科学省の定める常用漢字だけで2000字以上。普段使わない漢字を入れると、10万字以上あるとのこと。
・かな漢字変換・・・現在のコンピュータで日本語の入力として最も広く採用されている。
・共通接頭辞検索・・・入力文字列と辞書中の文字列の共通の接頭辞を見つける検索方式。
・ラティス・・・ビタビアルゴリズムで採用されている辞書引きの結果の格納で使われているデータ構造。
・単語ユニグラムモデル・・・あるデータの中でそれぞれの単語が使われた回数を数えて、回数順に単語を並べる。
機械翻訳
・原言語・・・入力文の言語
・目的言語・・・出力文の言語
・翻訳モデル・・・人間の翻訳者が用いる辞書に近い形をしており、原言語の1単語以上からなるフレーズと目的語の1単語以上のフレーズで構成。
・並べ替えモデル・・・どのフレーズが言語間で頻繁で並べられるかなどを記述するもの。
・デコーディング・・・訳文生成の過程
・デコーダ・・・翻訳器
・string-to-tree翻訳・・・目的言語の構造情報を利用する
・tree-to-string翻訳・・・原言語の構造情報を利用する
・tree-to-tree翻訳・・・両方の構造情報を利用する
・人手評価・・・システム出力を人手で評価する
・自動評価・・・より速く、より安く評価結果を得る方法として利用できる。
・統計的機械翻訳・・・1990年台前半に発明された確率統計に基づくもので、言語学などの知識をほとんど必要とせず、対訳データのみから翻訳モデルを自動的に構築できるとのこと。
①データの収集を行う(データが多ければ多いほど精度が上がる)
②どの文がどの文に対応しているか調べる。
③前処理を実施
④単語の対応付
⑤翻訳ルールの抽出
⑥重み調整(チューニング)
→LM(言語モデル)
→LM(翻訳モデル)
→LM(並べ替えモデル)
→誤り率最小化モデル・・・最も広く使われているチューニング
・前処理
→単語分割(トークン化)・・・自然なテキストをコンピュータにわかりやすい単位に分割する処理
→アルファベットを小文字に揃えたりする言語依存処理など。
現在の機械翻訳
大規模な対訳データの存在も貢献しており、より良い単語の対応付や確率の推定が行えるので、業界ごとでの正確な翻訳も可能。
専門用語があったとしても、機械が無限に近い記憶力を持ち、Wikiや大規模な辞書も丸ごと覚えることも問題ではないとのこと。
しかし並べ替えの多い言語対における高精度な翻訳の実現はまだできていないとのことでした。
情報検索システム
・文書・・・情報検索システムで扱う情報の一つ一つの単位のこと。
・文書集合・・・全ての文書の集合のこと。
ただし情報検索システムでは、文書はテキストに限った話ではなく、画像や動画なども含む。
・情報要求・・・お客様が持っている様々な検索などをしたい要求のこと。
・検索質問・・・情報検索システムにおける質問の形を表現したもの。
・適合文書・・・ユーザーのクエリにマッチする文書のこと。
適合する文書を全文検索ではいけないのは、「適合性の問題」と「速度の問題」の二つがあるとのことです。
・適合性の問題・・・どの文書が最もクエリに適した文書なのか判断する(文書のランキング)ということ。
・速度の問題・・・何億というページを対象に文字列検索をすると、最高スペックのコンピュータでも一定の時間がかかってしまうということ。
・索引(インデックス)・・・大量のテキストを高速に検索するために、文書を別のデータ構造の形で保存しておくためのもの。
・索引語・・・索引に使用される語のこと。
・疎行列・・・ゼロではない要素の数に対して要素数が行列の大きさに対して極端に小さいような行列
・転置索引・・・元の文書→索引語をひっくり返したもの。
・文書処理・・・文書集合から文書を解析して、そこから索引語を取り出す際に必要なこと。
・整数圧縮・・・並んだ数の列をより小さい記憶領域に保存すること。
と一旦以上で学習を区切りたいと思います。焦らずコツコツ自分のペースでいきたいと思います。ご精読ありがとうございました。
Discussion