반응형
반응형

NLP란 무엇인가요?


http://konlpy.org/ko/v0.4.4/start/








Python package for Korean natural language processing. 

https://github.com/konlpy/konlpy



NLP (Natural Language Processing, 자연어처리)는 텍스트에서 의미있는 정보를 분석, 추출하고 이해하는 일련의 기술집합입니다.

우리 일상에도 다양한 NLP 응용사례가 있습니다. 가령:

그리고 물론, 검색엔진과 같은 정보검색 시스템 등이 있습니다. NLP의 기초에 대해 더 자세히 알기 위해서는 아래 책들을 참고하시기 바랍니다.

KoNLPy는 여러분이 한국어 텍스트를 이용하여 기초적인 NLP 작업을 수행하는데 도움을 드릴 것입니다. 영어 텍스트를 다루는 것에 관심 있으신 경우, NLTK 를 참고해주시기 바랍니다.

이제 무엇을 준비하면 되나요?

KoNLPy를 사용하기 전에 다음의 몇 가지 준비가 필요합니다.

  1. 언어에 대한 깊은 관심과 한국어에 대한 어느 정도의 이해

  2. 기본적인 파이썬 프로그래밍 방법 [1]

  3. 좋은 텍스트 에디터와 터미널 (또는 파이썬 IDE) [2]

  4. 파이썬이 설치된 컴퓨터

  5. 파이썬 패키지 매니저 pip

준비되셨나요? 이제 시작해봅시다.


반응형
반응형



** 설치된 모듈의 위치정보 등 알아내기


    --  pip show  설치된모듈이름



 



TensorFlow on Windows: “Couldn't open CUDA library cudnn64_5.dll”




First of all, note that cuDNN is not distributed with the rest of the CUDA toolkit, so you will need to download it separately from the NVIDIA website. On Windows, it is distributed as a ZIP archive, so you must extract it and find the directory containing cudnn64_5.dll. For example, if you extract it to C:\tools\cuda, the DLL will be in C:\tools\cuda\bin\cudnn64_5.dll. Finally, you can add it to your path by typing the following at the command prompt:


C:\> set PATH=%PATH%;C:\tools\cuda\bin

C:\> python

...

>>> import tensorflow as tf


 

 I didn't have such issues with TensorFlow 0.12.1 (installed with pip install tensorflow==0.12.1):

 



---------------------------------------------------------------------------------

KNL

---------------------------------------------------------------------------------


matplotlib install  -  http://matplotlib.org/faq/installing_faq.html


> pip install matplotlib


or 


> git clone git://github.com/matplotlib/matplotlib.git

> cd matplotlib

> python setup.py install

> python setup.py develop


matplotlib test 

http://matplotlib.org/faq/howto_faq.html#how-to-search-examples


---------------------------------------------------------------------------------


konlpy install - http://konlpy.org/ko/v0.4.3/install/


> pip install --upgrade pip

> pip install JPype1-0.5.7-cp27-none-win_amd64.whl


> pip install konlpy


Binary Install

Ensure you have installed Anaconda/Miniconda. Instructions can be found here.

Install from the conda-forge software channel:


conda install -c conda-forge jpype1


$ pip install wheel


jpype  download : http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype


---------------------------------------------------------------------------------


JAVA_HOME 설정 

java 설치 - http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


환경변수 - JAVA_HOME  C:\Program Files\Java\jdk1.8.0_121


---------------------------------------------------------------------------------


To install this package with conda run: https://anaconda.org/anaconda/gensim


> conda install -c anaconda gensim=1.0.1


To install this package with conda run: https://anaconda.org/anaconda/scipy


> conda install -c anaconda scipy=0.19.0



---------------------------------------------------------------------------------


sklearn install


https://sourceforge.net/projects/scikit-learn/files/


sklearn test 

http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html


---------------------------------------------------------------------------------


Activate the conda environment by issuing the following command:


C:> activate tensorflow

 (tensorflow)C:>  # Your prompt should change 




예제 :: 

Saved model checkpoint to D:\PythonProject\cnn-text-classification-tf-master\runs\1490667625\checkpoints\model-1000



word2vec_example - https://gist.github.com/solaris33/8ce9913dea1aa4225876cbcfdd2963be#file-word2vec_example-py



