2009-06-08 5 views
2

Google Wave 데모를 보았을 것입니다. 나는 철자 검사 기술에 대해 궁금해했다. 이러한 제안을하기 위해 한 문장 내에서 단어가 문맥 적으로 나타나는 곳을 파악하여 작동하는 맞춤법 검사기는 얼마나 혁명적입니까?문맥에 맞는 맞춤법 검사 엔진

이전에는이 ​​기술을 보지 못했지만 다른 곳에서는이 예제가 있습니까?
만약 그렇다면 코드 예제와 문법이 그 작동에 있습니까?

+1

질문에 대한 답변을 드릴 수 없지만 Google Wave를 살펴보기로했습니다. 그리고 나는 말할 필요가있다. –

답변

12

내 2 센트. translate.google.com이 통계적 기계 번역 엔진이며 Halevy의 Norvig (구글 연구 책임자) & F 페레이라의 "부당한 데이터 유효성"이라는 사실을 감안할 때 나는 이라는 가정을 가정합니다. (bet) 이것은 통계적으로 작동하는 맞춤법 검사기입니다.

작동 방식 : 맞춤법 검사를 원하는 언어의 매우 큰 코퍼스를 수집합니다. 이 코퍼스를 적합한 데이터 구조 (예 : n-grams 개의 하위 집합을 계산해야하는 경우 suffix arrays)에 구문 표로 저장하여 그 수를 추적하여 예상되는 확률로 n 그램의 수를 추적합니다. 당신의 신체 만의 constitued 경우

예를 들어, :

I had, had bean, bean soup, soup last, last diner 

과 :이 항목에서

I had bean soup last diner. 

, 다음과 같은 양방향 그램 (이 개 단어의 집합)를 생성합니다 트라이 그램 (3 개 단어의 집합) :

I had bean, had bean soup, bean soup last, soup last diner 

하지만 그들은 examp에 대한 통계적 관련성의 시험에 의해 정리 될 것이다 le : 트라이 그램이 있다고 가정 할 수 있습니다.

I had bean 

문구 표가 사라집니다.

이제 맞춤법 검사는이 큰 문구 표 만보고 "확률"을 확인합니다. 효율적인 데이터 구조와 RAM에이 구문 테이블을 저장하려면 인프라가 필요합니다. Google에서 translate.google.com을 사용하고 있습니다. 이유는 무엇입니까? 통계 컴퓨터 번역보다 쉽습니다.

예 : 당신은

I had been soup 

을 입력하고 문구 테이블에

had bean soup 

트라이 그램은 방금 입력 한 것보다 훨씬 높은 확률로있다! 실제로, 당신은 훨씬 더 높은 확률로 3 그램을 가지기 위해 한 단어 만 바꾸면됩니다 (이것은 "그리 멀지 않은"트라이 그램입니다). 트레이드 오프 거리/확률을 다루는 평가 함수가 있어야합니다. 이 거리는 문자로 계산할 수도 있습니다. 우리는 기계 번역이 아닌 맞춤법 검사를하고 있습니다.

이것은 단지 가상의 의견입니다.;)

1

당신은 모든 자연 언어 처리에 잠수하여이 같은 주제에 대해 배울 수 있습니다. 주어진 단어의 문자열 다음에 어떤 단어가 올지를 통계적으로 추측 할 때 심층적으로 갈 수 있습니다.

그런 주제에 관심이 있으시면 전적으로 파이썬으로 작성된 NLTK (자연어 도구 키트)를 사용하시기 바랍니다. 그것은 많은 도구와 꽤 ​​좋은 문서를 가지고있는 매우 광대 한 작업입니다.

1

이 주제에 대한 많은 논문이 있습니다. 다음은이 상황에 맞는 감도를 사용하지 않는

좋은 자원이있다, 그러나 이것은 더 강력한 맞춤법 검사기의 관점을 이해하는 것이 아마 좋은 쉽게입니다 http://norvig.com/spell-correct.html

에서 구축하는 것이 기본이다 http://acl.ldc.upenn.edu/acl2004/emnlp/pdf/Cucerzan.pdf

여기에서 세부 정보를 자세히 확인할 수 있습니다. Google 학자를 사용하고 위의 문서에서 참조를 찾고 '맞춤법 교정'을 검색하는 것이 좋습니다