stanford parse使用命令进行句法树的生成过程

博客讲述因需求变化,要将数据预处理写成完整模块,使用Python方法调用Java程序来使用Stanford Parse。介绍了使用命令执行的示例,还详细说明了在数据预处理中,通过cmd调用Stanford Parse的代码操作步骤,包括编译、复制文件、修改.py文件等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前有介绍过图形化生成的过程,但是需求变了,需要把数据预处理的现成东西写成一个完整的模块,我使用python方法调用java程序,来使用stanford parse。

这个是使用命令来执行:(就是官方打包好的一个例子)

然后就开始看我们的正儿八经的代码吧:

在数据预处理 中,使用cmd调用stanford parse的代码

def dependency_parse(filepath, cp='', tokenize=True):
    print('\nDependency parsing ' + filepath)
    dirpath = os.path.dirname(filepath)#得到文件的绝对路径
    filepre = os.path.splitext(os.path.basename(filepath))[0]#得到路径中最后的文件名和后缀
    tokpath = os.path.join(dirpath, filepre + '.toks')
    parentpath = os.path.join(dirpath, filepre + '.parents')
    relpath = os.path.join(dirpath, filepre + '.rels')
    tokenize_flag = '-tokenize - ' if tokenize else ''
    cmd = ('java -cp %s DependencyParse  -tokpath %s -parentpath %s -relpath %s %s < %s'
           % (cp, tokpath, parentpath, relpath, tokenize_flag, filepath))
    os.system(cmd)
  1. 先编译javac -cp 依赖.jar xxx.java
  2. 然后把class复制到lib下
  3. 修改.py文件
  4. 运行

把这个java文件复制到stanford-parser文件夹里面编译的

在路径下执行

会出来一个警告,不要在意:

得到class文件

将这个class文件复制到上层目录下,因为这里路径指定死了,所以丢到上层目录下

修改.py文件:把:改成;

然后回去执行python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值