国科大大数据分析课程第二次作业(NER和LSI)

国科大大数据分析课程第二次作业(NER和LSI)

一、LSI算法

  1. 已知词项文档矩阵 C=在这里插入图片描述

​ 利用LSI算法,求词项与文档各自的3维表示。

:将词项文本矩阵进行奇异值分解进行潜在语义分析:
在这里插入图片描述

得到话题空间在这里插入图片描述
,以及文本在话题空间的表示在这里插入图片描述

在这里插入图片描述

代码:

import numpy as np
from numpy import linalg as la
from numpy import mat
if __name__=="__main__":
  X = mat([[1, 0, 1, 0, 0, 0], [0, 1, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0], [1, 0, 0, 1, 1, 0], [0, 0, 0, 1, 0, 1]])
  U, S, T = la.svd(X) #SVD降维
  print(U[:,0:3].round(1))
  print(T[0:3,:].round(1))

二、LSTM+CRF和BERT+LSTM+CRF

分别使用LSTM+CRF和BERT+LSTM+CRF方法进行命名实体识别,数据集为conll-2003,最后将两者结果进行对比.

总体实验思路:将此命名实体识别(Named Entity Recognition,NER)问题看作一个序列词性标注(Part-Of-Speech tagging, POS tagging)问题,可以用词性标注的方法来做;

  1. 方法一:词性标注问题可以用长短期记忆神经网络(LSTM)和条件随机场(CRF)来实现,通过LSTM训练出标注序列,使用CRF对模型增加约束,使用向前向后算法计算出损失值Loss,最后使用维特比(Viterbi)算法解码出标记序列,以达到命名实体识别的目的。

  2. 方法一在数据集conll-2003的实验效果:

在这里插入图片描述

  1. 方法二:引入BERT对语料进行预训练,之后使用方法一中相同的方法进行命名实体识别,实现算法优化。

  2. 方法二在数据集conll-2003的实验效果:

在这里插入图片描述

  1. 实验结果分析:LSTM+CRF的方法进行命名实体识别虽然在训练集上准确率较高,但在测试集上表现并不是很好,在加入BERT预训练优化后,相比LSTM+CRF,BERT+LSTM+CRF的训练集准确率到达了98%,比前者提高了4%,总体召回率提升了20%,无论训练集还是测试集准确率、召回率和F1值都得到了很大的提升。

  2. 结论:BERT果然名不虚传!

  3. 实验代码:https://github.com/2017403603/NER.git

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程哥哥吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值