Python 中单词组合的向量化

Kei*_*thx 4 python nlp tf-idf scikit-learn countvectorizer

我有一个包含医学文本数据的数据集,我对它们应用 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())
Run Code Online (Sandbox Code Playgroud)

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

Max*_*axU 5

使用ngram_range参数:

vect = tf(min_df=60, stop_words='english', ngram_range=(1,2))
Run Code Online (Sandbox Code Playgroud)

或(取决于您的目标):

vect = tf(min_df=60, stop_words='english', ngram_range=(2,2))
Run Code Online (Sandbox Code Playgroud)