我有一个包含医学文本数据的数据集,我对它们应用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的输出中获得单词组合,例如:“剧烈疼痛”、“丛集性头痛”、“恶心呕吐”。谢谢
最佳答案
使用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))