问题: 使用scikit学习如何找到特定词汇表中变量n-gram的命中数。你知道吗
解释。 我从here得到了一些例子。你知道吗
假设我有一个语料库,我想找出有多少点击量(计数)有如下词汇:
myvocabulary = [(window=4, words=['tin', 'tan']),
(window=3, words=['electrical', 'car'])
(window=3, words=['elephant','banana'])
我在这里所说的窗口是单词出现的长度。具体如下:
“天坛”被击中(4字以内)
“锡狗晒”被打(4字以内)
“锡狗猫被打(4字以内)
“铁皮车日蚀晒黑”不打。锡和棕褐色之间的距离超过4个字。你知道吗
我只想计算一下文本中出现了多少次(window=4,words=['tin','tan'])以及其他所有文本中出现的次数,然后将结果添加到pandas中以计算tf-idf算法。 我只能找到这样的东西:
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer(vocabulary = myvocabulary, stop_words = 'english')
tfs = tfidf.fit_transform(corpus.values())
其中词汇表是一个简单的字符串列表,可以是单个单词,也可以是多个单词。你知道吗
除了从scikitlearn:
class sklearn.feature_extraction.text.CountVectorizer
ngram_range : tuple (min_n, max_n)
要提取的不同n-gram的n值范围的上下限。n的所有值,以便使用min\n<;=n<;=max\n。你知道吗
也没用。你知道吗
有什么想法吗? 谢谢。你知道吗
我不确定是否可以使用
CountVectorizer
或TfidfVectorizer
来完成。我编写了自己的函数,如下所示:您的
df
将如下所示:现在可以按如下方式应用
contained_within_window
:你会得到:
您可以运行
for
循环来检查不同的实例。 你可以用这个来构造你的pandasdf
并在上面应用TfIdf
,这很简单。你知道吗希望这有帮助!你知道吗
相关问题 更多 >
编程相关推荐