我有一个关键字列表,如下所示
[u"ALZHEIMER'S DISEASE, OLFACTORY, AGING",
u"EEG, COGNITIVE CONTROL, FATIGUE",
u"AGING, OBESITY, GENDER",
u"AGING, COGNITIVE CONTROL, BRAIN IMAGING"]
然后我想使用CountVectorizer
进行标记,以便我的模型具有以下字典:
[{'ALZHEIMER\'S DISEASE': 0, 'OLFACTORY': 1, 'AGING': 2, 'BRAIN IMAGING': 3, ...}]
基本上,我想把逗号作为我的标记化模式(除了最后一个)。但是,可以在每个列表的末尾进行concat,
。下面是我现在拥有的代码片段:
from sklearn.feature_extraction.text import CountVectorizer
ls = [u"ALZHEIMER'S DISEASE, OLFACTORY, AGING",
u"EEG, COGNITIVE CONTROL, FATIGUE",
u"AGING, OBESITY, GENDER",
u"AGING, COGNITIVE CONTROL, BRAIN IMAGING"]
tfidf_model = CountVectorizer(min_df=1, max_df=1, token_pattern=r'(\w{1,}),')
tfidf_model.fit_transform(ls)
print tfidf_model.vocabulary_.keys()
>>> [u'obesity', u'eeg', u'olfactory', u'disease']
如果你想要更多的信息,请随时发表评论。
这是我的回答。我首先将每个文档转换为列表(每个都是术语)。
我创建了一个函数来从列表中的单词生成字典,然后将单词列表转换为稀疏矩阵
我可以把它放在
X, vocabulary = tag_to_sparse(docs)
上,得到稀疏矩阵和词汇词典。我刚刚找到了答案,这样你就可以通过使用
tokenizer
来欺骗scikit学习识别,
相关问题 更多 >
编程相关推荐