Привет, Чандана. Надеюсь, у тебя все хорошо.Я хотел бы взглянуть на использование библиотеки spaCy https://spacy.io/api/doc. Человек, который ее создал, имеет видео на YouTube, в котором он обсуждает реализацию NLP на других языках.Ниже вы найдете код, который будет лемматизировать и удалять стоп-слова.Что касается знаков препинания, вы всегда можете установить игнорирование определенных символов, таких как знаки ударения.Лично я использую KNIME, который является бесплатным и открытым исходным кодом для предварительной обработки.Вам нужно будет установить расширения nlp, но приятно то, что у них есть разные расширения для разных языков, которые вы можете установить здесь: https://www.knime.com/knime-text-processing фильтр стоп-слов (начиная с версии 2.9) и узел стволов Snowball можно применять для испанского языка,Убедитесь, что вы выбрали правильный язык в диалоговом окне узла.К сожалению, пока нет части речевого узла для испанского языка.
# Create functions to lemmatize stem, and preprocess
# turn beautiful, beautifuly, beautified into stem beauti
def lemmatize_stemming(text):
stemmer = PorterStemmer()
return stemmer.stem(WordNetLemmatizer().lemmatize(text, pos='v'))
# parse docs into individual words ignoring words that are less than 3 letters long
# and stopwords: him, her, them, for, there, ect since "their" is not a topic.
# then append the tolkens into a list
def preprocess(text):
result = []
for token in gensim.utils.simple_preprocess(text):
newStopWords = ['your_stopword1', 'your_stop_word2']
if token not in gensim.parsing.preprocessing.STOPWORDS and token not in newStopWords and len(token) > 3:
nltk.bigrams(token)
result.append(lemmatize_stemming(token))
return result
Надеюсь, это поможет мне сообщить, если у вас есть какие-либо вопросы:)