用户工具

站点工具


zh:notes:rel_type_tng

Semantic Relation Extraction Aware of N-Gram Features from Unstructured Biomedical Text

Citation Information

Zheng Wang, Shuo Xu, and Lijun Zhu, 2018. Semantic Relation Extraction Aware of N-Gram Features from Unstructured Biomedical Text. Journal of Biomedical Informatics, Vol. 86, pp. 59-70.

Requirements

  • JDK 1.8 +
  • Maven
  • Git

Data Preprocessing

所有的数据文件经过特征提取后,应当形成特征文件和关系(Relationship)文件。

Feature File特征文件

This file is line-based.原始数据文件是按行组织的文件,每一行是一篇概念上的文档,形如:

第一篇文本
第二篇文本

每一行都又若干段组成,每一段代表一个候选实体对所对应的特征。候选实体对之间用\t隔开,形如:

第一个实体对对应的特征\t第二个实体对对应的特征……

每一个候选实体对的特征之间以一个空格隔开,形如:

特征1 特征2 特征3……:Relationship

如果这个候选实体对被标注为某种关系的实例,则在候选实体对后方加上一个英文冒号和实例名称(Relationship)。

每个特征和关系名称(Relationship)中间不许有空格。如果特征是由多个Token组成的,则用英文下划线_连缀。

关系文件

关系文件是特征文件中可能出现的一切关系(Relationship)的集合。它的每一行是一个关系,形如:

Relationship1
Relationship2
……

Models

打包与运行

本文为完成实验共提供了四个模型:Rel-LDA,Rel-TNG,Type-LDA和Type-TNG,共三个文件。其中,Rel-TNG和Type-TNG在同一份代码的不同分支中,需要使用Git进行切换。所有的模型都可以在目录下使用如下命令生成如“模型名称-1.0-SNAPSHOT-jar-with-dependencies.jar”这样的文件,这个过程可能多次由于网络问题中断:

mvn assembly:assembly -DskiptTests

运行Rel-LDA和Rel-TNG模型可以使用如下命令(请注意空格):

java -Xmx4G -jar Rel-LDA-1.0-SNAPSHOT-jar-with-dependencies.jar 特征文件路径 循环次数 输出文件路径 关系数量 symetricDirichletParam 关系文件路径 种子文档数量(float) 每多少次保存一次 用于计算困惑度的文档的数量(float)

运行Type-LDA和Type-TNG模型可以使用如下命令(比Rel-LDA和Rel-TNG模型多了“实体类型数量”):

java -Xmx4G -jar Rel-LDA-1.0-SNAPSHOT-jar-with-dependencies.jar 特征文件路径 循环次数 输出文件路径 关系数量 实体类型数量 symetricDirichletParam 关系文件路径 种子文档数量(float) 每多少次保存一次 用于计算困惑度的文档的数量(float)

输出文件

执行上述命令后,会在指定路径输出以下几个文件:

  • perplexity文件,记录了每次循环的困惑度
  • final文件,记录了训练得到的模型参数
  • document文件,记录了本次训练之后,训练数据的标注结果
  • result文件,专门记录了本次训练中关系抽取的结果。每一行都由被标注为对应关系的实体对特征组成

除了上述文件之外,每个模型的文件中还包括Evaluator.java文件,使用者可以改写这个文件以获得更进一步的模型输出内容。其中包括:

  • measure文件,计算模型的Recall、Precision和F1-score
  • sort文件,计算在当前模型对候选实体对的似然,这一步的目的是了解模型对候选实体对标注关系的确定程度
  • observation系列文件,对于不同的关系,不同unigram出现的频率。对于TNG系列模型,还包括bigram出现的频率。
zh/notes/rel_type_tng.txt · 最后更改: 2020/08/28 21:02 由 pzczxs