2011-12-15 5 views
1

나는 txt 파일의 모든 단어의 출현을 계산해야하는 프로젝트에 참여하고 있습니다. 예를 들어,이 같은 텍스트 파일이 :자바 용 NLP, 어떤 툴킷을 사용해야합니까?

실버 레이크가 IPO 후보자에 들어 보이는 무엇

실적에 의해 가루 3 회사 : 애플, 씨 러스 로직, IBM IBM의 팔미 사노 : 당신은 100 수에 도착하는 방법 -Year Old Company

위의 파일에 3 개의 문장이 있고 모든 단어의 출현을 계산하고 싶습니다. 여기에서 회사와 회사는 동일한 단어 "회사"(소문자)로 간주되어야하므로 "회사"라는 단어의 총 발생은 2입니다.

두 개의 단어를 말할 수있는 NLP 툴킷이 " 가족 "과"가족 "은 실제로 같은 단어"가족 "에서 온 것입니까?

나는 나이브 베이 즈 훈련을하기 위해 모든 단어의 출현을 계산하므로 각 단어의 정확한 발생 횟수를 얻는 것이 매우 중요합니다.

+0

도움이 될만한 자료 : http://weblogs.java.net/blog/tomwhite/archive/2006/07/pluralization.html –

+2

유용한 용어 : 가족 및 가족이 동일한 어휘 항목에 속한다는 것을 알려주는 도구 *는 줄기 (stemmer) *라고 부릅니다. 워드 카운트는 유니 그램 주파수라고도합니다. 문서를 단어 수의 특징 벡터로 취급하는 모델을 bagu of words *라고합니다. – cyborg

+0

@cyborg 고마워. –

답변

4

Apache LuceneOpenNLP은 양호한 스테 밍 알고리즘 구현을 제공한다. 당신은 최고의 스위트 룸을 검토하고 사용할 수 있습니다. 내 프로젝트에 Lucene을 사용 해왔다.

+0

사실 내가 할 일은 lemmatization이라고 불리는 것입니다. 이것은 내 프로젝트에서 더 잘 작동합니다. 불행히도 자바 구현에 유용한 리소스를 찾을 수 없습니다. 내가 알아 낸 유일한 것은 StanfordNLP 자바 라이브러리이지만 기능적으로 작동하지 않는 것 같습니다. 어쨌든, 귀하의 회신에 감사드립니다. –

0
또한 GATE 볼 수 있습니다

: 당신이 가방-의 단어 모델을 학습 할 단어를 사용하려는 경우, 당신은 TF-IDF 값을 사용할 수 있습니다 http://gate.ac.uk/

절대 개수 대신.

http://en.wikipedia.org/wiki/Tf%E2%80%93idf

+0

데이터베이스 사이에 단어의 무게를 계산하는 데이터베이스에서 모델을 생각 나게합니다. 감사. –

0

당신이 (루트 단어를 받고)에 따른라고하고 있습니다.

언급 한 바와 같이, Lingpipe, Gate 및 Lucene/Solr은 형태소 분석을 수행합니다. 또 다른 옵션은 스탠포드 파서입니다. 또는 Porter Stemming algo를 직접 구현할 수도 있습니다.

관련 문제