AI/부스트 캠프 AI tech
[Day29] NLP를 위한 언어 모델의 학습, 평가 & AI와 저작권법
N-analyst
2021. 3. 4. 23:17
[Day29] NLP를 위한 언어 모델의 학습, 평가 & AI와 저작권법
NLP 모델의 학습 평과와 내가 만든 모델이 합법인지 불법인지에 대해서 알아봤다.
NLP를 위한 언어 모델의 학습, 평가
- 자연어 처리 분야에서 사용하는 언어 모델과 성능 평가를 잘 확인하게 되었다.
- 대표적인 예시를 설명해 주어서 좋았다.
AI와 저작권법
- 저작권법을 더 잘 알 수 있어서 좋았다.
- 데이터를 쓸 때 유의 사항을 알게된거 같다.
- 라이센스에 대해서 흥미롭게 봤다.
피어세션
- 백준 1062번: 가르침 풀고 토론을 진행 하였다.
# 1062번: 가르침
from itertools import combinations
N,K=map(int,input().split())
# 가장 먼저 K값에 따라서 분류
if K<5:
print(0)
exit(0)
elif K==26:
print(N)
exit(0)
# 5개의 단어는 무조건 익혀야 하므로 -5해준다.
K-=5
# 모든 단어는 "anta"와 "tica"가 포함되어 있다.
# a,n,t,i,c 5개의 단어가 포함된다.
baseset=set('antic')
convert={chr(ord('a')+i):1<<i for i in range(26)}
words=[]
check=set()
ans=0
for _ in range(N):
# 시작단어, 끝단어 제거
word=set(input())-baseset
# 5개의 단어로 읽을 수 있으면 ans +1
if len(word) == 0:
ans+=1
# 배울 수 있는 단어보다 word의 길이가 같거나 짧은것만 읽을 수 있다.
elif len(word) <= K:
tmp=0
# bit로 변환하여 저장
for s in word:
tmp +=convert[s]
words.append(tmp)
# 배워야 하는 단어의 후보군을 저장
check |=word
check_size=len(check)
# 후보군을 bit로 변환한다.
check=map(lambda x: convert[x] ,check)
def compare(w):
# 후보군의 전체 집합
teach=sum(w)
result=0
# 각 단어들과 비교하여 읽을 수 있는지 counting한다.
for word in words:
if teach & word == word:
result+=1
return result
plus=max(map(compare,combinations(check,min(K,check_size))))
ans+=plus
print(ans)