학부 수업

자연어처리 중간고사 문제 풀이

Dogun Kim 2024. 11. 5. 22:12
  • 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

Inverse D F는 각 doc에 대해서 만들지 않는다.

 

2.3 

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

q = {a, aa}

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) 많은 문서에서 발견되는 자주 등장하는 일반적인 단어에 패널티를 부여하기 위함이다.

이러한 단어는 목표 문서를 필터링하는데 유용하지 않을 수 있다.

sol

 


  • 유형 5) Precision & Recall

# 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. 

시그마 안에 있는 word가 쓸 수 있는 거다.

유형9) Regular expression 만들기

sol) aa|ab|ba|bb*a|b

 

6. 

# n승이 공통임을 잘 기억하자.

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