自然言語処理(NLP)において、機械学習モデルの学習データや辞書(語彙リスト)に含まれていない、未登録の単語のこと。新語やスペルミスなどが該当し、これらが適切に処理されないと、翻訳精度の低下やエラーの原因となります。サブワード分割技術などの導入により、未知語への対応が進められています。
未知語とは
未知語(OOV)とは、機械学習や自然言語処理のシステムが事前に学習・構築した「辞書(語彙リスト)」の中に存在しない、未知の単語のことです。
詳しく解説
自然言語処理モデルを構築する際、テキストを「トークン」と呼ばれる単位に分割し、それぞれにIDを割り当てる辞書を作成します。しかし、新語、専門用語、方言、スペルミス、絵文字などは事前にすべてを辞書に登録することが不可能です。辞書に含まれない単語が入力されると、システムはそれらを「UNK(Unknown)」という特殊なトークンに置き換えて処理を行います。未知語が多すぎると、文脈の理解が困難になり、翻訳や文章生成の精度が著しく低下するため、サブワード分割の技術であるByte Pair Encoding(BPE)やWordPieceなどが開発され、文字レベルに分解することで未知語の発生を抑える工夫がなされています。
具体例・使われ方
例えば、AIモデルが2020年までのデータで学習された場合、それ以降に登場した「メタバース」や「タイパ」などの新しい言葉は未知語となります。また、キーボードの入力ミスで生じた「こにんちは(こんにちは)」のような誤字や、特定のコミュニティでのみ使われるネットスラングなども、辞書に登録されていなければ未知語として扱われます。
似た用語との違い
「未知語」と「低頻度語」の違いは、辞書に登録されているかどうかにあります。低頻度語は、出現回数は極めて少ないものの辞書には登録されている単語です。一方、未知語は辞書に全く登録されていません。また、文字レベルまで分解して処理する「サブワード」は、単語そのものが辞書になくても構成要素から意味を推測できるアプローチであり、未知語への対処法の一つです。
注意点
未知語をすべて「UNK」トークンとして処理すると、文の重要なキーワードが無視され、モデルの出力が不正確になります。しかし、未知語を減らすために辞書のサイズを肥大化させると、モデルのメモリ消費量や計算コストが急増するというトレードオフが存在します。また、サブワード分割を適用することで未知語自体は回避できても、モデルがその単語の正確な意味やニュアンスを完全に理解できているとは限らない点に注意が必要です。