返回信息流RT。查了很多资料还是不知道怎么实现。结巴分词跟中科院分词都能提取出词性,可是不知道怎么跟sklearn结合起来用(只查到在调用sklearn的countVectorizer的时候传入jieba的tokenizer做分词器)
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #26884同步于 2017/11/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
【求助】sklearn中文文本分类,特征提取时怎么“按词性提取”
bit3125
2017/11/16镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
code:
```python
import jieba.posseg as pseg
from sklearn.feature_extraction.text import CountVectorizer
tests = ['查了很多资料还是不知道怎么实现',
'结巴分词跟中科院分词都能提取出词性',
'可是不知道怎么跟sklearn结合起来用']
def tag_trans(s):
words = pseg.cut(s)
return ' '.join([w.flag for w in words])
tag_texts = [tag_trans(s) for s in tests]
print(tag_texts)
cvec = CountVectorizer(tokenizer=lambda x:str(x).split(' '))
tag_vec = cvec.fit_transform(tag_texts).toarray()
print(cvec.vocabulary_)
print(tag_vec)
```
output:
```
['v ul m n c d v r v', 'n n p nt n d v v v n', 'c d v r p eng v v p']
{'d': 1, 'r': 7, 'nt': 5, 'ul': 8, 'n': 4, 'c': 0, 'p': 6, 'm': 3, 'v': 9, 'eng': 2}
[[1 1 0 1 1 0 0 1 1 3]
[0 1 0 0 4 1 1 0 0 3]
[1 1 1 0 0 0 2 1 0 3]]
```