HanLp句法分析和依存句法可视化、保存到json文件中

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)

完整代码和运行结果以及语料都已经上传到资源啦,欢迎大家下载,CSDN必须要设置成收费或积分,大家如果不着急,可以私聊我私发哦。
资源下载:https://download.csdn.net/download/weixin_46570668/18234525.
哦对啦,我开始把讲解更新B站和抖音啦,名字都叫猫猫头丁,欢迎大家来关注啊!!!
B站:https://space.bilibili.com/410893912.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫头丁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值