본문 바로가기
DNN with Keras/NLP with Hugging Face

Hugging Face API (1)

by goatlab 2024. 1. 10.
728x90
반응형
SMALL

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

 

엔티티 태그 지정은 소스 텍스트를 가져와서 해당 텍스트에서 엔티티를 나타내는 부분을 찾는 프로세스이다.

 

  • 위치 (LOC)
  • 조직 (ORG)
  • 사람 (PER)
  • 기타 (MISC)

 

다음 코드는 "명명된 엔티티 인식기" (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)

728x90
반응형
LIST

'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