Deep Learning/NLP

Deep Learning/NLP

LLM 용어정리 - > tokenization, in - context learning, emergent abilities, temperature, BPE(Byte Pairing Encoding) 알고리즘

Tokenizing토큰은 텍스트를 구성하는 개별 단위'나는 밥을 먹는다' -> '나는','밥을','먹는다'  토큰으로 나눔huggingface tokenizer가 요즘 잘 되어 있음. 1)  단어 단위 토큰화 I ate a hotdog -> 'I','ate','a','hotdog'장점: 토큰 길이가 상대적으로 짧음단점:  vocabulary 집합크기가 너무 커짐 (cat,cats는 같은 의미이지만 따로 한 칸 씩을 차지), Unknown() 토큰 발생 가능성 높음  2) 문자 단위 토큰화   I ate a hotdog -> 'I','a','t','e','a','h','o','t','d','o','g' 장점: vocabulary 집합 크기가 작음, unknown 토큰 () 발생할 가능성이 적음 단점: 토큰..

Deep Learning/NLP

11. Luhn Summerizer

문서 요약이란 중요한 문장을 자동으로 추출하는 과정 중요한 문장을 추출한다 -> 문장의 중요성을 어떻게 판단? 추상적 요약 문서를 의미적으로 이해 , 의미 추출 하여 요약 생성 추출 요약 문장별 중요도 계산 , 순위 높은 문장 선택 , 기술의 난이도가 있음. Luhn Summerize 이용한 문서 요약 단어의 중요도는 사용빈도로 측정, 작가는 중요한 단어를 반복한다. 중요 단어를 구분할 수 있는 구역을 C와 D로 표시 빈도수가 높다고 무조건 중요한 단어는 아님을 의미. 작성자가 많이 사용한 단어가 많은 문장이 중요한 문장이다 문장의 중요도 sentence 각 대쉬는 토큰을 의미함. 중요 단어가 시작하는 처음과 끝사이 단어들 중 중요단어의 상대 비율 문장 중요도 = (윈도내 포함된 중요단어 갯수)^2/ 윈..

Deep Learning/NLP

10. TextRank

TextRank TextRank는 각 문서를 토큰화 -> 그래프 생성 (서로 간의 관계를 이용) -> 중요도 계산하여 핵심 키워드 추출 그래프 기반 Ranking 모델, 키워드와 문장추출을 위한 비지도 학습 방법 제안(문서만 있으면 키워드나 문장 추출) Graph-based ranking algorithms -> 구글 PageRank에서 사용됨, 그래프 기반 각 노드의 중요성을 결정하는 방법 많은 득표를 한 노드가 중요한 노드임을 의미. 구글 페이지 랭크 원리를 보면, c,b는 웹페이지 나를 참조로 하고 있는 링크가 많을 때 중요한 웹페이지라고 간주 -> 가중치가 올라감 S(Vi): 아래 PR(A) 와 같은 역할 나와 인접하고 있는 노드가 가지고 있는 링크 만큼 분해하여 스코어를 받음 키워드 추출의 Te..

Deep Learning/NLP

09. 핵심키워드 추출

핵심키워드 추출 핵심 키워드 추출이란 문서에서 가장 중요한 단어를 자동으로 추출 "단어의 중요성을 어떻게 판단할 것인가?" 대량 데이터 처리 가능-> 직접 읽지 않아도 처리할 수 있음 추출의 일관성 -> 정해진 모델 통해서 동일한 기준을 가지고 추출, 모델에서 변화를 줄 수 있는 것은 파라미터(매개변수)임. 모델 자체는 변하지 않음. 실시간 분석이 가능 -> 키워드 추출을 실시간으로 진행 1. 단어 빈도를 활용한 접근 문서를 단순한 단어모음으로 간주,but 단어의 의미, 구조, 문법, 순서를 고려하지 않음 2. 연어/ 동시발생 n-gram을 통해 일부분 문맥에 대한 부분 처리 예를 들어 '고객 서비스'라는 연어가 있을 때 고객/ 서비스 하면 알 수 없지만 고객 서비스를 같이 보면 무엇을 의미하는지 알 수..

Deep Learning/NLP

