言語モデル
情報検索においては、クエリ尤度モデル(英語版)において言語モデルが用いられる。この方法では、コレクション内のすべての文書に、個別の言語モデルが関連付けられている。そして各文書は、その文書の言語モデル M d {\displaystyle M_{d}} に対するクエリ Q {\displaystyle Q} の確率 P ( Q ∣ M d ) {\displaystyle P(Q\mid M_{d})} に基づいて順位付けされる。この目的のため一般に、ユニグラム(unigram)(英語版)言語モデルが利用される。
2018年以降、大規模言語モデル(LLM)が登場し、大きな発展がみられた。これらのモデルは、数十億個の学習可能なパラメータを持つディープ・ニューラルネットワークで構成され、ラベルなしテキストの膨大なデータセットで訓練される。LLMは、さまざまな自然言語処理タスクで目覚ましい成果を示し、研究の焦点が汎用的なLLMの使用へと移り変わっている。
n-gram言語モデルは、マルコフ過程に基づいて単語列をモデル化するものである。このモデルでは、単語列内の次の単語の確率が、先行する単語の固定サイズのウィンドウにのみ依存すると仮定することで単純化する。たとえば、bigramモデル先行するは1つの単語のみを考慮し、trigramモデルは先行する2つの単語を考慮し、n-gramモデルは先行するn-1単語を文脈として考慮する。
たとえば、bigram言語モデルは、「I saw the red house(赤い家が見えた)」という文の確率を次のようにモデル化する。
ここで、 ⟨ s ⟩ {\displaystyle \langle s\rangle } と ⟨ / s ⟩ {\displaystyle \langle /s\rangle } は文の開始と終了を示す特別なトークンである。
これらの条件付き確率は、テキストコーパスの一部分の頻度カウントに基づいて推定することができる。たとえば、 P ( saw ∣ I ) {\displaystyle P({\text{saw}}\mid {\text{I}})} は、コーパス内での単語「I」に続いて「saw」が出現する割合として単純に推定できる。スパース性の問題(たとえば、コーパス内で「red house」というbigramの出現数がゼロの場合)は、特に大きなコンテキストウィンドウを使用する場合に、平滑化(英語版)手法によって基本的なマルコフモデルを修正する必要がある。
n-gramモデルは、最新のディープラーニング手法、特に最近では大規模言語モデルに取って代わられたため、自然言語処理の研究やアプリケーションで一般的に使用されることはなくなった。