일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- Flutter
- FastAPI
- 영상처리
- Widget
- DART
- study book
- fastapi를 사용한 파이썬 웹 개발
- rao
- ARM
- BOF
- PCA
- pytorch
- system hacking
- MDP
- Got
- 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습
- BFS
- Algorithm
- llm을 활용 단어장 앱 개발일지
- MATLAB
- bloc
- Kaggle
- Image Processing
- Computer Architecture
- ML
- Dreamhack
- BAEKJOON
- Stream
- C++
- Today
- Total
목록Artificial Intelligence/NLP (7)
Bull

2013년 구글에서 공개한 임베딩 모델로 단어 간의 유사성을 측정하기 위해 분포 가설(distributional hypothesis) 기반으로 개발됐다.분포 가설이란 같은 문맥에서 자주 나타나는 단어가 서로 유사한 의미를 가질 가능성이 높다는 가정이다.동시 발생(co-occurrence) 확률 분포를 이용하여 유사성 측정을 한다.예를 들어,"내일 자동차를 타고 부산에 간다""내일 비행기를 타고 부산에 간다"에서 자동차와 비행기는 서로 유사할 것이라고 예상한다.단어 벡터화희소 표현과 밀집 표현으로 나눌 수 있다.희소 표현 (sparse representation)소01000잃고10000외양간00010고친다00001- 벡터가 커지면 공간적 낭비가 심해진다. - 유사성 계산 또한 많은 비용이 발생한다...

Bow(Bag-ofWords)에 가중치를 부여하는 방식이다. Ilikethismoviedon'tfamousisThis movie is famous moive0012011I like this movie1111000I don't like this moive1111100단어 빈도 (Term Frequency)문서 내에서 특정 단어의 빈도 수를 나타냄.$$ TF(t,d) = count(t,d) $$위의 표에서 3개의 문서 중 4개의 movie가 나오면 $TF=4$ 가 된다.즉, t = 4(term 수), d = 3 (document 수)문서 빈도 (Document Frequency)한 단어가 얼마나 많은 문서에 나타나는지 의미.$$ DF(t,D) = count(t∈d:d∈D) $$반대로 생각하면 된다. 3개의 ..

FastText concept2015년 메타의 FAIR 연구소에서 개발한 오픈소스 임베딩 모델로 텍스트 분류 및 텍스트 마이닝 알고리즘이다. Word2Vec과 유사하지만 fastText는 단어의 하위 단어를 고려하여 더 높은 정확도와 성능을 제공한다. 하위 단어 고려를 위해 N-gram 을 사용해 단어를 분해하고 벡터화한다.(꺽새) 와 같은 특수 기호를 사용해 단어의 시작과 끝을 나타낸다.N-gram을 사용해 하위 단어 집합이 구성되는데,"서울특별시" 를 바이그램으로 분할 시 "서울", "울특", "특별", "별시" 가 된다.분해된 하위 단어 집합은 나눠지지 않은 자신 단어도 포함됨.만들어진 단어는 고유한 벡터값을 가짐.같은 하위 단어를 공유하는 단어 끼리는 정보 공유해 학습이 가능하다. 그래서 비슷한 ..

N-gram ConceptN개의 연속된 단어 시퀀스를 하나의 단위로 취급하여 특정 단어 시퀀스가 등장할 확률을 추정한다.N=1 일 때, 유니그램N=2 일 때, 바이그램N=3 일 때, 트라이그램이라고 부른다.$$ P(w_i | w_{t-1},w_{t-2}, ... w_{t-N+1}) $$N-1개의 토큰만을 고려해 확률을 계산한다. $w$ 는 어떤 단어 그룹이 나온 이후에 그 다음 단어가 나올 확률이다.CODE: N-gramimport nltkdef ngrams(sentence, n): words = sentence.split() ngrams = zip(*[words[i:] for i in range(n)]) return list(ngrams)sentence = "안녕하세요 만나서 진심으로 ..

NLP는 인간 언어의 구조, 의미 맥락을 분석하고 이해하는 알고리즘을 개발하기 위해서 다음과 같은 문제가 해결돼야 한다. 모호성: 단어와 구가 사용되는 맥락에 따라 여러 의미를 갖게 되어 모호한 경우가 많다. 이러한 모호성을 구분해야한다.가변성: 사투리, 강세, 신조어, 작문 스타일 등으로 매우 가변적이다. 이러한 문제도 해결해야한다.구조: 구문을 파악하여 의미를 해석해야한다. 알고리즘은 문장의 구조와 문법적 요소를 이해하며 의미를 추론하거나 분석할 수 있어야한다.Corpus(말뭉치)코퍼스란 자연어 모델을 훈련하고평가하는 데 사용되는 대규모의 자연어를 뜻한다.토큰화토큰은 개별 단어나 문장 부호와 같은 텍스트를 의미하며 말뭉치보다 더 작은 단위다. 개별 단어, 구두점 또는 기타 의미 단위일 수 있다. 토큰..

Word2Vec 모델Word2Vec는 자연어 처리에서 단어를 벡터로 표현하기 도구입니다. 벡터를 처음 마주한다면 어떤 뜻인지 궁금할 수 있을텐데요. 쉽게 생각하면 배열을 상상하면 됩니다. 벡터의 본래 개념은 방향과 크기를 가진 물리량입니다. 만약 2차원 좌표공간에서 우리는 1,2를 x=1, y=2이라는 좌표를 떠올릴 수 있습니다. 이를 2차원이 아닌 n차원에서 벡터를 표현하게 된다면 [X1, X2, X3, ..., Xn]으로 벡터 물리량을 표현할 수 있습니다. 우리는 단어 혹은 말뭉치(코퍼스)를 n개 라 할 때 단어를 차원으로 표현할 것입니다. 예를 들어, "fat cat on the mat"인 단어는 5차원 벡터로 ["fat", "cat", "on", the", "mat"]로 표현할 수 있겠네요. 즉,..

Gensim 공식 문서의 내용을 GPT로 정리하였습니다.https://radimrehurek.com/gensim/auto_examples/tutorials/run_word2vec.html#sphx-glr-auto-examples-tutorials-run-word2vec-py Gensim: topic modelling for humansEfficient topic modelling in Pythonradimrehurek.com Bag-of-Words (BoW) 모델Bag-of-Words (BoW) 모델은 텍스트 데이터를 수치 데이터로 변환하는 가장 기본적인 자연어 처리 기법 중 하나입니다. BoW 모델은 문서의 단어 빈도에 기반하여 각 단어를 벡터로 표현합니다. 이 글에서는 BoW 모델의 핵심 개념과 장단..