我以为他们都使用 one-hot 编码
这些是预处理文本的实用程序。像任何其他实用程序一样,它有多个选项来调整您的文本。您应该使用官方文档探索所有参数。
我将解释其中之一,即 OHE vs Count
from sklearn.feature_extraction.text import CountVectorizer
corpus = [ 'This movie is bad.Too Bad', 'Awesome Movie. Too Awesome']
vectorizer = CountVectorizer(binary=True) #binary=False will make it Count
x = vectorizer.fit_transform(corpus)
import pandas as pd
df = pd.DataFrame(x.toarray(), columns=vectorizer.get_feature_names())
df

我们的最终目标是创建特征,并且每个特征都有其上下文含义的指示符。
我不明白的是为什么 CountVectorizer 不用于 RNN 等深度学习模型,而 Tokenizer() 不用于 SVM 等 ML 分类器,
当我们对一个简单的 ML 算法进行建模时,我们通常使用scikit-learn.
所以添加Keras那里没有意义。
深度学习也是如此。
不过,在这种情况下,我们还有另一个原因,即深度学习通常适用于大型数据集。因此,我们主要使用嵌入特征的想法。所以最好使用提供端到端解决方案的框架