2012-04-23 3 views
2

мне нужно предварительно обработать некоторые текстовые документы, так что я могу применить методы классификации, такие как ТСМ и т.д., и другие методы темы моделирования как латентного дирихле выделения и т.д.Лучшая библиотека предварительной обработки или реализация в python?

Выработать немного в предварительной обработке, мне нужно, чтобы удалить стоп-слова, экстракт существительные и ключевые слова и выполняются. Код, который я использовал для этой цели:

#-------------------------------------------------------------------------- 
#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. Слова не были должным образом вставлены. Существует либо слишком много истолкований (сеть и сетевое взаимодействие с сетью), и в некоторых случаях существительные также возникают.

Есть ли какой-либо лучший модуль для необходимых функций или есть ли лучшая реализация того же модуля? Просьба помочь

ответ

Смежные вопросы