ホームページ >バックエンド開発 >Python チュートリアル >Python での自然言語処理の例: ワード ベクトル
Python 自然言語処理 (NLP) は、人間の言語データから意味のある情報を抽出して分析するために広く使用されている技術です。重要な NLP アプリケーションの 1 つは単語埋め込みです。これは単語を数値ベクトルに変換し、単語の意味をベクトル空間の実数値として表す技術です。
この記事では、Python と NLP ライブラリを使用してワード ベクトル モデルを作成し、それに対して基本的な分析を実行する方法を学びます。
Python NLP ライブラリをインストールする
NLP 専用のライブラリである Python の gensim ライブラリを使用します。使用する前に、まずローカル コンピューターに gensim をインストールする必要があります。次のコマンドを使用して、ターミナルに gensim をインストールできます:
pip install gensim
データの準備
ワード ベクトルを作成する前に、入力としてテキスト データを準備する必要があります。この例では、プロジェクト グーテンベルクの古典的な小説を入力テキストとして使用します。
次のコードを使用して、Project Gutenberg ライブラリをダウンロードしてインポートします。
!pip install Gutenberg
from Gutenberg.acquire import load_etext
from Gutenberg.cleanup import slide_headers
text =strip_headers(load_etext(2701)).strip()
ここでは、strip_headers 関数を呼び出して小説の先頭情報とヘッダーを削除します。これで、このテキストをワード ベクトル モデルに入力する準備が整いました。
単語ベクトル モデルを作成する
Python を使用して単語ベクトルを作成するには、次の手順を実行する必要があります。
生のテキストを単語リストに変換する
単語リストを使用する単語ベクトル モデルをトレーニングするには
次のコードでは、テキストを単語に分割し、語彙を構築し、単語を整数にエンコードして、gensim ライブラリを使用して単語ベクトル モデルをトレーニングします。
from gensim.models import Word2Vec
import nltk
nltk.download('punkt')
raw_sentences = nltk.sent_tokenize(text)
sentences = [nltk. word_tokenize(sentence) for speech in raw_sentences]
model = Word2Vec(sentences, min_count=1)
まず、nltk ライブラリの send_tokenize 関数を使用して、テキストを文に分割します。
次に、nltk の word_tokenize 関数を使用して、文を単語に分割します。これにより、単語のネストされたリストが返されます。
Word2Vec モデルは、入れ子になった単語のリストを入力として使用し、共起関係に基づいて単語ベクトルを学習します。 min_count パラメーターは、単語が考慮されるまでの最小出現回数を指定します。
入力データ セットのサイズとコンピューターのパフォーマンスに応じて、モデルのトレーニングには時間がかかります。
モデル分析
次のコードを使用して単語ベクトル モデルを分析できます:
model.wv に最も類似した他の単語を検索します。 most_similar('monster ')
model.wv['monster']
len( model.wv.vocab)
model.save('model.bin')
model = Word2Vec.load( 'model.bin')
ここでは、まず most_similar 関数を使用して、monster という単語に最も類似した他の単語を検索します。結果には単語スコアと類似性スコアが含まれます。
次に、単語ベクトル記述の wv 属性を使用して、単語モンスターのベクトル表現を見つけます。
len(model.wv.vocab) は、モデル内の語彙のサイズをチェックします。最後に、保存およびロード関数を使用してモデルを保存およびロードします。
結論
この記事では、Python と gensim ライブラリを使用してワード ベクトル モデルを作成する方法を学びました。テキストを単語のリストに変換し、このデータを使用して単語ベクトル モデルをトレーニングする方法を説明しました。最後に、モデルを使用して、特定の単語に最も類似した単語を見つける方法も学びました。
ワード ベクトルは NLP の重要なトピックです。この記事を通じて、Python で NLP ライブラリを使用してワード ベクトルを分析する方法を学習しました。お役に立てば幸いです。
以上がPython での自然言語処理の例: ワード ベクトルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。