cnn lstm的关系识别之Python

cnn lstm的关系识别 Neural Relation Extraction (NRE) with wechat API 中文采用自主的一些数据集

本文包含相关资料包-----> 点击直达获取<-------

cnn lstm的关系识别

Neural Relation Extraction (NRE) with wechat API 中文采用自主的一些数据集, 英文采用 SemEval2010_task8 数据 采用keras TensorFlow Backend

1. 关系中文

中文识别直接采用tw_word2vec/output_zh.py脚本执行 采用BiLSTM,LSTM模型和CNN模型两个版本 代码中直接修改
中文启动见 trainer.py: shell cd tw_word2vec localhost:tw_word2vec tw$ python trainer.py python config = Configuration( position_matrix_file_path="../data/posi_matrix.npy", word2vec_file_path="../data/needed_zh_word2vec.pkl", POS_list_file_path=relation_military, types_file_path=relation_military, corpus_file_path=relation_military, model_file_path="../data/model/re_military_zh_model.bilstm.hdf5", ) inputer = Inputer(config) trainer = Trainer(inputer, BiLstmTrainer()) outputer = Outputer(trainer) predict_texts = ["<loc>美国</loc>目前共有2级11艘航空母舰,包括企业级核动力航母1艘,尼米兹级核动力航母10<loc>艘,</loc>全部采用核动力发动机", "<loc>美国</loc>经过多年航空母舰的发<loc>展,</loc>一直以来都是全球拥有最多、排水量和体积最大、舰载机搭载数量最多、作战效率最强大、而且全部使用核动力航空母舰的国家"] import json print(json.dumps(outputer.getDescription(predict_texts), ensure_ascii=False)) 英文启动见:tw_word2vec/sem_eval_08.py: shell cd tw_word2vec localhost:tw_word2vec tw$ python sem_eval_08.py ```python config = Configuration( word_segmentor=EnSegmentor(), EMBEDDING_DIM=300, position_matrix_file_path="../data/posi_matrix.npy", word2vec_file_path="../data/needed_word2vec.pkl", POS_list_file_path="../data/pos_list.txt", types_file_path="../data/relations_en.txt", corpus_file_path="../data/train_en.txt", model_file_path="../data/model/re_sem_eval_en_model.cnn.hdf5", ) inputer = Inputer(config) trainer = Trainer(inputer, CnnTrainerEn()) outputer = Outputer(trainer) predict_texts = [" level of experience has already been mentioned in the previous chapter .", " level of experience has already been mentioned in the previous chapter ."] import json

print(json.dumps(outputer.getDescription(predict_texts), ensure_ascii=False))

```

修改具体的分类模型 如果模型不存在会先训练

关系类型:

部分-整体(e1,e2)
部分-整体(e2,e1)
内容-容器(e1,e2)
内容-容器(e2,e1)
产品-生产者(e1,e2)
产品-生产者(e2,e1)
成员-组织(e1,e2)
成员-组织(e2,e1)
实体-地区(e1,e2)
实体-地区(e2,e1)
人物-人物(e1,e2)
人物-人物(e2,e1)
工具-代理(e1,e2)
工具-代理(e2,e1)
起因-影响(e1,e2)
起因-影响(e2,e1)
消息-话题(e1,e2)
消息-话题(e2,e1)
同级
其他相关

训练数据样例:

工具-代理(e2,e1)|\ 你\ 这\ 招\ 打得很不错
部分-整体(e2,e1)|\ 微软公司\ 的\ 财务科\
部分-整体(e1,e2)|\ 钓鱼岛\ 是\ 中国\ 的领土
内容-容器(e2,e1)|\ 导弹\ 携带的\ 炸药\
工具-代理(e2,e1)|\ 阿拉法特\ 乘\ 飞机\ 抵达巴黎
工具-代理(e2,e1)|\ 雷军\ 乘\ 出租车\ 回家
工具-代理(e2,e1)|\ 牙医\ 使用\ 电钻\ 对牙齿进行修复
起因-影响(e2,e1)|最近\ 流感\ \ 病毒\ 爆发
起因-影响(e1,e2)|吸\ 冰毒\ 可能导致\ 死亡\

通过标签将实体区分出来。通过|分割关系类型和训练语料
标签说明: 人物:\ 组织:\ 地理位置:\ 等等
测试集为右侧数据,如:

\ 你\ 准备坐\ 船\ 去那边
结果为左侧分类数据
工具-代理(e2,e1)

接着通过关系词词典筛选具体的关系类型: 1. 对句子进行句法分析,选择包含两个实体的最小的句法树,统计句法树中的名词,动词词频,若仅仅包含一个词则采用,否则进入下一步 2. 针对关系词典,选取句中出现的关系词典中出现的词作为关系词

关系词词典构建: 1. 选取所有仅仅包含2个实体的句子 2. 统计句子中的除实体外的词频()这里可以采用某种聚类 3. 对句子进行句法分析,选择包含两个实体的最小的句法树,统计句法树中的名词,动词词频 4. 对前两步的结果进行综合,获取关系词词典

百科采集

通过对百科数据采集获取部分可靠语料: 1. 通过针对制造业专有名词从百度百科爬取数据 2. 通过类似远监督的方法,从百科的固定格式中抽取出已有的关系 3. 通过对固定关系对文本中的数据进行反标注,形成该实体语料 4. 同时对名词的百科文本进行分析,抽取其中其他制造业名词,进行网状扩展 5. 扩展词重复上面步骤,数据深度目前设置为2,即仅扩展两次 6. 针对反标注的语料,进行人工筛选并完善标注,形成可用语料