Pycharm & tensorflow & Anaconda = http://yeramee.tistory.com/1


anaconda > tensorflow install : http://www.lfd.uci.edu/~gohlke/pythonlibs/#tensorflow





starting jupyter notebook

> jupyter notebook 

or 

> jupyter notebook --port 9999





5-1. 텐서플로우(TensorFlow)를 이용해 자연어를 처리하기(NLP) – Word Embedding(Word2vec) :: http://solarisailab.com/archives/374


jupyter notebook 사용하기 : http://goodtogreate.tistory.com/entry/IPython-Notebook-%EC%84%A4%EC%B9%98%EB%B0%A9%EB%B2%95




.

반응형
반응형

스탠포드 고교생 김가은, “머신러닝으로 의학 연구해요”


http://www.bloter.net/archives/274798


최근 전세계적으로 프로그래밍 교육이 확산되고 있지만 ‘프로그래밍을 과연 아이들에게 가르쳐야 하는가’라는 반론과 이에 대한 과정도 존재한다. 과연 초·중·고교생에게 프로그래밍을 알려주면 어떤 결과가 생길까? 이러한 논란 속에 직접 프로그래밍을 독학하고 새로운 실험을 진행하고 있는 17살 고등학생인 김가은 양을 만나보았다. 현재 김가은 양에게 프로그래밍이란 꿈을 이루기 위한 중요한 수단으로 자리잡고 있다고 한다.


17살 학생의 머신러닝 연구


김가은 학생은 3월18일 싱가포르에서 열린 오픈소스 아시아 서밋 ‘포스아시아’ 발표자로 나섰다. 주제는 ‘머신러닝과 메디컬 이미징 : 암 조기 진단의 미래’였다. 20-30명이 모인 강당에서 김가은 학생은 유창한 영어로 발표를 20분간 이어나갔다. 몇몇 청중은 김가은 학생의 프로필을 보고 웅성거렸는데, 특히 그녀의 나이를 확인하곤 매우 놀라워했다. 발표 내용도 이제 고등학생이라고 하기엔 굉장히 깊은 내용이었다. 발표 끝나고 청중들은 큰 박수를 보냈고, ‘대단하다’라는 격려를 김가은 학생에게 직접 건내기도 했다.


김가은 학생은 현재 스탠포드 온라인고등학교에 재학중이다. 스탠포드 온라인 고등학교는 스탠포드대학이 2006년에 설립한 정식 고등학교로, 모든 수업과 활동을 온라인으로 진행하고 있다. 김가은 학생은 초등학교 5학년까지 한국에서 학교를 다니다가 바로 스탠포드 온라인 고등학교로 옮겨 중학교 생활을 보냈다. 그렇다고 따로 미국으로 거주지를 옮긴 것은 아니다. 현재 3년 넘게 한국에서 스탠포드 온라인 고등학교를 다니고 있으며, 미국 현지 시간에 맞춰 수업은 새벽에 듣고 있다.



김가은 학생은 스탠포드대학에서 개최한 여름캠프를 통해 스탠포드 온라인 고등학교를 알게 됐다고 한다. 홈페이지를 통해 우연히 발견하고 스스로 지원했다.

“초등학교때 잠시 국제학교에 다녔어요. 근데 제가 미국 국적이 없다보니 한국인들이 주로 있는 국제학교에 갔어요. 그곳에선 영어로 소통하기도 힘들고 수업 분위기도 제가 생각하던 것과 다르더라고요. 근데 스탠포드 온라인 고등학교는 수업이 학생들의 참여 위주였어요. 배울 수 있는 과목의 깊이도 조금 더 높았고요. 그래서 지원했어요. 영어는 5살 무렵부터 배웠어요. 부모님이 강제로 시키신 건 아니고, 그냥 영어가 좋아서 한국에서 계속 공부했어요. 부모님은 IT와 무관한 일을 하세요. 하지만 지금 하는 일의 대부분은 부모님께서 많이 응원해주시고 계세요. 또 지금 하는 일은 좋아서 하는 일이니 스스로 알아서 하게 되는 것 같아요.(웃음)”


