Skip to content

왓슨API, 노드로 구현하기 (Implement Watson API by Node.js)

2016년 12월 5일

왓슨API는 다양한 기능의 API를 지원하는데, 개인적으로 유사 API 중 가장 뛰어나다고 생각하는 것이 자연어 프로세싱 관련 API 이다. 특이하게 왓슨에서는 자연어 처리를 위한 API중 AlchemyAPI 라는 것이 있는데, 해당 기능은 IBM에서 AlchemyAPI를 인수하면서 이름을 그대로 사용했기 때문이다.

텍스트 데이터 분석을 위해 AlchemyAPI를 사용하는 방법 중에, 호감도 분석(Sentiment Analysis)과 감정 분석(Emotion Analysis)은 쉽게 사용 가능하다. 입력 텍스트만 있다면 단순한 웹 요청으로 결과값을 받아올 수 있기 때문이다.

본 포스트에서는 Node.js 라이브러리인 watson-developer-cloud 를 활용해 호감도 분석과 감정 분석을 할 수 있는 방법을 소개한다.

먼저 왓슨API를 사용하기 위해서는 Bluemix에 가입해 사용할 API의 서비스와 인증 키를 생성해야 한다.

https://console.ng.bluemix.net/ 로 들어가면 가입을 할 수 있다. 간단한 절차를 통해 가입을 완료하고 로그인을 하면 다음과 같은 화면을 볼 수 있다.

%ec%ba%a1%ec%b2%981

우리가 사용할 메뉴는 왼쪽 텝에 서비스 항목이다. 서비스를 누르고 대시보드를 누르면 서비스를 등록할 수 있는 “서비스 작성” 버튼을 볼 수 있다. “서비스 작성”을 누르고 우리가 사용할 AlchemyAPI를 선택한다. AlchemyAPI는 Watson의 하위 항목에 첫번째에서 찾을 수 있다.

누르면 하단에 “작성” 버튼을 누른다. 따로 설정을 변경하지 않았다면 무료 플랜으로 설정되어 있을 것이다. 생성된 서비스로 들어가면 3개의 탭을 볼 수 있는데,  “서비스 신임 정보” 텝으로 들어가 새 신임정보를 추가한다.

%ec%ba%a1%ec%b2%982

신입정보에 있는 API Key는 API를 활용하는데 사용할 파라메터이다. 이제 이 API Key를 사용해 WatsonAPI에 접속해 보자.

먼저 Node.js의 waton-developer-cloud 라이브러리를 설치한다. Node.js가 설치되어 있다면 npm으로 간단하게 설치할 수 있다.

sh> npm install watson-developer-cloud

설치가 완료되었다면 샘플 코드를 작성해 보자.

var AlchemyLanguageV1 = require('watson-developer-cloud/alchemy-language/v1');
var alchemy_language = new AlchemyLanguageV1({ api_key: 'API_KEY'});
var params = { text: 'IBM Watson won the Jeopardy television show hosted by Alex Trebek'};
alchemy_language.sentiment(params, function (err, response) { 
  if (err)
    console.log('error:', err); 
  else 
    console.log(JSON.stringify(response, null, 2));
});

위처럼 작성하면 text 입력값에 따른 결과값을 받아올 수 있다. sentiment 함수는 입력 텍스트의 호감도를 분석한 결과값을 반환하는 함수이다. sentiment 이외에도 emotion과 같은 다양한 API를 지원한다. (https://www.ibm.com/watson/developercloud/alchemy-language.html)

왓슨API는 개발자가 처음에 사용하기는 상당히 쉽게 설계되어 있다. 하지만, 적은 무료 사용량조차 한달이라는 기간 동안만 사용가능하며 계속 사용하려면 과금계정을 생성해야 한다. 이때문에 무료 사용기간에 서비스에 접목시켜 보는 것은 조금 힘들 수 있다. 그럼에도 불구하고 왓슨의 강력한 기술력을 API 사용료만으로 사용할 수 있다는 사실은 상당히 큰 장점이기 때문에, 데이터 기술이 필요한 많은 업체들의 요구를 충족시켜 줄 것으로 기대한다.

 

Advertisements

From → Development

댓글 남기기

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: