2012-04-23 9 views
2

나는 사전 처리를 할 몇 가지 텍스트 문서 나 FCM 등 및 잠재 디리클레 할당 등더 나은 사전 처리 라이브러리 또는 파이썬 구현?

나는 중지 단어를 제거 할 필요가 사전에 조금 정교한하려면, 추출과 같은 다른 주제 모델링 기술 등의 분류 기술을 적용 할 수 있도록 명사 및 키워드와 형태소 분석을 수행합니다. 나는이 목적을 위해 사용되는 코드는 다음과 같습니다

#-------------------------------------------------------------------------- 
#Extracting nouns 
#-------------------------------------------------------------------------- 
for i in range (0,len(a)) : 
    x=a[i]   
    text=nltk.pos_tag(nltk.Text(nltk.word_tokenize(x))) 
    for noun in text: 
     if(noun[1]=="NN" or noun[1]=="NNS"): 
      temp+=noun[0] 
      temp+=' ' 
documents.append(temp) 
print documents 

#-------------------------------------------------------------------------- 
#remove unnecessary words and tags 
#-------------------------------------------------------------------------- 

texts = [[word for word in document.lower().split() if word not in stoplist]for document in documents] 
allTokens = sum(texts, []) 
tokensOnce = set(word for word in set(allTokens) if allTokens.count(word)== 0) 
texts = [[word for word in text if word not in tokensOnce]for text in texts] 
print texts 

#-------------------------------------------------------------------------- 
#Stemming 
#-------------------------------------------------------------------------- 

for i in texts: 
    for j in range (0,len(i)):   
     k=porter.stem(i[j]) 
     i[j]=k 
print texts 

제가 위에서 언급 한 코드의 문제는

  1. 명사와 키워드가 많은 단어가 누락 추출에 사용되는 NLTK 모듈입니다. 예를 들어 사전 처리가 일부 문서에서 수행되었고 'Sachin'과 같은 이름이 키워드로 인식되지 않고 사전 처리 후에 누락되었습니다.
  2. 단어의 형태가 잘못되었습니다. 너무 많은 형태소 분석 (네트워크 및 네트워크 그물) 및 일부 시간에 명사도 줄기 있습니다.

필요한 기능을 위해 더 좋은 모듈이 있습니까? 아니면 동일한 모듈을 더 잘 구현할 수 있습니까? 좋은 말, 내가 정말 좋아

답변