(선호하는 PHP에서) n 그램으로 일부 응용 프로그램을 구현하고 싶습니다.N 그램 : 설명 + 2 응용 프로그램
어떤 유형의 n 그램이 대부분의 목적에 더 적합합니까? 단어 수준 또는 문자 수준 n-gram? PHP로 n-gram-tokenizer를 어떻게 구현할 수 있습니까?
먼저 N 그램이 정확히 무엇인지 알고 싶습니다. 이 올바른지? 그것은 n 그램을 이해하는 방법입니다.
문장 : "나는 NY에 살고 있습니다."
단어 수준의 bigrams (N 2가) : 뉴욕 # '
캐릭터 레벨 bigrams (N 2)를'내가 "뉴욕", "", "살고, 살고", # 나는 " ' "#I", "I #", "l", "iv", "ve", "e #", "#i", "in", "n #", "#N" "NY", "Y 번호"당신이 N-g-부품이 배열이있는 경우
, 당신은 중복 된 것들을 삭제하고 주파수를 제공하는 각 부분에 대한 카운터를 추가 :
단어 수준의 bigrams를 : 1 , 1, 1, 1]
문자 레벨 bigrams : [2, 1, 1, ...]
이 정보가 맞습니까?
또한, 나는 당신이 N-g로 할 수있는 사항에 대한 자세한 내용을 보려면 :
- 가 어떻게 N-그램을 사용하여 텍스트의 언어를 식별 할 수 있습니까?
- 이중 언어 코퍼스가 없어도 n 그램을 사용하여 기계 번역을 수행 할 수 있습니까?
- 스팸 필터 (스팸, 햄)를 어떻게 만들 수 있습니까? n-gram을 베이지안 필터와 결합 하시겠습니까?
- 주제 스포팅은 어떻게합니까? 예 : 농구 또는 개에 관한 텍스트입니까? 내 접근법 ("개"와 "농구"에 대한 Wikipedia 기사에서 다음을 수행하십시오) : 두 문서에 대한 n-gram 벡터를 작성하고, 표준화하고, 맨하탄/유클리드 거리를 계산하십시오. 결과가 가까울수록 1이 더 높습니다. 유사성 당신이 내 응용 프로그램 방식, 특히 마지막에 대해 어떻게 생각하십니까
?
도와 주시면 감사하겠습니다. 미리 감사드립니다!
당신을 위해 PHP 라이브러리가 있습니다. https://packagist.org/packages/drupol/phpngrams –