티스토리 뷰


지난9 AIBRIL Opening Day에서 8종의 API 서비스를 발표했는데요. 그 중 자연어 이해 서비스(Watson Natural Language Understanding, 이하 NLU)API를 사용하시는 분들 몰래(?) 추가로 3개의 기능을 오픈 했다고 하니, 오늘 그 기능을 소개해드릴게요. (*본 기능은 Aibril Portal에 데모 App이 구현되어 있으니 직접 활용해 보시면 좀 더 쉽게 이해하실 수 있습니다.) 

자연어 이해 서비스(NLU) API는 총 9가지의 기능을 이용할 수 있습니다. 그 중 감정(Emotion)을 제외한 나머지 기능들에 대해 모두 한글이 지원됩니다. 하단의 표는 자연어 이해 서비스(NLU)가 지원하는 기능을 나타낸 것인데, 붉은 박스 표기가 이번에 추가된 3가지 기능입니다. 



지금부터 업데이트 된 3가지 기능, 개체(Entities), 키워드(Keyword), 의미역(Semantic Roles)에 대해 알아보도록 하겠습니다.

 

[개체 (Entities)]

이 기능은 주어진 텍스트에서 객체를 추출해 내는 데 활용합니다. 추출해 내는 객체는 사람, 회사명, 스포츠, 장소 등 특정한 유형을 지칭하게 되며, 그 밖에도 다양한 객체 유형 값을 받아오게 됩니다. 다른 객체 유형은 아래의 링크에서 확인 가능합니다. (https://console.bluemix.net/docs/services/natural-language-understanding/entity-types.html#entity-types-and-subtypes)

먼저 AIBRIL Portal의 데모 application을 활용하여 해당 기능을 확인해보겠습니다. 먼저, 손흥민의 기사 중 챔피언스리그에서 골을 기록했다는 기사의 일부를 넣었습니다. 



위의 기사를 넣고 분석한 결과는 아래와 같습니다. 



그림에서 본 바와 같이, ‘손흥민은 사람을 지칭하고, 독일 지그날, 이두나 파크 같은 외래어로 적힌 장소나 시설에 대한 정보도 표시해 주는 것을 알 수 있습니다. 재미있게도 델리 알리도 사람이라는 것을 확인하는군요. 

다른 문장도 넣어 봤습니다. 연예계 기사 중 미운우리새끼의 한 장면에 대한 내용인데요. 



위의 기사를 넣었더니 아래와 같이 표기됩니다.



미운우리새끼라는 TV프로그램도 검색해내고, ‘유세윤이나 이상민과 같은 연예인의 이름도 검색되는 것을 확인할 수 있었습니다. 이처럼, 객체를 검출하여 그 유형을 확인해낼 수 있다는 것이 매우 좋은 기능인 것 같습니다.

 

[키워드(Keyword)]

키워드라는 기능은 말 그대로 주어진 텍스트 혹은 텍스트가 있는 URL을 입력하면 그 텍스트 내에 속해 있는 키워드를 모두 추출해냅니다.

한번 확인해보겠습니다. 



인도네시아 발리에서 생긴 화산 폭발 관련 기사입니다. 이에 대한 키워드를 추출했더니 아래와 같은 결과가 나옵니다. 



몇 가지 키워드로서 의미는 있는데, 몇 가지는 조금 애매한 결과도 보이는 듯합니다. 가령, 용암이라는 단어는 키워드로 분류하는 것이 좋겠지만, ‘본격적’ , ‘실제 아궁 화산 정상같은 것은 키워드라고 하기엔 조금 애매하기도 한 듯합니다. 

다른 문장도 한번 넣어보겠습니다. 



중국이 한국 관광을 다시 허용했다는 기사입니다. 그에 대한 결과는 다음과 같습니다



이전 문장보다는 전반적으로 키워드 추출이 만족스러운 듯합니다. 다만, ‘한국행 단체 관광의 일부 허용 방침같은 것은 한국행 단체 관광방침정도로 분리되었으면 하는 생각이 들긴 합니다.

이처럼, 키워드 기능을 통해 텍스트의 주요 키워드를 추출해낼 수 있습니다.

 

[의미역(Semantic Roles)]

의미역이라는 기능은 문장에서 주어, 목적어, 동사를 찾아주는 기능입니다. 이것도 한 번 확인해 보도록 하겠습니다. 



위의 그림과 같이 나는 오늘 집에서 맛있는 간식을 먹었습니다같은 쉬운 문장을 입력하니, 주어로는 , 목적어는 맛있는 간식, 동사는 먹었습니다를 찾아주는 것을 확인할 수 있습니다. 문장이 너무 쉬워서 그런가 생각이 되어서 다른 문장도 넣어 봤습니다. 

토론토 국제 영화제는 오는 7일 개막을 앞두고 이번 영화제 기간 중 봉준호 감독의 마스터클래스가 열린다고 밝혔다라는 문장을 넣으니 3가지로 리턴 값을 반환합니다. 



이는 문장이 중복적으로 다양하게 구성되어 있어서 위와 같이 표시되고 있습니다. “개막을 앞두고를 가지고 목적어로 개막’ , 동사로 앞두고를 표시하고, ‘봉준호 감독의 마스터클래스가 열리다를 또 하나의 문장으로 인식했네요. 그리고 전체를 포괄하는 형태에서 토론토국제영화제밝혔다를 표기해주고 있습니다. 

이처럼, 위와 같은 기능을 활용하면 자연어를 처리하는데 좀 더 유용하게 활용하실 수 있을 거라 생각됩니다. 물론, 첫 술에 배부를 수 없다는 말이 있듯이 사용하시다 보면 아쉬운 점도 보이기도 할텐데요. 여러분들도 위 기능에 대해 많이 사용해 보시고 의견을 남겨주세요. 여러분의 참여가 좀 더 완성된 기능으로 발전하는데 많은 도움이 됩니다