Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 문자열에 특정 속성이 있는지 확인하기 위해 tf.text를 어떻게 사용할 수 있습니까?

<시간/>

'wordshape' 메소드는 'HAS_TITLE_CASE', 'IS_NUMERIC_VALUE' 또는 'HAS_SOME_PUNCT_OR_SYMBOL'과 같은 특정 조건과 함께 사용하여 문자열에 특정 속성이 있는지 확인할 수 있습니다.

자세히 알아보기: TensorFlow란 무엇이며 Keras가 TensorFlow와 함께 신경망을 생성하는 방법은 무엇입니까?

모든 레이어에 정확히 하나의 입력 텐서와 하나의 출력 텐서가 있는 일반 레이어 스택으로 작업하는 데 사용되는 순차 모델을 구축하는 데 도움이 되는 Keras Sequential API를 사용할 것입니다.

하나 이상의 레이어를 포함하는 신경망을 컨볼루션 레이어라고 합니다. Convolutional Neural Network를 사용하여 학습 모델을 구축할 수 있습니다.

TensorFlow Text에는 TensorFlow 2.0과 함께 사용할 수 있는 텍스트 관련 클래스 및 작업 모음이 포함되어 있습니다. TensorFlow Text는 시퀀스 모델링을 전처리하는 데 사용할 수 있습니다.

Google Colaboratory를 사용하여 아래 코드를 실행하고 있습니다. Google Colab 또는 Colaboratory는 브라우저를 통해 Python 코드를 실행하는 데 도움이 되며 구성이 필요 없고 GPU(그래픽 처리 장치)에 대한 무료 액세스가 필요합니다. Colaboratory는 Jupyter Notebook을 기반으로 구축되었습니다.

토큰화는 문자열을 토큰으로 분해하는 방법입니다. 이러한 토큰은 단어, 숫자 또는 구두점일 수 있습니다. 주요 인터페이스에는 각각 단일 메서드 tokenize 및 tokenize_with_offsets가 있는 Tokenizer 및 TokenizerWithOffsets가 포함됩니다. 각각 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'가 호출되고 토큰이 생성됩니다.
  • 문자가 대문자인지 확인합니다.
  • 또한 구두점과 숫자인지 여부를 확인합니다.
  • 이 계산 후에 bool 값이 표시됩니다.