TFIDF и многоязычная текстовая классификация - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть сценарий, есть магазин с видео контентом на разных языках, включая Engli sh. Я хочу дать рекомендацию предмету с помощью TFIDF, но меня смущают стоп-слова. Как это будет работать на разных языках? А каким должно быть stop_word?

tftdf = TfidfVectorizer()
count_matrix = tftdf.fit_transform(df["combined_features"])
cosine_sim = cosine_similarity(count_matrix)

1 Ответ

0 голосов
/ 23 апреля 2020

Стоп-слова - это набор часто используемых слов, которые скорее добавляют больше шума в текст, чем полезной информации. В Engli sh часто встречаются следующие стоп-слова: a, the, in, an, и знаки препинания также могут быть стоп-словами.

Некоторые библиотеки отстойные, так как NLTK уже установили наборы стоп-слов для Engli sh. Пример :

import nltk
from nltk.corpus import stopwords
set(stopwords.words('english'))

Вы также можете настроить свой список стоп-слов на основе контекста создаваемого вами приложения NLP.

У каждого языка будет свой набор стоп-слов, набор стоп-слов по-английски sh будет выглядеть следующим образом:

english_stop_words = ["the","a","an","it","by","or",...]

при остановке на португальском список слов будет выглядеть так:

portuguse_stop_words = ["a", "o","um","uma","pelo", "pela","ou",...]

французский набор стоп-слов может быть:

french_stop_words = ["le","la", "à","alors","ce",...]

Так для каждого языка вам потребуется определенный c набор стоп-слов для этого языка. Не обязательно прямой перевод стоп-слов с одного языка на другой.

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

Этот веб-сайт содержит список стоп-слов для нескольких языков .

Удачи:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...