Python
 Computer >> コンピューター >  >> プログラミング >> Python

TensorflowとPythonを使用してUnicode文字列をUTF-8でエンコードされた文字列として表現するにはどうすればよいですか?


Unicode文字列のセットは、「encode」メソッドを使用してUTF8でエンコードされた文字列として表すことができます。

続きを読む:TensorFlowとは何ですか?KerasがTensorFlowと連携してニューラルネットワークを作成する方法は?

自然言語を処理するモデルは、異なる文字セットを持つ異なる言語を処理します。 Unicodeは、ほとんどすべての言語の文字を表すために使用される標準のエンコーディングシステムと見なされています。すべての文字は、0〜0x10FFFFの一意の整数コードポイントを使用してエンコードされます。 Unicode文字列は、0個以上のコード値のシーケンスです。

Pythonを使用してUnicode文字列を表現する方法を理解し、同等のUnicodeを使用してそれらを操作してみましょう。まず、標準の文字列操作に相当するUnicodeを使用して、スクリプト検出に基づいてUnicode文字列をトークンに分割します。

Google Colaboratoryを使用して、以下のコードを実行しています。 Google ColabまたはColaboratoryは、ブラウザー上でPythonコードを実行するのに役立ち、構成が不要で、GPU(グラフィックプロセッシングユニット)に無料でアクセスできます。 ColaboratoryはJupyterNotebookの上に構築されています。

print("A set of Unicode strings which is represented as a UTF8-encoded string")
batch_utf8 = [s.encode('UTF-8') for s in[u'hÃllo',   u'What is the weather tomorrow',u'Göödnight', u'😊']]
batch_chars_ragged = tf.strings.unicode_decode(batch_utf8,
input_encoding='UTF-8')
for sentence_chars in batch_chars_ragged.to_list():
   print(sentence_chars)
print("Dense tensor with padding are printed")
batch_chars_padded = batch_chars_ragged.to_tensor(default_value=-1)
print(batch_chars_padded.numpy())
print("Converting to sparse matrix")
batch_chars_sparse = batch_chars_ragged.to_sparse()

コードクレジット:https://www.tensorflow.org/tutorials/load_data/unicode

出力

A set of Unicode strings which is represented as a UTF8-encoded string
[104, 195, 108, 108, 111]
[87, 104, 97, 116, 32, 105, 115, 32, 116, 104, 101, 32, 119, 101, 97, 116, 104, 101, 114, 32, 116, 111, 109, 111, 114, 114, 111, 119]
[71, 246, 246, 100, 110, 105, 103, 104, 116]
[128522]
Dense tensor with padding are printed
[[ 104      195      108      108      111       -1       -1       -1       -1       -1
   -1       -1       -1       -1       -1       -1       -1       -1       -1       -1
   -1       -1       -1       -1       -1       -1       -1       -1]
[87      104       97      116       32      105      115       32      116      104
 101       32      119      101       97      116      104      101      114       32
 116      111      109      111      114      114      111      119]
[71      246      246      100      110      105      103      104      116       -1
   -1       -1       -1       -1       -1       -1       -1       -1       -1       -1
   -1       -1       -1       -1       -1       -1       -1       -1]
[128522       -1       -1       -1       -1       -1       -1       -1       -1       -1
   -1       -1       -1       -1       -1       -1       -1       -1       -1       -1
   -1       -1       -1       -1       -1       -1       -1       -1]]
Converting to sparse matrix

説明

  • 複数の文字列がデコードされる場合、すべての文字列の文字数が等しくない場合があります。
  • 結果はtf.RaggedTensorになります。ここで、最も内側の次元の長さが変化し、この変化はすべての文字列の文字数によって異なります。
  • このtf.RaggedTensorは直接使用することも、tf.RaggedTensor.to_tensorメソッドを使用してパディング付きの密なtf.Tensorに変換したり、tf.RaggedTensor.to_sparseを使用してtf.SparseTensorに変換したりすることもできます。
  • >

  1. Tensorflowと事前トレーニング済みモデルを使用して、Pythonを使用してデータを視覚化するにはどうすればよいですか?

    Tensorflowと事前トレーニング済みモデルを使用して、「matplotlib」ライブラリを使用してデータを視覚化できます。 「plot」メソッドは、コンソールにデータをプロットするために使用されます。 続きを読む: TensorFlowとは何ですか?KerasはTensorFlowとどのように連携してニューラルネットワークを作成しますか? 少なくとも1つの層を含むニューラルネットワークは、畳み込み層と呼ばれます。畳み込みニューラルネットワークを使用して、学習モデルを構築できます。 事前に訓練されたネットワークからの転移学習の助けを借りて、猫と犬の画像を分類する方法を理解します。画

  2. TensorFlowを使用して、Pythonを使用してテンソルを作成し、メッセージを表示するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。これは非常にスケーラブルであり、多くの一般的なデータセットが付属しています。 GPU計算を使用し、リソ