2014-11-28 2 views
3

언어 A의 언어 B에서 단어를 탐지하는 스크립트를 작성하고 있습니다.이 두 언어는 매우 유사하며 동일한 단어의 인스턴스를 포함 할 수 있습니다.외국어 검색

당신이에 관심이 있다면 내가 지금까지 가지고있는 코드는 여기에 있습니다 : https://github.com/arashsa/language-detection.git

여기 내 방법을 설명합니다 : 을 나는, 언어 B에서 언어 A의 bigrams의 목록을 bigrams의 목록을 작성 (언어 B의 작은 코퍼스, 언어 A의 큰 코퍼스). 그런 다음 공통적 인 모든 바이 그램을 제거합니다. 그런 다음 언어 A의 텍스트를 살펴보고 bigram을 사용하여 언어 A에서이를 감지하고 파일에 저장합니다. 그러나이 방법은 두 언어 모두에 공통적 인 단어를 많이 찾으며 서로 인접한 두 나라의 이름과 같은 이상한 바이 그램 및 기타 변형을 찾습니다.

내가 사용해도 좋은 제안, 자료, NLP 방법이 있습니까?

+1

어떤 종류의 언어를 찾으려고합니까? –

+0

스크립트를 유니 코드 (UNICODE)를 기반으로하면 언어를 탐지하는 데 많은 방법이 있습니다. 언어를 쉽게 감지 할 수 있습니다. –

+0

음, 언어는 nynorsk와 bokmaal입니다 (노르웨이어의 두 변종이지만 두 언어로 분류 될 수 있습니다). –

답변

3

두 언어로 된 단어를 반환하는 방법이 하나의 언어로만 존재하는 단어를 반환하려는 경우의 언어로 된 1 그램의 목록을 언어 A로 작성하고 언어로 1 그램 B를 누른 다음 둘 다에서 단어를 제거하십시오. 그런 다음, 원한다면 바이 ​​그램 분석을 진행할 수 있습니다.

즉, 언어 식별을 위해 Python에는 유용한 도구가 있습니다. 나는 lang-id가 최고 중 하나임을 발견했습니다. 90 개가 넘는 언어에 대해 사전 분류 된 언어 분류자를 제공하며 원하는 경우 추가 언어를 배우기 쉽습니다. 다음은 docs입니다. guess-language도 있지만 내 견적에는 잘 수행되지 않습니다. 외국어가 현지화 된 방식에 따라 적절한 수준의 텍스트로 청크를 시도하고 덩어리의 분류자를 통해 해당 청크를 실행할 수 있습니다.

+1

와우, 고마워. 실제로 발견하려는 언어 인 nynorsk의 모델이 있습니다. 이봐 요, 며칠 동안 내 대본을 쓰는 데 보냈습니다 ... –

+0

나는 그 느낌을 안다! 항상 네 데이터를 아는 것이 좋을 것 같아서 스크립트로 보냈던 모든 시간이 시간 낭비와 같은 느낌이 아니기를 바랍니다. 난소를 즐기십시오! – duhaime

+1

lyn-id는 nynorsk과 bokmaal (두 개의 노르웨이어 언어)을 구별 할 때 끔찍한 것처럼 보입니다. 한 번에 두 단어 씩 30 단어 씩주고 보았습니다. 그리고 그것이 nynorsk라는 사실을 발견했다고 생각한 시간은 사실상 bynmaal이었습니다. 실제로 nynorsk를 발견했기 때문에 bynmaal을 nynorsk라고 잘못 표시했습니다 . –

관련 문제