python同义词文本处理:计算单词相似度,提取段落关键词
python中的同义词库可以处理中文文本,比如查找与单词相似的单词,计算单词与句子之间的相似度,提取特定的新闻关键词,等等
让我们看一个简单的例子。
1。安装与下载
首先安装词库,下载词汇文件words.vector.gz。
pip install -U synonyms
python -c "导入同义词" #下载词向量文件
Word文件下载地址:
https://gitee.com/chatopera/cskefu/610_6skefu/ download/ Words.vector.gz
#查看当前库的信息
synonyms.describe()#可以从描述中看到当前的词汇。 ?相似词及相关度(值在0到1之间),大小为相似词的数量,默认为10。
print("幸福:", synonyms.nearby("幸福"))
print("普通:", synonyms.nearby("普通"))
幸福:(['幸福') ' ', 'Happiness', 'Laughter', 'Youth', 'Joy', 'Carefree', 'Joy', 'Innocence', 'Holiness'], [1.0, 0.7718689, 0.7449047, 0.67883134, 0.67883134, 0.652, 60.67, 60.652, 6. 0.6448968, 0.6370579, 0.6242799, 0.6103234])
常见:(['常见', '理想', '孤独', '晦涩', '简单', '次要' ', '常规', '常规', '自己'人', '张阳'], [1.0, 0.6413613, 0.60000455, 0.5960809, 0.59234023, 0.57126236, 0.5700199 , 0.5690233, 5690233, 5690233, 5690233, 704, 704, 704, 5.
同义词.display("财富",size=12)#打印 12 相似词
'财富'同义词:
1. 财富: 1.0
2. 储蓄: 0.631402
3. 社会财富: 18 1810 . : 0 .56370497
5. 投资理财: 0.5611471
6. 金融资产: 0.55666083
7. 银行存款: 0.52110213
8. 价值-创造投资: 240. :0.5110868
10. 中产阶级:0.50663656
11. 金融投资:0.50064766
12. 价值创造:0.49771798
从类似于“每个单词得分”的结果中,可以看到所有单词。
3。计算两个句子的相关性
synonyms.compare()函数用于计算两个句子之间的相似度。越接近1,相似度越高。选择是否对句子进行分段。标准是真实的。
sen1 = “明月几时来?向天要酒。”
sen2 = “举杯明月,使影中三人。"
r = synonyms.compare(sen1, sen2, seg=True)
print("sentence1:",sen1)
print("sentence2:",sen2)
arity(" ,r )
4。获取词向量
在synonyms.v(word)中输入特定单词,可以看到该单词的数值向量形式。
print("Blue Sky",synonyms .v("Blue sky"))
synonyms.sv(sentence,ignore=False) 查看句子的向量。当句子超出词汇表时,ignore=False会随机生成一个向量。
句子1=“蓝天白云,青山绿水,晚风徐徐。”
print(sentence1,synonyms.sv(sentence1,ignore=False))
5.中文participle
sentence2="我的花园里有两棵树,一棵是枣树,另一棵也是枣树。"
print(sentence2,synonyms.seg(sentence2))
分割后你将获得该单词及其相应的词性。
(['我家', '农场', '里' , '有', '两棵树', ',', '一棵', '是', '枣树', ',', '另一棵', '一', '也', '是', '枣树', '.'], ['r', 'n', 'f', 'v', 'ns', 'x', ' m'、'v'、'n'、'x'、'r'、'm'、'd'、'v'、'n'、'x'])
6。提取关键字
synonyms.keywords(sentence [, topK=5, withWeight=False])
默认提取 5 个最重要的关键字。您可以通过 Weight 手动输入重量。例如,提取特定新闻文章的关键字。
sentence3=自9月15日起,台积电、高通、三星等华为的重要合作伙伴,只要没有美国的相关许可,就不可能向华为供应芯片。中芯国际等国内芯片企业也因为使用美国技术而无法向华为供货。目前,华为手机产品部分型号供不应求。如果这种情况持续下去,华为手机业务将遭受巨大损失。"
keywords = synonyms.keywords(sentence3)
print("sentence:",sentence3)
print("keywords",keywords)
keywords [''华为',e手机', ' 15', 'TSMC']
设置参数topK=10,提取10个关键词。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。