ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 왓슨을 이용한 인공지능 서비스 입문 - 이노우에 켄이치
    > Culture&refinement/서평 2019. 11. 13. 20:59

    왓슨을 이용한 인공지능 서비스 입문 - 이노우에 켄이치, 책만

    개발자가 아닌 사람들에게 인공지능은 "인간이 아닌데, 저절로 판단하도록 만들어진 기술"이다.

    2019년 현재, 인공지능을 연구하고 개발하는 사람들에게 인공지능이란 정확히 어떤 개념일까.

    내가 다니는 회사에서는 음성인식, 얼굴인식, 채팅봇과 같은 인공지능 서비스를 클라우드에 올려서 고객에게 API 형태로 제공하고 있고,

    나는 이 서비스들을 이해해야만 관련 규제에 위반한 사항이 있는지 여부를 판단할 수 있기 때문에

    인공지능 기술에 대해 찾아보게 됐다.

    그 시작은 IBM사의 왓슨이라는 인공지능 서비스에 대해 기술한 이 책인데, 클라우드 서비스인 블루믹스에서 API 형태로 제공하고 있어

    Google Cloud Platform, Amazon Web Service, Microsoft Azure 등 많은 회사도 유사한 서비스를 제공하고 있지만 우리 회사의 서비스와도 많이 유사했다.

    그래서 개발자의 관점에서 인공지능 기술은 무엇일까, 목차를 살펴보고 요약한 내용은 다음과 같다.


    1. NLC(Natural Language Classifier, 자연어분류)

     - 기계가 인간의 언어를 이해하는 과정

     - 사전에 학습된 문장들로부터 문장의 의도가 무엇인지 기준을 만들고, 사용자가 질문을 하면 분류된 의도에 따라 결과 값을 응답하게 함 

     - 왓슨 NLC에서 데이터를 학습시키는 방법 : csv파일 형태로 자연어를 등록

       예 ) 날씨가 좋네요, 날씨

              오늘 기온이 따뜻하네요, 기온, 날씨

              바람이 너무 세지 않고 적절하네요, 바람

     

    2. Retrieve and Rank(검색 및 평가)

    - NLC의 질문의 의도를 이해하고 검색 문자열에서 정합성이 높도록 순위를 매겨서 더 높은 정확도의 답변을 제시할 수 있도록 랭킹해주는 작업

    - 왓슨에서는 솔라(solr) 클러스터 이용 

    - 데이터를 등록한 뒤 검색을 하고, Ranker를 학습하기 위해 Ground Truth(GT) 데이터를 준비

    - Ranker로 정렬

    - 문서를 변환할 때  PDF파일을 Json 형식으로 변환해주는 Document Conversion 이용 

     

    3. 채팅봇 

    - 빌드페이지를 제공하고 사용자가 직접 설정한 뒤 학습할 수 있도록 함

    - IBM 왓슨에서는 노드레드(Node-RED)로 API와 온라인서비스를 연결해서 어플리케이션 개발할 수 있도록 기능을 제공함, Node.js

    - NLC로 사전학습하여 사용자의 질문 분류하고, 트위터에서 성향분석을 할 수 있으며, 답변은 R&R을 이용하는 방식

    - 채팅봇을 학습시키는 방법

       1) NLC 훈련데이터를 준비

       2) NLC 학습

       3) R&R을 위해 솔라에 데이터 투입(JSON)

       4) Ranker를 위해 훈련데이터 준비(Ground Truth) -> R&R 학습

    - 소스코드로 알고리즘을 구현한 것(요약) 

      * 안녕하세요 / 안녕하세요가 아닌 경우

      * 무엇이 궁금하니 / 단어에 대한 NLC 장르 구분

      * 신뢰도 0.9미만인 분류에 대해 다시 묻기 / 장르 분류가 확실하다면 답변 처리

      * 분류 후보를 표시해 다시 질문한 경우 / 사용자의 답변에 분류 명이 포함되지 않은 경우 / 정확한 장르 선택이 될 때 까지 반복

      * 답변 / R&R로 답변을 검색 / 아직 잘 알지 못하는 내용입니다 / OOO 입니다 

      * NLC의 Classify API 호출 / R&R의 search and rank API 호출  

     

    4. 음성인식과 음성합성

    5. 이미지 인식

    - API로 분류기 테스트

    6. 성향분석(Personal Insight)

    - 트위터에 작성된 문자들을 바탕으로 성향 분석

    7. 어조 분석(Tone Anlyzer)

    - 문장의 감정, 사회적 성향, 언어스타일을 분석해주는 서비스

    8. 상충 의사 분석(Tradeoff Analytics)

    - 여러가지 선택사항이 존재하는 상충된 선택문제 중에서 쉽고 최적의 옵션을 선택하도록 의사결정을 지원하는 서비스

    9. 기계 번역

    10. AlchemyAPI

    - 자연어처리, 이미지처리


    참고 자료

    [Aibril Evangelist 김남일] Aibril API 활용하기 1편 - https://blog.skcc.com/3396

    IBM 왓슨 API Natural Language Classifier 소개 - https://donbada.tistory.com/24

     

    728x90
    반응형
Designed by Tistory.