- ch2. Text classification # BPE
1.1

유형1) Byte-Pair EncodingBPEBPE를 사용해 주어진 코퍼스에서 #n-size의 vocabulary 만들기.
Sol)
순서1) 코퍼스 안에서 유니크한 word 하나 뽑기
vocab = {a, b, c}
순서2) 첫 번째 반복: 띄어 쓰기를 기준으로 코퍼스를 나누고, 한 칸씩 이동하면서 2 word 묶음 개수 카운팅.
> abc / ccba / abbccc/ aaabbbccaa
i) abc -> ab, bc
ii) ccba -> cc, cb, ba
iii) abccc -> ab, bc, cc, cc
iv) aaabbbccaa -> aa, aa, ab, bb, bb ,bc, cc, ca, aa
> ab: 3개, bc: 3개, cc: 4개, cb: 1개, ba: 1개, bb: 2개, aa: 2개, ca: 1개
# 가장 개수가 많은 2 word 묶음을 **한 개의 word로 보고** vocab에 넣기!!
> vocab = {a, b, c, cc}
순서3) 두 번째 반복 # 이제 vocab에 들어간 cc는 한 단어로 취급한다.
i) abc -> ab, bc
ii) ccba -> ccb, ba
iii) abccc -> ab, bcc, ccc **여기가 좀 헷갈림**
iv) aaabbbccaa -> aa, aa, ab, bb, bb ,bcc, cca, aa
> ab: 3개, bc: 1개, ccb: 1개, ba: 1개, bcc: 2개, ccc: 1개, aa: 3개, bb: 개, cca: 1개
# 가장 개수가 많은 게 2개 이상 있으면 먼저 나온 걸 넣는다.
> vocab = {a, b, c, cc, ab}

1.2 암기 BPE 알파벳 사이즈, 장점

Sol)
1) 2^8 = 256
2) Any new word can be encoded
- Document Frequency
# Frequency table, Inverse Document Frequency, tf-idf score
2.1
유형2) 주어진 코퍼스에 대한 Frequency table 만들기

sol) 걍 각 문서에 대해 토큰 개수 세면 된다.

2.2
유형3) Inverse documnet frequency table 만들기*** IDFIDF

sol)
# Inverse document frequency table은 모든 문서를 합쳐서 만든다. 각 토큰에 대해서 구하면 된다.
# 분자는 총 문서의 수로 고정이다.
# 분모는 해당 토큰이 문서에 등장하는가 아닌가 binary 1 or 0 의 합이다.
ex) a 토큰에 대하여 총 3개의 문서가 있고고정, doc1/2/3 모두에 등장하므로 분자는 1+1+1이다.
> Inverse frequncy: 3/1+1+1 = 1
ex2) aa: 3/ 1+1+0 = 3/2

2.3
유형4) 각 문서의 tf-idf socre 계산하기


sol) 각 문서에 대해서 주어진 query에 있는 단어에 대하여 갯수 x IDF를 하면 된다.
ex) doc1에 대해서 a의 개수 = 4개, aa의 개수 = 1개, a의 IDF = 1, aa의 IDF = 3/2 이므로
tf-idfdoc1 = 4x1 + 1x3/2 = 11/2
이렇게 풀면
tf-idfdoc2 = 2x1 + 1x3/2 = 7/2
tf-idfdoc3 = 4x1 + 0x3/2 = 4
2.4 암기) 왜 IDF가 매칭 점수를 계산하는 데 중요한가?

Sol) 많은 문서에서 발견되는 자주 등장하는 일반적인 단어에 패널티를 부여하기 위함이다.
이러한 단어는 목표 문서를 필터링하는데 유용하지 않을 수 있다.

- 유형 5) Precision & Recall

3.1

# Precision: 검색한 문서중에 검색 되었고, 관련 있는 비율
Recall: 관련 있는 문서 중 관련 검색되었고 관련있는 문서 비율
sol) 3/5 , 3/3
3.2 유형 6) AP 구하기 # 한 칸씩 가면서 Precision은 개선해나가야 한다.

# 관계 있는 문서들의 precision을 합치고 관련있는 문서 개수로 나눈다.

3.3 # 암기: 어떻게 AP가 Precision-Recall Curve 아래 영역과 관련 되는가.

Sol) 둘은 같다. 즉 AP는 Precision-Recall Curve 아래 영역 면적과 같다. r(k) = 1 인 모든 경우마다 막대를 그려서 높이는 p@k, 너비는 1로 설명하면 이를 시각적으로 확인할 수 있다.


- ch4. Text generation # Sampling 유형
4.1
유형 7) Temperature에 따른 logit 값 구하기

Sol)
New_logits = original_logit x (originalTemp/NewTemp)

4.2
유형 8) Top_k , Top_p 유형

Sol)
# 풀이 순서 암기
i) Top_k -> 높은 k개만 고르고, 나머지는 -무한대로 보낸다.
ii) 남은 k개가 ln에 넣었을 때 합이 1이 되도록 정규화 Softmax

# Top_p
> 가장 높은 k개가 아닌 합이 Top_p 이상이 되는 확률들을 살린다.
ex) Top_p = 0.7 이라 하자. 확률들을 내림차순으로 바꿔놓고 > log(0.4), log(0.3)..
ln에 넣었을 때의 확률이 0.7 이상이 되는 합들을 살리고 이상이 되었을 때 나머지는 마이너스 무한대로 바꾼다.
결과는 같을 것이다.. ㅇㅇ.. 걍 Top_p는 뭐고, 확률을 내림차순한다는 것만 ㅇㅇ..
- Ch5. Formal L$P I
5.

유형9) Regular expression 만들기
sol) aa|ab|ba|bb*a|b
6.

Sol) abb*a
- Ch6. Formal L$P II
7.

유형10) CKY chart

유형11) 그래프 통해 action 정의하고, 전부 탐색하기



<총 정리>
유형1) Byte-Pair EncodingBPE를 사용해 주어진 코퍼스에서 #n-size의 vocabulary 만들기.
유형2) 주어진 코퍼스에 대한 Frequency table 만들기
유형3) Inverse documnet frequency table 만들기*** IDF
유형4) 각 문서의 tf-idf socre 계산하기
유형 5) Precision & Recall
유형 6) AP 구하기 # 한 칸씩 가면서 Precision은 개선해나가야 한다.
유형 7) Temperature에 따른 logit 값 구하기
유형 8) Top_k , Top_p 유형
유형9) Regular expression 만들기
유형10) CKY chart
유형11) 그래프 통해 action 정의하고, 전부 탐색하기
암기) BPE 알파벳 사이즈, 장점
암기) 왜 IDF가 매칭 점수를 계산하는 데 중요한가?
Precision: 검색한 문서중에 검색 되었고, 관련 있는 비율
Recall: 관련 있는 문서 중 관련 검색되었고 관련있는 문서 비율
암기: 어떻게 AP가 Precision-Recall Curve 아래 영역과 관련 되는가.
New_logits = original_logit x (originalTemp/NewTemp)
'학부 수업' 카테고리의 다른 글
| PR_L03. Fourier Series (2) 1 | 2024.10.16 |
|---|---|
| PR_L03. Fourier Series (1) 2 | 2024.10.14 |
| PR_L02. Signals and Systems 1 | 2024.10.14 |
| Introduction to RL week1 3 | 2024.09.23 |