김가은 학생은 최근 미국 스탠포드대학에 가서 연구원 생활을 하고 있다. 이번에 처음으로 6개월 동안 미국에서 거주하는 것이라고 한다. 어떻게 대학교에서 고등학생을 연구원으로 받아들였는지 물어보니 지난해 스탠포드에 있는 교수님 200명에게 이메일을 보내서 얻은 결과라고 한다. 김가은 학생은 “이력서랑 관심있는 주제에 대해 작성해서 연구실에서 일하고 싶다고 적었다”라며 “그 중 2명의 교수님께서 허락해주셨고, 한 분의 연구실에서 6개월 동안 있기로 했다”라고 설명했다.


김가은 양이 연구실에서 일하고 싶었던 이유는 소위 말하는 ‘스펙’을 쌓기 위해서가 아니었다. 이미 스탠포드대학에 이메일을 보낼 때 오로지 ‘의료 이미지’와 관련된 연구실에만 연락했다고 한다. 그만큼 관련 연구를 꼭 하고 싶었다고 한다.


“이전부터 연구자로 일해보고 싶다는 생각이 있었어요. 어떤 연구를 할지는 구체적으로 정하진 않았고요. 그러던 중 암 진단과 관련된 다큐멘터리를 보았는데, 굉장히 의미있고 세상에 이로운 일 같더군요. 근데 저는 나이가 어리니 바로 실험실에 들어갈 수는 없잖아요. 그래서 뭔가 실험실 밖에서 컴퓨터를 통해서 할 수 있는게 없을까 하는 생각이 들었어요. 마침 제가 코딩을 시작했거든요. 찾아보니 관련된 오픈소스나 웹사이트가 많이 공개돼 있어서 제가 할 수 있는 게 많이 있더군요.”


오픈소스 기술로 배운 머신러닝


현재 김가은 학생이 진행하는 연구 주제는 ‘암 진단 이미지의 정확도를 늘리는 기술’이다. 예를 들어 초음파 사진을 찍을 때 환자가 숨을 쉬면 사진의 정확도가 떨어진다. 김가은 학생의 기술은 이미지 프로세싱과 머신러닝을 기반으로 암덩어리를 보다 뚜렷하고 명확하게 볼 수 있게 돕는다. 이 과정에서 다양한 오픈소스 소프트웨어와 캔서이미지아카이브나 캔서베이스 같은 오픈 데이터를 활용했다.


“코딩의 경우, 처음에는 주변 친구들이 코딩을 하길래 저도 한번 찾아봤어요. 먼저 iOS 앱 개발부터 시작했어요. 파이썬, 매트랩, R언어 등으로 확장하면서 머신러닝쪽에 관심이 생겼어요. 공부 방법이나 자료들은 누가 알려준 건 아니고, 대부분 인터넷 검색을 통해 알았어요. 다행히 머신러닝은 홍콩과학기술대학교 김성훈 교수님이 무료로 올려둔 강의가 있더라고요. 그걸 보면서 배웠고요. 요즘에는 다른 친구들과 1주일에 한 번씩 스카이프로 채팅하면서 머신러닝 공부도 같이 하고 있어요.”


김가은 학생은 처음부터 오픈소스 기술을 알고 있었던 건 아니다. 깃허브에 많은 소스코드가 올라온 것을 보고 깃허브에 관심을 두었다. 이후 ‘구글 코드인‘(전세계 중고등학교 학생들이 온라인으로 오픈소스 프로젝트에 기여하면서 경쟁하는 대회)이라는 오픈소스 프로그램에 참여했고, 구글 코드인을 통해 포스아시아 행사를 알았다고 한다. 이번 발표 역시 코드인 커뮤니티에서 올린 서류를 보고 참여하게 됐다.


김가은 학생은 “오픈소스 기술이 아니었으면 메디컬 이미지를 공부하기 힘들었을 것”이라며 “나중에 대학에 가면 연구 내용을 오픈소스 기술로 공개하고, 다시 커뮤니티에 돌려주고 싶다”라고 말했다. 처음 오픈소스 기술을 시작하는 또래 친구들이 알면 좋은 몇 가지 팁도 알려줬다.


