zjunlp / DeepKE

[EMNLP 2022] An Open Toolkit for Knowledge Graph Extraction and Construction
http://deepke.zjukg.cn/
MIT License
3.6k stars 694 forks source link

NER json格式不支持 #574

Closed tianchiguaixia closed 3 months ago

tianchiguaixia commented 3 months ago

就是我发现好像只支持train.txt里面是BIO格式的,我想使用doccano导出的train.json为start和end这种格式怎么办

tianchiguaixia commented 3 months ago

如果转化为BIO格式,你们怎么解决嵌套实体的问题的。那个w2ner如果是嵌套实体呢,你也只能支持BIO格式?

tianchiguaixia commented 3 months ago

请问下,这个可以解决?

zxlzr commented 3 months ago

就是我发现好像只支持train.txt里面是BIO格式的,我想使用doccano导出的train.json为start和end这种格式怎么办

您好,这个需要写一个python 脚本进行转换,对于w2ner方法建议您直接使用这个方法目录下默认的数据格式。

zxlzr commented 3 months ago

wget 120.27.214.45/Data/ner/standard/data.tar.gz 这里有数据的例子

zxlzr commented 3 months ago

如果转化为BIO格式,你们怎么解决嵌套实体的问题的。那个w2ner如果是嵌套实体呢,你也只能支持BIO格式?

嵌套的实体不建议使用BIO格式

zxlzr commented 3 months ago

请问您还有其他问题吗?

tianchiguaixia commented 3 months ago

其实就是为啥不支持start和end这种格式呢。只支持这种弊端很明显的BIO格式呢

tianchiguaixia commented 3 months ago

wget 120.27.214.45/Data/ner/standard/data.tar.gz 这里有数据的例子

这个不就是BIO格式?我不要这种的,无法解决嵌套实体抽取

zxlzr commented 3 months ago

其实就是为啥不支持start和end这种格式呢。只支持这种弊端很明显的BIO格式呢

如果您需要做嵌套实体抽取,请您使用w2ner按上面数据格式就可以,也可以直接使用大模型来做

不同的格式您可以自行写个脚本转换。

zxlzr commented 3 months ago

wget 120.27.214.45/Data/ner/standard/data.tar.gz 这里有数据的例子

这个不就是BIO格式?我不要这种的,无法解决嵌套实体抽取

您好,这里提供的例子是供基础的bilstm 和bert 模型使用的

tianchiguaixia commented 3 months ago

其实就是为啥不支持start和end这种格式呢。只支持这种弊端很明显的BIO格式呢

如果您需要做圈套抽取,请您使用w2ner按上面数据格式就可以,也可以直接使用大模型来做

w2ner里面的数据集,人民日报数据集不就是BIO数据集?我看了啊

zxlzr commented 3 months ago

其实就是为啥不支持start和end这种格式呢。只支持这种弊端很明显的BIO格式呢

如果您需要做圈套抽取,请您使用w2ner按上面数据格式就可以,也可以直接使用大模型来做

w2ner里面的数据集,人民日报数据集不就是BIO数据集?我看了啊

w2ner是支持嵌套抽取的,您需要把数据换成自己的数据就可以。如对方法本身有问题建议您联系论文作者。

tianchiguaixia commented 3 months ago

其实就是为啥不支持start和end这种格式呢。只支持这种弊端很明显的BIO格式呢

如果您需要做圈套抽取,请您使用w2ner按上面数据格式就可以,也可以直接使用大模型来做

w2ner里面的数据集,人民日报数据集不就是BIO数据集?我看了啊

w2ner是支持嵌套抽取的,您需要把数据换成自己的数据就可以。如对方法本身有问题建议您联系论文 因为WwNER里面给的是BIO的数据格式例子,BIO又不能嵌套实体抽取。核心是,你的例子只是给非嵌套实体抽取的BIO数据例子,那嵌套实体,我使用什么格式输入呢,文档里面没说

tianchiguaixia commented 3 months ago

还有就是我看你的transform转换脚本,把所有的json格式start和end等,全部都转换成BIO格式,导致嵌套实体丢失了内容。按道理,支持的三种格式的,三种文件都可以输入,为啥全部都要转换成BIO的txt才行。

zxlzr commented 3 months ago

其实就是为啥不支持start和end这种格式呢。只支持这种弊端很明显的BIO格式呢

如果您需要做圈套抽取,请您使用w2ner按上面数据格式就可以,也可以直接使用大模型来做

w2ner里面的数据集,人民日报数据集不就是BIO数据集?我看了啊

w2ner是支持嵌套抽取的,您需要把数据换成自己的数据就可以。如对方法本身有问题建议您联系论文 因为WwNER里面给的是BIO的数据格式例子,BIO又不能嵌套实体抽取。核心是,你的例子只是给非嵌套实体抽取的BIO数据例子,那嵌套实体,我使用什么格式输入呢,文档里面没说

您好我刚下载看了下 https://github.com/zjunlp/DeepKE/tree/main/example/ner/standard 里面例子数据不是bio格式的,您可以试一试。

zxlzr commented 3 months ago

还有就是我看你的transform转换脚本,把所有的json格式start和end等,全部都转换成BIO格式,导致嵌套实体丢失了内容。按道理,支持的三种格式的,三种文件都可以输入,为啥全部都要转换成BIO的txt才行。

您好, 这是本项目的局限性,大概2 到3年前开发的那时候没做支持嵌套实体抽取功能,您可以自己写个python脚本转换下

tianchiguaixia commented 3 months ago

其实就是为啥不支持start和end这种格式呢。只支持这种弊端很明显的BIO格式呢

