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

Tensorflow 텍스트를 사용하여 Python에서 unicode_split()을 사용하여 문자열을 문자별로 분할할 수 있습니까?

<시간/>

Tensorflow 텍스트는 먼저 분할 문자열을 인코딩한 다음 변수에 함수 호출을 할당하여 'unicode_split' 메서드를 사용하여 문자열을 문자별로 분할하는 데 사용할 수 있습니다. 이 변수는 함수 호출의 결과를 보유합니다.

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

예시

print("The encoded characters are split")
tokens = tf.strings.unicode_split([u"仅今年前".encode('UTF-8')], 'UTF-8')
print("The tokenized data is converted to a list")
print(tokens.to_list())

코드 크레딧 -https://www.tensorflow.org/tutorials/tensorflow_text/intro

출력

The encoded characters are split
The tokenized data is converted to a list
[[b'\xe4\xbb\x85', b'\xe4\xbb\x8a', b'\xe5\xb9\xb4', b'\xe5\x89\x8d']]

설명

  • 모든 토크나이저는 원래 개별 문자열에 매핑된 토큰의 가장 안쪽 차원과 함께 RaggedTensor를 반환합니다.

  • 결과 모양의 순위가 1 증가합니다.

  • 단어를 구분하기 위해 공백을 사용하지 않고 언어를 토큰화할 때 문자로 나누는 것이 일반적입니다.

  • 이것은 Tensorflow 코어에 있는 unicode_split 연산을 사용하여 수행할 수 있습니다.

  • unicode_split이 호출되면 토큰화된 데이터가 목록에 추가됩니다.