찾다
백엔드 개발파이썬 튜토리얼토큰화 이해: 포옹 얼굴을 사용한 토크나이저에 대한 심층 분석

Understanding Tokenization: A Deep Dive into Tokenizers with Hugging Face

토큰화는 특히 언어 모델을 다룰 때 자연어 처리(NLP)의 기본 개념입니다. 이 기사에서는 토크나이저의 기능, 작동 방식, Hugging Face의 변환기 라이브러리[https://huggingface.co/docs/transformers/index]를 사용하여 다양한 애플리케이션에 활용할 수 있는 방법을 살펴보겠습니다.

토크나이저란 무엇입니까?

핵심적으로 토크나이저는 원시 텍스트를 토큰이라는 더 작은 단위로 분해합니다. 이러한 토큰은 사용되는 토크나이저 유형에 따라 단어, 하위 단어 또는 문자를 나타낼 수 있습니다. 토큰화의 목표는 사람이 읽을 수 있는 텍스트를 머신러닝 모델이 더 쉽게 해석할 수 있는 형식으로 변환하는 것입니다.

대부분의 모델은 텍스트를 직접 이해하지 못하기 때문에 토큰화가 중요합니다. 대신 예측을 하려면 숫자가 필요합니다. 토크나이저는 텍스트를 가져와서 처리한 후 모델이 사용할 수 있는 수학적 표현을 출력합니다.

이 게시물에서는 Hugging Face의 사전 훈련된 모델을 사용하여 토큰화가 작동하는 방식을 살펴보고, 변환기 라이브러리에서 사용할 수 있는 다양한 방법을 탐색하고, 토큰화가 감정 분석과 같은 다운스트림 작업에 어떻게 영향을 미치는지 살펴보겠습니다.

모델 및 토크나이저 설정

먼저 Transformers 패키지에서 필요한 라이브러리를 가져오고 사전 훈련된 모델을 로드해 보겠습니다. 감성 분석을 위해 미세 조정된 "DistilBERT" 모델을 사용하겠습니다.

from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSequenceClassification

# Load the pre-trained model and tokenizer
model_name = "distilbert-base-uncased-finetuned-sst-2-english"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

# Create the classifier pipeline
classifier = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)

텍스트 토큰화

모델과 토크나이저가 설정되면 간단한 문장의 토큰화를 시작할 수 있습니다. 예문은 다음과 같습니다.

sentence = "I love you! I love you! I love you!"

토큰화 프로세스를 단계별로 분석해 보겠습니다.

1. 토크나이저 출력: 입력 ID 및 어텐션 마스크

토큰나이저를 직접 호출하면 텍스트를 처리하고 몇 가지 주요 구성요소를 출력합니다.

  • input_ids: 토큰을 나타내는 정수 ID 목록입니다. 각 토큰은 모델 어휘의 항목에 해당합니다.
  • attention_mask: 모델이 어떤 토큰에 주의를 기울여야 하는지 나타내는 1과 0의 목록입니다. 이는 패딩을 다룰 때 특히 유용합니다.
res = tokenizer(sentence)
print(res)

출력:

from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSequenceClassification

# Load the pre-trained model and tokenizer
model_name = "distilbert-base-uncased-finetuned-sst-2-english"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

# Create the classifier pipeline
classifier = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)
  • input_ids: 정수는 토큰을 나타냅니다. 예를 들어 1045는 "나", 2293은 "사랑", 999는 "!"에 해당합니다.
  • attention_mask: 모든 토큰에 주의를 기울여야 함을 나타냅니다. 패딩 토큰이 있는 경우 이 목록에 0이 표시되어 무시해야 함을 나타냅니다.

2. 토큰화

토큰나이저가 문장을 개별 토큰으로 분할하는 방법이 궁금하다면 tokenize() 메서드를 사용하면 됩니다. 그러면 기본 ID가 없는 토큰 목록이 제공됩니다.

sentence = "I love you! I love you! I love you!"

출력:

res = tokenizer(sentence)
print(res)

토큰화에는 문장을 더 작은 의미 있는 단위로 나누는 작업이 포함됩니다. 또한 대소문자를 구분하지 않는 distilbert-base-uncased 모델을 사용하므로 토크나이저는 모든 문자를 소문자로 변환합니다.

3. 토큰을 ID로 변환

