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

tf.textを使用して、Pythonで文字列に特定のプロパティがあるかどうかを確認するにはどうすればよいですか?


「wordshape」メソッドは、「HAS_TITLE_CASE」、「IS_NUMERIC_VALUE」、「HAS_SOME_PUNCT_OR_SYMBOL」などの特定の条件とともに使用して、文字列に特定のプロパティがあるかどうかを確認できます。

続きを読む: TensorFlowとは何ですか?KerasはTensorFlowとどのように連携してニューラルネットワークを作成しますか?

Keras Sequential APIを使用します。これは、すべてのレイヤーに1つの入力テンソルと1つの出力テンソルがあるプレーンスタックのレイヤーを操作するために使用されるシーケンシャルモデルの構築に役立ちます。

少なくとも1つの層を含むニューラルネットワークは、畳み込み層と呼ばれます。畳み込みニューラルネットワークを使用して、学習モデルを構築できます。

TensorFlow Textには、TensorFlow2.0で使用できるテキスト関連のクラスとオペレーションのコレクションが含まれています。 TensorFlow Textを使用して、シーケンスモデリングを前処理できます。

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

トークン化は、文字列をトークンに分解する方法です。これらのトークンは、単語、数字、または句読点にすることができます。主要なインターフェースには、TokenizerとTokenizerWithOffsetsがあり、それぞれに単一のメソッドtokenizeとtokenize_with_offsetsがあります。複数のトークナイザーがあり、それぞれがTokenizerWithOffsets(Tokenizerクラスを拡張する)を実装しています。これには、元の文字列にバイトオフセットを取得するオプションが含まれます。これは、トークンが作成された元の文字列のバイトを知るのに役立ちます。

特定の自然言語理解モデルで使用される一般的な機能は、テキスト文字列に特定のプロパティがあるかどうかを確認することです。 Wordshapeは、入力テキスト内のさまざまな関連パターンを照合するための、さまざまな便利な正規表現ベースのヘルパー関数を定義します。ここにいくつかの例があります。

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
print("Tokens being generated")
tokens = tokenizer.tokenize(['Everything that is not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Checking if it is capitalized")
f1 = text.wordshape(tokens, text.WordShape.HAS_TITLE_CASE)
print("Checking if all the letters are uppercase")
f2 = text.wordshape(tokens, text.WordShape.IS_UPPERCASE)
print("Checking if the tokens contain punctuation")
f3 = text.wordshape(tokens, text.WordShape.HAS_SOME_PUNCT_OR_SYMBOL)
print("Checking if the token is a number")
f4 = text.wordshape(tokens, text.WordShape.IS_NUMERIC_VALUE)
print("Printing the results")
print(f1.to_list())
print(f2.to_list())
print(f3.to_list())
print(f4.to_list())

コードクレジット-https://www.tensorflow.org/tutorials/tensorflow_text/intro

出力

Whitespace tokenizer is being called
Tokens being generated
Checking if it is capitalized
Checking if all the letters are uppercase
Checking if the tokens contain punctuation
Checking if the token is a number
Printing the results
[[True, False, False, False, False, False, False, False], [True]]
[[False, False, False, False, False, False, False, False], [False]]
[[False, False, False, False, False, False, False, True], [True]]
[[False, False, False, False, False, False, False, False], [False]]

説明

  • 「WhitespaceTokenizer」が呼び出され、トークンが生成されます。
  • 文字は大文字かどうかを確認するためにチェックされます。
  • 句読点や数字かどうかもチェックされます。
  • これらの計算後、ブール値が表示されます

  1. Pygalを使用してPythonでラインプロットを生成するにはどうすればよいですか?

    データの視覚化は、データの下での複雑な作業や複雑な計算を実際に行うことなく、データで何が起こっているのかを理解するのに役立つため、重要なステップです。 Pygalは、インタラクティブなプロットやグラフのSVG(Scalar Vector Graphics)画像の作成に役立つオープンソースのPythonパッケージです。 SVGは、指定されたデータを使用してアニメーショングラフを動的に生成することを指します。 これらのグラフのSVG画像は、要件に応じて使用およびカスタマイズできます。 SVGイメージは非常にスケーラブルであるため、高品質の形式でダウンロードできます。これらのダウンロードされた画

  2. Bokehを使用してPythonで棒グラフを視覚化するにはどうすればよいですか?

    Bokehは、データの視覚化に役立つPythonパッケージです。これはオープンソースプロジェクトです。 Bokehは、HTMLとJavaScriptを使用してプロットをレンダリングします。これは、Webベースのダッシュボードでの作業中に役立つことを示しています。 BokehはデータソースをJSONファイルに変換します。このファイルは、JavaScriptライブラリであるBokehJSへの入力として使用されます。このBokehJSはTypeScriptで記述されており、最新のブラウザで視覚化をレンダリングするのに役立ちます。 MatplotlibとSeabornは静的プロットを生成しますが、