TFIDF和多语种文本分类

问题描述 投票:0回答:1

我有一个场景,有一个商店,里面有不同语言的视频内容,包括英文。我想用TFIDF给一个项目对项目的推荐,但是我对停字很困惑。在多元化的语言中,它的表现如何?还有stop_word应该是什么?

tftdf = TfidfVectorizer()
count_matrix = tftdf.fit_transform(df["combined_features"])
cosine_sim = cosine_similarity(count_matrix)
python-3.x machine-learning nlp
1个回答
0
投票

歇后语 是一组常用的词,它们宁可给文本增加更多的噪音,而不是有用的信息。英语中常用的停顿词有 a, the, in, an,标点符号也可以是停顿词。

有些库很烂,因为NLTK已经有了一套既定的英语停顿词。例如:

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

你也可以根据你正在构建的NLP应用程序的上下文来定制你的停顿词列表。

每种语言都会有一组不同的停顿词,英语的停顿词列表会是这样的。

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",...]

所以对于每一种语言,你都需要一个特定的停顿词集,用于该语言。不一定要从一种语言的停顿词集直接翻译成另一种语言。

同样,这都是相对于你的应用目的而言的。停止词在自然语言处理流水线的预处理步骤中作为降噪步骤使用。

这里是一个网站,它提供了几种语言的停顿词列表.

祝你好运:)

© www.soinside.com 2019 - 2024. All rights reserved.