토큰이 있으면 다음 단계는 Convert_tokens_to_ids() 메서드를 사용하여 토큰을 해당 정수 ID로 변환하는 것입니다.

{
    'input_ids': [101, 1045, 2293, 2017, 999, 1045, 2293, 2017, 999, 1045, 2293, 2017, 999, 102],
    'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
}

출력:

tokens = tokenizer.tokenize(sentence)
print(tokens)

각 토큰에는 모델의 어휘에서 이를 나타내는 고유한 정수 ID가 있습니다. 이 ID는 모델이 처리를 위해 사용하는 실제 입력입니다.

4. ID를 다시 텍스트로 디코딩

마지막으로 decode() 메서드를 사용하여 토큰 ID를 사람이 읽을 수 있는 문자열로 다시 디코딩할 수 있습니다.

['i', 'love', 'you', '!', 'i', 'love', 'you', '!', 'i', 'love', 'you', '!']

출력:

ids = tokenizer.convert_tokens_to_ids(tokens)
print(ids)

디코딩된 문자열은 "대문자 없음" 모델의 표준 동작이었던 대문자 제거를 제외하고 원래 입력과 매우 유사합니다.

특수 토큰 이해

input_ids의 출력에서 ​​101과 102라는 두 가지 특수 토큰을 발견했을 수 있습니다. 이 토큰은 문장의 시작과 끝을 표시하기 위해 많은 모델에서 사용되는 특수 마커입니다. 구체적으로:

  • 101: 문장의 시작을 표시합니다.
  • 102: 문장의 끝을 표시합니다.

이러한 특수 토큰은 모델이 입력 텍스트의 경계를 이해하는 데 도움이 됩니다.

주의 마스크

앞서 언급했듯이 attention_mask는 모델이 실제 토큰과 패딩 토큰을 구별하는 데 도움이 됩니다. 이 경우 attention_mask는 모든 토큰에 주의를 기울여야 함을 나타내는 목록입니다. 패딩 토큰이 있는 경우 마스크에 0이 표시되어 모델이 이를 무시하도록 지시합니다.

토크나이저 요약

요약하자면 토큰화는 텍스트를 머신러닝 모델이 처리할 수 있는 형식으로 변환하는 데 있어 중요한 단계입니다. Hugging Face의 토크나이저는 다음과 같은 다양한 작업을 처리합니다.

  • 텍스트를 토큰으로 변환합니다.
  • 토큰을 고유한 정수 ID에 매핑합니다.
  • 모델이 어떤 토큰이 중요한지 알 수 있도록 주의 마스크를 생성합니다.

결론

사전 훈련된 모델을 효과적으로 활용하려면 토크나이저의 작동 방식을 이해하는 것이 중요합니다. 텍스트를 더 작은 토큰으로 분해함으로써 모델이 구조화되고 효율적인 방식으로 입력을 처리할 수 있습니다. 감정 분석, 텍스트 생성 또는 기타 NLP 작업을 위한 모델을 사용하든 토크나이저는 파이프라인의 필수 도구입니다.

위 내용은 토큰화 이해: 포옹 얼굴을 사용한 토크나이저에 대한 심층 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python을 사용하여 텍스트 파일의 ZIPF 배포를 찾는 방법Python을 사용하여 텍스트 파일의 ZIPF 배포를 찾는 방법Mar 05, 2025 am 09:58 AM

이 튜토리얼은 Python을 사용하여 Zipf의 법칙의 통계 개념을 처리하는 방법을 보여주고 법을 처리 할 때 Python의 읽기 및 대형 텍스트 파일을 정렬하는 효율성을 보여줍니다. ZIPF 분포라는 용어가 무엇을 의미하는지 궁금 할 것입니다. 이 용어를 이해하려면 먼저 Zipf의 법칙을 정의해야합니다. 걱정하지 마세요. 지침을 단순화하려고 노력할 것입니다. Zipf의 법칙 Zipf의 법칙은 단순히 : 큰 자연어 코퍼스에서 가장 자주 발생하는 단어는 두 번째 빈번한 단어, 세 번째 빈번한 단어보다 세 번, 네 번째 빈번한 단어 등 4 배나 자주 발생합니다. 예를 살펴 보겠습니다. 미국 영어로 브라운 코퍼스를 보면 가장 빈번한 단어는 "TH입니다.

파이썬에서 파일을 다운로드하는 방법파이썬에서 파일을 다운로드하는 방법Mar 01, 2025 am 10:03 AM

