在pos标签列表上应用Tfidfvectorizer会产生ValueError

时间:2018-12-11 05:25:51

标签: python pandas scikit-learn nlp

经过预处理,我在pandas列中有pos标签列表,如下所示。我想向量化这些标签,并使用Tfidfvectorizer或任何其他向量化器生成矩阵。

  

数据集['text_posTagged']

['VBP', 'JJ', 'NNS', 'VBP', 'JJ', 'IN', 'PRP', 'VBP', 'TO', 'VB', 'PRP', 'RB', 'VBZ', 'DT', 'JJ', 'PRP$', 'NN', 'NN', 'NN', 'NN', 'VBZ', 'JJ']
['UH', 'DT', 'VB', 'VB', 'PRP$', 'NN', 'TO', 'JJ', 'IN', 'PRP', 'MD', 'VB', 'DT', 'VBZ', 'DT', 'NN', 'NN']
['NN', 'VBD', 'NN', 'NN', 'NN', 'DT', 'IN', 'IN', 'NN', 'IN', 'NN', 'NN', 'VBD', 'IN', 'JJ', 'NN', 'NN']

应用Tfidfvectorizer会给出 ValueError:np.nan是无效的文档,预期的字节或Unicode字符串。

 tfidf = TfidfVectorizer(tokenizer=identity_tokenizer, stop_words='english', lowercase=False)
 pos_tag_response = tfidf.fit_transform(dataset['text_posTagged'])
 pos_tag_matrix = pd.DataFrame(pos_tag_response.todense(), columns=tfidf.get_feature_names())

但是,在具有单词列表的以下列上应用Tfidfvectorizer可以正常工作。

['are', 'red', 'violets', 'are', 'blue', 'if', 'you', 'want', 'to', 'buy', 'us', 'here', 'is', 'a', 'clue', 'our', 'eye', 'amp', 'cheek', 'palette', 'is', 'al']
['is', 'it', 'too', 'late', 'now', 'to', 'say', 'sorry']
['our', 'amazonian', 'clay', 'full', 'coverage', 'foundation', 'comes', 'in', '40', 'shades', 'of', 'creamy', 'goodness']

如何使用pos标签对列进行矢量化?

0 个答案:

没有答案