Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- Stream
- PCA
- llm을 활용 단어장 앱 개발일지
- Computer Architecture
- BFS
- FastAPI
- Dreamhack
- 영상처리
- MDP
- C++
- rao
- Algorithm
- ML
- BAEKJOON
- MATLAB
- 백준
- DART
- bloc
- Image Processing
- Flutter
- BOF
- study book
- Kaggle
- Widget
- pytorch
- Got
- fastapi를 사용한 파이썬 웹 개발
- system hacking
- ARM
- 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습
Archives
- Today
- Total
Bull
[NLP] N-gram | study book 본문
N-gram Concept
N개의 연속된 단어 시퀀스를 하나의 단위로 취급하여 특정 단어 시퀀스가 등장할 확률을 추정한다.
N=1 일 때, 유니그램
N=2 일 때, 바이그램
N=3 일 때, 트라이그램
이라고 부른다.
$$ P(w_i | w_{t-1},w_{t-2}, ... w_{t-N+1}) $$
N-1개의 토큰만을 고려해 확률을 계산한다. $w$ 는 어떤 단어 그룹이 나온 이후에 그 다음 단어가 나올 확률이다.
CODE: N-gram
import nltk
def ngrams(sentence, n):
words = sentence.split()
ngrams = zip(*[words[i:] for i in range(n)])
return list(ngrams)
sentence = "안녕하세요 만나서 진심으로 반가워요"
unigram = ngrams(sentence, 1)
bigram = ngrams(sentence, 2)
trigram = ngrams(sentence, 3)
print(unigram)
print(bigram)
print(trigram)
unigram = nltk.ngrams(sentence.split(), 1)
bigram = nltk.ngrams(sentence.split(), 2)
trigram = nltk.ngrams(sentence.split(), 3)
print(list(unigram))
print(list(bigram))
print(list(trigram))
결과
[('안녕하세요',), ('만나서',), ('진심으로',), ('반가워요',)]
[('안녕하세요', '만나서'), ('만나서', '진심으로'), ('진심으로', '반가워요')]
[('안녕하세요', '만나서', '진심으로'), ('만나서', '진심으로', '반가워요')]
[('안녕하세요',), ('만나서',), ('진심으로',), ('반가워요',)]
[('안녕하세요', '만나서'), ('만나서', '진심으로'), ('진심으로', '반가워요')]
[('안녕하세요', '만나서', '진심으로'), ('만나서', '진심으로', '반가워요')]
참고 자료
https://product.kyobobook.co.kr/detail/S000209621433
파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습 | 윤대희 - 교보문고
파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습 | 트랜스포머는 딥러닝 분야에서 성능이 우수한 모델로 현대 인공지능 분야의 핵심 기술입니다. 트랜스포머와 비전 트랜스
product.kyobobook.co.kr
'Artificial Intelligence > NLP' 카테고리의 다른 글
[NLP] TF-IDF(Term Frequency-Inverse Document Frequency) | study book (0) | 2024.09.22 |
---|---|
[NLP] FastText | study book (0) | 2024.09.21 |
[NLP] 토큰화 | study book (1) | 2024.09.08 |
[AI::NLP] Word2Vec에 대해 알아보자: 단어의 비밀, 사실은 숫자의 배열이었다! (CBOW, Skip-gram) (2) | 2024.07.21 |
[AI::NLP] Bag-of-Words (BoW) 모델 (0) | 2024.07.20 |