- AI Dev - 인공지능 개발자 모임
- 정보공유
- 자연어처리
글 수 72
이번에 '메이템'이라는 인공지능 가상비서 앱에서 자연어처리를 구현하는데 외주로 참여했습니다. 크게 기능수행과 일상대화로 나누어져 있습니다.
기능수행에서는 일정, 알람, 날씨, 뉴스에 대한 질문을 이해하고 이를 컴퓨터가 이해할 수 있는 형식으로 변환합니다. Dialogflow 같은 챗봇 플랫폼 API를 사용하지 않고 자체적으로 개발한 자연어처리 모듈을 기반으로 합니다. 우선 mecab-ko로 형태소분석을 하고 엔티티를 추출합니다. 그다음 스크립트 파일에서 읽은 발화패턴으로 의도를 분류합니다. 마지막으로 각 의도에 따라 엔티티 정보를 조합하여 최종 결과를 json으로 생성합니다. 의도를 파악하는 것은 유사도 비교를 통해 구현하였습니다.
일상대화는 기능수행과 다르게 처리됩니다. 기능수행에서는 형태소 토큰별로 유사도를 검사하지만 일상대화는 캐릭터 단위로 동작합니다. 잡담의 경우 문장의 의미가 대충 비슷하기만 해도 충분하기 때문입니다. 그리고 카테고리 주제별로 대화를 나누어서 어느정도 화제가 이어지도록 하였습니다.
아직 베타베스트 중인데 앞으로 새로운 기능이 많이 추가될 것이라 합니다. 안드로이드 앱과 테스트 페이지는 아래 주소에서 확인하실 수 있습니다.
< 메이템 자연어처리 테스트 >
-> http://quizbot.pocketfriend.net:5100/test
< 메이템(Matem) 안드로이드 앱 >
-> https://play.google.com/store/apps/details?id=live.mala.matem