- 14
- BVC_Liper_Okbul
- 조회 수 190
카이스트(솔직히 희망 사항이긴 합니다만)의 SW 특기자 전형으로 가기 위해서 지금 꽤나 미친 짓을 저질렀습니다.
딥러닝 챗봇을 만든다는 짓 말이죠!
저기 RC_~~ 되있는 건 레딧에서 직접 제공하는 레딧 코멘트 모음집입니다.
용량이 어...50기가..?
그정도 되는 방대한 양의 코멘트 데이터 베이스이고..
database.py는 코멘트 뽑아내서 DB파일로 확립시키는 용도고..
trainig_data.py는 DB파일을 바탕으로 회화를 학습하는 용도입니다.
물론 제 컴퓨터에서 이 짓을 제대로 하기는 어려워서 구글의 클라우드 서비스를 이용할 생각이고요!
얼른 완성하고 싶습니다..크흑..
작성자
댓글 14
화이팅 하세요!
2020.08.02. 12:33
감사합니다아아!
2020.08.02. 22:58
크게 2가지 테스크로 구분이 되겠네요. 첫 번째는 사용자가 입력한 문장을 분석하는 테스크이고, 두 번째는 해당 상황에 맞는 문장을 생성하는 테스크가 되겠네요.
두 테스크 모두 NLP에서 거의 핵심이 되는 내용입니다. 아마 사용한다면 두 테스크 모두 RNN 기반의 모델을 사용하거나 혹은 두 번째 테스크는 GAN 모델을 사용하셨을 가능성이 높아보입니다.
약간 비관적인 이야기이긴 하지만 좀 더 간단한 형태로 문제를 바꾸거나 혹은 다른 프로젝트로 넘어가는 것을 추천드리고 싶습니다.
솔직하게 말해서 구글에서 제공해주는 GCP 무료 크레딧 가지고는 두 테스크 모두 어려울 거라고 생각합니다. 그리고 그 과정이 쉬웠다면 아마 구글에서 이미 그 기능을 상품으로 내놓아서 판매를 하고 있었겠지요.. 당장 구글에서 제공하는 챗봇 플랫폼인 DialogFlow의 경우에도 사용자가 입력할만한 문장을 많이 입력해두고 문장에서 중요한 부분을 매개변수로 표시해서 수행을 해야 하는 수동적인 형태의 챗봇을 제공해주고 있습니다.
더구나 데이터셋의 경우에도 라벨링이 되지 않은 단순히 문장만 제공이 되기 때문에 두 번째 테스크는 어느 정도 사용이 가능하나 첫 번째 테스크에서는 사용이 불가한 데이터셋입니다. 만약 첫 번째 테스크에서도 사용하고 싶으시다면 수동으로 일일히 라벨링을 해주어야 하는데 용량이 저정도가 되면 혼자서는 거의 불가능하니까요.
예를 들어 날씨를 알려주는 기능을 포함한다고 하면 "오늘 날씨 어때?", "오늘 비 오니?", "주말에 맑은지 확인해줘" 등과 같은 문장을 날씨를 알려준다는 카테고리로 묶어야 하는데 해당 데이터셋에서는 그 정보가 포함되지 않으니까요.
특히나 1년 전 쯤에 세익스피어 문학 글을 테스트 셋으로 사용해서 Tensorflow를 사용해서 문장을 생성하도록 LSTM으로 구현해본 적이 있긴 했는데 그 때 잘못 학습이 된 경우엔 계속 the만 나오는 문제가 있었습니다.
SW 특기자 전형에는 도움이 되지는 않지만 꼭 인공지능과 관련된 내용을 포트폴리오로 작성하고 싶으시다면 차라리 기존에 나와 있는 모델에 대한 논문을 읽으시고 거기에서 개선을 할 만한 부분을 찾아서 성능을 비교하는 프로젝트를 해보시거나 혹은 어떤 식으로 바꾸는 것을 시도해서 성능은 어느 정도 되고 학습 속도가 어떻게 되는지에 대한 내용으로 보고서를 쓰는 것이 더 도움이 되지 않을까 싶습니다.첫 번째 테스크는 사용자가 입력한 문장을 분석하는 것이고, 두 번째 테스크는 해당 문장을 생성하는 것이겠네요.
두 테스크 모두 NLP에서 거의 핵심이 되는 내용입니다. 아마 사용한다면 두 테스크 모두 RNN 기반의 모델을 사용하거나 혹은 두 번째 테스크는 GAN 모델을 사용하셨을 가능성이 높아보입니다.
약간 비관적인 이야기이긴 하지만 좀 더 간단한 형태로 문제를 바꾸거나 혹은 다른 프로젝트로 넘어가는 것을 추천드리고 싶습니다.
솔직하게 말해서 구글에서 제공해주는 GCP 무료 크레딧 가지고는 두 테스크 모두 어려울 거라고 생각합니다. 그리고 그 과정이 쉬웠다면 아마 구글에서 이미 그 기능을 상품으로 내놓아서 판매를 하고 있었겠지요.. 당장 구글에서 제공하는 챗봇 플랫폼인 DialogFlow의 경우에도 사용자가 입력할만한 문장을 많이 입력해두고 문장에서 중요한 부분을 매개변수로 표시해서 수행을 해야 하는 수동적인 형태의 챗봇을 제공해주고 있습니다.
더구나 데이터셋의 경우에도 라벨링이 되지 않은 단순히 문장만 제공이 되기 때문에 두 번째 테스크는 어느 정도 사용이 가능하나 첫 번째 테스크에서는 사용이 불가한 데이터셋입니다. 만약 첫 번째 테스크에서도 사용하고 싶으시다면 수동으로 일일히 라벨링을 해주어야 하는데 용량이 저정도가 되면 혼자서는 거의 불가능하니까요.
예를 들어 날씨를 알려주는 기능을 포함한다고 하면 "오늘 날씨 어때?", "오늘 비 오니?", "주말에 맑은지 확인해줘" 등과 같은 문장을 날씨를 알려준다는 카테고리로 묶어야 하는데 해당 데이터셋에서는 그 정보가 포함되지 않으니까요.
특히나 1년 전 쯤에 세익스피어 문학 글을 테스트 셋으로 사용해서 Tensorflow를 사용해서 문장을 생성하도록 LSTM으로 구현해본 적이 있긴 했는데 그 때 잘못 학습이 된 경우엔 계속 the만 나오는 문제가 있었습니다.
SW 특기자 전형에는 도움이 되지는 않지만 꼭 인공지능과 관련된 내용을 포트폴리오로 작성하고 싶으시다면 차라리 기존에 나와 있는 모델에 대한 논문을 읽으시고 거기에서 개선을 할 만한 부분을 찾아서 성능을 비교하는 프로젝트를 해보시거나 혹은 어떤 식으로 바꾸는 것을 시도해서 성능은 어느 정도 되고 학습 속도가 어떻게 되는지에 대한 내용으로 보고서를 쓰는 것이 더 도움이 되지 않을까 싶습니다.첫 번째 테스크는 사용자가 입력한 문장을 분석하는 것이고, 두 번째 테스크는 해당 문장을 생성하는 것이겠네요.
2020.08.02. 18:38
오오, 조언 감사드립니다.
그런데 솔직히 말이 포트폴리오지, 제 로망의 분출과 같은 형태다보니까..
잘 안되면 다른 요소를 이용해서 포트폴리오를 작성한다거나..뭐 그럴 생각이긴 합니다.
그리고 확실히 작업을 해보니까 힘들긴 힘들더군요.
+ GCP는..부모님의 도움으로 유료 전환을 한 상태입니다.
제가 원하는 형태가 되지 못하더라도 일단 노력이라도 해보려고 합니다.
허헛
그런데 솔직히 말이 포트폴리오지, 제 로망의 분출과 같은 형태다보니까..
잘 안되면 다른 요소를 이용해서 포트폴리오를 작성한다거나..뭐 그럴 생각이긴 합니다.
그리고 확실히 작업을 해보니까 힘들긴 힘들더군요.
+ GCP는..부모님의 도움으로 유료 전환을 한 상태입니다.
제가 원하는 형태가 되지 못하더라도 일단 노력이라도 해보려고 합니다.
허헛
2020.08.02. 23:02
딥러닝 챗봇 개발이라니 생각만 해도 끔찍하군요! 더군다나 전 지금 사실상 코딩은 손 놨기 때문에 더 끔찍하게 보입니다 ㅋㅋㅋ
+) 전 그냥 내신 성적도 망한 김에 수시 논술과 정시에 희망을 걸고 있습니다 ㅋㅋㅋ
2020.08.02. 19:28
껄껄..전 지금 다 가망이 없어보여서!
2020.08.02. 23:02
아르케이아..?
2020.08.04. 23:22
아마도 맞을겁니다...?
2020.08.04. 23:51
허미...Lost 1이라니
2020.08.05. 17:23
사실 저거 Track Lost된 화면입니다(?)
2020.08.05. 23:39
아아앗...
2020.08.07. 22:53
히카리Zero 스킬 효과 때문에 하나만 놓쳐도 게이지가 0으로...
2020.08.07. 23:04
전 히카리 기본에서 벗어나질 못해서 그런게 있는지 몰랐네요..
2020.08.08. 09:16
권한이 없습니다.