Python은 인터넷에서 파일을 다운로드하는 다양한 방법을 제공하며 Urllib 패키지 또는 요청 도서관을 사용하여 HTTP를 통해 다운로드 할 수 있습니다. 이 튜토리얼은 이러한 라이브러리를 사용하여 Python의 URL에서 파일을 다운로드하는 방법을 설명합니다. 도서관을 요청합니다 요청은 Python에서 가장 인기있는 라이브러리 중 하나입니다. URL에 쿼리 문자열을 수동으로 추가하지 않고 HTTP/1.1 요청을 보낼 수 있습니다. 요청 라이브러리는 다음을 포함하여 많은 기능을 수행 할 수 있습니다. 양식 데이터 추가 다중 부문 파일을 추가하십시오 파이썬 응답 데이터에 액세스하십시오 요청하십시오 머리

HTML을 구문 분석하기 위해 아름다운 수프를 어떻게 사용합니까?HTML을 구문 분석하기 위해 아름다운 수프를 어떻게 사용합니까?Mar 10, 2025 pm 06:54 PM

이 기사에서는 HTML을 구문 분석하기 위해 파이썬 라이브러리 인 아름다운 수프를 사용하는 방법을 설명합니다. 데이터 추출, 다양한 HTML 구조 및 오류 처리 및 대안 (SEL과 같은 Find (), find_all (), select () 및 get_text ()와 같은 일반적인 방법을 자세히 설명합니다.

파이썬의 이미지 필터링파이썬의 이미지 필터링Mar 03, 2025 am 09:44 AM

시끄러운 이미지를 다루는 것은 특히 휴대폰 또는 저해상도 카메라 사진에서 일반적인 문제입니다. 이 튜토리얼은 OpenCV를 사용 하여이 문제를 해결하기 위해 Python의 이미지 필터링 기술을 탐구합니다. 이미지 필터링 : 강력한 도구 이미지 필터

Python을 사용하여 PDF 문서를 사용하는 방법Python을 사용하여 PDF 문서를 사용하는 방법Mar 02, 2025 am 09:54 AM

PDF 파일은 운영 체제, 읽기 장치 및 소프트웨어 전체에서 일관된 콘텐츠 및 레이아웃과 함께 크로스 플랫폼 호환성에 인기가 있습니다. 그러나 Python Processing Plain Text 파일과 달리 PDF 파일은 더 복잡한 구조를 가진 이진 파일이며 글꼴, 색상 및 이미지와 같은 요소를 포함합니다. 다행히도 Python의 외부 모듈로 PDF 파일을 처리하는 것은 어렵지 않습니다. 이 기사는 PYPDF2 모듈을 사용하여 PDF 파일을 열고 페이지를 인쇄하고 텍스트를 추출하는 방법을 보여줍니다. PDF 파일의 생성 및 편집에 대해서는 저의 다른 튜토리얼을 참조하십시오. 준비 핵심은 외부 모듈 PYPDF2를 사용하는 데 있습니다. 먼저 PIP를 사용하여 설치하십시오. PIP는 p입니다

Django 응용 프로그램에서 Redis를 사용하여 캐시하는 방법Django 응용 프로그램에서 Redis를 사용하여 캐시하는 방법Mar 02, 2025 am 10:10 AM

이 튜토리얼은 Redis 캐싱을 활용하여 특히 Django 프레임 워크 내에서 Python 응용 프로그램의 성능을 향상시키는 방법을 보여줍니다. 우리는 Redis 설치, Django 구성 및 성능 비교를 다루어 Bene을 강조합니다.

NLTK (Natural Language Toolkit) 소개NLTK (Natural Language Toolkit) 소개Mar 01, 2025 am 10:05 AM

NLP (Natural Language Processing)는 인간 언어의 자동 또는 반자동 처리입니다. NLP는 언어학과 밀접한 관련이 있으며인지 과학, 심리학, 생리학 및 수학에 대한 연구와 관련이 있습니다. 컴퓨터 과학에서

Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?Mar 10, 2025 pm 06:52 PM

이 기사는 딥 러닝을 위해 텐서 플로와 Pytorch를 비교합니다. 데이터 준비, 모델 구축, 교육, 평가 및 배포와 관련된 단계에 대해 자세히 설명합니다. 프레임 워크, 특히 계산 포도와 관련하여 주요 차이점

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.