"텍스트 벡터화"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(새 문서: == 개요 == 컴퓨터는 단어, 단어와 단어 사이의 관계를 이해하지 못한다. 단지 숫자를 이해할 수 있을 뿐인데, 이를 위하여 단어를 벡터로...) |
|||
1번째 줄: | 1번째 줄: | ||
== 개요 == | == 개요 == | ||
컴퓨터는 단어, 단어와 단어 사이의 관계를 이해하지 못한다. 단지 숫자를 이해할 수 있을 뿐인데, 이를 위하여 단어를 벡터로 변환하는 과정이 필요하다. | 컴퓨터는 단어, 단어와 단어 사이의 관계를 이해하지 못한다. 단지 숫자를 이해할 수 있을 뿐인데, 이를 위하여 단어를 벡터로 변환하는 과정이 필요하다. | ||
+ | |||
+ | 이 과정이 제대로 거쳐진다면 '아빠'-'남자'+'여자' = '엄마' 등의 재미난 연산도 가능해진다.(일반적으로 Gensim 따위의 언어분석도구를 사용한다.) | ||
== Gensim == | == Gensim == | ||
16번째 줄: | 18번째 줄: | ||
|텍스트 읽고 모델 만들고 저장하기 | |텍스트 읽고 모델 만들고 저장하기 | ||
| | | | ||
+ | {| class="wikitable" | ||
+ | !매개변수 | ||
+ | !설명 | ||
+ | |- | ||
+ | |size | ||
+ | |몇 차원으로 할 것인가. | ||
+ | |} | ||
|<syntaxhighlight lang="python"> | |<syntaxhighlight lang="python"> | ||
from gensim.models import word2vec | from gensim.models import word2vec | ||
40번째 줄: | 49번째 줄: | ||
model.most_similar(positive=['단어']) | model.most_similar(positive=['단어']) | ||
+ | </syntaxhighlight> | ||
+ | |- | ||
+ | |단어관계 확인 | ||
+ | | +와 -개념으로 연산을 수행할 수도 있다. | ||
+ | |아빠-남자+여자 = ???? 을 알아보는 코드이다. <syntaxhighlight lang="python"> | ||
+ | from gensim.models import word2vec | ||
+ | |||
+ | model.most_similar(positive=['아빠', '여자'], negative=['남자']) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} | ||
[[분류:텍스트 분석]] | [[분류:텍스트 분석]] |
2021년 4월 29일 (목) 22:59 기준 최신판
1 개요[편집 | 원본 편집]
컴퓨터는 단어, 단어와 단어 사이의 관계를 이해하지 못한다. 단지 숫자를 이해할 수 있을 뿐인데, 이를 위하여 단어를 벡터로 변환하는 과정이 필요하다.
이 과정이 제대로 거쳐진다면 '아빠'-'남자'+'여자' = '엄마' 등의 재미난 연산도 가능해진다.(일반적으로 Gensim 따위의 언어분석도구를 사용한다.)
2 Gensim[편집 | 원본 편집]
자연어 처리를 위한 라이브러리인데, Word2Vec을 구현하는 도구로 많이 쓰인다.
2.1 설치[편집 | 원본 편집]
pip install gensim
2.2 사용[편집 | 원본 편집]
과정 | 설명 | 방법 | ||||
---|---|---|---|---|---|---|
텍스트 읽고 모델 만들고 저장하기 |
|
from gensim.models import word2vec
file = ... # 텍스트 파일을 열거나 저장한다.
data = word2vec.LineSentence(file) # 파일을 연다.
model = word2vec.Word2Vec(data, size=200, window=10, hs=1, min_count=2, sg=1)]
model.save('경로') # 작성한 모델을 저장한다.
| ||||
모델 불러오기 | from gensim.models import word2vec
model = word2vec.Word2Vec.load("경로")
| |||||
유사단어 확인 | 단어와 가장 유사한 단어를 찾아준다.
positive와 negative를 사용하여 검색이 가능하다. |
from gensim.models import word2vec
model.most_similar(positive=['단어'])
| ||||
단어관계 확인 | +와 -개념으로 연산을 수행할 수도 있다. | 아빠-남자+여자 = ???? 을 알아보는 코드이다. from gensim.models import word2vec
model.most_similar(positive=['아빠', '여자'], negative=['남자'])
|