単語表現

記事数:(2)

学習

局所表現:言葉のベクトル表現

計算機は、数を扱うことが得意です。しかし、言葉のような記号を直接理解することはできません。そこで、言葉を計算機が理解できる数に変換する必要があります。この変換方法の一つが、局所表現と呼ばれる手法です。局所表現では、単語一つ一つに固有の番号を割り当てます。そして、その番号に対応する場所に1を、それ以外の場所に0を配置したベクトルを作成します。これをワンホットベクトルと呼びます。 例として、「りんご」「みかん」「ぶどう」の三つの言葉を考えてみましょう。「りんご」には1番、「みかん」には2番、「ぶどう」には3番を割り当てます。すると、「りんご」を表すベクトルは、1番目の要素が1、それ以外の要素が0となります。具体的には、(1,0,0)のようなベクトルになります。同様に、「みかん」は2番目の要素が1、つまり(0,1,0)というベクトルで表されます。「ぶどう」は3番目の要素が1、つまり(0,0,1)というベクトルで表されます。このように、各単語は独立したベクトルで表現されます。 この局所表現には、単語間の関係性が全く考慮されていないという特徴があります。「りんご」と「みかん」はどちらも果物ですが、ベクトル上では全く関連性がないものとして扱われます。例えば、「りんご」と「みかん」のベクトルの内積を計算すると0になります。これは、「りんご」と「みかん」のベクトルが直交していることを意味し、数学的には類似性が全くないことを示しています。また、語彙が増えるごとにベクトルの次元数が増加するため、計算量が増大するという問題点もあります。これらの問題点を解決するために、分散表現と呼ばれる別の表現方法が用いられることもあります。
LLM

局所表現:言葉のベクトル化

私たちは、日々の暮らしの中で、様々な手段を使って気持ちを伝え合っています。話す言葉だけでなく、身振り手振りや表情、文字なども使います。コンピュータも私たちと同じように言葉を扱うためには、言葉を数字に変換し、矢印のようなもの(ベクトル)で表す必要があります。なぜなら、コンピュータは数字を使って計算や処理を行うからです。 言葉をベクトルで表す方法はたくさんありますが、その中でも基本的な方法の一つに局所表現というものがあります。局所表現は、ある言葉が現れた時、その言葉の前後にある言葉との関係性に着目します。例えば、「読書が好きです」という文では、「読書」という言葉の前後に「好き」という言葉があることで、「読書」の意味をある程度理解することができます。このように、周りの言葉との関係性から、その言葉が持つ意味を捉えるのが局所表現です。 局所表現は、一つ一つの言葉に番号を付け、その番号を使ってベクトルを作るという簡単な方法です。例えば、「私は本を読むのが好きです」という文と「私は映画を見るのが好きです」という文があるとします。「本」と「映画」という言葉は違いますが、同じように「読む」や「見る」といった言葉と一緒に使われます。局所表現では、このような言葉の使われ方の共通点を捉えて、似た意味を持つ言葉は似たようなベクトルで表現されます。 しかし、局所表現だけでは、言葉の細かい意味の違いや、文脈全体の意味を捉えることは難しいという欠点もあります。例えば、「明るい部屋」と「明るい未来」の「明るい」という言葉は、同じ言葉ですが、それぞれ異なる意味で使われています。局所表現では、このような文脈に依存した意味の違いをうまく表現できません。そこで、より高度な表現方法として、分散表現といった手法も開発されています。