自然语言处理
broccoli2
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
doccano标注后的序列标注任务数据转录为BIO形式
扫码关注公众号“自然语言处理与算法”,带你搞NLP~今儿是2020年12月31日,本年度最后一更,盆友们,2021再见!继续努力鸭~doccano是一个开源的语料标注工具,其可以用来标注实体识别训练语料。但是标注之后的数据是不能直接作为训练数据的,还需要将其转录一下,下面以转录为BIO为例。1 doccano标注之后的数据格式(json){"id": 4, "text": "?生益科技主要从事覆铜板制造与销售业务,销售收入占到公司总收入的81.52%。", "meta": {}, "annotat.原创 2020-12-31 14:54:05 · 3825 阅读 · 0 评论 -
基于FastText文本分类实战
扫码关注“自然语言处理与算法”公众号,持续更新~下面详细介绍基于FastText文本分类实战。对fasttext原理及模型中的方法不熟悉的话,可以先看看FastText原理解析1.训练数据(样例)训练数据保存在csv文件中,包含labels,text两列,labels有0,1,2三种。labels,text0,大华技术:超高精度人体热成像测温系统经信发布测温系统采1,A股3月迎来艳阳天牛市布局正当时!这类股成主力新宠儿涨停战机2,泰格医药—公司动态点评:业绩符合预期,三大业务板块值得期待Dw.原创 2020-11-28 18:23:04 · 1551 阅读 · 7 评论 -
论文浅尝-Event Extraction by Answering (Almost) Natural Questions
扫码关注“自然语言处理与算法”公众号,定期更新NLP知识,还可以撩博主哦~该文来自EMNLP2020。论文简介:事件抽取一般需要检测事件触发器(event trigger) 并抽取其对应的参数。现有的事件参数抽取方法严重依赖于实体识别的结果,由此引入错误传播问题。为了避免这个问题,文章引入了一种新的事件抽取范式,将事件抽取描述为一个问答(QA)任务,以端到端方式抽取事件参数。实验结果表明,该文章框架在很大程度上优于以往的方法;另外,该框架的一个额外能力是支持零样本学习(zero-shot learn.原创 2020-11-22 21:19:11 · 2299 阅读 · 8 评论 -
BERT微调进行命名实体识别并将模型保存为pb形式
1项目介绍利用BERT做命名实体识别,并将模型保存为saved model(pb)形式,方便后期部署。2方法在模型训练时将默认保存下来的ckpt形式转换为pb形式。(1)在模型中添加如下代码,目的是构造模型的输入,用于将ckpt转换为pb形式。def serving_input_fn(): # 保存模型为SaveModel格式 # 采用最原始的feature方式,输入是feature Tensors。 # 如果采用build_parsing_serving_input_re原创 2020-11-21 12:23:34 · 1951 阅读 · 5 评论 -
tensorflow基于BERT训练文本分类模型保存为PB(saved model)并部署
背景基于BERT构建了文本分类任务,由于需要将模型部署至服务器,所以将模型保存为pb形式。模型架构:BERT+softmax模型保存策略:先将模型保存为ckpt形式然后转换为pb形式。转换为pb形式时需要指定模型的输入节点,代码如下:def serving_input_fn(): # 保存模型为SaveModel格式 # 采用最原始的feature方式,输入是feature Tensors。 # 如果采用build_parsing_serving_input_receiv.原创 2020-10-07 16:36:02 · 3923 阅读 · 2 评论 -
中文文本转换为bert输入的input_ids、input_mask、segment_ids
关注公众号“编程ABC”,茫茫世界不迷路~背景:最近在一家小公司搞了一个基于BERT的文本分类的项目,该项目训练好之后需要将模型保存为saved model形式,最终部署在阿里云机器学习平台上。客户端发送测试请求之前需要先把文本数据转换为BERT要求的形式,即input_ids、input_mask、segment_ids。目前全网好像没有找到类似的工具(有的话就当我年少无知【手动狗头~】),所以把这部分内容摘了出来贡献给各位,觉得有用的话欢迎点赞,讨论。源码#!/usr/bin/python#.原创 2020-10-07 15:49:05 · 12353 阅读 · 5 评论 -
Python正则表达式过滤文本
记录一下def delete_tag(s): s = re.sub('\{IMG:.?.?.?\}', '', s) # 图片 s = re.sub(re.compile(r'[a-zA-Z]+://[^\s]+'), '', s) # 网址 s = re.sub(re.compile('<.*?>'), '', s) # 网页标签 s = re.sub(re.compile('&[a-zA-Z]+;?'), ' ', s) # 网页标签 s =原创 2020-09-11 11:00:56 · 1191 阅读 · 0 评论 -
给定一个序列求指定位数的排列组合数
题目:求1到p(p<10)个数中取k(1<k<p)个全部可能的排列。样例输入:3 2样例输出:[1,2],[1,3],[2,1],[2,3],[3,1],[3,2],方法:回溯+深度优先搜索class Solution: def numofSum3(self,candidates, target)->int: #回溯组合 result=[] tmp=[] candidates.sort()原创 2020-08-27 15:55:52 · 542 阅读 · 0 评论 -
2021NLP算法岗面试笔试总结-持续更新
1.word2vec介绍2.word2vec负采样与层次化softmax原理负采样:单词出现频率的越高,它被采样保留的概率越来越小参考:理解word2vec、负采样、层次化softmax3.CNN中池化层的作用1、特征不变性,空间不变性,池化操作使模型更加关注是否存在某些特征而不是特征具体的位置,可以看做是一种很强的先验,是特征学习包含某种程度自由度,能容忍一些特征微小的位移。2、特征降维。类似于做了维度约减,使模型可以抽取更广泛围的特征,减小了下一层输入大小,进而减小计算量和参数个数。3、在原创 2020-08-26 12:22:08 · 564 阅读 · 0 评论 -
什么是语言模型?如何判断模型是不是语言模型
本文假定读者了解word2vec、emlo、BERT等模型。那么什么是语言模型呢?或者说如何判断一个模型是不是语言模型呢?首先我们来看一下语言模型(LM)的两个目标:(1)LM的目的是为一个句子或词序列赋予一个概率。(2)LM预测下一个词的概率,也就是说它预测下面最有可能出现的一个词。任何一个具有上面任务的模型称为语言模型。如word2vec通过当前词预测上下文词,或通过上下文词曲预测当前的目标词。其他语言模型不再追述,有兴趣的可以自行查阅资料。参考:python自然语言处理...原创 2020-06-01 17:14:07 · 1548 阅读 · 2 评论 -
深度学习与自然语言处理(NLP)学习
笔者是NLP方向研二在读,本博是记录自己深度学习和自然语言处理学习的点滴(主要是资料汇总),不定期更新,希望能帮到你~11.百闻不如一码!手把手教你用Python搭一个Transformer2.从ReLU到GELU,一文概览神经网络的激活函数...原创 2020-04-14 15:43:52 · 478 阅读 · 0 评论 -
BERT预训练模型字向量提取工具--使用BERT编码句子
本文将介绍两个使用BERT编码句子(从BERT中提取向量)的例子。(1)BERT预训练模型字向量提取工具本工具直接读取BERT预训练模型,从中提取样本文件中所有使用到字向量,保存成向量文件,为后续模型提供embdding。本工具直接读取预训练模型,不需要其它的依赖,同时把样本中所有 出现的字符对应的字向量全部提取,后续的模型可以非常快速进行embddinggithub完整源码#!/usr...原创 2020-04-12 10:41:15 · 5265 阅读 · 5 评论 -
bert分词工具-使用Bert自带的WordPiece分词工具将文本分割成单字
笔者不久前发布过一个[中文分字工具](本文称之为version1.0)(https://blog.youkuaiyun.com/broccoli2/article/details/104952639),该工具是将所有的字符单独分离出来,并以空格隔开。笔者使用该工具分字之后在实体分类任务上的效果很差。原因可能有下.时间数据经version1.0处理之后如下:原数据:2020年4月2日version1.0处...原创 2020-04-02 10:16:21 · 6487 阅读 · 2 评论 -
中文字符分字处理工具
中文字符分字处理工具,将字符进行分字处理,字符与字符以空格隔开,如:我是一名小学生 处理后:我 是 一 名 小 学 生input:北京时间3月18日,布鲁克林篮网队今天宣布球队里有4名球员的新冠病毒检测结果呈阳性。篮网队在声明里没有透露这4名球员的名字,但是指出其中1名球员出现了新冠病毒的症状,另外3名球员无症状。与此同时,篮网队表示他们正在通知任何与这些球员接触过的人,包括最近的对手。...原创 2020-03-18 20:24:20 · 910 阅读 · 0 评论 -
论文浅尝-Improving Neural Fine-Grained Entity Typing with Knowledge Attention
这是一篇来自清华2018年的paper。文章做的是基于知识注意力机制的细粒度实体分类任务(Fine-Grained Entity Typing)。任务介绍:给定一个句子,其中包含一个实体和它的上下文,以及一组实体类型,我们的模型旨在预测所提到的实体的每种类型的概率。**提出问题:**大多数现有的方法通常分别从实体提及和上下文单词中提取特征来进行实体类型分类。这些方法不能对实体提及和上下文词...原创 2020-03-14 19:38:44 · 984 阅读 · 0 评论 -
论文阅读-Event Detection without Triggers
Event Detection without Triggers(腾讯、NAACL2019、源码&无数据集源码)原文链接:原文链接(1)背景事件检测(Event detection)的目标是检测文本中是否含有事件并对其进行分类。传统的事件检测任务往往首先识别文本中的事件触发词(Event trigger),然后对触发词进行分类。这类任务需要预定义触发词字典并耗费大量时间对触发词进行标...原创 2020-01-08 14:17:26 · 2609 阅读 · 0 评论 -
Event Detection with Trigger-Aware Lattice Neural Network(论文解读)
本文针对事件抽取任务中的触发词识别和触发词分类子任务提出了可以充分利用字级别和词级别语义信息的模型Trigger-Aware Lattice Neural Network(TLNN),在ACE2005和KBP2017数据集上取得了state-of-art的效果。本文收录在EMNLP2019源码:github 原文:原文链接缺少自然分隔符的语言(如中文)在事件抽取任务上存在以下问题:① 基于词...原创 2020-01-07 16:56:45 · 1446 阅读 · 2 评论 -
金融领域文档级别事件抽取-Doc2EDAG: An End-to-End Document-level Framework for Chinese Financial Event Extract
该论文来自EMNLP2019、清华&微软研究院、源码&数据集【1】已开源github:Doc2EDAGpaper地址:paper原文金融领域数据有以下两种特征:① 事件元素分散(Arguments-scattering):指事件论元可能在不同的句子(Sentence)中。② 多事件(Muti-event):指一个文档中可能包含多个事件。由于Sentence-level级别...原创 2020-01-07 13:13:37 · 6587 阅读 · 0 评论 -
实体标注、序列标注工具-BIO方式
笔者研究方向为NLP知识抽取,做实体抽取实验过程中需要对训练数据进行标注。我先使用jieba分词对原文本进行分词和pos词性标注,然后基于pos词性标注抽取出文本中的公司名、证券、基金名称(这部分也可以使用正则方法)等,保存到word_dict.txt中作为词典,然后基于改词典对原文本中进行的数据进行标注。word_dict.txt如下:INT与BON文本对应的标签。占位词 NONE,这一...原创 2019-12-16 14:10:16 · 15107 阅读 · 20 评论 -
实体抽取-关系抽取-事件抽取与知识图谱学习资源汇总
1.关系抽取之远程监督算法综述该文章介绍了PCNN、基于远程监督的关系抽取、多实例学习等。关系抽取之远程监督算法原创 2019-11-28 10:08:48 · 5573 阅读 · 1 评论 -
随机切分深度学习训练集、验证集、测试集
目的:将1.6万条数据随机切分成训练集、开发集、测试集。参考了python随机读取txt文档某一行的源码,源码如下:#coding=utf-8#! /usr/bin/pythonimport randomimport linecachedef hello():count = len(open('hello.txt','rU').readlines())#获取行数hellonum=r...原创 2019-10-14 18:48:03 · 1039 阅读 · 2 评论 -
什么是实体对齐、实体消歧、属性对齐?
什么是实体对齐、实体消歧?实体对齐旨在判断两个或者多个不同信息来源的实体是否为指向z真实世界中同一个对象。如果多个实体表征同一个对象,则在这些实体之间构建对齐关系,同时对实体包含的信息进行融合和聚集。实体消歧:根据上下文信息实现消除一词多义的现象。参考:实体和属性对齐方法的研究与实现(硕士论文)http://cdmd.cnki.com.cn/Article/CDMD-10007-101881...原创 2019-10-13 11:41:19 · 24974 阅读 · 2 评论 -
自然语言处理相关概念解析
中文分词:词性标注:词性标准课参考哈工大LTP词性列表。命名实体识别:原创 2018-10-10 19:01:37 · 3122 阅读 · 0 评论 -
论文阅读:Semantic Parsing on Freebase from Question-Answer Pairs
转载自:https://zhuanlan.zhihu.com/p/25759682内容速览1.什么是语义解析(Semantic Parsing)2.什么是逻辑形式(Logic Form)3.语义解析KB-QA的方法框架4.实验结果本期我们从传统方法之一的语义解析(有时也被称为语义分析)开始,以一个经典的语义解析baseline方法为例,介绍语义解析如何进行KB-QA。该方法来自斯坦...原创 2019-05-19 16:16:41 · 2191 阅读 · 0 评论 -
余弦相似性的原理及应用
请点击下面链接查看转载文章:TF-IDF与余弦相似性的应用转载 2018-12-14 18:01:55 · 2164 阅读 · 0 评论 -
中文分词引擎 java 实现 — 正向最大、逆向最大、双向最大匹配法
正向最大匹配法分词目标:在词典中进行扫描,尽可能地选择与词典中最长单词匹配的词作为目标分词,然后进行下一次匹配。 算法流程:假设词典中最长的单词为 5 个(MAX_LENGTH),那么最大匹配的起始子串字数也为 5 个(1)扫描字典,测试读入的子串是否在字典中(2)如果存在,则从输入中删除...转载 2018-12-13 19:15:52 · 631 阅读 · 0 评论 -
使用哈工大LTP进行文本命名实体识别并保存到txt
转载出处:https://blog.youkuaiyun.com/informationscience/article/details/76850652 本文实验环境为64位win10系统,python3.6.2,LTP项目文件和模型文件使用的3.3.1版本1.LTP下载(1)LTP项目文件ltp-3.3.1-win-x86.zip(下载链接)...原创 2018-11-13 10:55:38 · 7222 阅读 · 3 评论 -
textRank算法原理介绍与摘要提取
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/Silience_Probe/article/details/80699662 TextRankTextRank 公式在 PageRank 公式的基础上,为图中的边引入...转载 2018-10-30 20:17:06 · 3055 阅读 · 0 评论 -
语义角色标注
说明教程源代码目录在book/label_semantic_roles, 初次使用请参考PaddlePaddle安装教程,更多内容请参考本教程的视频课堂。背景介绍自然语言分析技术大致分为三个层面:词法分析、句法分析和语义分析。语义角色标注是实现浅层语义分析的一种方式。在一个句子中,谓词是对主语的陈述或说...转载 2018-10-24 13:56:05 · 3483 阅读 · 0 评论 -
关键词提取算法-TextRank
本文来自:https://www.cnblogs.com/xueyinzhe/p/7101295.html今天要介绍的TextRank是一种用来做关键词提取的算法,也可以用于提取短语和自动摘要。因为TextRank是基于PageRank的,所以首先简要介绍下PageRank算法。1.PageRank算法PageRank设计之初是用于Google的网页排名的,以该公司创办人拉里·佩奇(Larr...原创 2018-10-23 10:48:22 · 415 阅读 · 0 评论
分享