はじめに
製造業においても,自然言語処理は重要な技術テーマのひとつである。週報などのメール,社内規定などのルール,安全記録や検査記録など,日々多くの文章が業務上で現れる。これらのテキストデータに対して自然言語処理技術を適用して業務効率化を実現していくために,近年発展が目覚ましい大規模言語モデルについて学ぶことにした。
なお私の勤務先では,既に大規模言語モデルの業務適用が進んでいる状況だが,新しい技術検証も並行して進めている。これらの技術に関する評価を適切に行なうためにも,大規模言語モデルの理解は重要である。
第1章 はじめに
本章では,細かい説明に入る前に,LLMの成功の要因となっている深層学習モデルであるTransformerについて,サンプルコードを交えて説明している。
1.1 Transformerを使って自然言語処理を解いてみよう
この節では,Transformerのサンプルコードを用いながら,代表的な自然言語処理のタスクを説明している。
サンプルコードでは,Hugging Faceのtransformerのモデルを用いている。
この節で紹介されている代表的なタスクを説明する。
1) 文書分類 (Document Classification)
文書文類は,入力された文章が肯定的(positive)か否定的(negative)であるかどうかを判定するタスクである。また判定結果とともに,所属確率(スコア)を出力する。
2) 自然言語推論 (Natural Language Inference)
自然言語推論は,2つの文章の関係性を,以下の3種類のクラスに分けるタスクである。
- 含意 (entailment)
- 矛盾 (contradiction)
- 中立 (neutral)
3) 意味的類似度計算 (Semantic Textual Similarity)
意味的類似度計算は,2つの文章の類似度を計算するタスクである。この類似度は0〜5の値で表される。
また,文章間の類似度を表す代表的な指標であるコサイン類似度(-1〜1)を出力することも出来る。
4) 固有表現認識 (Named Entity Recognition)
固有表現認識は,文章中に含まれる人名や地名などの固有表現を抽出するタスクである。
5) 要約生成 (Summarization Generation)
要約生成は,その名前の通り文章の要約を生成するタスクである。
1.3 単語埋め込みとニューラルネットワークの基礎
本節では,コンピュータに自然言語を理解させるためのニューラルネットワークモデルである,単語埋め込み (Word Embedding) について説明している。
単語埋め込みに関しては,以下の2つの重要な話題がある。
- 分布仮説
- 「ある単語は,その周辺にある単語によって説明される」という仮説である。単語埋め込みは,この仮説にもとづきモデル化がなされる。
- 具体的なモデルとしてskip-gramがあるが,これはある単語を入力,その周りにある単語を出力とするようなニューラルネットワークモデルである。
-
- 文脈化単語埋め込み
- 単語の意味は,前後の文脈によって変わることがある。文脈も考慮した単語埋め込みの手法を文脈化単語埋め込みと呼ぶ。
- 代表的なモデルとして,Transformer(2017年)やELMO(2018年)が挙げられる。
まとめ
本章では,Transformerを実際に動かした結果を説明しながら,自然言語処理における重要なタスクについて説明がなされていた。
また自然言語処理におけるニューラルネットワークの代表的な成果である単語埋め込みについても説明がなされていた。