如果您需要做圈套抽取,请您使用w2ner按上面数据格式就可以,也可以直接使用大模型来做

w2ner里面的数据集,人民日报数据集不就是BIO数据集?我看了啊

w2ner是支持嵌套抽取的,您需要把数据换成自己的数据就可以。如对方法本身有问题建议您联系论文 因为WwNER里面给的是BIO的数据格式例子,BIO又不能嵌套实体抽取。核心是,你的例子只是给非嵌套实体抽取的BIO数据例子,那嵌套实体,我使用什么格式输入呢,文档里面没说

您好我刚下载看了下 https://github.com/zjunlp/DeepKE/tree/main/example/ner/standard 里面例子数据不是bio格式的,您可以试一试。

他这个默认只读取txt里面的BIO格式,就是无法指定让他读start和end这种格式的json。你知道怎么让他读这个json格式的?

tianchiguaixia commented 3 months ago

还有就是我看你的transform转换脚本,把所有的json格式start和end等,全部都转换成BIO格式,导致嵌套实体丢失了内容。按道理,支持的三种格式的,三种文件都可以输入,为啥全部都要转换成BIO的txt才行。

您好, 这是本项目的局限性,大概2 到3年前开发的那时候没做支持嵌套实体抽取功能,您可以自己写个python脚本转换下

就是说,我能转换成json格式的start和end也不支持嵌套实体抽取?那w2ner,目前给的例子,也只能非嵌套实体抽取?

tianchiguaixia commented 3 months ago

期待你的反馈。

zxlzr commented 3 months ago

还有就是我看你的transform转换脚本,把所有的json格式start和end等,全部都转换成BIO格式,导致嵌套实体丢失了内容。按道理,支持的三种格式的,三种文件都可以输入,为啥全部都要转换成BIO的txt才行。

您好, 这是本项目的局限性,大概2 到3年前开发的那时候没做支持嵌套实体抽取功能,您可以自己写个python脚本转换下

就是说,我能转换成json格式的start和end也不支持嵌套实体抽取?那w2ner,目前给的例子,也只能非嵌套实体抽取?

您好,w2ner的方法是支持嵌套抽取的,您需要转换下数据,在data加载部分可以加载就可以,如果您对方法本身有任何问题建议您联系作者,我们这里只提供了一个常规ner的例子。

tianchiguaixia commented 3 months ago

能不能针对json格式的文本,提供一个加载例子,我看只有BIO txt的常规例子

tianchiguaixia commented 3 months ago

train (93).json 这是我按照你例子里面,转换成json格式的。我该如何加载这个数据呢?看说明文档说支持三个格式:json,txt,docx

tianchiguaixia commented 3 months ago

我看文档里面说支持json格式输入,但是好像不行。只能默认读取txt文件。

zxlzr commented 3 months ago

train (93).json 这是我按照你例子里面,转换成json格式的。我该如何加载这个数据呢?看说明文档说支持三个格式:json,txt,docx

您好,https://github.com/zjunlp/DeepKE/tree/main/example/ner/standard/data 这里有不同格式支持的转换脚本,对于您自己的数据如果包含嵌套,建议您自行修改下数据dataloader代码,目前只有w2ner方法支持嵌套,其他方法暂时是不支持的。

zxlzr commented 3 months ago

train (93).json 这是我按照你例子里面,转换成json格式的。我该如何加载这个数据呢?看说明文档说支持三个格式:json,txt,docx

支持不同格式的转换,最终以统一形式输入模型。

tianchiguaixia commented 3 months ago

train (93).json 这是我按照你例子里面,转换成json格式的。我该如何加载这个数据呢?看说明文档说支持三个格式:json,txt,docx

支持不同格式的转换,最终以统一形式输入模型。

但是你统一格式是BIO格式txt的,这种无法表达嵌套实体。你们应该统一使用json格式的start,end这种才可以。或者说,可选json输入。而不是只有BIO txt格式。

tianchiguaixia commented 3 months ago

其实我就想知道一下,你们支不支持直接以json格式输入。我不要转成使用你们转换脚本成BIO txt格式。

zxlzr commented 3 months ago

其实我就想知道一下,你们支不支持直接以json格式输入。我不要转成使用你们转换脚本成BIO txt格式。

您好,需要修改下dataloader 解析json,我们近期开发支持一下。但其实直接json相当于又做了一次转换,对于非嵌套的BIO够用了,在模型在输入和输出推理的时候BIO是直接输出的标签,json需要再次合成。另外嵌套的目前除了w2ner其他模型都不支持的。

tianchiguaixia commented 3 months ago

其实我就想知道一下,你们支不支持直接以json格式输入。我不要转成使用你们转换脚本成BIO txt格式。

您好,需要修改下dataloader 解析json,我们近期开发支持一下。但其实直接json相当于又做了一次转换,对于非嵌套的BIO够用了,在模型在输入和输出推理的时候BIO是直接输出的标签,json需要再次合成。另外嵌套的目前除了w2ner其他模型都不支持的。

其他的你们可以不改,使用之前格式。可是现在w2ner这个例子,大家使用你们的框架就是为了解决嵌套实体输入和抽取。但是w2ner本身可以支持嵌套抽取,但是你们这个输入格式只能BIO txt,那咋使用w2ner

zxlzr commented 3 months ago

您好,我们这个系统设计主要为了统一,设计时并未考虑嵌套问题,这是我们的疏忽。如果您需要使用w2ner 您可以直接使用源码https://github.com/ljynlp/W2NER

tianchiguaixia commented 3 months ago

没事