728x90
반응형

데이터 사이언스(Data Science)/자연어 처리 ,NLP 11

자연어 처리 논문 분석 주제 - Opinion Mining and Sentiment Analysis

Opinion_mining_and_sentiment_analysis로 정함 https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7724305 21.11.06 정함 1 해당 논문을 왜 선정하였는지 2 어떠한 문제를 푼 논문인지, 해당 문제가 왜 중요한지 3 해당 문제를 풀기 위하여 기존에 어떤 연구들이 있었는지 4 이러한 과거 연구의 문제점 혹은 개선점은 무엇인지 5 해당 문제점을 해결하기 위해 어떠한 방법론을 제안하였는지 6 해당 방법론이 정말 더 좋은지 어떻게 검증하였는지 (정량적, 정성적) 7 해당 논문에서 제시하는 방법 및 실험에 한계는 무엇인지 에 대해 분석할 것임 1. 이 논문을 분석하는 이유는 사람이 말할 때 생각을 가지고 말한다는 가정 하에 ..

딥러닝 챗봇 만들기 - 4 (실제 프로젝트 만들어보기)

실제 내용은 7장부터 시작이어서 나도 7장부터 시작하려고 한다. 근데 Mysql 미치겠다. ㅋㅋㅋ 내가 루트계정 권한을 안주고 종료했는지.. 접속이 안된다. 노트북 바꿀 때 잘못설치한듯.. 무슨 에러 겁나 떠서 재설치도 제대로 안되고.. 그냥 8.0.20 버전으로 새로 깔았다.. 그 이후 쭉쭉 진행이 됐다. 그렇게 DB를 생성하고 DB 접속하기 위해서 DB 정보 모듈도 만들고 그랬는데 DB_HOST = "127.0.0.1" DB_USER = "chatbot" DB_PASSWORD = "1234" DB_NAME = "chatbot" def DatabaseConfig(): global DB_HOST, DB_USER, DB_PASSWORD, DB_NAME 정작 create_train_data를 하는 과정에서 ..

딥러닝 챗봇 만들기 - 3 (파이썬 이용하기)

파이썬의 기본들을 알고가야 한다고 한다. 내가 아무리 책을 따라간다고 해도...? 이미 아는 것 까지 따라가는 것은 시간낭비니까..ㅎ 읽으면서 내가 놓쳤던 부분이나 모르는 것 또는 중요한 것만 짚고 넘어가자. 파이썬은 우선 내장함수란 것이 존재한다. 우리가 어떠한 패키지(라이브러리)를 import 하지 않아도 쓸 수 있는 것들을 모아놓은 것이 있다. 바로 그것이 Built-in Method라고 한다. docs.python.org/3/library/functions.html Built-in Functions — Python 3.9.1 documentation Built-in Functions The Python interpreter has a number of functions and types built..

Trnasformer Network, 트랜스포머 네트워크란?

구글에서 발표한 딥러닝 아키텍쳐다. 말 그대로 아키텍쳐이다. 얘 스스로는 아무것도 아니고 어떻게 이용하느냐에 따라 달라진다. 근데 자연어처리(NLP)측면에서는 트랜스포머의 등장이 획기적인 성능 향상을 가져왔다고 볼 수 있다. **하지만 트랜스포머의 이해를 위해서는 S2S, Sequence to Sequence의 개념을 먼저 아는 것이 필요하다. ++ Attention 메커니즘에 관한 이해도 필요하다. Attention, 어텐션 메커니즘 Sequence to Sequence (S2S) 시퀀스 투 시퀀스란? 안다면 이제부터 설명해보겠다. 기존의 Seq to Seq 모델의 한계를 Attention이 보정해주었다. RNN의 한계를 보정한 것인데..? RNN이 아닌 Attention을 활용할 수 있는 새로운 네트..

Attention, 어텐션 메커니즘

비슷한 문맥에 비슷한 단어는 모여있다를 극복하기 위한 방법 ( 꼭 그런 것은 아니지만서도 기본적인...~~) 즉, 순서(Sequence)를 파악하고 가중치를 그에 따라 조정하여 자연어를 처리하기 위한 메커니즘 S2S를 모르면 읽고 가야함. Sequence to Sequence (S2S) 시퀀스 투 시퀀스란? Word Attention이란 무엇인가? 딥러넹 모델이 특정 벡터에 주목(attetion)하게 만들어 모델의 성능을 높이는 기법임. 그렇다면 왜 특정 벡터에 주목하게 만드는 것이 성능을 높여주느냐?? 이를 알려면 어텐션이 나온 배경부터 이해해야 한다. 기계 번역을 위한 S2S(Seq 2 Seq) 모델부터 시작되었는데 Sequence to Sequence (S2S) 시퀀스 투 시퀀스란? 위는 A,B,C..

