티스토리 뷰
[Aibril Evangelist 김남일] 자연어 이해 서비스(Watson Natural Language Understanding) 소개 및 이용방법 알아보기
SK(주) C&C 블로그 운영자 2017. 11. 15. 08:37안녕하세요. 에이브릴 에반젤리스트 김남일 입니다.
이번 시간에는 자연어 이해(Natural Language Understanding)API에 대해 소개해드리고자 합니다. 자연어 이해 서비스란 자연어에 대한 이해를 통해 특정한 텍스트를 분석하고 인사이트를 얻어낼 수 있는 매우 유용한 서비스 입니다. 이러한 분석을 통해 사용자는 글의 컨셉이나 카테고리를 쉽게 분석해낼 수 있고 글의 긍정이나 부정적인 느낌, 감정, 객체들과의 관계를 분석하는데 유용하게 쓰일 수 있습니다. 사용자는 분석을 위한 텍스트만 미리 준비하고 분석하고자 하는 도구만 정의하면 됩니다.
그럼 자연어 이해 서비스가 갖고 있는 기능을 세부적으로 말씀 드리겠습니다.
첫 번째로 카테고리 분류기능 입니다.
가령 특정 사이트의 주소를 입력할 경우 예를 들어 CNN사이트에 대한 분석을 요청하면 그에 대한 결과로 News/Entertainment/Movies와 같이 관련된 카테고리들을 맺어주게 됩니다. 이와 같은 카테고리는 최대 5개의 분류 체계로 미리 정리되어 있으며, 포털에서 확인할 수 있습니다.
다음으로 컨셉(Concepts)기능입니다.
이 도구로는 특정한 글을 분석하여 그 글이 어떤 컨셉의 글인지 알아낼 수 있습니다. 만일 에이브릴에 대한 설명자료가 있는데 이를 입력한다면 인공지능이라는 컨셉을 도출한다고 이해하면 좋을 거 같습니다.
다음으로 감정(Emotion)이라는 도구는 특정문장의 전체적인 감정을 도출해내는 도구입니다. 문장 속에 존재하는 특정 키워드를 대상으로 감정분석을 해낼 수 있습니다. 가령 “나는 사과를 좋아하지만, 오렌지는 싫다” 라는 문장을 두고 키워드를 사과, 오렌지로 지정하여 감정을 분석해내라고 하면 사과와 연관해서는 기쁨이라는 감정을, 오렌지와 연관해서는 불만이라는 감정을 도출해냅니다.
개체(Entities)라는 도구는 텍스트 내에서 언급된 사람이나 장소, 사건 등을 식별해낼 수 있습니다. 문장 내에서 특정인물의 이름이나 회사명, 장소 등을 도출해내는데 유용하게 사용될 수 있을 거 같습니다.
정서(Sentiment)는 특정문구를 입력하게 될 경우 그에 대한 긍정 or 부정의 정도를 수치화하여 보여줍니다. 예를 들어 ‘안녕하세요’ ‘잘 지냈나요?’ ‘좋은 아침입니다’ 라고 입력한다면 응답으로 긍정, 그리고 높은 수치가 표시될 것입니다.
그 밖에도 키워드(Keywords)라는 도구는 텍스트 내에 서 연관성 있는 단어를 추출해낼 수 있으며, 메타데이터(Metadata)는 특정 URL이나 HTML을 입력하여 글의 저자, 타이틀, 발행일 등을 추출해낼 수 있습니다.
또한 관계(Relations) , 의미역(Semantic Roles)라는 도구는 문장 내에서 개체간의 관계를 표시해준다던가 문장을 주어, 동사, 목적어로 분류해주기도 합니다.
이처럼 설명을 간략히 드렸지만, 약간은 아쉬운 점은 설명 드린 모든 기능에 대해서 한글이 지원되지는 않습니다. 아무래도 자연어를 이해하고 분석하기란 매우 어려워서 영어에서 지원하는 기능에 비해 늦게 시작한 한글에 대한 기능은 일부 부족하지만 꾸준히 한글학습을 진행하고 있으니 언젠가는 기능이 비슷해질 것이라 생각합니다.
이제 직접 사용해보도록 하겠습니다.
우선 에이브릴 포털에 접속하시고 콘솔창의 서비스 신청화면에서 자연어 이해 API를 클릭합니다. 서비스 명에 원하는 서비스를 입력한 후 신청버튼을 누르시면 자연어 이해 API 서비스 키가 생성됩니다. 이제 프로젝트 화면에서 생성된 API를 클릭하시면 만들어진 서비스 키를 확인할 수 있습니다. 제공된 서비스 키를 갖고 직접 코딩하기 위해서는 Resource 메뉴에 있는 API 레퍼런스에 들어가 Java, node.js, python, Curl에 대한 간단한 코드들을 확인할 수 있습니다.
이번에는 서비스 정보 좌측 상단에 표시된 API Explorer를 활용해보겠습니다. API Explorer를 통해 내가 보내고자 하는 메시지가 잘 전달이 되었는지 그에 대한 응답결과에 대해 확인하실 수 있습니다.
화면에는 Content–Type, version 등 여러 가지 정보가 보여지는데요. 이는 미리 정해놓은 것으로 우리는 이에 손댈 필요 없이 바로 컨텐츠를 작성해보도록 하겠습니다.
미리 준비한 한글 텍스트를 이용해보도록 하겠습니다. 미리 복사해놓은 한글 텍스트를 텍스트에 변경해놓겠습니다. 이와 더불어 파일 수정이 필요하겠죠. 여기에서는 concepts, categories, sentiment를 알아보도록 설정하겠습니다. 이제 실행버튼을 클릭하겠습니다. 하단의 response의 바디 부분에 요청한 수치 값이 나오는 것을 확인할 수 있습니다.
사용하기 단순하면서 매우 강력한 기능이라고 생각되시죠?
여러분들도 이 API를 활용하여 사람이 직접 분석해내기 어려운 텍스트 정보로부터 유의미한 데이터를 분석해내는데 활용하시기 바랍니다.
'Biz & Tech > AI & Data' 카테고리의 다른 글
[Aibril Evangelist 채원우] 챗봇 서비스, 만들 때 고려할 점은? (0) | 2017.12.01 |
---|---|
[Aibril Evangelist 윤지언] 책으로 만나는 인공지능 그리고 에이브릴(AIBRIL) (0) | 2017.11.22 |
[Aibril Evangelist 류승균] 이미지 인식 서비스 (Watson Visual Recognition) 소개 및 이용방법 알아보기 (0) | 2017.11.10 |
[Aibril Evangelist 윤지언] 인공지능과 영어 공부하기, 어디까지 왔을까? (0) | 2017.10.25 |
- Total
- Today
- Yesterday