IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 命名实体识别(NER)实战demo-LSTM+CRF -> 正文阅读

[人工智能]命名实体识别(NER)实战demo-LSTM+CRF

命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。

该篇面向的更多是开始做命名实体识别的小白,推荐几篇对NER介绍非常详细的文章
流水的NLP铁打的NER:命名实体识别实践与探索
命名实体识别的一点经验

简介

最开始接触知识图谱的时候可能更多理解的是概念,对实战没有很多认识,之后慢慢有开始学习知识图谱的构建。认识到其实命名实体识别本质是多分类任务(定义好实体类别后,对每个字词进行分类),具体的分类基于标签体系(常见的标签体系有IO,BIO,BMEWO,BMWEO+),一般标签体系越复杂,准确性越高。

命名实体识别时,网上找了大量资源,但最初的学习效果并不好,看了很多内容还是不知道真正该怎么做。直到b站看到一个视频TensorFlow:BERT框架项目实战,其中一节内容是医学糖尿病数据命名实体识别,详细介绍了code和模型,让我收获很多。具体资源可以在自然语言处理实战项目(基于深度学习)找到,唐宇迪老师讲的真的很清晰透彻!之前很多东西都是跟着老师视频学的(PS:b站有很多视频,因为直接买课程的话会比较贵)。

糖尿病NER
BiLSTM+CRF

于是乎找到NER的code后拿来开始跑,但其中碰到了许多问题,最终解决后想把整个过程记录下来,感兴趣的uu可以一起学习呀~

项目资源

来自唐宇迪老师的项目资源 NLP通用框架BERT

可以直接在百度网盘下载

链接: https://pan.baidu.com/s/13SrM1V08eeVeFfgRbqWe_w 提取码: uphm

项目文件

用的是tensorflow,主要是keras做

  • data
    – test_data.data
    – train_data.data
  • model
    – config.pkl
    – crf.h5
  • train.py(主函数)
  • bilsm_crf_model.py(LSTM+CRF模型)
  • process_data.py(数据处理函数)
  • val.py(预测函数)

代码运行过程中的问题

环境配置

TensorFlow 1.14.0 + Keras 2.2.5 on Python 3.6.

我用的IDE是Pycharm,用的是anaconda下新建的环境(也可以用已有的编译器,但是相关库的版本对应问题可能不太好解决,对于NER任务的话,主要是python、tensorflow、keras版本)

1、对于版本对应问题,可以看这篇文章 tensorflow + python + keras 版本对应关系

2、对于pycharm中配置anaconda,可以看这篇文章 Anaconda+pycharm+tensorflow安装和环境配置(win10)

  • cmd输入conda create --name ner python=3.6创建一个环境,ner是环境名,名字起什么都可以,这里选择的是python3.6
  • 输入conda info --envs看我们现有的环境(ner是否创建成功)
  • 输入activate ner激活环境
  • 输入pip install命令安装相应版本的tensorflow和keras
  • pycharm中新建project项目,选择interpreter时选anaconda下的python.exe

3、需要下载CRF相关库,这里直接根据 keras-contrib : Keras community contributions 进行即可,命令“pip install git+https://www.github.com/keras-team/keras-contrib.git”

这里需要注意要提前下载git,直接pip install会报错,需要用conda install git

报错及解决方法

1、TypeErmor: Tensors in list passed to ‘values’ of ‘ConcatV2’ 0p have types [bool,float32] that don’t all match.
请添加图片描述
解决方法:将mask_zero=True删除 ,因为只有第一次运行会报这个错误,之后再运行就不会了,所以第一次可以删除后再恢复

2、importEPror: Failed to impont 'pydot '. Please install 'pydot '. For example with 'pip install pydot .
请添加图片描述
解决方法:

conda install graphviz
conda install pydotplus
pip install pydot

3、AttributeError: ‘str’ object has no attribute 'deco
请添加图片描述
找到对应文件,例如下图中所示的就是saving.py文件
请添加图片描述
找到所有的decode相关代码,将decode改为encode即可,例如:

将query = query.decode(errors=‘replace’)改成query = query.encode(errors=‘replace’)

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:19:21  更:2021-11-29 16:22:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 4:01:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码