python - 如何从 Doc 对象生成 .conllu?
问题描述
我在哪里可以找到 Spacy 接受的示例 .conllu 文件?或示例如何生成它?与 IOB ?
尝试将我生成的 .conllu 文件转换为 .json 以进行模型训练,这样:
head_ix = token.head.i - sent[0].i + 1
conll.append( (str(i), token.orth_, token.lemma_, token.tag_, token.ent_type_, str(head_ix), token.dep_) )
(你有这样做的正确例子吗)
这是错误:
$ python -m spacy convert spt3.conllu
.......
File "/usr/local/lib/python2.7/dist-packages/spacy/cli/converters/conllu2json.py", line 25, in conllu2json
for i, (raw_text, tokens) in enumerate(conll_tuples):
File "/usr/local/lib/python2.7/dist-packages/spacy/cli/converters/conllu2json.py", line 65, in read_conllx
id_, word, lemma, pos, tag, morph, head, dep, _1, iob = parts
ValueError: need more than 7 values to unpack
然后用这个:
conll.append( (str(i), token.orth_, token.lemma_, token.tag_, '-', str(head_ix), token.dep_, str(head_ix), token.dep_, '-') )
错误是这样的:
head = (int(head) - 1) if head != "0" else id_
ValueError: invalid literal for int() with base 10: 'amod'
解决方案
textacy可以这样做:
from textacy.export import doc_to_conll
doc_to_conll(doc)
推荐阅读
- java - 使用 Tomcat 插件的 Jersey webapp 未部署
- c - 使用 syslog-ng 在 json 日志中显示特殊字符
- laravel - 如何在 Carbon 上自动捕捉这一天?
- php - 语言字符串加载失败:phpmailer 第一个实例的 tls 但第二个实例成功发送邮件
- javascript - 如何使用 HTML 在 javascript 中加载网格
- python - 使用 Matlab 引擎将 Numpy ndarray 传递到 Matlab 函数时数据损坏
- php - 使用链接信息在 PHP 中重定向
- java - 在Java中按暗度递减顺序对十六进制颜色进行排序
- mongodb - 仅根据 createdAt 列从 MongoDB 中获取数据
- javascript - 使 Vue.js 路由器只匹配数字