728x90

word2vec 8

[연관어 분석] 크롤링 + 전처리 + 인공지능(word2vec)

하나의 영어단어를 입력했을 때 그 단어와 연관된, 함께 많이 사용이 되는 단어들을 찾기 위해 인공지능을 활용했다. 연관어를 찾는 단계는 다음과 같다. 입력 단어가 A라고 할 때. 1) 구글 검색창에 단어 A를 입력했을 때 나타나는 뉴스기사들의 제목과 본문 내용 일부를 페이지 1쪽부터 10쪽까지 탐색하며 가져온다. 2) 가져온 내용들을 전처리하여 인공지능이 학습할 수 있는 형태로 만든다. 3) word2vec 모델에 학습데이터를 넣어 연관어를 출력받는다. 즉, 단어를 검색할 때마다 그 단어에 맞는 학습데이터를 만들어서 연관어를 찾아내는 것이다. 매번 새롭게 탐색해야 해서 비효율적이지만 단어의 의미가 변화되거나 사회적으로 다른 의미로써 쓰이는 등 연관어가 바뀔 수 있는 경우에는 효과적이라고 볼 수 있다. 일..

[단어 연관도 - Lab meeting] word2vec 학습 데이터 - 2022.01.04.화

이번 Lab meeting에서는 word2vec를 학습할 때 어떤 데이터를 사용해야 할지에 대해 공부하고 발표해보았다. 불용어를 제거하지 않았을 경우에는, 해당 단어가 크게 의미를 가지지 않은 단어임에도 불구하고 다른 단어와의 연관성이 있다고 판단될 수 있다. 또한 의미없는 단어까지 학습하게 된다는 점에서 불필요한 시간이 소요될 수 있다. 이제는 직접 코드를 작성하고 실행해보는 작업을 해보아야 할 것 같다.

[단어 연관도 분석] gensim 설치

word2vec를 이용하여 단어의 연관도를 분석하려고 한다. gensim 패키지에 word2vec가 있기 때문에 gensim을 설치해서 사용할 수 있다. gensim 설치 방법을 찾아보니 pip install gensim 위 명령어로 설치가 가능하다고 하는데, 시도해보니 아래와 같은 오류가 발생했다. 그래서 구글에 검색해보니 같은 오류가 발생하는 사람들이 많았다. 버전을 지정해서 설치하면 오류가 발생하지 않는다고 하는데, 해당 글이 조금 예전에 작성된 글이라 최신 버전이 아닐 것 같았다. 그래서 최신 버전이 뭔지 알기 위해 gensim 페이지에 들어갔는데 최신 버전이 뭔지는 모르겠고 아래와 같은 설치 명령어를 발견했다. pip install --upgrade gensim 이걸 하면 되려나? 싶어서 해줬더..

[단어 연관도 - Lab meeting] Skip-gram 활용 사례 - 2021.11.29.월

이전 랩미팅에서 CBOW 설명 시 사용했던 단어 2차원 그래프가 어떻게 나온 것인지 실제 코드를 보며 공부를 해보았다. 해당 코드는 아마존의 휴대폰 관련 리뷰 댓글을 입력 데이터로 받아 단어 간의 연관성을 분석한 것이다. CBOW를 설명할 때 해당 그래프를 사용했는데, 이 코드는 skip-gram을 이용한 것이었다. 그리고 알고보니 CBOW보다 skip-gram의 성능이 더 좋아서 많이 사용된다고 한다. +) 참고 https://nbviewer.org/github/dreamgonfly/phone-review-nlp/blob/master/phone_reviews_nlp.ipynb#Modern-NLP-on-mobile-phone-reviews Jupyter Notebook Viewer You can find..

[단어 연관도 - Lab meeting] Word2Vec - 2021.11.22.월

단어의 연관도를 분석하는 인공지능을 탐색하던 중 Word2Vec라는 알고리즘을 발견하여 공부해보았다. 단어를 벡터로 표현하면, 벡터 연산이 가능해진다. 벡터 연산을 하면 앞에서 봤던 것처럼 ‘king – man + woman = queen’이라는 연산이 가능해진다. (단, 벡터가 단어의 의미를 잘 표현하고 있을 경우에 가능) - 단어를 여러 차원에 분산하여 표현했을 때의 장점 1) 적은 차원으로 대상을 표현할 수 있다. 원핫인코딩처럼 표현하면 단어의 수만큼 차원을 사용하지만, word2vec처럼 표현하면 차원의 크기를 설정하여 거기에 맞춰서 벡터가 표현된다. 보통 20~200차원 정도 사용. 2) 입력 데이터에 0이 많으면 데이터에서 정보를 뽑아내기 어렵지만, 각각의 차원이 모두 정보를 가지고 있으면 모..

[단어 연관도 분석] Word2Vec

인공지능을 이용해 영어 단어의 연관성을 분석하고, 그 분석 정보를 바탕으로 영어 단어를 입력했을 때 함께 공부하면 도움이 될 영어단어를 추천해주는 앱을 개발하려고 한다. 그 과정에서 인공지능 부분을 맡게 되면서 인공지능을 이용해 영어 단어의 연관성을 찾는 방법에 대해 공부를 하고 있다. 단어의 연관성 탐색을 하는 인공지능 알고리즘 중에 Word2Vec라는 알고리즘이 있기에 깊이 공부해보려 한다. ▶ Word2Vec란? - 신경망을 기반으로 한 비지도 학습 알고리즘 - 자동으로 단어 사이의 관계를 학습한다. - Word2Vec 아이디어: 비슷한 의미를 가진 단어를 비슷한 클러스터*로 모으는 것 - Word2Vec에서 만든 벡터 공간을 이용하면 간단한 벡터 연산으로 단어를 생성할 수 있다. 예) king -..

728x90