기존의 다중 입력 최대 엔트로피 분류기에서 최대 엔트로피 Markov 모델 만들기


9

나는 최대 엔트로피 마르코프 모델 (MEMM)의 개념에 흥미가 있으며, 그것을 품사 (POS) 태거에 사용할 생각입니다. 현재는 기존의 최대 엔트로피 (ME) 분류기를 사용하여 각 개별 단어에 태그를 지정하고 있습니다. 이것은 앞의 두 태그를 포함하여 많은 기능을 사용합니다.

MEMM은 Viterbi 알고리즘을 사용하여 Markov Chain을 통한 최적의 경로를 찾습니다 (즉, 각 단어에 대한 개별적인 최적 값 대신 문장에 대한 완전한 최적의 태그 세트를 찾습니다). 그것에 대해 읽으면, 이것은 훌륭한 우아함과 단순함을 가진 것으로 보입니다. 그러나 각 단계는 이전 단계의 "결과"에만 의존합니다 (즉, Markov Chain에 따라).

그러나 내 ME 모델은 앞의 두 단계 (즉, 앞의 두 단어의 태그)를 사용합니다. 가능한 두 가지 접근 방식이 있습니다.

  • 일반적인 Viterbi 구현과 마찬가지로 하나의 이전 단계에 따라 저장된 일련의 경로를 사용하십시오. 저의 ME 분류기는이 기능과 이전에 '고정 된'단계를 사용하여 (이미 고려중인 경로로 고정) 전달 함수를 생성합니다.

  • 또는 두 단계를 추적하는 알고리즘을 작성합니다. 각 전송 함수 (예 : ME 모델)가 한 단계가 아닌 앞의 두 단계에 의존하기 때문에 이것은 더 복잡하고 더 이상 진정한 마르코프 모델이 아닙니다.

더 복잡하지만 두 번째가 더 정확할 것입니다.

아직 문헌 검색 중에 이에 대한 예를 찾지 못했습니다. 시도 했습니까? 2 단계 접근 방식이 전체 정확도를 개선 했습니까?

답변:


4

(이것은 내가 직면하고있는 실제 질문이며 ML StackExchange 사이트는 거의 완벽한 타이밍이었습니다. 며칠 동안 책을 읽고 온라인 조사를 수행하고 구현을 시작하려고했습니다. 결과는 다음과 같습니다. 나는 그들이 내 자신의 질문에 대답한다고 생각합니다.

지난 며칠 동안 나는 이것을 코딩했습니다. 코드는 매우 효율적이지 않습니다-많은 컬렉션 생성 및 복사, 그러나 연습의 목적은 그것이 작동하는지와 그것이 얼마나 잘 작동하는지 확인하는 것이 었습니다.

데이터를 무작위로 훈련 데이터와 테스트 데이터의 두 목록으로 나누고 있습니다. 기존의 Maximum Entropy POS Tagger를 통해 테스트 데이터를 실행하고 있습니다. 그리고 새로운 MEMM 태거입니다. 따라서 동일한 테스트 데이터를보고 직접 비교할 수 있습니다. 선택한 데이터의 임의성으로 인해 테스트간에 약간의 차이 (일반적으로 약 0.2-0.4 %)가 있습니다.

첫 번째 테스트는 단일 단계 (즉, 진정한 Markov Chain)의 MEMM 태거를 사용합니다. 이는 간단한 ME 태거보다 약 0.1-0.25 % 더 일관된 성능을 보였습니다.

다음으로 더 정확한 것처럼 보이는 2 단계 접근법을 시도했습니다. 그러나 결과는 훨씬 미미했습니다. 종종 결과는 동일하지만 때로는 약간 열등 할 수 있지만 대부분의 경우 약간 더 좋을 것입니다 (+/- 0.05 %).

MEMM 태그가 느립니다. 좋아, 나는 최적화를 적용하지 않았지만 1 단계 (진정한 Markov Chain)는 각 단계 사이에 전송되는 경로 수이기 때문에 N 배 느립니다 (여기서 N = 레이블 수). 2 단계 구현은 전송되는 경로 수가 많기 때문에 N * N이 느립니다. 최적화가 개선 될 수 있지만 대부분의 실제 응용 프로그램에는 너무 느릴 수 있습니다.

내가 시도하고있는 한 가지는 경로에 낮은 확률 제한을 적용하는 것입니다. 즉. Viterbi 경로는 각 반복 중에 제거되며 특정 확률 (현재 Log (총 경로 P) <-20.0) 미만의 모든 경로가 제거됩니다. 이것은 조금 더 빨리 실행되지만 그만한 가치가 있는지에 대한 의문은 남아 있습니다. 아마 그렇지 않을 것 같습니다.

개선이 보이지 않는 이유는 무엇입니까? POS 태그가 동작하는 방식과 최대 엔트로피 모델 때문이라고 생각합니다. 모델이 이전 두 태그를 기반으로 기능을 사용하지만 직전 태그는 이전 태그보다 훨씬 중요합니다. 직관적으로 이것은 영어에 적합합니다 (예 : 형용사 뒤에는 명사 또는 다른 형용사가 있지만 실제로 형용사 이전의 내용에 의존하지는 않습니다).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.