Python中的工业级自然语言处理(NLP)工具包 —— spaCy学习记录
初步研究了spaCy工具包,并进行了简单的学习笔记。
pip install -U spacy # cpu版本
import spacy
nlp = spacy.load('zh_core_web_md') # 中文预训练模型
doc = nlp(u'宠物的家在哪啊?')
for token in doc:
print(token.text, token.pos_, token.dep_)
# 宠物 NOUN nmod:assmod
# 的 PART case
# 家 NOUN nsubj
# 在 VERB dep
# 哪 PRON dobj
# 啊 PART discourse
# ? PUNCT ROOT
import numpy as np
# 词向量
print(nlp.vocab['北京'].vector)
# 词向量距离
print(nlp.vocab['北京'].vector_norm)
# 42.057384
# 词向量长度
print(np.sqrt((nlp.vocab['广州'].vector ** 2).sum()))
# 6.4851665
# 词向量与词的相似度
print(nlp.vocab['广州'].similarity(nlp.vocab['番禺']))
# 0.6170334815979004
根据spaCy中文预训练模型,提取文本内容特征,用聚类方法将话题分类。
并使用sklearn进行分类预测。
相关参考和资料来源: