SyntaxNet: 텐서플로우 NLP

image04

이미지출처: 구글 리서치 블로그

오늘 구글은 블로그를 통해 자연어 처리(Natural Language Processing) 시스템인 SyntaxNet 을 오픈소스로 공개한다고 발표했습니다. 블로그에 글이 올라오고 나서 엄청난 댓글이 달리고 여러 SNS 로 전파가 되었는데요. 구글이 발표한 SyntaxNet 이 지금까지 나온 어떤 자연어 처리 엔진보다 더 정확하다고 합니다. 논문은 여기를 참고하세요. 한가지 더 놀라운 것은 SyntaxNet 이 텐서플로우를 기반으로 만들어진 점 입니다. 깃허브 레파지토리는 여기를 참고하세요.

SyntaxNet 으로 영어에 대해 훈련시킨 모델인 Parsey McParseface 도 공개했습니다.(Parsey McParseface 란 이름은 영국에서 극지방 탐사선의 이름 공모에 당첨된 Boaty McBoatface 를 패러디한 것 같습니다) Parsey McParseface 는 자연어 처리에 94%의 정확도를 보였다고 합니다. 사람이 처리하는 수준이 96~97% 라고 하므로 이번 연구는 사람의 능력에 매우 근접한 수준이라고 볼 만합니다. 다만 잘 정돈된 문장이 아니고 인터넷에서 모은 글 같은 경우는 90% 정도의 정확도를 보였습니다.

컴퓨터에게 문장을 이해시키기 위해 단어간의 의존성 트리를 만듭니다. 하지만 언어 자체가 내포하고 있는 모호성이 가장 어려운 부분입니다. 아래 예를 보면 ‘in her car’ 에서 in 을 어떻게 분석하느냐에 따라 ‘차를 몰고 거리’를 간건지 ‘차 안에 있는 거리’ 인지가 결정됩니다. 사람에게는 이런 문제가 매우 간단하지만 컴퓨터는 차 안에 거리가 있을 수 없다는 걸 알지 못합니다.

drovedown

이미지출처: 구글 리서치 블로그

SyntaxNet 은 이런 모호성에 관련한 문제를 해결하기 위하여 뉴럴 네트워크를 사용했습니다. 입력 문장을 왼쪽에서 오른쪽으로 처리하면서 단어간의 의존성 트리를 만드는데 이 때 모호성으로 여러가지 가능성이 생깁니다. 이런 여러가지 가능성(hypothesis)을 모두 유지해 가면서 가장 그럴 듯한 정도를 가지고 스코어를 매긴다고 합니다.

구글은 Universal Treebanks 를 이용하여 Parsey McParseface 모델을 만들었다고 합니다. 누구라도 SyntaxNet 을 이용하여 Parsey McParseface 같은 모델을 구축할 수 있습니다. 하지만 아쉽게도 이 곳에 한국어는 없습니다. 한글 트리뱅크가 어딘가에 있을 것 같은데 손쉽게 검색을 통해 찾지는 못했습니다.

답글 남기기

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

WordPress.com 로고

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

Twitter 사진

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

Facebook 사진

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

Google+ photo

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

%s에 연결하는 중