HanLp句法分析和依存句法可视化、保存到json文件中
依存句法可视化
本来是想自己做一个可视化,无奈是在是太麻烦,自己的水平不允许我用python实现可视化,所以只能求助外界工具了。
幸好有一个非常好用的工具,我们可以使用南京大学开发的dependence viewer来进行可视化。
这个下载非常方便,大家可以百度一下。
我们每次将HanLp依存句法分析结果保存在txt文件中,然后用dependence viewer打开就可以了。
还是以“我希望所有喜欢我的人都能够幸福平平安安的过好这一辈子”为例,保存在TXT中,如下:
接下来打开dependence viewer,点击“File”->“Read Conll File”
依存句法保存到json文件中
一般保存在json文件中都是字符串或者列表或者字典,但是这次的依存句法分析结果,着实让我非常为难,不知道该怎么保存到json文件中,后来和小伙伴商量,只能选择了一个非常笨的方法,先以str的类型保存到txt中,然后再从中读取,这样就是字符串类型了。虽然非常笨,不过好在能实现。
保存在json文件中的形式如下:
好的是,正好就和依存句法可视化的TXT保存一起搞了,一起来看一下代码吧。
with open(filepath,'r',encoding='UTF-8')as file,open('句法分析.json', 'w') as json_file:
lines=file.readlines()
dict_list = []
i=1
for line in lines:
line=line.strip('\n')
print(line)
path ="txt/"+str(i)+".txt"
with open(path, "w", encoding='utf-8') as f:
f.write(str(HanLP.parseDependency(str(line))))
i=i+1
print(path)
print(HanLP.segment(line))
f = open("TXT/句法分析.txt",'w')
print(HanLP.segment(line),file = f)
f.close()
f = open("TXT/句法分析.txt")
fr = f.readlines()
s = ""
for l in fr:
s += l
f.close()
list=HanLP.parseDependency(line)
f = open("TXT/句法分析.txt",'w')
print(list,file = f)
f.close()
f = open("TXT/句法分析.txt")
fr = f.readlines()
c = ""
for l in fr:
c += l
dict={'原句':line,'句法分析':s,'依存句法':c}
dict_list.append(dict)
json.dump(dict_list,json_file)
完整的代码和运行结果已经上传资源啦!