“꼭 보여주기 위한 오픈소스 프로젝트가 아니라도 이미 있는 작은 프로젝트를 직접 이것저것 변경해보면서 시작하면 좋을 것 같아요. 오픈소스 데이터도 많으니 이걸 활용하는 것도 좋은 방법이고요. 깃허브는 초보자에게 조금 어려울 수 있다는 생각이 들더군요. 소스코드를 제안하면 그게 승인될 때까지 오래 걸리곤 하거든요. 영어는 꼭 필수적인 건 아닌 것 같아요. 요즘은 한국 커뮤니티도 활발하고, 코드를 읽으면서 원리를 따라갈 수 있으니까요.”


올해 9월부터 김가은 학생은 대학입시 준비를 시작한다. 앞으로도 프로그래밍과 의료를 결합한 분야에서 계속 남고 싶다고 한다.


“‘내가 좋아하는 것, 남들이 필요한 것, 내가 즐길 수 있는 것, 수익을 만들 수 있는 것’을 융합한 일을 하면 좋다는 식의 명언을 들었어요. 지금 하는 일은 어느 정도 그 범주 안에 들었다고 생각해요. 학교 숙제도 많고, 공부할 것도 많아서 잠을 많이 못자는데요. (웃음) 그래도 매일 연구실에서 일하는게 너무 즐거워요. 딥러닝 공부를 교수님께 직접 배우는 것도 재밌고요.”


.


반응형
반응형


Awesome Reinforcement Learning

A curated list of resources dedicated to reinforcement learning.

https://github.com/aikorea/awesome-rl

We have pages for other topics: awesome-rnnawesome-deep-visionawesome-random-forest

Maintainers: Hyunsoo KimJiwon Kim

We are looking for more contributors and maintainers!

Table of Contents

Codes


반응형
반응형

모두를 위한 딥러닝 - Deep Reinforcement Learning



1. 강좌 소개

본 Reinforcement Learning(강화학습) 강좌는 홍콩과학기술대학교의 김성훈 교수님의 ‘모두를 위한 딥러닝’ 시리즈의 두번째 강좌입니다. 앞선 강좌로  기본적인 머신러닝과 딥러닝 강좌 가 있습니다.

일주일에 한강좌씩 천천이 업데이트 예정입니다.

알파고와 이세돌의 경기를 보면서 이제 머신 러닝이 인간이 잘 한다고 여겨진 직관과 의사 결정능력에서도 충분한 데이타가 있으면 어느정도 또는 우리보다 더 잘할수도 있다는 생각을 많이 하게 되었습니다. Andrew Ng 교수님이 말씀하신것 처럼 이런 시대에 머신 러닝을 잘 이해하고 잘 다룰수 있다면 그야말로 “Super Power”를 가지게 되는 것이 아닌가 생각합니다.

더 많은 분들이 머신 러닝과 딥러닝에 대해 더 이해하고 본인들의 문제를 이 멋진 도구를 이용해서 풀수 있게 하기위해 비디오 강의를 준비하였습니다. 더 나아가 이론에만 그치지 않고 최근 구글이 공개한 머신러닝을 위한 오픈소스인 TensorFlow를 이용해서 이론을 구현해 볼수 있도록 하였습니다.

이 머신러닝, 딥러닝 강좌는 수학이나 컴퓨터 공학적인 지식이 없이도 쉽게 볼수 있도록 만들려고 노력하였습니다.

2. 도움되는 분들

  • 인공지능에 대해 관심이 있는 누구나
  • 머닝러신, 딥러닝의 개념을 이해하고 싶으신분
  • 머닝러신의 직접 구현해보고 싶으신 분
  • 앞선 기본적인 머신러닝과 딥러닝 강좌 를 학습하신 분
  • 강화학습에 대해 관심이 있는 분

3. 참고자료

이 비디오는 저도 인터넷등을 통해 공부하면서 만든것이며 아래 자료를 많이 사용하였습니다.

4. 지식공유자 소개

김성훈

Hong Kong University of Science and Technology 에서 컴퓨터 공학쪽으로 연구를 하고 있습니다.
비디오나 강의에 대한 의견이 있으시면 아래로 이메일을 보내 주시면 됩니다.
hunkim+ml@gmail.com


반응형
반응형

