Vectorizer Python中的单词组合

Posted

技术标签:

【中文标题】Vectorizer Python中的单词组合【英文标题】:Vectorizer the combination of words in Python 【发布时间】:2018-01-23 05:49:25 【问题描述】:

我有一个包含医学文本数据的数据集,我对其应用 tf-idf 矢量化器并计算单词的 tf idf 分数,如下所示:

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer as tf

vect = tf(min_df=60,stop_words='english')

dtm = vect.fit_transform(df) 
l=vect.get_feature_names() 

x=pd.DataFrame(dtm.toarray(), columns=vect.get_feature_names())

所以基本上我的问题是,当我应用 TfidfVectorizer 时,它会将文本拆分为不同的单词,例如:“疼痛”、“头痛”、“恶心”等等。如何在 TfidfVectorizer 的输出中获得单词组合,例如:“严重疼痛”、“丛集性头痛”、“恶心呕吐”。谢谢

【问题讨论】:

【参考方案1】:

使用ngram_range参数:

vect = tf(min_df=60, stop_words='english', ngram_range=(1,2))

或(取决于您的目标):

vect = tf(min_df=60, stop_words='english', ngram_range=(2,2))

【讨论】:

以上是关于Vectorizer Python中的单词组合的主要内容,如果未能解决你的问题,请参考以下文章

Tf-Idf vectorizer 分析来自行而不是单词的向量

Python中的TfidfVectorizer参数解析

TFIDF Vectorizer 给出错误

python 计数Vectorizer

python 计数Vectorizer与Numpy数组

sklearn Count vectorizer - 如何在以后保存、加载和使用转换单个文本