자연어 처리에서의 용어

원서 논문을 읽다보니까 해석해도 제대로 되는 것이 없어서 여러 가지를 참고해서 사전을 만들기로 맘먹었다. 중요한 내용은 링크를 걸어 추가 설명을 덧붙이겠다. Ctrl+F로 영문 또는 국문으로 찾아보자 pre-process -> 전처리 supervised learning -> 지도 학습 unsupervised learning -> 비지도 학습 Semantic -> 의미적~~ Syntactic -> 문법적~~ Word Anology -> 단어 유추 Prediction -> 예측 ++예측과 유추가 비슷해보이긴 한다. binary classification -> 이진 분류 이거 아님 저거 2가지로 분류하는 방식이다. Dimension reduction -> 차원 축소 Term-Documnet Matrix -> ..

Sequence to Sequence (S2S) 시퀀스 투 시퀀스란?

W2V을 알고있다면 word가 vector로 바뀌는 것이 W2V임을 알 것이다. 즉 S2S는 다시 말해서 Sequence를 다시 Sequence로 나오게 하는 것이다. 그렇다면 입력된 시퀀스와 출력된 시퀀스가 같냐???? 그것은 아니다.(같으면 안하지) 2개의 RNN을 사용한 모델이다. ++입력된 시퀀스와 출력된 시퀀스의 길이가 다를 수 있는데 그것을 2개의 RNN 모델을 통한 최종 모델이 나왔다. 최종 목적은 시퀀스인데 다른 도메인(domain)에서도 쓸 수 있는 시퀀스를 얻어내는 것이다. S2S가 쓰이는 대표적인 예는 챗봇, 기계 번역, 내용 요약 등이 있다. "language translation, image captioning, conversational models and text summari..

딥러닝 챗봇 만들기 - 2 (파이썬 IDE, 개발환경만들기)

우선 파이썬의 개발환경을 사용하며 .. 책에 있는 그대로 따라가겠다. (난 WINDOW 사용자) 책에서 개발환경에서 파이썬, MySQL을 로컬에 설치해 직접 사용한다고 써있다. 파이썬 버전 3.x 를 쓰며 2.x는 지원을 곧 종료하므로 쓰지 않는다. 파이썬의 가상 환경 관리를 위해서 (형상 관리) Anaconda를 이용한다. (따로 글 써야겠다..) 파워셸을 실행시킨다. conda list를 prompt에 입력하면 설치된 패키지가 이렇게 나온다 (나는 이미 깔아서 패키지가 이렇게 많은갑다) 파이썬 프로젝트에는 버전관리가 중요하므로 아나콘다로 가상 환경을 만들어준다. * 가상 환경 생성 conda create -n python= ex) conda create -n chatbot python=3.7 이라고 ..

딥러닝 챗봇 만들기 - 1(챗봇의 정의, 이해)

책을 활용해서 진짜 챗봇을 만들어보기로 하였다. 책의 처음 부분인 챗봇의 이해부터 해야한다고 한다. 챗봇이란 무엇인지, 왜 필요한지, 미래에 어떨 것인지 알아보자 챗봇이란 chat-bot으로 chatter 와 robot의 합성어이다. 즉, 대화하는 로봇이다. 대화는 음성 또는 텍스트로 이루어질 수 있으며 챗봇도 음성 또는 텍스트로 대답을 할 수 있다. ++ 물론 위와 같이 실체는 없겠지..만 그냥 이해를 위해서 로봇 하나 넣어놨다. 미래에는 고객 응대 서비스같은 경우 80%정도 대체할 수 있는 정도로 발전할 것이라는 추측을 하고 있다. 또한 로봇이기 때문에 24시간 응대가 가능해 고객들은 더욱 편한 환경을 가지게 될 것이다. 하지만 우리가 챗봇을 만든다면 특정 분야에 치중하는 챗봇을 만들 수 밖에 없을 ..

Word2Vec, Word to vector, 워드투벡터란?

엄청나게 유용하면서도 별로인 W2V에 대해서 알아보도록 합시다. 영어를 왜 중간에 많이 넣었냐면.. 실무에선 영어쓰니까..? 우리가 강대국이었으면.. 한글자료가 훨 많았을텐데 흐규흐규 출처: Efficient Estimation of Word Representations in Vector Space(Tomas Mikolov Kai Chen Greg Corrado Jeffrey Dean ) wikidocs.net/22660 이분의 글도 참고해서 봅시다. 정의 Word to Vec 이라는 설명에 걸맞게 뜻도 그렇다. 단어를 바로 벡터로 변환해준다는 이야기다. (Word to Vector) 왜?? 굳이 단어를 벡터로 바꿔야해? -> 벡터로 바꾸어야 유사도 같은 계산이 가능함(분산 표현 시 가능) 엥?? 그냥 ..

728x90
반응형