TensorFlow를 사용한 텍스트 및 자연어 처리, TensorFlow를 사용한 Text 및 자연어 처리

텍스트 데이터에 대해 모델을 교육하려면 일반적으로 텍스트를 처리(또는 사전 처리)해야 합니다. 대부분의 경우 텍스트는 모델에 제공되기 전에 토큰화 및 벡터화되어야 하며 경우에 따라 텍스트는 정규화 및 기능 선택과 같은 추가 전처리 단계가 필요합니다.

텍스트가 적절한 형식으로 처리된 후 텍스트 분류, 텍스트 생성, 요약 및 번역과 같은 자연어 처리(NLP) 워크플로우에서 사용할 수 있습니다.

TensorFlow는 텍스트 및 자연어 처리를 위한 두 개의 라이브러리인 KerasNLP( GitHub ) 및 TensorFlow Text( GitHub )를 제공합니다.

KerasNLP는 모든 최신 변환기 기반 모델과 하위 수준 토큰화 유틸리티를 포함하는 상위 수준 NLP 모델링 라이브러리입니다. 대부분의 NLP 사용 사례에 권장되는 솔루션입니다. TensorFlow Text를 기반으로 구축된 KerasNLP는 낮은 수준의 텍스트 처리 작업을 사용하기 쉽게 설계된 API로 추상화합니다. 그러나 Keras API로 작업하는 것을 원하지 않거나 하위 수준의 텍스트 처리 작업에 액세스해야 하는 경우 TensorFlow Text를 직접 사용할 수 있습니다.

케라스NLP

TensorFlow에서 텍스트 처리를 시작하는 가장 쉬운 방법은 KerasNLP를 사용하는 것입니다. KerasNLP는 최첨단 사전 설정 가중치 및 아키텍처가 있는 모듈식 구성 요소로 구축된 워크플로를 지원하는 자연어 처리 라이브러리입니다. 기본 구성으로 KerasNLP 구성 요소를 사용할 수 있습니다. 더 많은 제어가 필요한 경우 구성 요소를 쉽게 사용자 지정할 수 있습니다. KerasNLP는 TensorFlow 생태계를 사용하여 손쉬운 생산화를 기대할 수 있도록 모든 워크플로에 그래프 내 계산을 제공합니다.

KerasNLP에는 BERTFNet 과 같은 널리 사용되는 모델 아키텍처 의 엔드 투 엔드 구현이 포함되어 있습니다. KerasNLP 모델, 계층 및 토크나이저를 사용하여 기계 번역 , 텍스트 생성 , 텍스트 분류변환기 모델 교육을 포함한 많은 최신 NLP 워크플로를 완료할 수 있습니다.

KerasNLP는 핵심 Keras API의 확장이며 모든 상위 수준 KerasNLP 모듈은 Layer 또는 Model 입니다. Keras에 익숙하다면 이미 대부분의 KerasNLP를 이해하고 있을 것입니다.

TensorFlow 텍스트

KerasNLP는 계층 또는 모델로 사용할 수 있는 높은 수준의 텍스트 처리 모듈을 제공합니다. 하위 수준 도구에 액세스해야 하는 경우 TensorFlow Text를 사용할 수 있습니다. TensorFlow Text는 원시 텍스트 문자열 및 문서로 작업하는 데 도움이 되는 작업 및 라이브러리를 제공합니다. TensorFlow Text는 텍스트 기반 모델에 필요한 정기적인 사전 처리를 수행할 수 있으며 시퀀스 모델링에 유용한 다른 기능도 포함합니다.

TensorFlow Text를 사용하여 다음을 수행할 수 있습니다.

  • 공백에서 문자열을 분할하고, 단어와 구두점을 분리하고, 토큰으로 바이트 오프셋을 반환할 수 있는 기능이 풍부한 토크나이저를 적용하여 소스 텍스트에서 문자열을 찾을 수 있는 위치를 알 수 있습니다.
  • 토큰이 지정된 문자열 패턴과 일치하는지 확인합니다. 대소문자, 구두점, 숫자 데이터 및 기타 토큰 기능을 확인할 수 있습니다.
  • 토큰을 n-그램으로 결합합니다.
  • TensorFlow 그래프 내에서 텍스트를 처리하여 학습 중 토큰화가 추론 시 토큰화와 일치하도록 합니다.

어디서 시작하나요

다음 리소스는 TensorFlow 텍스트 처리를 시작하는 데 도움이 됩니다.