deepdive抽取
1 修改db.url路径 改为自己的数据库名
2 deepdive load articles input/hm.tsv 导入数据文件
3 deepdive do (app.ddlog中定义的函数)如articles、sentences,每一步后可在数据库中查看是否成功
4 若需要先清空表中数据 postgres命令 truncate table articles; 否则 重复deepdive导入会增加数据,不会擦除之前的
导入nlp工具后,sbt/sbt stage生效,在parser下./run.sh -p 8080,后在postman软件中发送一段中文,测试nlp工具是否生效。
deepdive默认python2环境,在Python3中抽取sentences,调用nlp_markup.py时会报 找不到dd文件。
![image-20200911093743769](/Users/coodooapple/Library/Application%20Support/typora-user-images/image-20200911093743769.png)
![image-20200911093758537](/Users/coodooapple/Library/Application%20Support/typora-user-images/image-20200911093758537.png)
解决方法是在py文件首部指定Python2
- 报错 OutOfMemoryError,修改udf/bazzar/parser/run.sh -Xmx4g为 -Xmx2g,使用最大2gRAM
- do sentences后“wq”保存至数据库,显示run/finished表明成功。可以再数据库中select * from sentences;来查看。
![image-20200916161418590](/Users/coodooapple/Library/Application%20Support/typora-user-images/image-20200916161418590.png)
调用nlp工具后发现,抽取的实体粒度较小,另外deepdive定义关系的类型比较单一,考虑可以分为属性关系和自定义关系两类。