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

Python에서 Tensorflow 텍스트를 공백 토크나이저와 함께 어떻게 사용할 수 있습니까?

<시간/>

Tensorflow 텍스트는 문자열의 'tokenize' 메소드와 함께 사용되는 토크나이저를 생성하는 'WhitespaceTokenizer''를 호출하여 공백 토크나이저와 함께 사용할 수 있습니다.

자세히 알아보기: 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 클래스 확장)를 구현하는 여러 토크나이저가 있습니다. 여기에는 바이트 오프셋을 원래 문자열로 가져오는 옵션이 포함됩니다. 이렇게 하면 토큰이 생성된 원본 문자열의 바이트를 알 수 있습니다.

N-gram은 크기가 n인 슬라이딩 윈도우가 주어졌을 때 순차적인 단어입니다. 토큰이 결합되면 세 가지 감소 메커니즘이 지원됩니다. 텍스트의 경우 Reduction.STRING_JOIN을 사용할 수 있습니다. 문자열을 서로 추가합니다. 기본 구분 문자는 공백이지만 string_separer 인수로 변경할 수 있습니다.

다른 감소 방법은 수치와 함께 사용되며 Reduction.SUM 및 Reduction.MEAN입니다.

예시

print("Whitespace tokenizer is being called")
tokenizer = text.WhitespaceTokenizer()
tokens = tokenizer.tokenize(['Everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])
print("Here, n is 2, hence it is bigram")
bigrams = text.ngrams(tokens, 2, reduction_type=text.Reduction.STRING_JOIN)
print("The bigrams are converted to a list")
print(bigrams.to_list())

출력

Whitespace tokenizer is being called
Here, n is 2, hence it is bigram
The bigrams are converted to a list
[[b'Everything not', b'not saved', b'saved will', b'will be', b'be lost.'], []]

설명

  • 공백 토크나이저가 호출됩니다.
  • 'n'의 값은 2로 설정되므로 바이그램이라고 합니다.
  • 토큰은 목록에 저장되고 콘솔에 표시됩니다.