2012-10-10 5 views
3

품사 태그 지정을 위해 구조화 된 퍼셉트론을 구현하는 방법을 정확하게 이해하는 데 어려움이 있습니다. 내 생각을 확인 또는 수정하고 누락 된 부분을 채우십시오.구조화 된 퍼셉트론의 POS 태그 지정 이해

기본적으로 구조화 된 퍼셉트론은 최상의 점수 수집을 구현하는 방법을 제외하고는 멀티 클래스 퍼셉트론의 변형입니다. 현재 시퀀스 색인은 이전 색인에만 의존한다고 말하는 1 차 마르코프 가정이 이루어진다. 입력은 가능한 모든 레이블 (y)의 벡터뿐 아니라 구조화되지 않은 경우와 마찬가지로 단 한 단어 대신 전체 단어 시퀀스입니다. 함수 f (x, y)는 주어진 단어 시퀀스에 대해 추측 된 레이블 시퀀스를 반환합니다.

멀티 클래스 퍼셉트론에서 하나의 레이블을 하나의 인스턴스로 분류하기 만하므로 최상의 점수를 얻는 것은 반복을 통해 쉽게 수행됩니다. 전체 시퀀스를 분류 할 때의 문제점은 가능한 레이블링의 수를 기하 급수적으로 증가 시킨다는 것입니다. 이것은 비터 비 알고리즘이 필요한 곳입니다.이 알고리즘은 두 가지 기능 세트를 사용하여 재귀 적으로 최상의 경로를 찾습니다. 특정 POS 태그가 특정 단어와 얼마나 유사한지를 결정하기위한 것, 특정 POS 태그가 다른 POS 태그 바로 다음에 오는 가능성을 결정하기위한 것. 이러한 각 기능 세트의 점수에는 각 상태에 대한 고유 한 가중치가 곱해집니다. 선택한 경로가 잘못되면 잘못된 경로의 상태에있는 각 가중치가 처벌되고 올바른 경로의 가중치가 부여됩니다.

이것은 내가 얼마나 잘 이해했는지에 관한 것입니다. 내 가장 큰 질문은 지금 기능이 어떻게 구조화되어 있는가 (이전 태그 시퀀스가 ​​기능의 일부입니까?), 그리고 실제로 비터 비 알고리즘을 구현하는 방법입니다. 또한, 내가 분석 할 수있는 구조화 된 퍼셉트론을 사용하는 POS 태거 구현 (Java에서 가능하면 좋음)이 있습니까?

당신이 나에게 힌트를 줄 수 있다면 매우 감사 할 것입니다!

답변

3

이미 original paper을 읽었을 것입니다.하지만 여기서는 링크 만 남겨 두었습니다.

직감은 기본적으로 정확합니다. 기능에 관해서는, 비터 비 알고리즘을 고수하는 한, 로컬 알고리즘에 국한해야합니다. 여기에는 대개 단어 창 (위의 5 단어, 나는 믿는다), 하나 이상의 이전 POS 태그 및/또는 이들의 조합이 포함됩니다. 비터 비 알고리즘의 구현은 기능의 선택에 따라 약간 달라집니다. 일반적으로 후자는 동적 프로그래밍에서 상대적으로 간단한 연습이지만, 많은 구현을 google 할 수도 있습니다. 예 : this project은 위의 종이에서 설명한 알고리즘의 구현을 포함한다고 주장합니다.

관련 문제