基于CRF++的命名实体识别浅析

基于CRF++的命名实体识别浅析

背景:本科选修课课程设计,折腾了一段时间,后来发现其实不是很复杂,但是如果零基础的话还是蛮难弄的,鉴于网上大都是Linux系统下的,这里简单科普一下在windows上怎么进行这个功能,本篇侧重基础操作,旨在熟悉流程。

一、源程序的下载

  • 理论上可以通过官网直接下载,但是好像有墙,所以这里我给一个百度网盘的链接吧,里面有试验所需全部文件。

  • 百度网盘链接 提取码:cdsk

  • CRF++的window版不需要安装,直接在文件夹中输入cmd命令行运行即可。

二、实验原理

三、实验进行


所需要的文件主要在这个chunking里面。

  • 首先实验进行你得要有两个东西,一是训练语料,这个材料一般会给到,二是训练模板,这个需要自己写。
  • 在这里插入图片描述在这里插入图片描述
  • 模板的含义是什么呢,通过别的参考资料可以得到是很多token的组合
  • 打颗🌰,看下面的数据在这里插入图片描述
    机器对它识别的时候,就需要拿个模板,从前面到后面一个个地去查是否符合标准,就像拿个测温枪对着你,看你有没有发烧一样。你看前面的模板是五个窗口长度的,为什么这么说,因为从-2~+2,括号里面第二项是对应这个数据第二列,也就是词性,所以这个模板下的算法其实是同时对一二行的数据进行处理的。
    U16:%x[-2,1]/%x[-1,1]/%x[0,1]
    U17:%x[-1,1]/%x[0,1]/%x[1,1]
    U18:%x[0,1]/%x[1,1]/%x[2,1]
    比如说这三行是什么意思,就是联合(-2,-1,0)(-1,0,1)(0,1,2)这三个位置的数据:
    同样以上述数据为例(检测6~10行)
    机器通过这三个模板得到:李/铁映/等,铁映/等/向,等/向/地

四、实验演示

  • 给大家简单演示一下怎么操作
  1. 准备好实验材料,进入文件夹
    在这里插入图片描述

  2. 输入命令crf_learn -a MIRA -f 3 -c 1.5 template1.txt train1.txt model_1在这里插入图片描述
    在这里插入图片描述
    可见生成了模板一

  3. 进行测试crf_test -m model_1 test.txt >> output1.txt
    在这里插入图片描述
    得到结果在这里插入图片描述
    第四列为所得结果。

五、结果评价

  • 本实验中我们通过一个py程序对结果进行评价
    在这里插入图片描述
  • 操作演示
    在这里插入图片描述
    使用时需要将代码12行里面改为需要的文件,比如我们得到了output1.txt,就改成这个;
    同样在该窗口下运行cmd命令:python analize.py
    在这里插入图片描述
    运行结果
    在这里插入图片描述
    ⭐End~经验分享,欢迎交流⭐

其他参考:

  1. CRF++使用教程
  2. CRF++命名实体识别
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值