머신러닝 단기집중과정

텐서플로우 API 사용

Google의 실용적인 머신러닝 속성 입문 과정

https://developers.google.com/machine-learning/crash-course/


필수사항

머신러닝 단기집중과정에는 머신러닝에 관한 사전 지식이 필요하지 않습니다. 하지만 제시된 개념을 이해하고 실습을 완료하기 위해서는 다음과 같은 필수사항을 충족하는 것이 좋습니다.

기본 대수학 개념 숙지. 변수와 계수, 선형 방정식, 함수의 그래프, 히스토그램을 알고 있어야 합니다. 로그, 미분과 같은 고급 수학적 개념에 익숙하면 유용하지만 꼭 필요하지는 않습니다.

프로그래밍 기본사항 숙지 및 Python을 이용한 코딩 경험. 머신러닝 단기집중과정의 프로그래밍 연습은 텐서플로우를 이용하여Python으로 코딩되어 있습니다. 텐서플로우 사용 경험이 필요하지 않지만 함수 정의/호출, 목록과 사전, 루프, 조건식 등 기본 프로그래밍 구성체가 포함된 Python 코드를 쉽게 읽고 쓸 수 있어야 합니다.

참고: 머신러닝 단기집중과정에 사용되는 수학 및 프로그램 개념의 세부 목록은 각 개념의 참조 자료와 함께 아래의 주요 개념 및 도구 섹션을 참조하세요.사전 작업

프로그래밍 실습은 브라우저에서 바로 실행되므로 설정이 필요하지 않습니다. Colaboratory 플랫폼을 통해 실습이 실행됩니다. Colaboratory는 대부분의 주요 브라우저에서 지원되며 Chrome 및 Firefox 데스크톱 버전에서 가장 철저한 테스트를 거쳤습니다. 실습을 다운로드하여 오프라인에서 하시려면 다음의 안내에서 로컬 환경 설정에 관해 자세히 알아보세요.

Pandas 시작하기

머신러닝 단기집중과정의 프로그램 실습에서는 Pandas 라이브러리를 사용하여 데이터 세트를 조작합니다. Pandas에 익숙하지 않으면 실습에 사용된 주요 Pandas 기능이 설명된 실습에 사용된 주요 Pandas 기능이 설명된 Pandas 빠른 가이드를 참조하세요.

낮은 수준의 텐서플로우 기본 사항

머신러닝 단기집중과정의 프로그래밍 실습에서는 고급 tf.estimator API를 사용하여 모델을 구성합니다. 처음부터 텐서플로우 모델을 구성하려면 다음 가이드를 완료하세요.

TensorFlow Hello World 낮은 수준의 텐서플로우로 코딩된 'Hello World'.텐서플로우 프로그래밍 개념 텐서플로우 애플리케이션의 기본 구성요소 둘러보기: 텐서, 작업, 그래프, 세션.텐서 생성하고 조정하기 텐서 간이 입문서: 텐서플로우 프로그래밍의 중심 추상화. 선형 대수학의 행렬 덧셈과 곱셈에 관해서도 설명되어 있습니다.주요 개념 및 도구

머신러닝 단기집중과정에서는 다음과 같은 개념과 도구를 설명하고 적용합니다. 자세한 내용은 연결된 자료를 참조하세요.