其他支持 1. 实体分类

WebService

直接调用tw_webservice/ws.py 启动
端口默认为8005 调用地址为localhost:8005/re
参数 { "sentences":[ "<per>你</per>准备坐<instrument>船</instrument>去那边", "<food>粉丝</food>由<food>马铃薯</food>加工" ] }

返回结果 { "result": [ { "e1": "你", "e1_type": "per", "e2": "船", "e2_type": "instrument", "predict_type": "工具-代理(e2,e1)", "relation_detail": "准备 坐" }, { "e1": "粉丝", "e1_type": "food", "e2": "马铃薯", "e2_type": "food", "predict_type": "起因-影响(e2,e1)", "relation_detail": "加工" } ], "is_ok": true }

参考文献

  • 基于Att-BiLSTM的政府职能知识图谱研究与应用(湖南大学·杨鑫科)
  • 基于机器学习的目标行为认知技术研究(西安电子科技大学·周君会)
  • 基于多粒度语义匹配的知识图谱问答关键技术研究(华中科技大学·许芳芳)
  • 社交网络中基于深度学习的个性化推荐系统研究(江苏大学·孙强)
  • 融合多跳关系路径与实体信息的关系推理方法研究(河北工业大学·刘超)
  • 软件知识领域知识图谱构建关键技术研究与应用(电子科技大学·邹洋)
  • 基于多粒度语义匹配的知识图谱问答关键技术研究(华中科技大学·许芳芳)
  • 面向新闻站点的关系挖掘系统研究与开发(西安电子科技大学·苏赛争)
  • 面向新闻站点的关系挖掘系统研究与开发(西安电子科技大学·苏赛争)
  • Semi-supervised Node Classification Based on Graph Markov Convolution Neural Network(华中师范大学·Yuanming Gu)
  • 基于序列标注的端到端联合知识抽取研究(西南财经大学·张慧)
  • 软件知识领域知识图谱构建关键技术研究与应用(电子科技大学·邹洋)
  • Semi-supervised Node Classification Based on Graph Markov Convolution Neural Network(华中师范大学·Yuanming Gu)
  • 基于机器学习的目标行为认知技术研究(西安电子科技大学·周君会)
  • 基于改进Bi-LSTM模型的实体关系抽取研究(河北地质大学·陈泽峰)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设工厂 ,原文地址:https://m.bishedaima.com/yuanma/35897.html

相关推荐

  • javaweb九宫格日记本系统、servlet+jsp+mysql

    在当今信息技术快速发展的背景下,网络应用日益普及,为了满足用户的个性化需求和提升用户体验,基于JavaWeb技术开发的九宫格日记本系统备受关注,本系统采用Servlet和JSP技术
    2024年05月07日
    5 1 2
  • 非物质文化网站

    这是一个🔥🔥基于SpringBoot框架的非物质文化网站设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    5 1 2
  • 基于Python的机器学习应用

    基于 Python 的机器学习应用 基于 Python 的机器学习应用,针对监控视频完成行人轨迹搜索,通过一张目标图像,能自动从大量视频中搜索出包含目标的视频片段
    2024年05月14日
    2 1 1
  • 基于python的新闻检索系统

    基于python的新闻检索系统 1 系统介绍 1,1 系统需求 新闻检索系统:定向采集不少于 4 个中文社会新闻网站或频道,实现这些网站新闻信息及评论信息的自动爬取
    2024年05月14日
    5 1 1
  • python期末课程

    1,摘 要 本文着眼于对疫情期间教育领域新闻的分析,基于 python 语言,利用爬虫获取教育领域的最新新闻,并将其内容进行分词,抓取关键词,在此基础上,根据关键词进行共现分析
    2024年05月14日
    2 1 2
  • 基于SpringBoot框架的学生干部管理系统

    这是一套采用Java语言开发的🎓学生干部管理系统源代码,基于流行的SpringBoot框架构建,融合了Vue技术,开发工具为Idea或Eclipse,此系统适合作为毕业设计或课程设计的任务
    2024年05月23日
    3 1 2
  • 基于Python实现校园微博热点话题发现系统

    基于 K-means 算法的校园微博热点话题发现系统 1 摘 要 微博由于其“短平快”的信息生产能力和快速传播能力,已经广泛流行于高校学生的日常生活中
    2024年05月14日
    1 1 1
  • 课程答疑系统

    这是一个🔥🔥基于SpringBoot框架的课程答疑系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • 基于Python实现简历智能推荐算法

    摘 要 目前,越来越多不同特点的应聘者和越来越细化的岗位之间,存在巨大的信息不对称,因此高效,准确的将合适的人推荐到合适的岗位,有很大的实际意义,本文针对这一工程实践问题
    2024年05月14日
    4 1 1
  • 基于JavaWeb和Mysql的旅游信息管理系统设计与实现

    基于JavaWeb和Mysql的旅游信息管理系统设计与实现 摘 要 经济在发展,生产总值GDP也会往上跑,生活质量也会上升一个等级,也是因为这一个原因
    2024年05月14日
    3 1 2

发表回复

登录后才能评论