MS, 신경망 번역에 ‘한국어’ 추가…11개 언어 지원

마이크로소프트(MS)가 인공지능(AI) 기반으로 개발한 자사 신경망 기반 번역 서비스에 한국어를 추가했다. 최대 1만자까지 신경망 기술을 이용해 번역한다.


신경망 기반 번역은 단편적인 단어에 대한 직역이 아닌, 문장 전체의 맥락을 파악해 사람이 말하는 것처럼 자연스러운 번역이 특징이다. 구글과 네이버도 최근 신경망 기술을 이용한 번역 서비스인 ‘구글 번역’과 ‘파파고’를 선보였다. 구글 신경망 번역은 7가지 언어, 네이버 파파고는 한영 번역을 최대 200자 이내 번역한다.


MS는 지난해 11월 처음으로 신경망 기반 번역 서비스를 공개했다. 당시 영어, 독일어, 아랍어, 중국어, 일본어를 포함한 10가지 언어를 지원했다. 이번에 한국어가 추가하면서 총 11가지 언어를 번역한다.


신경망 번역 원리

신경망 번역 원리


MS 신경망 기반 번역은 인공지능과 머신러닝 알고리즘을 통해 언어를 학습한다. 총 두 단계에 걸쳐 번역한다. 먼저, 번역 대상이 되는 문장을 인공지능으로 분석해, 해당 문자에 사용된 언어가 어떤 문맥을 가졌는지 파악한다. 그다음 문장에 맞는 단어를 골라 뜻을 배치하고 번역한다. 단순히 해당 문장 안에 단어가 몇 개 들어가 있고, 각 단어의 뜻을 기계적으로 번역해서 보여주는 게 아니라 문장 전체 의미를 파악해서 이에 가장 잘 맞는 뜻을 가진 단어를 골라 번역한다.


예를 들어, ‘개가 매우 행복해 보인다. 그 개는 강아지 6마리를 낳았다’라는 문장을 프랑스인과 미국인이 MS 신경망 번역을 이용해 문장을 번역했다 치자. 미국인에게는 ‘The dog looks very happy. The dog bore 6 puppies’라고, 프랑스인에게는 ‘La chienne a l’air très heureux. La chienne portait 6 chiots’라고 보여준다.


프랑스어에서는 똑같은 단어라도 모든 명사에 남성형과 여성형으로 성이 나뉜다. 이 성별이 무엇이냐에 따라 뒤따라오는 동사 형태가 미묘하게 다르다. 여기서 신경망 분석이 빛을 발한다. 신경망 분석은 ‘그 개는 강아지 6마리를 낳았다’라는 문장의 의미를 해석해 ‘그 개 성별은 암컷이다’라고 추론했다. 불어로 ‘개’는 남성형 명사로 ‘le chine’으로 표현하지만, 이 문장에서는 암컷이라고 생각해 여성 형태의 ‘La chienne’를 쓴다. 흐름을 파악해서 자연스러운 번역을 제공한다.


이날 MS는 언어의 의도(Intent)와 실체(Entity)를 파악하는 자연어 처리 서비스 ‘루이스(LUIS, Language Understanding Intelligent Service)’도 이제 한국어를 지원한다고 밝혔다.


루이스는 챗봇과 앱, 그리고 다양한 서비스와 결합해 사용자의 의도를 파악하고, 이에 맞는 서비스를 제공한다. 예를 들어 ‘파리행 티켓을 예약해줘’라는 문장을 입력하면, 루이스와 결합한 서비스 플랫폼에서 파리행 티켓을 예약할 수 있는 웹사이트를 불러온다.


MS 측은 “이미 IT, 제조, 교통, 물류, 쇼핑, 미디어 등 다양한 분야의 국내 많은 기업이 마이크로소프트 루이스 기반의 AI 챗봇과 앱을 통해 서비스를 준비하고 있다”라며 “파트너와 함께 클라우드 기반의 AI 서비스를 활발히 개발 중으로, 이번 루이스의 한국어 지원을 통해 스마트 스피커, ARS 부가 서비스, 상품 예약 및 조회 등 다양한 한국어 애플리케이션들이 개발될 것으로 기대된다”라고 밝혔다.







.

반응형

+ Recent posts