Stanford Named Entity Recognizer (NER)简单应用实例

本文介绍了如何使用Stanford Named Entity Recognizer (NER)训练自定义模型。通过提供训练数据,创建配置文件并运行训练过程,生成了适应特定需求的ner-model.ser.gz模型。模型成功识别了日期和星期等实体。
摘要由CSDN通过智能技术生成

Stanford Named Entity Recognizer (NER)是斯坦福大学自然语言研究小组发布的成果之一,

其主页是:http://nlp.stanford.edu/software/CRF-NER.shtml

Stanford NER 是一个Java实现的命名实体识别(以下简称NER)程序。NER将文本中的实体按类标记出来,例如人名,公司名,地区,基因和蛋白质的名字等。

NER基于一个训练而得的Model工作,用于训练的数据即大量人工标记好的文本,理论上用于训练的数据量越大,NER的识别效果就越好。

斯坦福小组给出了三个训练好的Model:

  1. Location, Person, Organization
  2. Location, Person, Organization, Misc
  3. Time, Location, Organization, Person, Money, Percent, Date

但不幸的是,这三个Model都不能被扩展,用于训练的数据也不公开,所以想要一个适应自己需求的Model我们只能从头训练。

下面我们就用一个简单的例子来摸索一下如何训练一个新的Model并用它尝试识别几个简单的句子。

首先从主页下载Stanford Named Entity Recognizer:http://nlp.stanford.edu/software/stanford-ner-2013-11-12.zip 解压即可。

文中提到的训练数据、配置文件、Model和完整工程可从网盘下载:http://pan.baidu.com/s/1xNAqD

准备训练数据


这是本例所使用的训练数据,包含标记好的两句话:Today is Friday. Tomorrow is 11/30.
如图,句子中的每个单词独立成行,Tab后跟该单词的类别,默认为O。例中,我们标记了Friday为WEEK,11/30为DATE,其余均为默认。

训练获得Model

官方说虽然所有的参数都可以通过命令行的方式指定,但更推荐用配置文件的方式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值