기존의 다중 입력 최대 엔트로피 분류기에서 최대 엔트로피 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.