TensorFlowとPythonでStack Overflowの質問データセットにテキストベクトル化を適用する方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの構築など、幅広い用途に活用できます。研究目的から本番環境での運用まで、多くの場面で採用されている実績あるフレームワークです。
Windows環境に「tensorflow」パッケージをインストールするには、以下のコマンドを実行します。
pip install tensorflow
テンソル(Tensor)はTensorFlowで使われる基本的なデータ構造です。データフローグラフと呼ばれる計算グラフにおいて、ノード同士を結ぶエッジとして機能します。テンソルとは、端的に言えば多次元配列またはリストのことです。
以下のコードは、Google Colaboratory上で実行することを想定しています。Google Colab(Colaboratory)を利用すると、ブラウザ上でPythonコードを実行でき、環境構築は一切不要です。さらにGPU(Graphics Processing Unit)にも無料でアクセスできます。ColaboratoryはJupyter Notebookを基盤として構築されています。
コード例
以下がコードスニペットです。
print("1234 ---> ", int_vectorize_layer.get_vocabulary()[1289])
print("321 ---> ", int_vectorize_layer.get_vocabulary()[313])
print("Vocabulary size is : {}".format(len(int_vectorize_layer.get_vocabulary())))
print("The text vectorization is applied to the training dataset")
binary_train_ds = raw_train_ds.map(binary_vectorize_text)
print("The text vectorization is applied to the validation dataset")
binary_val_ds = raw_val_ds.map(binary_vectorize_text)
print("The text vectorization is applied to the test dataset")
binary_test_ds = raw_test_ds.map(binary_vectorize_text)
int_train_ds = raw_train_ds.map(int_vectorize_text)
int_val_ds = raw_val_ds.map(int_vectorize_text)
int_test_ds = raw_test_ds.map(int_vectorize_text)コード出典:https://www.tensorflow.org/tutorials/load_data/text
実行結果
1234 ---> substring 321 ---> 20 Vocabulary size is : 10000 The text vectorization is applied to the training dataset The text vectorization is applied to the validation dataset The text vectorization is applied to the test dataset
解説
前処理の最終ステップとして、「TextVectorization」レイヤーを訓練データ、検証データ、テストデータのそれぞれに適用します。これにより、生のテキストがモデルで扱える数値表現(バイナリ形式および整数インデックス形式)へと変換されます。
バイナリベクトル化では、語彙内の単語がテキスト中に存在するかどうかを0と1で表現し、整数ベクトル化では各単語を語彙内のインデックス番号にマッピングします。用途に応じて両方式を使い分けることで、モデルの精度向上が期待できます。
-
TensorFlowとPythonを使って花のデータセットを可視化する方法
花のデータセットは、matplotlibライブラリを使用することで簡単に可視化できます。imshowメソッドを使うと、画像をコンソール上に表示でき、データセット全体を反復処理しながら最初の数枚の画像だけを出力するといったことも可能です。使用するデータセットについて本記事では、数千枚の花の画像を含む「flowers(花)」データセットを使用します。このデータセットには5つのサブディレクトリが含まれており、各クラス(花の種類)ごとに1つのサブディレクトリが割り当てられています。なお、以下のコードはGoogle Colaboratoryで実行することを想定しています。Google Colab(Col
-
【入門】PythonとTensorFlowでテンソルを作成し、メッセージを表示する方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術も備えています。TensorFlowの特徴TensorFlowはNumPyおよび多次元配列を基盤としています。この多次元配列は「テンソル(tensor)」とも呼ばれます。主な特徴は以下の通りです。ディープニューラルネットワークの構築・学習をサポート高いスケーラビリテ