论文复现_1:Chinese NER Using Lattice LSTM

本文介绍了一种结合词典信息的Lattice LSTM模型,该模型通过晶格结构整合词汇信息,改善了命名实体识别(NER)的效果。它利用双向LSTM获取字符嵌入,并结合词级信息与bi-grams特征,最终通过维特比解码实现高效的实体边界识别及类型分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文重新读。
gate recurrent cell:门控递归单元使我们的模型能够从一个句子中选择最相关的字符和单词,以获得更好的NER结果。

Lattice LSTM:格子LSTM

实体识别可以看为两个过程:实体边界识别和实体的类型分类任务。
关系分类也是包含两个任务的呀,关系的实体头识别和实体头类型的分类任务。

词典融入的问题:
我们通过使用晶格结构的LSTM来表示句子中的词汇,从而将潜在的词汇信息整合到基于特征的LSTM-CRF中。
latent:晶格结构
lexicon:词汇表
网络模型:LSTM-CRF,使用LSTM的目的是为了建模时序信息。

所以是为每一个句子设计一个lstm模型吗?——文中提到是一个dynamic route。
gated cells are used to dynamically route information from different paths to each character.

构建Word的晶格结构,通过匹配一个句子序列以自动获得的词典。
character-lattice,用的是auto-matically obtained lexicon

在这里插入图片描述

s = c1, c2, . . . , cm, where cj denotes the jth character. s can further be seen as a word sequence s = w1, w2, . . . , wn

wi表示的句子中的Word,对于句子找那个的第i个Word,采用t(j,k)表示句子中第j个位置的k个charcter.
南京市|长江大桥
南京市:t(1,1)-南
t(1,2)-京
t(1,3)-市
t(2,1)-长

每个character的embedding的获取是采用bi-directional LSTM得到的。将正反向的embedding拼接作为char的embedding .

所以,论文中表示bi-grams信息的时候,是将char和bi-gram做的拼接,而bi-grams的信息是在look-uplabel中找到的。

除了bi-grams之外的信息,还添加了word-segmentation的信息,而单词分区的信息查找是通过look-up table查询的。
e s代表一个分割标签嵌入查询表

所以,每个charcter拼接的信息,除了character自身额信息外,还拼接了character的bi-grams信息,还有character的可能词的信息

在计算的时候,是在bi-lstm的cell信息计算时,将cell信息做了丰富。

这是在basic的LSTM计算的公式:
在cell的信息计算时,考虑cell的上一个时序信息和当前cell的信息。

在这里插入图片描述

然后,文中的LSTM在计算的时候的公式是:
Word cell的计算时c_be_w
融合character的cell的计算时采用权重分配,
在cell计算中,考虑了所有相同结尾的词的信息的拼接。

在这里插入图片描述
解码:维特比解码。一阶维特比解码方式。参数好像是有beam_size。
first-order Viterbi algorithm
损失函数:L2正则方式。

### 关于LSTM论文复现的方法与代码实现 #### LSTM复现概述 长期短期记忆网络(Long Short-Term Memory, LSTM)是一种特殊的循环神经网络(Recurrent Neural Network, RNN),能够有效解决传统RNN中的梯度消失和梯度爆炸问题[^1]。其核心在于通过门控机制控制信息流,从而捕捉长时间序列依赖关系。 #### 数据集准备 在进行LSTM模型复现时,通常需要准备好适合的时间序列数据或其他结构化数据。例如,在时间序列预测任务中,可以使用公开的数据集如股票价格、天气预报等;而在自然语言处理领域,则可能涉及中文命名实体识别(NER)任务使用的语料库[^2]。 #### 模型构建 以下是基于Keras框架的一个简单LSTM模型示例: ```python from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense def build_lstm_model(input_shape): model = Sequential() model.add(LSTM(50, activation='relu', input_shape=input_shape)) model.add(Dense(1)) model.compile(optimizer='adam', loss='mse') return model ``` 此代码片段定义了一个具有单层LSTM单元的回归模型,并采用了均方误差作为损失函数以及Adam优化器来训练模型。 #### 维特比解码应用 对于某些特定应用场景下的LSTM模型,比如中文命名实体识别任务,除了基本架构外还需要引入额外的技术手段提高性能表现。其中一种常用技术就是采用一阶维特比算法来进行路径搜索以获得最佳标签序列。该过程可以通过设置`beam_size`参数调整候选数量大小进而影响最终效果质量。 #### 开源项目推荐 如果希望快速上手并深入理解如何利用Lattice LSTM完成中文NER工作的话,可以直接参考已有的开源仓库资源。这里提供一个链接指向本地存储位置及其在线版本地址供查阅学习之用[^3]: - **本机地址**: `E:\PythonProject\pythonProject_draft\词典使用\LatticeLSTM-master` - **远程地址**: [GitCode](https://gitcode.net/Hekena/latticelstm-master_py3/-/tree/master) 以上内容涵盖了从理论基础到实际操作层面的知识要点,帮助研究者更好地开展相关课题探索活动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

YJII

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

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

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

打赏作者

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

抵扣说明:

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

余额充值