Мне нужно предварительно обработать некоторые текстовые документы, чтобы я мог применять методы классификации, такие как 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
Проблема с кодом, который я упомянул выше, заключается в
- В модуле nltk, используемом для извлечения существительных и ключевых слов, отсутствует много слов. Например, для некоторых документов была выполнена предварительная обработка, и такие имена, как «Сачин», не были распознаны как ключевые слова и пропущены после предварительной обработки.
- Слова не правильно составлены. Либо слишком много корней (сеть и сеть в сеть), и иногда существительные также имеют основу.
Есть ли лучший модуль для необходимых функций или лучшая реализация того же модуля? Пожалуйста, помогите