基于中文电子病例的命名实体识别算法设计与实现毕业论文
2021-10-28 20:29:51
摘 要
论文的研究目的就是实现中文电子病历的命名实体识别,通过将LSTM网络解决长期依赖问题的能力和CRF提取语句特征的能力结合起来,这是可以实现的。主要的方法就是通过在BILSTM网络中接入CRF层,将输入文本进行Embedding向量化,用一种稠密的表示手段来处理输入数据。接着通过BILSTM-CRF网络进行特征的提取。
研究的主要内容包括对不同网络结构、不同优化算法、不同初始参数的对比实验。研究的结论是BILSTM-CRF相比传统模型,有着较高的准确率。
具体的工作如下:
(1)搜集和学习了30余篇专业论文和50多篇博客;
(2)利用jupyter notebook进行设计实验,熟悉了python的相关语句和深度学习的基本框架,设计算法的总体流程图,并用Pycharm编写了完整的实现代码;
(3)在程序中进行了模型参数的调节和模型结构的改进,达到较为理想的效果后,进行了大量相关的对比实验,并进行了分析和总结。
(4)将实验数据整理成数据表格,并撰写相关的学术论文。
关键词:CRF;LSTM;算法准确率;对比实验
Abstract
The purpose of this paper is to realize named entity recognition of Chinese EMR, which can be realized by combining the ability of LSTM network to solve long-term dependency problem with the ability of CRF to extract sentence features. The main method is to access the CRF layer in the BILSTM network, embed the input text, and use a dense representation to process the input data. Then the feature is extracted by BILSTM-CRF network.
The main contents of the study include the comparative experiments of different network structures, different optimization algorithms and different initial parameters. The conclusion is that BILSTM-CRF has a higher accuracy than the traditional model.
The specific work is as follows:
(1) Collected and studied more than 30 professional papers and more than 50 blogs;
(2) Using jupyter notebook to design experiments, familiar with Python related statements and the basic framework of deep learning, design the overall flow chart of the algorithm, and write implementation code with Pycharm;
(3) In the program, the adjustment of model parameters and the improvement of model structure are carried out. After the ideal effect is achieved, a large number of relevant comparative experiments are carried out, and the analysis and summary are made.
(4) Organize the experimental data into data tables and write related academic papers.
Key words:CRF;LSTM;accuracy;comparative experiment
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 研究动态 1
1.3 预期目标 2
1.4 研究内容 3
1.5 论文基本结构 3
第2章 设计开始前的理论准备 4
2.1 模型部分 4
2.1.1 Embedding层 4
2.1.2 BILSTM层 4
2.1.3 CRF层 6
2.2 训练部分 6
2.2.1 损失函数 7
2.2.2 优化算法 7
2.3 其他理论 8
2.3.1 欠拟合、过拟合 8
2.3.2 切分验证集 8
2.3.3 Dropout 9
第3章 算法的设计以及相关代码 11
3.1 整体设计框架 11
3.1.1 数据集 11
3.1.2 模型搭建 12
3.1.3 模型训练 13
3.1.4 预测 14
3.2 设计细节及相关代码 14
3.2.1 参数选择 14
3.2.2 各部分的代码实现 16
3.2.3 运行效果 18
第4章 对比实验和改进实验 20
4.1 实验结果 20
4.1.1 实测模型对比 20
4.2 其他单项兴趣实验结果 21
4.2.1 优化算法的比较 21
4.2.2 batch size以及epoch的选取 22
4.2.3 不同验证集切分方法的比较 23
4.2.4 Dropout层的性能验证 24
第5章 总结 25
参考文献 26
致 谢 27
第1章 绪论
1.1 研究背景及意义
可不可以将格式较为固定,信息较为单一的电子文档进行计算机处理呢?答案是显然的。如今人工智能领域中自然语言处理(Natural Language Processing,NLP)技术的出现,使得机器逐渐有了近似于人的“文字理解能力”。
电子病历就是一个很不错的例子,最重要的信息就是疾病实体、症状实体、医学检查实体等等,如果真的能将这些实体用序列标注的方式从文中提取出来,一定是一个很有趣的小尝试。当然,在没有实现零误差的时候,最好还是不要把生死攸关的大事交给机器了,“医生看错诊单”可不是闹着玩的。
但是作为研究的方向,这个课题还是相当有意思的。那么从一个电子病历中要提取哪些与医学相关的命名实体呢?为此,我从网络中找到了600份标注好的电子病历,其中对治疗方式,身体部位,疾病症状,医学检查和疾病这 5 类实体进行了BIO三元标记。
1.2 研究动态
电子病历命名实体识别(Named Entity Recognition,NER)任务的核心其实就是NER,作为自然语言处理的基础任务,它始终是热门的话题。几十年来,很多学者研究人员都在关注这个问题。这类序列标注可以运用于下行的应用APP,例如它可以采集用户在浏览器敲入的文字中有哪些商品,进而定向投放个性化推荐广告[1]。