수학대수학변수, 
계수, 
함수선형 방정식.
예: y=b+w1x1+w2x2>y=b+w1x1+w2x2로그 및 로그 방정식. 예: y=ln(1+ezy=ln(1+ez)시그모이드 함수선형 대수학텐서 및 텐서 차수행렬 곱셈삼각법Tanh (활성화 함수에 설명되어 있음, 사전 지식이 필요하지 않음)통계평균, 중앙값, 이상점, 표준 편차히스토그램을 읽을 수 있는 능력적분학(선택 사항, 고급 주제의 경우)미분의 개념 (실제로 미분을 계산할 필요는 없습니다.)경사도 또는 기울기편미분 (경사도와 긴밀한 관련이 있음)연쇄 법칙 (신경망 학습 시 역전파 알고리즘을 완전히 이해하기 위해 필요함)

Python 프로그래밍기본

Python

다음과 같은 Python 기본 사항이 Python 가이드에 설명되어 있습니다.

위치 및 키워드 매개변수를 사용한 함수 정의 및 호출

사전, 목록, 세트(만들기, 액세스, 반복)

for 루프, 반복 변수 여러 개를 사용한 for루프(예: for a, b in [(1,2), (3,4)])

if/else 조건부 블록 및 조건식

문자열 형식 지정 (예: '%.2f' % 3.14)

변수, 할당, 기본 데이터 유형 (int, float, bool, str(ing))

pass 문

중급 Python

다음과 같은 고급 Python 기능도 Python 가이드에 설명되어 있습니다.

목록 이해

람다 함수

타사 Python 라이브러리

머신러닝 단기집중과정 코드 예에서는 타사 라이브러리의 다음과 같은 기능을 사용합니다. 이러한 라이브러리에 관한 사전 지식은 필요하지 않습니다. 필요할 때 알아야 하는 것을 찾을 수 있습니다.

Matplotlib(데이터 시각화용)
pyplot 모듈
cm 모듈
gridspec 모듈
Seaborn(히트맵용)
heatmap 함수
Pandas(데이터 조작용)
DataFrame 클래스
NumPy(낮은 수준의 수학 연산용)
linspace 함수
random 함수
array 함수
arange 함수
scikit-learn(평가 측정항목용)
metrics 모듈
Bash 터미널/Cloud Console

로컬 머신이나 Cloud Console에서 프로그래밍 실습을 실행하려면 쉽게 명령줄을 사용할 수 있어야 합니다.

Bash 참조 매뉴얼Bash Cheatsheet셸 알아보기




. . .
Posted by 홍반장水 홍반장水
[현장] 구글 ‘텐서플로우’ 개발자가 생각하는 머신러닝이란?

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

– 텐서플로우와 다른 머신러닝 라이브러리와의 차이점은 무엇인가? 비슷한 질문으로 다른 라이브러리가 아닌 텐서플로우를 선택해야 하는 이유는 무엇인가?

= 모든 기술을 이용해봐라. 토치, 카페 등 다른 기술들을 다운로드 하는 건 어려운 게 아니다. 다양한 기술을 작은 예제와 함께 일단 사용해보라. 그러면 결국 여러분들의 상황에 적합한 기술을 찾을 수 있을 거다. 텐서플로우가 모든 문제를 해결할 수 있는 만능 기술은 아니다. 텐서플로우의 장점은 구글이 만든 2세대 머신러닝 기술이고, 100여명의 인력이 투여되는 기술이라는 점이다. 그 말은 기술 지원이 활발하고, 오류도 더 빨리 발견하고 개선할 수 있다는 뜻이다. 작은 회사의 직원이고 어떤 기술을 선택할 지 고민하고 있다면 텐서플로우가 분명 좋은 대안이 될 것이다. 큰 데이터 규모에서는 더더욱.

– 텐서플로우는 윈도우에서 이용할 수 없다. 향후 윈도우를 지원할 계획이 있는가?

= 계획에 대해서는 뭔가 확실하게 이야기할 게 없다. 하지만 나도 윈도우 기기를 가지고 있고, 텐서플로우를 이용하고 있다. 그래서 추천하는 방법은 VM웨어를 설치하라. 무료 아닌가.(웃음) 그 위에서 다른 운영체제를 설치하고 텐서플로우를 이용해라.

– 알파고가 ‘강화학습(Reinforcement Training)’ 알고리즘을 이용했다고 들었다. 텐서플로우에서 강화학습 혹은 알파고 같은 기술을 지원할 계획이 있는가?

= 텐서플로우는 미국 본사에서 개발한다. 딥마인드는 영국에서 개발한다. 두 팀 모두 구글이란 같은 회사에 속해 있지만 서로 멀리 떨어져 있고 시차가 있어서 빨리 소통하기 어렵다. 딥마인드팀은 자체적으로 기술을 개발하고 있기 때문에 딥마인드가 하는 일에 대해서 많이 알지 못한다. API나 기술 지원은 언젠가 가능할 것으로 본다. 딥마인는 텐서플로우를 포함한 구글의 소프트웨어를 이용하고 있다. 텐서플로우나 구글 고유의 기술을 사용하는 비중이 얼마나 되는지는 잘 모른다.

– ‘텐서플로우 플레이그라운드‘라는 것을 이용해 봤다. 자바스크립트로 만든 시각화 도구인데 매우 흥미로웠다. 이런 도구는 텐서플로우 입문자에게 좋을 것 같더라. 혹시 비슷하게 텐서플로우와 통합해 사용할 수 있는 모니터링 도구나 프로파일 도구를 알고 있는가?

= 텐서플로우 그래프를 이용할 때 갑자기 속도가 느려지는 것을 경험하는 사용자가 있을 것이다. 무엇 때문에 속도가 늦어졌는지 알기 위해서 모니터링 도구나 프로파일링 도구가 필요하다. 텐서플로우 내부 팀이 이용하는 프로파일링 도구가 따로 있긴 하다. 좋은 도구인데 아직 이걸 오픈소스 기술로 공개할지는 결정하지 못했다. 언젠가 오픈소스 기술로 전환할 것이나, 그게 언제일지는 아직 모른다. 하지만 우리팀도 사람들이 어떤 문제를 해결하고 싶은지 명확하게 이해하고 있다. 텐서플로우 플레이그라운드라는 도구는 나도 잘 알고 있다. 여기 있는 분들도 한 번쯤 이용해보셨으면 좋겠다. 어떤 구성요소가 어떻게 작용하는지 쉽게 알 수 있을 것이다.

텐서플로우 플레이그라운드

▲텐서플로우플레이그라운드. 구글과는 별개로 진행되는 외부 프로젝트다.

– 나는 맥 OS 사용자다. 텐서플로우를 이용하려고 했는데 AMD GPU를 지원하지 않더라. 향후 AMD GPU를 지원할 계획은 없는가?

= 계획에 대해 아는 것은 없다. 의존성 문제 때문에 기술을 변경하는 게 쉽지 않더라. 현재 말할 수 있는 가장 좋은 제안은 그냥 엔비디아 카드를 사는 것이다.(웃음)

– 구글의 딥러닝 프로젝트에 합류하려면 어떻게 해야 하는가? 지원자는 경력자여야 하나? 학위 같은 게 있어야 하나?

= 학위가 있으면 좋긴 할 것이다. 하지만 사실 텐서플로우팀은 정말 다양한 사람으로 구성됐다. 많은 사람들이 다른 국적을 가지고 있다. 모두가 일류 대학을 졸업하지도 않았다. 가장 중요한 것은 당연히 프로그래밍 실력이다. 너무 중요하다. 또 어떤 문제를 해결하고 싶어하는 마음이 있어야 한다. 열린 태도를 지니는 것도 중요한 부분이다. 사실 2015년 11월 ‘브레인 레지던시’라는 프로그램을 시작했다. 많은 사람이 이 프로그램에 지원했다. 그 중 30명이 1년간 브레인 레지던시 프로그램에 참여하게 됐다. 참여자들은 머신러닝을 배우고, 자신이 하고 싶은 프로젝트를 진행한다. 여건이 허락된다면 이 프로그램을 내년에도 진행할 계획이다. 여기 있는 많은 분들이 지원해주셨으면 좋겠다.

구글 브레인 레지던시 프로그램

– 박사님께서 음성인식 분야를 전공하신 걸로 알고 있다. 음성인식 분야에서 기계가 인간의 실력을 뛰어넘을 수 있을 것이라고 보는가?

= 이미 기계가 음성인식 분야에서 인간보다 앞서 있다. 같은 문장이라고 가정하면 캘리포니아 출신이냐 텍사스 출신이냐에 따라 말 소리가 매우 다르게 들린다. 많은 사람이 서로 다른 억양을 가진 언어를 잘 이해하지 못한다. 기계는 모든 억양을 이해한다. 실제로 우리가 인도 사람의 말을 받아 적으라고 해보니 사람보다 음성인식 기계가 더 잘 이해했다. 아마 앞으로 서기는 필요 없을지도 모른다. 기계가 더 잘 이해하는 이유는 크게 2가지다. 하나는 억양, 두 번째는 맥락 정보를 잘 알고 있기 때문이다. 남자 아이가 형에게 하는 말은 부모님은 가끔 이해 못할 것이다. 맥락 정보가 없기 때문이다. 기계는 가능하다. 물론 현재 음성인식 앱은 성능이 별로 안 좋을 수 있다. 하지만 앞으로 더 나아질 것이다. 특히 5-6년 안에 음성인식 서비스와 관련해서 엄청난 변화가 있을 것이다.

– 텐서플로우를 기업에서 직접 활용한 사례를 알고 있는가?

= 많은 기업이 텐서플로우를 내려받고 이용하고 있다. 하지만 그걸로 정확히 무엇을 하고 있는지는 알지 못한다. 사실 내가 안다고 해도 그걸 여기서 말할 수 없다. 기업 비밀이지 않은가. 텐서플로우에 관심을 가지고 있는 기업 종류는 특정 산업군에 국한되지 않으며 매우 다양하다.

– 텐서플로우로 챗봇 시스템을 만들 계획이 있는가?

= 챗봇은 아주 만들기 쉬운 기술이다. 챗봇은 아주 기본적인 언어 구조를 이용한다. 문자가 입력되면 답변을 예상하고 다시 질문과 답변을 주고받는 식이다. 이 일련의 과정을 포함한 언어 모델을 계속 훈련시키면 챗봇을 만들 수 있다. 이러한 개념을 일단 이해만 하면 챗봇이 얼마나 쉬운 기술인지 알 수 있을 것이다. 텐서플로우로 지금 당장 개발할 수 있다. 하지만 챗봇을 정말로 쓸모 있게 만드는 것은 또 다른 문제다. 복잡한 대화를 이해하려면 많은 지식을 알고 있어야 하기 때문이다. 현재 나온 챗봇은 바보같은 대화만 할 수 있다. ‘안녕’, ‘이름이 뭐예요?’ 정도만 묻는 식이다. 복잡한 대화는 이해하지 못한다.
Posted by 홍반장水 홍반장水

[ML] TensorFlowKR/MLJejuCamp  Final Presentation (2017. 07. 27 - 28)




...


Posted by 홍반장水 홍반장水

Machine Learning Jeju Camp 


GitHub -  https://github.com/TensorFlowKR/MLJejuCamp



Call for application for Machine Learning Camp Jeju 2017

If you have studied machine learning/deep learning and TensorFlow, you probably want to implement a non-trivial and large-scale system for real use. We invite you to the month-long Machine Learning Camp Jeju 2017, where you can make that dream a reality.

For a full month in beautiful Jeju Island, you and other participants will train a deep learning model using TensorFlow from start-to-finish. Jeff Dean (Google Senior Fellow via Hangout), Rajat Monga (Google/TensorFlow Director (TBC)), and Prof. KyungHyun Cho (NYU) will give us keynote talks. Plus, you will have access to experienced mentors including Namju Kim (Head of Research for Kakao Brain), Sung Kim (HKUST), Lucy Park (TF-KR), Donghyun Kwak (TF-KR), Terry Taewoong Um (TF-KR), and many more. We hope you take advantage of this wonderful opportunity.

Those selected as participants will be provided with one round-trip airfare (up to 300 USD) to Jeju Island (South Korea), room and board at Jeju National University, USD 1,000 in stipends (can be used for the airfare, etc.) and USD 500 to 1,000 in Google Cloud Credit. In addition to these benefits, participants will gain valuable and practical experience in the field of deep learning. We look forward to your application!

Mentor Recruitment: If you’re interested in sharing your experiences and expertise with the camp, please contact us at mljejucamp@googlegroups.com. You will serve as personal mentors to 1 to 2 participants, holding 2 to 3 on/offline meetings a week to help them successfully complete their projects. While it is possible for you to provide online-only mentoring, we suggest you visit Jeju Island to meet with your mentees in person. We will provide round-trip airfare (up to USD 300) to Jeju Island and up to five (5) days of room and board.

(Information regarding schedule, program and benefits are subject to change as we are in the process of finalizing the details. We will have more information later.)

Camp Overview

Benefits (TBD)

  • Full month of hands-on experience training deep learning models with TensorFlow and mentorship from top developers
  • Round-trip airfare to Jeju Island (up to $300 USD)
  • Accomodation in Jeju National University or Kakao Space, Jeju
  • Stipend: 1,000 USD (can be used for the airfare, etc.)
  • Google Cloud Credit ($500~1000 TBD)

Qualification

  • No nationality, gender, age, degree, education requirements
  • Must be able to stay in Jeju Island from July 3rd to 28th. (Weekday camp programs run from 10AM to 5PM)
  • Good understanding of TensorFlow and deep learning and ability to train models (should be able to understand all in https://github.com/hunkim/DeepLearningZeroToAll)
  • Being able to release the code written during the camp publicly on github
  • Basic communication skills in English (All programs will be in English)

Application Closed! (By April 20 11:59PM AOE)

  • Detailed proposal for Deep Learning Camp Jeju 2017 project (Please be as detailed as possible)
  • CV that showcases applicant’s experience with deep learning and TensorFlow
  • Previously implemented models (GitHub or other)
  • Other supporting materials to show your qualification
  • Application link (closed): https://www.surveymonkey.com/r/LY29GM5

Proposal examples:

  • “I will implement paper X from 2016 NIPS Conference using TensorFlow and apply idea Y to the implementation”
  • “My goal is to add idea X to existing TensorFlow model Y and apply it to dataset Z” (Please justify why you are interested in the particular paper, model, dataset, etc. Write your proposal as detailed as possible as it will be the primary criteria to select participants.)

Basic Tasks (but not limited to)

  • Each participant will implement own deep learning related ideas and recently published ideas (in ICML, ICLR, NIPS, etc.) in TensorFlow. Or adapt already implemented ideas to new dataset. Participants will propose in the application.
  • Participate in camp program. (10AM-5PM on weekday basis from July 1 to July 30)
  • Deep learning and TensorFlow expert mentors will advise each participant.
  • Release the code on the github as Open Source.

Camp rules

participants may be dismissed from the camp for the following or similar reasons:

  • Repeatedly engage in behavior that negatively impacts other participants' work
  • Spend unreasonable amount of time on non-camp related tasks.
  • More than 3 missed camp days without proper notice.

Important dates

  • Application due: April 20 (AOE time zone)
  • Notification: May 10
  • Mentor assignment and online discussion: June 1
  • Camp starts: July 3

About Jeju

Located just off the coast of the Korean peninsula, Jeju Island is the largest volcanic island in Korea. Also known as Asia's Hawaii, the island is rife with beautiful sceneries and getaway resorts. Jeju boasts several natural treasures including Mount Halla, the country's highest peak, Trail Olle that winds around the rocky coastline, and Sunrise Peak, a dormant volcano ideal for catching sunrises and sunsets. You will be able to fully experience the island's charm for as long as a month without a visa. For more information, please visit at: http://www.visitjeju.net/en/index.jto.

About Camp

Deep Learning Camp Jeju 2017 is a month-long program (July 3-28, 2017) where participants gain hands-on experience with TensorFlow through individual-based projects with the goal of implementing new deep learning related ideas, and/or already-published ideas. We are looking for approximately 20 participants. More than a dozen industry experts with strong backgrounds in deep learning and TensorFlow implementation will serve as project mentors to guide participants.

FAQs

Q: What are we doing during the one month program?

A: Basically, we design a deep learning model and fully implement using TensorFlow. It is also possible to (re) implement a published paper (by others) and adapt it for new datasets. Based on this, each participants will propose their own plans in their application.

Q: What type of Visa is required for foreigners?

A: No visa is required for most countries. Please check at http://www.immigration.go.kr/HP/IMM80/imm_04/imm_p01/vm3.jsp

Q. Can I apply for partial participation? (i.e. only weekends)

A: Unfortunately No.

Q: Is this only for students?

A: No. Anyone who can spend one full month in Jeju Island in Korea, and work from 10AM-5PM during the weekdays can apply.

Q: Is this a contest?

A: No, this is not a contest. Individuals will have different projects.

Q: Is this a training or teaching program?

A: This is not specifically a teaching event. The applicant should have good understandings on programming, machine learning/deep learning, and TensorFlow. However, we will provide mentors to assist you on your project.

Q: Will data for training be provided or it is up to participants?

A: We will provide some public data sets but participants can also utilize their own data.

Q: Should I bring my laptop?

A: We won’t provide PCs. You need to bring your laptop. However, we will provide cloud server credits.

Q: Training takes a lot of time and computing power. Does the camp provide any support?

A: We will provide cloud server credits.

Q: What are the criteria for selecting applicants?

A: There is no formal criteria, but we are looking for interesting and feasible projects.

Q: What if the attendee cannot complete the work that they submitted?

A: There is no penalty, but mentors will guide each participant to success.

Q: Can developers/researchers working on longer term projects like http://ai-on.org/projects/cardiac-mri-segmentation.html apply? In this case, one month may not be sufficient time to finish the work. Is it OK to apply?

A: It’s OK. As long as the project is interesting, we will consider it. You can also propose a small portion of a larger project that you wish to work on for a month.

Q: Is this only for deep learning? Can I propose a reinforcement learning project?

A: Yes, reinforcement learning is acceptable. Feel free to include other types of interesting machine learning projects.

Q: Can I participate in a keynote session or open seminars even though I am not a camp participant?

A: Yes, the keynote and open seminars are open to everyone. We will have a separate announcement regarding keynote sessions and open seminars.

Q: Will you also be recruiting staff members for the camp?

A: Sorry, but we have no current plans to recruit staff members.

Q: I do have more questions. Where should I contact?

A: Please use the issue (https://github.com/TensorFlowKR/MLJejuCamp/issues) of this page to ask questions.

Posted by 홍반장水 홍반장水
파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문 - 웹 크롤링과 스크레이핑부터 머신러닝.딥러닝까지 체계적으로 배우기

파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문
국내도서
저자 : 쿠지라 히코우즈쿠에 / 윤인성역
출판 : 위키북스 2017.06.15
상세보기


머신러닝의 바탕이 되는 데이터를 수집하고, 수집된 데이터를 기반으로 머신러닝을 수행하는 방법을 설명한다. 인터넷에서 데이터를 어떻게 효율적으로 수집하는지 알아보고, 머신러닝을 원활하게 할 수 있게끔 데이터를 가공하는 방법을 살펴보며 더 나아가 가공된 데이터를 이용해 챗봇 제작, 규동 메뉴 이미지 판정, 얼굴 인식 등 머신러닝에 활용하는 과정까지 실질적인 파이썬 예제 코드로 소개하고 있다. 활용할 데이터만 가지고 있다면 자신이 원하는 것을 만들어낼 수 있다.

역자 동영상 강의


[목   차]

▣ 00장: 머신러닝을 위한 데이터 처리
0-1. 크롤링, 스크레이핑, 머신러닝
___인터넷의 빅데이터
___스크레이핑, 크롤링, 데이터 가공
___머신러닝에 사용할 수 있는 데이터의 구조

▣ 01장: 크롤링과 스크레이핑
1-1. 데이터 다운로드하기
___웹상의 정보를 추출하는 방법
___urllib.request를 이용한 다운로드
___웹에서 데이터 추출하기
___BeautifulSoup로 스크레이핑하기
1-2. BeautifulSoup로 스크레이핑하기
___네이버 금융에서 환율 정보 추출하기
___웹 브라우저로 HTML 구조 확인하기
1-3. CSS 선택자
___위키 문헌에 공개돼 있는 윤동주 작가의 작품 목록 가져오기 
___CSS 선택자 자세히 알아보기
___CSS 선택자로 추출 연습하기
___정규 표현식과 함께 조합하기
1-4. 링크에 있는 것을 한꺼번에 내려받기
___한꺼번에 다운받는 데 필요한 처리 내용
___상대 경로를 전개하는 방법
___재귀적으로 HTML 페이지를 처리하는 방법

▣ 02장: 고급 스크레이핑
2-1. 로그인이 필요한 사이트에서 다운받기
___HTTP 통신
___requests 사용해보기
2-2. 웹 브라우저를 이용한 스크레이핑
___웹 브라우저 원격 조작에 사용하는 Selenium
___웹 사이트를 이미지로 캡처해보기
___네이버에 로그인해서 구매한 물건 목록 가져오기
___Selenium으로 스크레이핑하는 방법
___자바스크립트 실행해보기
2-3. 웹 API로 데이터 추출하기
___웹 API
___웹 API를 제공하는 이유
___웹 API 사용해보기 - OpenWeatherMap의 날씨 정보 
___국내에서 사용할 수 있는 웹 API
2-4. cron을 이용한 정기적인 크롤링
___정기적인 크롤링
___매일 환율 정보 저장하기
___cron으로 매일 한 번 실행하기
___crontab 설정 방법

▣ 03장: 데이터 소스의 서식과 가공
3-1. 웹의 다양한 데이터 형식
___텍스트 데이터와 바이너리 데이터
___XML 분석
___JSON 분석
___YAML 분석
___CSV/TSV 분석
___엑셀 파일 분석
3-2. 데이터베이스
___데이터베이스
___데이터 저장에는 어떤 데이터베이스를 사용해야 할까?
___SQLite - 가볍게 파일 하나로 사용할 수 있는 데이터베이스
___MySQL 사용하기
___TinyDB 사용하기

▣ 04장: 머신러닝
4-1. 머신러닝이란?
___머신러닝 개요
___머신러닝의 종류
___머신러닝의 흐름
___머신러닝의 응용 분야
___초과 학습(초과 적합)
4-2. 머신러닝 첫걸음
___머신러닝 프레임워크 scikit-learn
___XOR 연산 학습해보기
___붓꽃의 품종 분류하기
4-3. 이미지 내부의 문자 인식
___손글씨 숫자 인식하기
___이미지 데이터 학습시키기
4-4. 외국어 문장 판별하기
___외국어 판정
___판정 방법
___샘플 데이터 수집
___언어 판별 프로그램
___웹 인터페이스 추가하기
4-5. 서포트 벡터 머신(SVM)
___SVM이란?
___SVM을 실제로 사용해보기
___SVM의 종류
4-6. 랜덤 포레스트
___랜덤 포레스트란?
___랜덤 포레스트 사용하기
4-7. 데이터를 검증하는 방법
___크로스 밸리데이션
___그리드 서치

▣ 05장: 딥러닝
5-1. 딥러닝 개요
___딥러닝
5-2. TensorFlow 설치하기
___TensorFlow
___설치 방법
___설치가 제대로 됐는지 확인하기
___TensorFlow로 간단한 계산해보기
5-3. Jupyter Notebook
___Jupyter Notebook 설치하고 실행하기
___새 노트 만들기
___데이터 시각화
___TensorFlow와 함께 사용하기
5-4. TensorFlow 기본
___TensorFlow 기본
___머신러닝 해보기
5-5. TensorBoard로 시각화하기
___TensorBoard의 사용법
5-6. TensorBoard로 딥러닝하기
___딥러닝의 구조
___딥러닝 해보기 - MNIST 손글씨 데이터
5-7. Keras로 다양한 딥러닝 해보기
___Keras
___Keras 설치
___Keras로 MNIST 테스트해보기
___Keras로 비만도 판정해보기
5-8. Pandas/NumPy 다루기
___Pandas/NumPy
___데이터 조작
___Pandas/Numpy 정리

▣ 06장: 텍스트 분석과 챗봇 만들기
6-1. 한국어 분석(형태소 분석)
___형태소 분석
___한국어 형태소 분석 라이브러리
___출현 빈도 분석
6-2. Word2Vec으로 문장을 벡터로 변환하기
___Word2Vec
___Gensim 설치
___Gensim의 Word2Vec으로 "토지"를 읽어보기
___위키피디아 한국어 버전을 사전으로 사용해보기
___위키피디아 데이터로 놀아보기
6-3. 베이즈 정리로 텍스트 분류하기
___텍스트 분류
___베이즈 정리
___나이브 베이즈 분류
___베이지안 필터 사용해보기
6-4. MLP로 텍스트 분류하기
___MLP로 텍스트 분류하기
6-5. 문장의 유사도를 N-gram으로 분석하기
___문장의 유사도 분석
___레벤슈타인 거리
___파이썬으로 레벤슈타인 거리를 계산하는 프로그램
___N-gram으로 유사도 구하기
6-6. 마르코프 체인과 LSTM으로 문장 생성하기
___마르코프 체인과 LSTM/RNN
___마르코프 체인이란?
___마르코프 체인 구현하기
___LSTM/RNN
6-7. 챗봇 만들기
___챗봇(회화 봇)
___챗봇의 구조

▣ 07장: 이미지와 딥러닝
7-1. 유사 이미지 검출하기
___간단한 형태 인식 - Average Hash
7-2. CNN으로 Caltech 101의 이미지 분류하기
___CNN으로 색상 있는 이미지 분류해보기
7-3. 규동 메뉴 이미지 판정하기
___규동을 판정할 수 있는 PC가 좋은 PC
___스크레이핑부터 시작하기
7-4. OpenCV로 얼굴 인식하기
___OpenCV
___얼굴을 인식하는 프로그램 만들어보기
___얼굴에 모자이크 걸기
7-5. 이미지 OCR - 연속된 문자 인식하기
___OpenCV로 텍스트 영역 확인하기
___문자 인식 데이터 만들기
___다양한 숫자 폰트 학습 시키기

▣ 부록: 개발 환경 구축
부록-1. Docker로 개발 환경 구축하기
___Docker란?
___Docker 설치
___윈도우 10 이하에서 Docker Toolbox 설치하기
___macOS에서 Docker for Mac 설치하기
부록-2. 파이썬 + Anaconda 환경 준비
___파이썬 + Anaconda 이미지 다운로드


...



Posted by 홍반장水 홍반장水

tensorflow, macbook, anaconda 설치하고 실행해보기. 할때마다 새롭다. 


두번째 MACbook pro에서 설치해보기. 

영어가 짧아서 install tensorflow의 설치 방법이 4가지가 있다. 를  4개다 설치해보는 걸로 ㅋㅋ


anaconda를 설치해서 터미널로 실행해보는게 익숙한 느낌이다. PyCharm을 어떻게 셋팅해야 터미널에서 실행하는 것 처럼 하는지 아직은... 


anaconda에서 패키지 설치하고, 터미널에서도 설치하고 뒤죽박죽, 왠지 수박 겉 핡고 있는 느낌이랄까. 


https://tensorflowkorea.gitbooks.io/tensorflow-kr 를 기준으로 보고 셋팅하는게 나을듯하다. 


회사에서는 윈도우 PC로 PyCharm으로 돌리고 있다. 얕은 지식이 오락가락 ㅋㅋㅋ 맥북은 익숙하지도 않고. 


"깃허브의 주소는 https://github.com/tensorflowkorea/tensorflow-kr 입니다.

깃북의 주소는 https://tensorflowkorea.gitbooks.io/tensorflow-kr 입니다.

깃허브의 작업 방법에 대해서는 블로그 포스팅을 참고해 주세요."

라고 되어있으니 잘 참고해야지 




.

Posted by 홍반장水 홍반장水

Awesome-Korean-NLP


Github https://github.com/datanada/Awesome-Korean-NLP


참고 : http://konlpy.org/en/v0.4.4/



A curated list of Natural Language Processing (NLP) of

  • NLP of Korean Text
  • NLP information written in Korean.

Feel free to contribute! or blab it here

Maintainer: Jaemin Cho

Index

  1. Tools
  2. Dataset
  3. Blogs / Slides / Researchers
  4. Papers
  5. Lectures
  6. Journals / Conferences / Institutes / Events
  7. Online Communities
  8. How to contribute

1. Tools

(Korean-specific tools are listed ahead of language-agnostic tools.)

1.1. Morpheme/형태소 분석기 + Part of Speech(PoS)/품사 Tagger

  • Hannanum (한나눔) (Java, C) [link]
    • KoNLPy (Python) [link]
  • Kkma (꼬꼬마) (Java) [link] [paper]
    • KoNLPy (Python) [link]
  • Komoran (Java) [link]
    • KoNLPy (Python) [link]
  • Mecab-ko (C++) [link]
    • KoNLPy (Python) [link]
  • Twitter (Scala, Java) [link]
    • KoNLPy (Python) [link]
    • .NET, Node.js, Python, Ruby, Elasitc Search bindings
  • dparser (REST API) [link]
  • UTagger [link]
  • Arirang (Lucence, Java) [link]
  • Rouzeta [link] [slide] [video]
  • seunjeon (Scala, Java) [link]
  • RHINO (라이노) [link]
  • KTS [paper]
  • 깜짝새 [link]

1.2. Named Entity(NE) Tagger / 개체명 인식기

1.3. Spell Checker / 맞춤법 검사기

  • PNU Spell Checker [link]
  • Naver Spell Checker [link]
  • Daum Spell Checker [link]
  • hunspell-ko [link]

1.4. Syntax Parser / 구문 분석기

  • dparser (REST API) [link]
  • NLP HUB (Java) [link]

1.5. Sentimental Analysis / 감정 분석기

1.6. Translator / 번역기

1.7. Packages

1.8. Others / 기타

  • Hangulpy (Python) [link]
    • 자동 조사/접미사 첨부, 자모 분해 및 결합
  • Hangulize (Python) [link]
    • 외래어 한글 변환
  • Hanja (Python) [link]
    • 한자 한글 변환
  • kroman [link]
  • hangul (Perl) [link]
    • Hangul Romanization
  • textrankr (Python) [link] [demo]
    • TextRank 기반 한국어 문서 요약
  • 한국어 Word2Vec [demo] [paper]
    • 한국어 Word2Vec의 analogy test 데모
  • 나쁜 단어 사전 [link]
    • crowdsourced dic about badword in korean

2. Dataset

  • Sejong Corpus [link]
  • KAIST Corpus [link]
  • Yonsei Univ. Corpus
  • Korea Univ. Corpus
  • Ulsan Univ. Corpus [link]
  • Wikipedia Dump [link] [Extractor]
  • NamuWiki Dump [link] [Extractor]
  • Naver News Archive [link]
  • Chosun Archive [link]
  • Naver sentiment movie corpus [link]
  • sci-news-sum-kr-50 [link]

3. Blogs / Slides / Researchers

3.1. Blogs

  • dsindex's blog [link]
  • 엑사젠, "혼자 힘으로 한국어 챗봇 개발하기" [link]
  • Beomsu Kim, "word2vec 관련 이론 정리" [link]
  • CPUU, "Google 자연어 처리 오픈소스 SyntaxNet 공개" (Korean tranlsation of Google blog) [link]
  • theeluwin, "python-crfsuite를 사용해서 한국어 자동 띄어쓰기를 학습해보자" [link]
  • Jaesoo Lim, "한국어 형태소 분석기 동향" [link]

3.2. Slides

  • Lucy Park, "한국어와 NLTK, Gensim의 만남" (PyCon APAC 2015) [link]
  • Jeongkyu Shin, "Building AI Chat bot using Python 3 & TensorFlow" (PyCon APAC 2016) [link]
  • Changki Lee, "RNN & NLP Application" (Kangwon Univ. Machine Learning course) [link]
  • Kyunghoon Kim, "뉴스를 재미있게 만드는 방법; 뉴스잼" (PyCon APAC 2016) [link]
  • Hongjoo Lee, "Python 으로 19대 국회 뽀개기" (PyCon APAC 2016) [link]
  • Kyumin Choi,"word2vec이 추천시스템을 만났을 때" (PyCon APAC 2015) [link]
  • 進藤裕之 (translated by Hongbae Kim), "딥러닝을 이용한 자연어처리의 연구동향" [link]
  • Hongbae Kim, "머신러닝의 자연어 처리기술(I)" [link]
  • Changki Lee, "자연어처리를 위한 기계학습 소개" [link]
  • Taeil Kim, Daeneung Son, "기계 번역 모델 기반 질의 교정 시스템" (Naver DEVIEW 2015) [link]

4. Papers

4.1. Korean

  • 김동준, 이연수, 장정선, 임해창, 고려대학교, (주)엔씨소프트, "한국어 대화 화행 분류를 위한 어휘 자질의 임베딩(2015년 동계학술발표회 논문집)" [paper] link dead

4.2. English

5. Lectures

5.1. Korean Lectures

  • Kangwon Univ. 자연언어처리 [link]
  • 데이터 사이언스 스쿨 [link]
  • SNU Data Mining / Business Analytics [link]

5.2. English Lectures

  • Stanford CS224n: Natural Language Processing [link] [YouTube]
  • Stanford CS224d: Deep Learning for Natural Language Processing [link] [YouTube]
  • NLTK with Python 3 for NLP (by Sentdex) [YouTube]
  • LDA Topic Models [link]

6. Conferences / Institutes / Events

6.1. Conferences

  • 한글 및 한국어 정보처리 학술대회 [link]
  • KIPS (한국정보처리학회) [link]
  • 한국음성학회 학술대회 [link]

6.2. Institutes

  • 언어공학연구회 [link]
    • 한글 및 한국어 정보처리 학술대회 (Since 1989, 매년 개최) [link]
    • 국어 정보 처리 시스템 경진대회 (Since 2010, 매년 개최, 주최: 문화체육관광부 및 국립국어원) [link]
    • 자연언어처리 튜토리얼 (비정기적) [link]
    • 자연어처리 및 정보검색 워크샵 [link]
  • 한국음성학회 [link]

6.3. Events / Contests

  • 국어 정보 처리 시스템 경진 대회 [link]

7. Online Communities

  • Tensorflow KR (Facebook Group) [link]
  • AI Korea (Facebook Group) [link]
  • Bot Group (Facebook Group) [link]
  • 바벨피쉬 (Facebook Group) [link]
  • Reddit Machine Learning Top posts [link]

8. How to contribute

  1. Fork this Repository, by clicking on "fork" icon at the top right corner.

  2. Get the link for the forked repo, by clicking on the green button on your page. something like, "https://github.com/[username]/Awesome-Korean-NLP.git"

  3. On your local machine, "git clone https://github.com/[username]/Awesome-Korean-NLP.git"

  4. "cd Awesome-Korean-NLP"

  5. open "README.md" with your favorite text editor.

  6. Edit.

  7. git commit -a -m "added section 8: emoticons"

  8. git push, and verify on your fork

  9. goto https://github.com/datanada/Awesome-Korean-NLP and create pull request.

  10. "compare across forks" with base: datanada/Awesome.. and head: [username]/Awesome..

[beginners guide]





.........

Posted by 홍반장水 홍반장水

챗봇 시작해보기   https://www.slideshare.net/ssusercf5d12/ss-69518853


Python 으로 Slackbot 개발하기   https://www.slideshare.net/ssusercf5d12/python-slackbot


20170227 파이썬으로 챗봇_만들기     https://www.slideshare.net/KimSungdong1/20170227-72644192


머신러닝의 자연어 처리기술(I)    https://www.slideshare.net/ssuser06e0c5/i-64267027


인공지능, 기계학습 그리고 딥러닝  https://www.slideshare.net/JinwonLee9/ss-70446412  


[F2]자연어처리를 위한 기계학습 소개   https://www.slideshare.net/deview/f2-14341235





.

Posted by 홍반장水 홍반장水

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


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월부터 김가은 학생은 대학입시 준비를 시작한다. 앞으로도 프로그래밍과 의료를 결합한 분야에서 계속 남고 싶다고 한다.


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


.


Posted by 홍반장水 홍반장水

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 부가 서비스, 상품 예약 및 조회 등 다양한 한국어 애플리케이션들이 개발될 것으로 기대된다”라고 밝혔다.







.

Posted by 홍반장水 홍반장水