pyhanlp 文本推荐,同义改写,语义距离
文本推荐
该部分的内容之所以在一起是因其底层原理相同。文本推荐,语义距离,同义改写等都是基于word2vec的。因为作者HanLP源代码和博客都没有写该部分的原理。所以笔者大概查看了源码,发现功能实现原理非常之简单,就是根据文档与给定单词的距离进行打分,而这个语义距离就是从word2vec来的。熟悉word2vec的同学听到这里应该也就明白其内部运行的原理了吧。
这里的文本推荐属于。句子级别,从一系列句子中挑出与输入句子最相似的那一个。在搜索中是有用的。
有关内容你还可以参考这里:
文本推荐代码
from pyhanlp import *
# 文本推荐
Suggester = JClass("com.hankcs.hanlp.suggest.Suggester")
suggester = Suggester()
title_array = [
"威廉王子发表演说 呼吁保护野生动物",
"魅惑天后许佳慧不爱“预谋” 独唱《许某某》",
"《时代》年度人物最终入围名单出炉 普京马云入选",
"“黑格比”横扫菲:菲吸取“海燕”经验及早疏散",
"日本保密法将正式生效 日媒指其损害国民知情权",
"英报告说空气污染带来“公共健康危机”"
]
for title in title_array:
suggester.addSentence(title)
print(suggester.suggest("陈述", 2)) # 语义
print(suggester.suggest("危机公关", 1)) # 字符
print(suggester.suggest("mayun", 1)) # 拼音
print(suggester.suggest("徐家汇", 1)) # 拼音
[威廉王子发表演说 呼吁保护野生动物, 英报告说空气污染带来“公共健康危机”]
[英报告说空气污染带来“公共健康危机”]
[《时代》年度人物最终入围名单出炉 普京马云入选]
[魅惑天后许佳慧不爱“预谋” 独唱《许某某》]
语义距离
语义距离该部分是其实还是word2vec的应用,简单的来说,我们可以获取两个词的语义距离。因此我们也就获取了,同义改写的功能(语义距离最近的是哦同义词)。而基于此,我们当然还可以获得更多功能。不过本文只简介CoreSynonymDictionary该类的用法,下面的两个段代码一个是原作者给的,第二段代码是我查看源码之后给出了可以使用的方法。但是想要获得完整的功能还是直接使用word2vec好些,对于python而言或许自己编写或者使用gensim可能是更好的选择。
- word2vec
- 词向量训练、加载、词语相似度计算、语义运算、查询、KMeans聚类
- 文档语义相似度计算
第一段代码
CoreSynonymDictionary = JClass("com.hankcs.hanlp.dictionary.CoreSynonymDictionary")
word_array = [
"香蕉",
"苹果",
"白菜",
"水果",
"蔬菜",
"自行车",
"公交车",
"飞机",
"买",
"卖",
"购入",
"新年",
"春节",
"丢失",
"补办",
"办理",
"送给",
"寻找",
"孩子",
"教室",
"教师",
"会计",
]
print("%-5s\t%-5s\t%-10s\t%-5s\n" % ("词A", "词B", "语义距离", "语义相似度"))
for a in word_array:
for b in word_array:
print("%-5s\t%-5s\t%-15d\t%-5.10f" % (a, b, CoreSynonymDictionary.distance(a, b),
CoreSynonymDictionary.similarity(a, b)))
词A 词B 语义距离 语义相似度
香蕉 香蕉 0 1.0000000000
香蕉 苹果 19980 0.9999997311
香蕉 白菜 2628369 0.9999646244
香蕉 水果 32967 0.9999995563
香蕉 蔬菜 2630367 0.9999645975
香蕉 自行车 1854515628 0.9750398066
香蕉 公交车 1854535619 0.9750395376
香蕉 飞机 1857307833 0.9750022259
香蕉 买 39729797433 0.4652709248
香蕉 卖 39729897333 0.4652695802
香蕉 购入 39729797433 0.4652709248
香蕉 新年 4981789224 0.9329493801
香蕉 春节 4981789224 0.9329493801
香蕉 丢失 46784535633 0.3703201856
香蕉 补办 39205230527 0.4723311464
香蕉 办理 39205222533 0.4723312540
香蕉 送给 40831595534 0.4504416652
香蕉 寻找 41124601233 0.4464980592
香蕉 孩子 6734891367 0.9093541255
香蕉 教室 1548030420 0.9791648353
香蕉 教师 7516908567 0.8988288432
香蕉 会计 7547972472 0.8984107496
苹果 香蕉 19980 0.9999997311
苹果 苹果 0 1.0000000000
苹果 白菜 2608389 0.9999648933
苹果 水果 12987 0.9999998252
苹果 蔬菜 2610387 0.9999648664
苹果 自行车 1854535608 0.9750395377
苹果 公交车 1854555599 0.9750392686
苹果 飞机 1857327813 0.9750019570
苹果 买 39729817413 0.4652706559
苹果 卖 39729917313 0.4652693113
苹果 购入 39729817413 0.4652706559
苹果 新年 4981809204 0.9329491112
苹果 春节 4981809204 0.9329491112
苹果 丢失 46784555613 0.3703199167
苹果 补办 39205250507 0.4723308775
苹果 办理 39205242513 0.4723309851
苹果 送给 40831615514 0.4504413963
苹果 寻找 41124621213 0.4464977903
苹果 孩子 6734871387 0.9093543944
苹果 教室 1548050400 0.9791645663
苹果 教师 7516888587 0.8988291121
苹果 会计 7547952492 0.8984110185
白菜 香蕉 2628369 0.9999646244
白菜 苹果 2608389 0.9999648933
白菜 白菜 0 1.0000000000
白菜 水果 2595402 0.9999650681
白菜 蔬菜 1998 0.9999999731
白菜 自行车 1857143997 0.9750044310
白菜 公交车 1857163988 0.9750041620
白菜 飞机 1859936202 0.9749668503
白菜 买 39732425802 0.4652355492
白菜 卖 39732525702 0.4652342046
白菜 购入 39732425802 0.4652355492
白菜 新年 4984417593 0.9329140045
白菜 春节 4984417593 0.9329140045
白菜 丢失 46787164002 0.3702848100
白菜 补办 39207858896 0.4722957708
白菜 办理 39207850902 0.4722958784
白菜 送给 40834223903 0.4504062896
白菜 寻找 41127229602 0.4464626836
白菜 孩子 6732262998 0.9093895011
白菜 教室 1550658789 0.9791294597
白菜 教师 7514280198 0.8988642188
白菜 会计 7545344103 0.8984461252
水果 香蕉 32967 0.9999995563
水果 苹果 12987 0.9999998252
水果 白菜 2595402 0.9999650681
水果 水果 0 1.0000000000
水果 蔬菜 2597400 0.9999650412
水果 自行车 1854548595 0.9750393629
水果 公交车 1854568586 0.9750390939
水果 飞机 1857340800 0.9750017822
水果 买 39729830400 0.4652704811
水果 卖 39729930300 0.4652691365
水果 购入 39729830400 0.4652704811
水果 新年 4981822191 0.9329489364
水果 春节 4981822191 0.9329489364
水果 丢失 46784568600 0.3703197419
水果 补办 39205263494 0.4723307027
水果 办理 39205255500 0.4723308103
水果 送给 40831628501 0.4504412215
水果 寻找 41124634200 0.4464976155
水果 孩子 6734858400 0.9093545692
水果 教室 1548063387 0.9791643915
水果 教师 7516875600 0.8988292869
水果 会计 7547939505 0.8984111933
蔬菜 香蕉 2630367 0.9999645975
蔬菜 苹果 2610387 0.9999648664
蔬菜 白菜 1998 0.9999999731
蔬菜 水果 2597400 0.9999650412
蔬菜 蔬菜 0 1.0000000000
蔬菜 自行车 1857145995 0.9750044041
蔬菜 公交车 1857165986 0.9750041351
蔬菜 飞机 1859938200 0.9749668234
蔬菜 买 39732427800 0.4652355223
蔬菜 卖 39732527700 0.4652341777
蔬菜 购入 39732427800 0.4652355223
蔬菜 新年 4984419591 0.9329139777
蔬菜 春节 4984419591 0.9329139777
蔬菜 丢失 46787166000 0.3702847831
蔬菜 补办 39207860894 0.4722957440
蔬菜 办理 39207852900 0.4722958515
蔬菜 送给 40834225901 0.4504062627
蔬菜 寻找 41127231600 0.4464626567
蔬菜 孩子 6732261000 0.9093895280
蔬菜 教室 1550660787 0.9791294328
蔬菜 教师 7514278200 0.8988642457
蔬菜 会计 7545342105 0.8984461521
自行车 香蕉 1854515628 0.9750398066
自行车 苹果 1854535608 0.9750395377
自行车 白菜 1857143997 0.9750044310
自行车 水果 1854548595 0.9750393629
自行车 蔬菜 1857145995 0.9750044041
自行车 自行车 0 1.0000000000
自行车 公交车 19991 0.9999997309
自行车 飞机 2792205 0.9999624193
自行车 买 37875281805 0.4902311182
自行车 卖 37875381705 0.4902297736
自行车 购入 37875281805 0.4902311182
自行车 新年 3127273596 0.9579095735
自行车 春节 3127273596 0.9579095735
自行车 丢失 44930020005 0.3952803790
自行车 补办 37350714899 0.4972913398
自行车 办理 37350706905 0.4972914474
自行车 送给 38977079906 0.4754018586
自行车 寻找 39270085605 0.4714582526
自行车 孩子 8589406995 0.8843939321
自行车 教室 306485208 0.9958749714
自行车 教师 9371424195 0.8738686498
自行车 会计 9402488100 0.8734505562
公交车 香蕉 1854535619 0.9750395376
公交车 苹果 1854555599 0.9750392686
公交车 白菜 1857163988 0.9750041620
公交车 水果 1854568586 0.9750390939
公交车 蔬菜 1857165986 0.9750041351
公交车 自行车 19991 0.9999997309
公交车 公交车 0 1.0000000000
公交车 飞机 2772214 0.9999626884
公交车 买 37875261814 0.4902313872
公交车 卖 37875361714 0.4902300427
公交车 购入 37875261814 0.4902313872
公交车 新年 3127253605 0.9579098426
公交车 春节 3127253605 0.9579098426
公交车 丢失 44930000014 0.3952806480
公交车 补办 37350694908 0.4972916089
公交车 办理 37350686914 0.4972917165
公交车 送给 38977059915 0.4754021276
公交车 寻找 39270065614 0.4714585217
公交车 孩子 8589426986 0.8843936631
公交车 教室 306505199 0.9958747023
公交车 教师 9371444186 0.8738683807
公交车 会计 9402508091 0.8734502872
飞机 香蕉 1857307833 0.9750022259
飞机 苹果 1857327813 0.9750019570
飞机 白菜 1859936202 0.9749668503
飞机 水果 1857340800 0.9750017822
飞机 蔬菜 1859938200 0.9749668234
飞机 自行车 2792205 0.9999624193
飞机 公交车 2772214 0.9999626884
飞机 飞机 0 1.0000000000
飞机 买 37872489600 0.4902686988
飞机 卖 37872589500 0.4902673543
飞机 购入 37872489600 0.4902686988
飞机 新年 3124481391 0.9579471542
飞机 春节 3124481391 0.9579471542
飞机 丢失 44927227800 0.3953179597
飞机 补办 37347922694 0.4973289205
飞机 办理 37347914700 0.4973290281
飞机 送给 38974287701 0.4754394393
飞机 寻找 39267293400 0.4714958333
飞机 孩子 8592199200 0.8843563514
飞机 教室 309277413 0.9958373907
飞机 教师 9374216400 0.8738310691
飞机 会计 9405280305 0.8734129755
买 香蕉 39729797433 0.4652709248
买 苹果 39729817413 0.4652706559
买 白菜 39732425802 0.4652355492
买 水果 39729830400 0.4652704811
买 蔬菜 39732427800 0.4652355223
买 自行车 37875281805 0.4902311182
买 公交车 37875261814 0.4902313872
买 飞机 37872489600 0.4902686988
买 买 0 1.0000000000
买 卖 99900 0.9999986554
买 购入 0 1.0000000000
买 新年 34748008209 0.5323215446
买 春节 34748008209 0.5323215446
买 丢失 7054738200 0.9050492608
买 补办 524566906 0.9929397783
买 办理 524574900 0.9929396707
买 送给 1101798101 0.9851707404
买 寻找 1394803800 0.9812271344
买 孩子 46464688800 0.3746250503
买 教室 38181767013 0.4861060895
买 教师 47246706000 0.3640997680
买 会计 47277769905 0.3636816744
卖 香蕉 39729897333 0.4652695802
卖 苹果 39729917313 0.4652693113
卖 白菜 39732525702 0.4652342046
卖 水果 39729930300 0.4652691365
卖 蔬菜 39732527700 0.4652341777
卖 自行车 37875381705 0.4902297736
卖 公交车 37875361714 0.4902300427
卖 飞机 37872589500 0.4902673543
卖 买 99900 0.9999986554
卖 卖 0 1.0000000000
卖 购入 99900 0.9999986554
卖 新年 34748108109 0.5323202001
卖 春节 34748108109 0.5323202001
卖 丢失 7054638300 0.9050506054
卖 补办 524666806 0.9929384338
卖 办理 524674800 0.9929383262
卖 送给 1101698201 0.9851720850
卖 寻找 1394703900 0.9812284790
卖 孩子 46464788700 0.3746237057
卖 教室 38181866913 0.4861047450
卖 教师 47246805900 0.3640984234
卖 会计 47277869805 0.3636803298
购入 香蕉 39729797433 0.4652709248
购入 苹果 39729817413 0.4652706559
购入 白菜 39732425802 0.4652355492
购入 水果 39729830400 0.4652704811
购入 蔬菜 39732427800 0.4652355223
购入 自行车 37875281805 0.4902311182
购入 公交车 37875261814 0.4902313872
购入 飞机 37872489600 0.4902686988
购入 买 0 1.0000000000
购入 卖 99900 0.9999986554
购入 购入 0 1.0000000000
购入 新年 34748008209 0.5323215446
购入 春节 34748008209 0.5323215446
购入 丢失 7054738200 0.9050492608
购入 补办 524566906 0.9929397783
购入 办理 524574900 0.9929396707
购入 送给 1101798101 0.9851707404
购入 寻找 1394803800 0.9812271344
购入 孩子 46464688800 0.3746250503
购入 教室 38181767013 0.4861060895
购入 教师 47246706000 0.3640997680
购入 会计 47277769905 0.3636816744
新年 香蕉 4981789224 0.9329493801
新年 苹果 4981809204 0.9329491112
新年 白菜 4984417593 0.9329140045
新年 水果 4981822191 0.9329489364
新年 蔬菜 4984419591 0.9329139777
新年 自行车 3127273596 0.9579095735
新年 公交车 3127253605 0.9579098426
新年 飞机 3124481391 0.9579471542
新年 买 34748008209 0.5323215446
新年 卖 34748108109 0.5323202001
新年 购入 34748008209 0.5323215446
新年 新年 0 1.0000000000
新年 春节 0 1.0000000000
新年 丢失 41802746409 0.4373708055
新年 补办 34223441303 0.5393817663
新年 办理 34223433309 0.5393818739
新年 送给 35849806310 0.5174922850
新年 寻找 36142812009 0.5135486791
新年 孩子 11716680591 0.8423035056
新年 教室 3433758804 0.9537845449
新年 教师 12498697791 0.8317782233
新年 会计 12529761696 0.8313601297
春节 香蕉 4981789224 0.9329493801
春节 苹果 4981809204 0.9329491112
春节 白菜 4984417593 0.9329140045
春节 水果 4981822191 0.9329489364
春节 蔬菜 4984419591 0.9329139777
春节 自行车 3127273596 0.9579095735
春节 公交车 3127253605 0.9579098426
春节 飞机 3124481391 0.9579471542
春节 买 34748008209 0.5323215446
春节 卖 34748108109 0.5323202001
春节 购入 34748008209 0.5323215446
春节 新年 0 1.0000000000
春节 春节 0 1.0000000000
春节 丢失 41802746409 0.4373708055
春节 补办 34223441303 0.5393817663
春节 办理 34223433309 0.5393818739
春节 送给 35849806310 0.5174922850
春节 寻找 36142812009 0.5135486791
春节 孩子 11716680591 0.8423035056
春节 教室 3433758804 0.9537845449
春节 教师 12498697791 0.8317782233
春节 会计 12529761696 0.8313601297
丢失 香蕉 46784535633 0.3703201856
丢失 苹果 46784555613 0.3703199167
丢失 白菜 46787164002 0.3702848100
丢失 水果 46784568600 0.3703197419
丢失 蔬菜 46787166000 0.3702847831
丢失 自行车 44930020005 0.3952803790
丢失 公交车 44930000014 0.3952806480
丢失 飞机 44927227800 0.3953179597
丢失 买 7054738200 0.9050492608
丢失 卖 7054638300 0.9050506054
丢失 购入 7054738200 0.9050492608
丢失 新年 41802746409 0.4373708055
丢失 春节 41802746409 0.4373708055
丢失 丢失 0 1.0000000000
丢失 补办 7579305106 0.8979890392
丢失 办理 7579313100 0.8979889316
丢失 送给 5952940099 0.9198785204
丢失 寻找 5659934400 0.9238221264
丢失 孩子 53519427000 0.2796743111
丢失 教室 45236505213 0.3911553504
丢失 教师 54301444200 0.2691490288
丢失 会计 54332508105 0.2687309352
补办 香蕉 39205230527 0.4723311464
补办 苹果 39205250507 0.4723308775
补办 白菜 39207858896 0.4722957708
补办 水果 39205263494 0.4723307027
补办 蔬菜 39207860894 0.4722957440
补办 自行车 37350714899 0.4972913398
补办 公交车 37350694908 0.4972916089
补办 飞机 37347922694 0.4973289205
补办 买 524566906 0.9929397783
补办 卖 524666806 0.9929384338
补办 购入 524566906 0.9929397783
补办 新年 34223441303 0.5393817663
补办 春节 34223441303 0.5393817663
补办 丢失 7579305106 0.8979890392
补办 补办 0 1.0000000000
补办 办理 7994 0.9999998924
补办 送给 1626365007 0.9781105187
补办 寻找 1919370706 0.9741669128
补办 孩子 45940121894 0.3816852719
补办 教室 37657200107 0.4931663112
补办 教师 46722139094 0.3711599896
补办 会计 46753202999 0.3707418960
办理 香蕉 39205222533 0.4723312540
办理 苹果 39205242513 0.4723309851
办理 白菜 39207850902 0.4722958784
办理 水果 39205255500 0.4723308103
办理 蔬菜 39207852900 0.4722958515
办理 自行车 37350706905 0.4972914474
办理 公交车 37350686914 0.4972917165
办理 飞机 37347914700 0.4973290281
办理 买 524574900 0.9929396707
办理 卖 524674800 0.9929383262
办理 购入 524574900 0.9929396707
办理 新年 34223433309 0.5393818739
办理 春节 34223433309 0.5393818739
办理 丢失 7579313100 0.8979889316
办理 补办 7994 0.9999998924
办理 办理 0 1.0000000000
办理 送给 1626373001 0.9781104112
办理 寻找 1919378700 0.9741668052
办理 孩子 45940113900 0.3816853795
办理 教室 37657192113 0.4931664188
办理 教师 46722131100 0.3711600972
办理 会计 46753195005 0.3707420036
送给 香蕉 40831595534 0.4504416652
送给 苹果 40831615514 0.4504413963
送给 白菜 40834223903 0.4504062896
送给 水果 40831628501 0.4504412215
送给 蔬菜 40834225901 0.4504062627
送给 自行车 38977079906 0.4754018586
送给 公交车 38977059915 0.4754021276
送给 飞机 38974287701 0.4754394393
送给 买 1101798101 0.9851707404
送给 卖 1101698201 0.9851720850
送给 购入 1101798101 0.9851707404
送给 新年 35849806310 0.5174922850
送给 春节 35849806310 0.5174922850
送给 丢失 5952940099 0.9198785204
送给 补办 1626365007 0.9781105187
送给 办理 1626373001 0.9781104112
送给 送给 0 1.0000000000
送给 寻找 293005699 0.9960563940
送给 孩子 47566486901 0.3597957907
送给 教室 39283565114 0.4712768299
送给 教师 48348504101 0.3492705084
送给 会计 48379568006 0.3488524148
寻找 香蕉 41124601233 0.4464980592
寻找 苹果 41124621213 0.4464977903
寻找 白菜 41127229602 0.4464626836
寻找 水果 41124634200 0.4464976155
寻找 蔬菜 41127231600 0.4464626567
寻找 自行车 39270085605 0.4714582526
寻找 公交车 39270065614 0.4714585217
寻找 飞机 39267293400 0.4714958333
寻找 买 1394803800 0.9812271344
寻找 卖 1394703900 0.9812284790
寻找 购入 1394803800 0.9812271344
寻找 新年 36142812009 0.5135486791
寻找 春节 36142812009 0.5135486791
寻找 丢失 5659934400 0.9238221264
寻找 补办 1919370706 0.9741669128
寻找 办理 1919378700 0.9741668052
寻找 送给 293005699 0.9960563940
寻找 寻找 0 1.0000000000
寻找 孩子 47859492600 0.3558521847
寻找 教室 39576570813 0.4673332240
寻找 教师 48641509800 0.3453269024
寻找 会计 48672573705 0.3449088088
孩子 香蕉 6734891367 0.9093541255
孩子 苹果 6734871387 0.9093543944
孩子 白菜 6732262998 0.9093895011
孩子 水果 6734858400 0.9093545692
孩子 蔬菜 6732261000 0.9093895280
孩子 自行车 8589406995 0.8843939321
孩子 公交车 8589426986 0.8843936631
孩子 飞机 8592199200 0.8843563514
孩子 买 46464688800 0.3746250503
孩子 卖 46464788700 0.3746237057
孩子 购入 46464688800 0.3746250503
孩子 新年 11716680591 0.8423035056
孩子 春节 11716680591 0.8423035056
孩子 丢失 53519427000 0.2796743111
孩子 补办 45940121894 0.3816852719
孩子 办理 45940113900 0.3816853795
孩子 送给 47566486901 0.3597957907
孩子 寻找 47859492600 0.3558521847
孩子 孩子 0 1.0000000000
孩子 教室 8282921787 0.8885189607
孩子 教师 782017200 0.9894747177
孩子 会计 813081105 0.9890566241
教室 香蕉 1548030420 0.9791648353
教室 苹果 1548050400 0.9791645663
教室 白菜 1550658789 0.9791294597
教室 水果 1548063387 0.9791643915
教室 蔬菜 1550660787 0.9791294328
教室 自行车 306485208 0.9958749714
教室 公交车 306505199 0.9958747023
教室 飞机 309277413 0.9958373907
教室 买 38181767013 0.4861060895
教室 卖 38181866913 0.4861047450
教室 购入 38181767013 0.4861060895
教室 新年 3433758804 0.9537845449
教室 春节 3433758804 0.9537845449
教室 丢失 45236505213 0.3911553504
教室 补办 37657200107 0.4931663112
教室 办理 37657192113 0.4931664188
教室 送给 39283565114 0.4712768299
教室 寻找 39576570813 0.4673332240
教室 孩子 8282921787 0.8885189607
教室 教室 0 1.0000000000
教室 教师 9064938987 0.8779936784
教室 会计 9096002892 0.8775755849
教师 香蕉 7516908567 0.8988288432
教师 苹果 7516888587 0.8988291121
教师 白菜 7514280198 0.8988642188
教师 水果 7516875600 0.8988292869
教师 蔬菜 7514278200 0.8988642457
教师 自行车 9371424195 0.8738686498
教师 公交车 9371444186 0.8738683807
教师 飞机 9374216400 0.8738310691
教师 买 47246706000 0.3640997680
教师 卖 47246805900 0.3640984234
教师 购入 47246706000 0.3640997680
教师 新年 12498697791 0.8317782233
教师 春节 12498697791 0.8317782233
教师 丢失 54301444200 0.2691490288
教师 补办 46722139094 0.3711599896
教师 办理 46722131100 0.3711600972
教师 送给 48348504101 0.3492705084
教师 寻找 48641509800 0.3453269024
教师 孩子 782017200 0.9894747177
教师 教室 9064938987 0.8779936784
教师 教师 0 1.0000000000
教师 会计 31063905 0.9995819064
会计 香蕉 7547972472 0.8984107496
会计 苹果 7547952492 0.8984110185
会计 白菜 7545344103 0.8984461252
会计 水果 7547939505 0.8984111933
会计 蔬菜 7545342105 0.8984461521
会计 自行车 9402488100 0.8734505562
会计 公交车 9402508091 0.8734502872
会计 飞机 9405280305 0.8734129755
会计 买 47277769905 0.3636816744
会计 卖 47277869805 0.3636803298
会计 购入 47277769905 0.3636816744
会计 新年 12529761696 0.8313601297
会计 春节 12529761696 0.8313601297
会计 丢失 54332508105 0.2687309352
会计 补办 46753202999 0.3707418960
会计 办理 46753195005 0.3707420036
会计 送给 48379568006 0.3488524148
会计 寻找 48672573705 0.3449088088
会计 孩子 813081105 0.9890566241
会计 教室 9096002892 0.8775755849
会计 教师 31063905 0.9995819064
会计 会计 0 1.0000000000
第二段代码
利用CoreSynonymDictionary,我们还可以干哪些事情。这里我们直接调用了CoreSynonymDictionary的同义改写功能,
# 同义改写
CoreSynonymDictionary = JClass("com.hankcs.hanlp.dictionary.CoreSynonymDictionary")
text = "这个方法可以利用同义词词典将一段文本改写成意思相似的另一段文本,而且差不多符合语法"
print(CoreSynonymDictionary.rewrite(text),'\n')
print("获取同义词",CoreSynonymDictionary.rewrite("丢失"))
print("获取同义词,不分词,相当于同义改写",CoreSynonymDictionary.rewriteQuickly("丢失信息"))
print("计算文档语义距离",CoreSynonymDictionary.similarity("你好啊","还行吧"))
print("获取词典中的位置",CoreSynonymDictionary.get("丢失"))
是法可利用同义词词典将同一段落文本改写成意思相似的外一样段落文本,而且基本上符合语法
获取同义词 丢
获取同义词,不分词,相当于同义改写 丢信息
计算文档语义距离 0.0
获取词典中的位置 丢失=If19C01000 EQUAL [遗失=If19C01000, 丢失=If19C01000, 丢掉=If19C01000, 不见=If19C01000, 散失=If19C01000, 丢=If19C01000, 少=If19C01000, 掉=If19C01000, 不翼而飞=If19C01000, 遗落=If19C01000, 有失=If19C01000]
word2vec
除此之外,你也可以使用hanlp中的word2vec训练自己的模型或者加载自己的模型,来完成更多的事情。详细内容你可以浏览HanLP-wiki-word2vec,不过个人感觉wiki中给的几个例子除了玩玩实际意义不大。不过也有实际意义大的用法,比如拿词向量作文本分类,情感分析或者文本聚类,这个我在之后会写。不过基于Python还是更推荐自己写,或者使用gensim。因为本文档仅仅是HanLP的介绍,此处不再作更多描写,你可以自行查询资料,或者关注我的专栏—剑指汉语自然语言处理知乎地址,CSDN地址我会在之后补充这些部分。
WordVectorModel = JClass("com.hankcs.hanlp.mining.word2vec.WordVectorModel")
wordVectorModel = WordVectorModel("xxx.txt") # 此处添加模型
print(wordVectorModel.similarity("山东", "江苏"))