Hugging Face
트랜스포머는 자연어 처리의 주류가 되었다. 이 모듈에서는 자연어 처리를 위한 사전 학습된 트랜스포머를 결합하여 자연어 처리를 위한 Hugging Face Python 라이브러리의 데이터 세트, 토큰화기 및 기타 요소를 결합할 수 있다. Hugging Face API를 통해 감정 분석, 엔티티 인식, 언어 번역, 요약 및 텍스트 생성을 빠르게 시작할 수 있다.
!pip install transformers
!pip install transformers [sentencepiece]
감정 분석
감성 분석은 자연어 처리, 텍스트 분석, 컴퓨터 언어학, 생체 인식 기술을 사용하여 작성된 텍스트의 어조를 식별한다. 작성된 텍스트 구절은 긍정 또는 부정의 단순한 이분법 상태로 분류될 수 있다. 고급 감정 분석은 텍스트를 슬픔, 기쁨, 사랑, 분노, 두려움, 놀라움 등의 추가 카테고리로 분류할 수 있다.
from urllib.request import urlopen
# Read sample text, a poem
URL = "https://data.heatonresearch.com/data/t81-558/datasets/sonnet_18.txt"
f = urlopen(URL)
text = f.read().decode("utf−8")
일반적으로 신경망에 표시하기 전에 텍스트를 임베딩 또는 기타 벡터 형식으로 사전 처리해야 한다. Hugging Face는 이 과정을 크게 간소화하는 파이프라인을 제공한다. 파이프라인을 사용하면 일반 파이썬 문자열을 트랜스포머에 전달하고 표준 파이썬 값을 반환할 수 있다. 먼저, 텍스트 분류 모델을 로드하는 것으로 시작한다.
from transformers import pipeline
pipe = pipeline(model="roberta-large-mnli")
다음 코드는 모델 파이프라인과 감성 분석용 모델을 로드한다.
import pandas as pd
classifier = pipeline("text-classification")
이제, 감성 분석 결과를 판다스 데이터 프레임으로 표시할 수 있다.
outputs = classifier(text)
pd.DataFrame(outputs)
보시다시피, 이 시는 0.98개의 긍정적인 평가를 받았다.
Entity Tagging
엔티티 태그 지정은 소스 텍스트를 가져와서 해당 텍스트에서 엔티티를 나타내는 부분을 찾는 프로세스이다.
|
다음 코드는 "명명된 엔티티 인식기" (ner)를 요청하여 지정된 텍스트를 처리한다.
text2 = "Abraham Lincoln was a president who lived in the United States."
tagger = pipeline("ner", aggregation_strategy="simple")
마찬가지로 결과를 판다스 데이터 프레임으로 다. 보시다시피, 에이브러햄 링컨이라는 인물 (PER)과 미국이라는 위치 (LOC)가 인식된다.
outputs = tagger(text2)
pd.DataFrame(outputs)
'DNN with Keras > NLP with Hugging Face' 카테고리의 다른 글
임베딩 전송 (Transferring Embedding) (0) | 2024.01.11 |
---|---|
Embedding Layers (0) | 2024.01.11 |
Training HUGGING FACE models (0) | 2024.01.11 |
Tokenizers (0) | 2024.01.10 |
Hugging Face API (2) (0) | 2024.01.10 |