Word Lemmatization 및 유사한 작업에 대한 자체 규칙 작성 도구
-
10-12-2019 - |
문제
조금 미끄럼 방지 요구 사항으로 많은 자연스러운 언어 처리를하고 있습니다. 종종 나는 와 비슷한 일을 얻습니다. - 단어 (또는 그냥 텍스트)를 주어서 어떤 패턴을 찾아서 어떻게 든 단어를 변화시킬 필요가 있습니다. 예를 들어, 나는 미스판을 수정해야 할 수도 있습니다. "Eatin"이라는 단어를 감안할 때 나는 그것을 "먹는"것으로 변형시켜야합니다. 또는 나는 "Ahahaha", "Ahahaha"라는 단어를 "Ahaha"등으로 변형시켜야 할 수도 있습니다.
그래서 일반적인 도구 을 찾고있는 transormation 규칙 을 정의 할 수 있습니다. 규칙은 다음과 같이 보일 수 있습니다 :
.
{w}in -> {w}ing
aha(ha)+ -> ahaha
오른쪽의 왼쪽에서 캡처 한 패턴을 사용할 수 있어야합니다.
나는 모든 프로그래밍을 모르는 언어 학자와 일하고, 이상적으로 이 도구는 외부 파일 및 단순한 규칙 를 사용해야합니다. .
colluure 에서이 프로젝트를하고 있으므로 이상적 으로이 도구는 JVM 언어 (Java, Scala, Clojure) 중 하나에 대한 라이브러리 여야하지만 다른 언어 또는 명령 줄 도구도 괜찮습니다. ...에
"NOFOLLOW"> 게이트 , stanford corenlp , NLTK 그리고 다른 사람들은 그들 모두에서 전문가가 아닙니다. 그래서 내가 필요한 도구를 놓칠 수있었습니다. 그렇다면 알려주세요.
해결책
I've found http://userguide.icu-project.org/transforms/general to be useful as well for some general pattern/transform tasks like this, ignore the stuff about transliteration, its nice for doing a lot of things.
You can just load up rules from a file into a String and register them, etc.
다른 팁
I am not an expert in NLP, but I believe Snowball might be of interest to you. Its a language to represent stemming algorithms. Its stemmer is used in the Lucene search engine.