08. 주성분 분석

차원 축소 차원의 저주는 n x p 일때 p가 많은 경우, 연산이 어렵고 데이터 표현이 어려움 이를 위해 차원을 축소함 차원 축소로 인해 정보 손실이 발생할 수 있음 예시) 국어: 80점, 영어 60점, 수학 90점, 과학 90점 평균 = (80+60+90+80)/4 = 77.5점 평균이라는 하나의 차원으로 나타냄, 하지만 평균으로 각 과목의 점수가 몇인지는 정확히 알 수 없음. 정보 손실을 최소화하는 것이 관건. pc1 축으로 하면 좌표들이 겹치지 않고 정보를 가져올 수 있음. 축에 영세했을 때 가장 많이 퍼져있는 것을 알 수 있음. 축을 찾아내는 과정이 주성분 분석이라고 할 수 있다. 주성분 분석 고차원 데이터를 저차원 데이터로 환원한다. 분산이 가장 커질때 (= 정보 손실을 최소화 하는)축을 pc1..

Deep Learning/NLP

07. TF-IDF(단어빈도-역문서빈도)

단어빈도- 역문서 빈도 tfidf(t,d,D) = tf(t,d) * idf(t,D) tf(d,t) -한문서 안에서 단어가 많이 등장할수록 가중치가 높아짐. df(t) -특정 단어 t가 등장한 문서의 수 idf(d,t)- df(t)의 역수 TF-IDF가 높은 것 -> 특정 문서에 많이 등장하고 타 문서에 많이 등장하지 않는 단어 문서 1 : The cat sat on my face I hate a cat 문서 2: The dog sat on my bed I love a dog 문서 1의 벡터는 (0,0.06,0,0,0,0.301,0,0.301,0,0.301,0.301,0.301)이 된다. TF-IDF을 통해 문서간의 유사도를 측정할때 더 좋은 성능을 낼 수 있다. 질의에 대한 tfidf 벡터와 문서의 tf..

Deep Learning/NLP

06. Bag of Words, TDM

BoW (Bag of Words) 단어 출현 순서는 무시하고 빈도수만 기반으로 문서를 벡터화, 각 토큰들이 문서에서 몇번 등장했는지 생성방법 1.각 토큰에 고유 인덱스 부여 2. 문서별로 단어가 몇번 등장했는지 횟수 기록 한계점- 단어의 순서 고려하지 않음(문맥 고려 x), BoW는 원핫인코딩처럼 벡터공간의 낭비할 수 있음. (표시되지 않는 것 0으로 표시), 빈도수가 중요도를 의미 하지 않음. 전처리가 어떻게 하느냐에 따라 카운팅이 달라짐 code docs = ['오늘 동물원에서 원숭이를 봤어', '오늘 동물원에서 코끼리를 봤어 봤어', '동물원에서 원숭이에게 바나나를 줬어 바나나를'] #띄어쓰기 단위로 토큰화 docs_ls = [d.split() for d in docs] docs_ls [['오늘',..

Deep Learning/NLP

05. TF-IDF, N-gram

TF-IDF 역문서 빈도, 각 단어의 중요성을 가중치로 표현 tf(d,t) -한 문서 안에서 어떤 단어가 몇번 등장했는지 df(t) -단어가 얼마나 많은 문서에 등장했는지 idf(d,t) -df(t)의 역수 idf가 높으면, df가 낮은 경우 의미 tf와 달리 idf쪽에는 주로 로그를 사용한다. idf에 로그를 사용하는 이유는 단어A 와 B/ 단어 C와 D는 한개 차이지만, 빈도수가 적을때, 그 차이가 적더라도 가중치를 높게 측정한다. 단어 C와 D를 봤을 때 빈도수가 둘 다 많으면, 차이가 미미하다. 그래서 이러한 효과를 상쇄하기 위해 로그를 적용한다. TF-IDF의 계산 절차 토큰별 인덱스는 위치를 부여한다. TF 계산은 각 토큰의 등장 빈도를 계산하고, IDF 계산은 각 단어의 문서 등장빈도를 계산..

해파리냉채무침
'Deep Learning/NLP' 카테고리의 글 목록