tfidf w2v giving NaN values



当使用TFIDF Word2Verc在亚马逊精细食品数据集的审查中给出NaN值时,在将其采样到100k个数据点后,我在句子向量中得到NaN值。。。我尝试了几乎所有的代码,但没有得到真正的价值。。

打印完句子数组后,这就是我得到的输出-

[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan].....

代码如下-

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
tfidf = TfidfVectorizer(ngram_range=(1,2), analyzer='word')
final_tfidf = tfidf.fit_transform(final_data['CleanedText'].values)
tfidf_feat = tfidf.get_feature_names()
tf_sent_vectors = []
row = 0
for sent in list_of_sent:
sent_vec = np.zeros(50)  #initializiing the sent_vec
weighted_sum = 0   #initializing the weightedsum
for word in sent:
try:
vec = w2v_modelk.wv[word]
tf_idf = final_tfidf[row, tfidf_feat.index(word)]   
sent_vec += (vec * tf_idf)
weighted_sum += tf_idf
except:
pass
sent_vec /= weighted_sum
print(sent_vec)
row += 1

任何形式的帮助都将不胜感激!!

根据您的代码,tf idf的功能可能类似于{'hi'、'jik'、'this-by'etc}。

因为单克和双克,所以到这里为止还可以

但关键部分是

"中的单词:">

例如,如果句子=["这很好"]

所以tf idf feaures是{"是"、"是","好"、"这"、"好"}

现在代码中的行

句中单词:

我们得到的输出是{T','h','i','s',所以没有}我们得到的是单个字符

因此这些单个字符可能不在tf idf中,也可能不在w2vec模型中

即对句子中的单词进行更正。拆分("(:

最新更新