- #まとめ編 一覧
Index
自然言語処理
自然言語 (Natural Language) とは、我々が日常用いている日本語、英語、中国語などのように
自然前発生的に生まれた言語のことをさす.
これに対して、ある目的で人工的に作られた言語を人工言語 (Artificial Language) と呼び、
その代表的なものは、コンピュータに指令を与える C 言語などのプログラミング言語である.
自然言語のコンピュータ処理に関する学問分野、研究開発分野を自然言語処理 (Natural Laguage Processing / NLP) と呼ぶ.
文字コード
コンピュータでは、あらゆるデータが 0 または 1 の並びで表現されており、文字やテキストも同様である.
0 / 1 の基本単位を 1 ビット (bit) 、その 8 つの並びを 1 バイト (Byte) とよび、文字の場合は 1 バイトから数バイトで
1 文字を表現する.
個々の文字に割り当てられたバイト表現 (数値)、または、一連の文字に割り当てられたバイト表現の全体を文字コードとよぶ.
辞書式順列
データの順序関係を定義し、その順列関係にしたがってデータを整理することは、データ処理の基本である.
データが整数や実数の場合は、数の大小によって順序関係を定義することができるが、データが文字列の場合にも
辞書式順列 (Lexicographic Order) とよばれる順序関係を考えることができる.
文字列の探索
我々は、辞書を引いて単語の定義や使い方を調べる.
自然言語処理においても、単語あるいは、文字列 (キー) に対する様々な情報 (バリュー) をコンピュータに保存しておき、
これを取り出して利用することが頻繁に行われる.
このような処理を探索 (Search) と呼ぶ.
- ハッシュ法
- トライ法
コーパス / Corpus
コーパス (Corpus) とは、もともとはある主題に関する文章や、ある作者の文章を集めたものであったが、 現在はもう少し広く、文書、または音声データを集め、またそこにある種の情報を付与したものをさす.
前処理
自然言語処理では、解析を行う前に、いくつかの前処理を行うことで、解析の精度を向上させる.
- クリーニング処理
- 単語分割
- 正規化
- ストップワード除去
ベクトル表現 (特徴量抽出)
- one-hot 表現
- 分散表現
前処理 #まとめ編
トークン化
トークン化 とは、文を適当な単位に分割すること.
これを実現するツールをトークナイザ (tokenizer)と呼ぶ.
分割によって得られた文の構成要素を トークン (token)と呼ぶ.
- トークン / Token
特徴量抽出
分散表現
自然言語処理の問題を解くニューラルネットワークのモデル(ニューラル言語モデル)を利用して、
文章から直接、特徴量を自動的に行えるようにする.
ニューラル言語モデルの特徴の一つは、文章や単語を「密なベクトル」に変換できるということ.
文章や単語を密なベクトルとして表現したもの 分散表現と呼ぶ.
双曲埋め込み / Hyperbolic Embedding / 2017
Poincaré Embeddings for Learning Hierarchical Representations
- [2017]
- arxiv.org
歪んだ空間の使い方: 双曲埋め込み+深層学習の主要研究まとめと最新動向
Box Embedding / 2021
単語を箱で表現!新たな埋め込み手法 Box Embedding を基礎から理解
Box Embeddings: An open-source library for representation learning using geometric structures
- [2021]
- arxiv.org
RetVec / 2023
- RetVec: Resilient and Efficient Text Vectorizer
- [2023]
- arxiv.org
アルゴリズム / 分析手法
言語モデル / Language Model
言語モデル (Language Model; LM) あるいは 確率的言語モデル (Probabilistic Language Model) とは、
- 言語モデル
- マルコフモデル / Markov Model
- N-Gram 言語モデル
- ニューラル言語モデル / Neural Language Model
- yhayato1320.hatenablog.com
機械学習 / MachineLearning
- 自然言語処理 アルゴリズム #まとめ編
深層学習 / DeepLearning
- 自然言語処理 アルゴリズム #まとめ編
- 深層学習を用いたアルゴリズム
- yhayato1320.hatenablog.com
タスク
工夫・テクニック
Pre Trained Model / 事前学習モデル
- Pre Trained Model / 事前学習モデル
Multimodal
- Vision-Language
Unsupervised Learning
- Improving language understanding with unsupervised learning
データセット
参考
書籍
自然言語処理
自然言語処理の基礎
機械学習 / MachineLearning
- 言語処理のための機械学習
-
深層学習 / DeepLearning
深層学習による自然言語処理
ゼロから作るDeep Learning 2
- 1 ニューラルネットワークの復習
- 2 自然言語処理と単語の分散表現
- 3 word2vec
- 4 word2vec の高速化
- 5 リカレントニューラルネットワーク (RNN)
- 6 ゲート付き RNN
- 7 RNN による文章生成
- 8 Attention
-
BERTによる自然言語処理入門
- 2 ニューラルネットワークを用いた自然言語処理
- 3 BERT
-
コンピュータービジョン最前線 Winter 2021