SimmerChan / KG-demo-for-movie

从无到有构建一个电影知识图谱,并基于该KG,开发一个简易的KBQA程序。
https://zhuanlan.zhihu.com/knowledgegraph
1.28k stars 424 forks source link

请教一个关于自然语言数据抽取的问题 #15

Closed neohope closed 6 years ago

neohope commented 6 years ago

在近期的项目上,遇到了需要从大段自然语言中抽取数据的需求。我现在可以搞定分词、词性标定、并通过正则进行部分数据抽取。但由于语言并不规范,抽取规则太多,很难完全通过正则表达式抽取数据。

看了很多资料,大家推荐用深度学习的。但找了一大圈,没找到合适的项目或例子。您能帮忙推荐一个吗?或者有其他建议吗?感谢!

SimmerChan commented 6 years ago

不知道你抽取数据指什么,如果是人名、地点这种实体可以参考ncrfpp这个项目。

neohope commented 6 years ago

现在我们在做的内容,主要是根据用户指定的规则,从医疗文档中,抽取科研用的数据。比如: 1、在大段文字中,抽取一些体征指标(体温、血压、脉搏)以及测量值(阴影面积,肿胀周径,细胞个数等); 2、在大段文字中,抽取一些描述性信息(从患者主诉中抽取服用药物、手术名称及手术时间、患者病灶的位置描述信息等); 3、判断大段文字中,是否有一些特殊的描述(失眠,出血),但又有否定及双重否定的情况 4、同义词对照,一个词有n种说法,有些太口语化了 现在我们主要是以正则的方式抽取,但几乎没有通用性,而且遇到口语化的东西就不灵了。

SimmerChan commented 6 years ago

要保证准确率,正则是比较好的方法了,缺点就是你说的没有通用性,模板可能越写越多,不好管理。深度学习就涉及到数据标注的问题,看你罗列的问题也比较复杂,应该也不能当做一个单一任务去标,数据获取成本太大。我也没有太好的建议,不好意思。

neohope commented 6 years ago

是啊,关键就是规则太杂了。 我再找找看,多谢啦:)