自然语言处理

阿里天池文本分类竞赛task1: 赛题理解

纵饮孤独 提交于 2020-08-20 08:20:04
一.比赛背景 在本次Datawhale的竞赛当中,我们有一个具有20w条训练集,5w条测试集的数据集。整个数据集里面包含了各种分类不同的文本,每一个文本在训练集里都进行了标注label,这个label能够让我们知道训练集里面的句子是属于哪一个类别的数据。本次竞赛的文本分类一共有14个类别的数据,分别是:财经,彩票,房产,家居,教育,科技,社会,时尚,时政,体育,星座,游戏和娱乐。那么我们来看看数据集长啥样: 其中,在数据集中标签的对应的关系如下:{'科技': 0, '股票': 1, '体育': 2, '娱乐': 3, '时政': 4, '社会': 5, '教育': 6, '财经': 7, '家居': 8, '游戏': 9, '房产': 10, '时尚': 11, '彩票': 12, '星座': 13}。这个数据集我们打开只会看到我们text的数据,而不会看到每一条text所对应的label,这是因为在csv文件当中标注的label是不会显示出来的,我们需要将其使用pandas进行读入,然后再通过dataframe来查看这个文件,就可以看到训练集数据的label了! 二.测评指标 在本次比赛当中我们使用了f1_score的测评指标,什么是f1_scrore呢?我们来看看它的定义: 相当于f1_score就是精确率和召回率的一个调和均值,这个算法和物理当中求解电阻的方法非常相似

《命名实体识别 NER 论文综述:那些年,我们一起追过的却仍未知道的花名 (一)》,2020-05,龚俊民(昵称: 除夕)

我是研究僧i 提交于 2020-08-20 07:06:02
原文链接: https://mp.weixin.qq.com/s/rf17rA0tBkD9elqF8nHhaw 本文介绍了NER的难点以及相应的解决方案,人机对话系统中的槽位标注也是NER任务,介绍的一些方法还是很有指导意义的。 难点1: 如何命名“命名实体” 何晗在《自然语言处理入门》一书中的总结如下: 数量无穷。比如宇宙中恒星名称、生物界中的蛋白质名称,即便是人名,也是会随着新生儿的命名不断出现新的组合。 构词灵活。比如中国工商银行,既可以称为工商银行,也可以简称为工行。一些机构名甚至存在嵌套现象,比如“联合国销毁伊拉克大规模杀伤性武器特别委员会”内部就嵌套了地名和另一个机构名。 类别模糊。一些命名实体之间的区别比较模糊,比如地名和机构名。有一些地名本身也是机构,比如“国家博物馆”,从地址角度来看属于地名,但从博物馆工作人员来看则是一个机构。 难点2: 实体的无穷 实体命名识别要面对的是排列组合可能无穷的词表。模型对 OOV 的泛化能力远低于我们的预期,所以通常做法是以统计为主,规则词典为辅。 关于基于规则和词典的方法,何晗在《自然语言处理入门》一书中将适于这种方法的实体分为两类 对于结构性较强的命名实体,比如网址、E-mail、ISBN、商品编号,电话,网址,日期,淘宝或拼多多口令等,都可以用正则表达式来处理。 对于较短的命名实体,如人名,完全可以用分词方法去确定边界

BERT解析及文本分类应用

喜夏-厌秋 提交于 2020-08-20 06:37:58
目录 前言 BERT模型概览 Seq2Seq Attention Transformer encoder部分 Decoder部分 BERT Embedding 预训练 文本分类试验 参考文献 前言 在18年末时,NLP各大公众号、新闻媒体都被BERT(《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》)刷屏了,刷新了自然语言处理11项纪录,也被称为了2018年最强自然语言处理模型。 笔者很早便完整看了这篇论文,迟迟没有动手,一方面是因为自己懒,各种事情耽搁了,另一方面还是想通过在具体的任务中进行了确切的实践后再与大家分享交流。废话不多说,下面我们进入正题,2018最强自然语言处理模型BERT(注意修饰语2018,因为最近冒出来的OpenAI的研究人员训练的超大规模15亿参数模型已经进一步打破了记录,并开源了一个117M的小模型和代码: https://github.com/openai/gpt-2,感兴趣的读者可以看看) BERT模型概览 了解BERT模型我们需要先回顾谷歌在早前发表的一些观点和paper,我们首先来简单回顾下seq2seq,之后说说attention引出的transformer模型,最后看看BERT模型的细节以及创新点。 Seq2Seq

基于TorchText的PyTorch文本分类

谁都会走 提交于 2020-08-20 06:35:24
作者|DR. VAIBHAV KUMAR 编译|VK 来源|Analytics In Diamag 文本分类是自然语言处理的重要应用之一。在机器学习中有多种方法可以对文本进行分类。但是这些分类技术大多需要大量的预处理和大量的计算资源。在这篇文章中,我们使用PyTorch来进行多类文本分类,因为它有如下优点: PyTorch提供了一种强大的方法来实现复杂的模型体系结构和算法,其预处理量相对较少,计算资源(包括执行时间)的消耗也较少。 PyTorch的基本单元是张量,它具有在运行时改变架构和跨gpu分布训练的优点。 PyTorch提供了一个名为TorchText的强大库,其中包含用于预处理文本的脚本和一些流行的NLP数据集的源代码。 在本文中,我们将使用TorchText演示多类文本分类,TorchText是PyTorch中一个强大的自然语言处理库。 对于这种分类,将使用由EmbeddingBag层和线性层组成的模型。EmbeddingBag通过计算嵌入的平均值来处理长度可变的文本条目。 这个模型将在DBpedia数据集上进行训练,其中文本属于14个类。训练成功后,模型将预测输入文本的类标签。 DBpedia数据集 DBpedia是自然语言处理领域中流行的基准数据集。它包含14个类别的文本,如公司、教育机构、艺术家、电影等。 它实际上是从维基百科项目创建的信息中提取的结构化内容集

包云岗:“Matlab被禁”事件启发:10年时间,我们能做出卡别人脖子的软件么?

给你一囗甜甜゛ 提交于 2020-08-20 05:35:11
     作者 | 包云岗   编辑 | 王金旺   今年6月,哈尔滨工业大学、哈尔滨工程大学因被列入美国商务部实体名单,并被禁用数学基础软件Matlab,引发了关于国产软件的大规模讨论。   对于大多数理工科学生而言,Matlab并不陌生,Matlab是一款被广泛应用于教学、科研、工业领域的基础软件,而这类EDA(Electronic Design Automation,电子设计自动化)软件,却刚好又是我国的短板。正因如此,不少行业人士感慨,这次我们真的是被卡脖子了。   6月19日,中科院计算所研究员、先进计算机系统研究中心主任,中国开放指令生态联盟秘书长包云岗在微博上分享了他在「CCF YOCSEF杭州· Matlab被禁之特别论坛」上关于“Matlab被禁”事件带来的思考与启发的发言。   包云岗指出,当我们在思考如何解“Matlab被禁”这个燃眉之急的同时,更需要考虑如何才能在未来做出像Matlab这样的工具,做出能卡别人脖子的技术。   至于如何做出像Matlab这样能卡别人脖子的软件,包云岗总结为如下四点:   第一,把东西做出来,而不是追求把论文发出来;   第二,把东西用起来,而不是做完就扔了;   第三,把教学场景用起来,而不是把教学当作负担;   第四,把持久战意识树立起来,而不是期望速胜论。      以下为包云岗在「CCF YOCSEF杭州·

《BERT 的优秀变体:ALBERT 论文图解介绍》2020-05,作者:amitness,译者:ronghuaiyang

断了今生、忘了曾经 提交于 2020-08-20 05:10:12
ALBERT论文: https://arxiv.org/pdf/1909.11942.pdf 英文原文: https://amitness.com/2020/02/albert-visual-summary/ 译文链接: https://www.6aiq.com/article/1589833968655 NLP 最新发展的基本前提是赋予机器学习这些表示的能力。 BERT 1. 掩码语言建模 传统的语言建模 BERT使用的掩码语言建模 2. 下一个句子预测 “下一个句子预测”的目的是检测两个句子是否连贯。 3. Transformer结构 将输入转换成大小为768的向量。关于Transformer和BERT非常好的文章: https://jalammar.github.io/illustrated-transformer/ http://jalammar.github.io/illustrated-bert/ ALBERT总结的BERT的两类问题 1. 内存限制和通信开销 BERT模型非常大,BERT-large有24个隐含层,约3.4亿参数,若想改进需要大量计算资源。 2. 模型退化 更大的模型,更好的性能? Albert作者将BERT-large的隐含层单元从1024增加到2048,在语言建模任务和阅读理解测试中,都有所下降。在阅读理解测试中从73.9%下降到54.3%。

基于TorchText的PyTorch文本分类

旧城冷巷雨未停 提交于 2020-08-20 02:50:36
作者|DR. VAIBHAV KUMAR 编译|VK 来源|Analytics In Diamag 文本分类是自然语言处理的重要应用之一。在机器学习中有多种方法可以对文本进行分类。但是这些分类技术大多需要大量的预处理和大量的计算资源。在这篇文章中,我们使用PyTorch来进行多类文本分类,因为它有如下优点: PyTorch提供了一种强大的方法来实现复杂的模型体系结构和算法,其预处理量相对较少,计算资源(包括执行时间)的消耗也较少。 PyTorch的基本单元是张量,它具有在运行时改变架构和跨gpu分布训练的优点。 PyTorch提供了一个名为TorchText的强大库,其中包含用于预处理文本的脚本和一些流行的NLP数据集的源代码。 在本文中,我们将使用TorchText演示多类文本分类,TorchText是PyTorch中一个强大的自然语言处理库。 对于这种分类,将使用由EmbeddingBag层和线性层组成的模型。EmbeddingBag通过计算嵌入的平均值来处理长度可变的文本条目。 这个模型将在DBpedia数据集上进行训练,其中文本属于14个类。训练成功后,模型将预测输入文本的类标签。 DBpedia数据集 DBpedia是自然语言处理领域中流行的基准数据集。它包含14个类别的文本,如公司、教育机构、艺术家、电影等。 它实际上是从维基百科项目创建的信息中提取的结构化内容集

t分布, 卡方x分布,F分布

南笙酒味 提交于 2020-08-20 00:57:47
T分布:温良宽厚 本文由“医学统计分析精粹”小编“Hiu”原创完成,文章采用知识共享Attribution-NonCommercial-NoDerivatives 4.0国际许可协议(http://creativecommons.org/licenses/by-nc-nd/4.0/)进行许可,转载署名需附带本号二维码,不可用于商业用途,不允许任何修改,任何谬误建议,请直接反馈给原作者,谢谢合作! 命名与源起 “t”,是伟大的Fisher为之取的名字。Fisher最早将这一分布命名为“Student's distribution”,并以“t”为之标记。 Student,则是William Sealy Gosset(戈塞特)的笔名。他当年在爱尔兰都柏林的一家酒厂工作,设计了一种后来被称为t检验的方法来评价酒的质量。因为行业机密,酒厂不允许他的工作内容外泄,所以当他后来将其发表到至今仍十分著名的一本杂志《Biometrika》时,就署了student的笔名。所以现在很多人知道student,知道t,却不知道Gosset。(相对而言,我们常说的正态分布,在国外更多的被称为高斯分布……高斯~泉下有知的话,说不定会打出V字手势~欧耶!) 看懂概率密度图 这一点对于初学者尤为重要,相信还是有不少人对正态分布或者t分布的曲线没有确切的理解。 首先,我们看一下频率分布直方图,histogram:

机器人懂点「常识」后,找东西方便多了:CMU打造新型语义导航AI机器人

拥有回忆 提交于 2020-08-19 23:03:13
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 想让机器人像人一样思考,似乎一直是个难题。 例如,让智(zhi)能(zhang)机器人去客厅拿个遥控器,结果看到机器人在厨房翻箱倒柜… 好消息是,这个问题现在被CMU解决了。 CMU研究团队打造出了一款拥有人类「常识」的导航机器人,让找东西变得更方便。 这款机器人能利用AI判断家中最可能找到目标物体的地点,从而尽快找到它。 例如,让机器人去拿放在「植物」旁边的遥控器,机器人几乎立即检测出了「植物」盆栽所在的位置,从而检测到遥控器的存在。 项目已被ECCV 2020收录,并获得了居住地目标导航挑战赛的第一名。 一起来看看实现的过程。 让机器人「学点常识」 事实上,以往大部分采用机器学习训练的语义导航机器人,找东西的效果都不太好。 相比于人类潜意识中形成的常识,机器人往往有点“死脑筋”,它们更倾向于去记住目标物体的位置。 但物体所处的场景往往非常复杂,而且彼此间差异很大(正所谓每个人的家,乱得各有章法),如果单纯以大量不同场景对系统进行训练,模型泛化能力都不太好。 于是,相比于用更多的样本对系统进行训练,这次研究者们换了一种思路: 采用半监督学习的方式,使用一种名为semantic curiosity(语义好奇心)的奖励机制对系统进行训练。 训练的核心目的,是让系统基于对语义的

基于Bert和通用句子编码的Spark-NLP文本分类

南笙酒味 提交于 2020-08-19 22:59:36
作者|Veysel Kocaman 编译|VK 来源|Towards Data Science 自然语言处理(NLP)是许多数据科学系统中必须理解或推理文本的关键组成部分。常见的用例包括文本分类、问答、释义或总结、情感分析、自然语言BI、语言建模和消歧。 NLP在越来越多的人工智能应用中是越来越重要。如果你正在构建聊天机器人、搜索专利数据库、将患者与临床试验相匹配、对客户服务或销售电话进行分级、从财务报告中提取摘要,你必须从文本中提取准确的信息。 文本分类 是现代自然语言处理的主要任务之一,它是为句子或文档指定一个合适的类别的任务。类别取决于所选的数据集,并且可以从主题开始。 每一个文本分类问题都遵循相似的步骤,并用不同的算法来解决。更不用说经典和流行的机器学习分类器,如随机森林或Logistic回归,有150多个深度学习框架提出了各种文本分类问题。 文本分类问题中使用了几个基准数据集,可以在nlpprogress.com上跟踪最新的基准。以下是关于这些数据集的基本统计数据。 简单的文本分类应用程序通常遵循以下步骤: 文本预处理和清理 特征工程(手动从文本创建特征) 特征向量化(TfIDF、频数、编码)或嵌入(word2vec、doc2vec、Bert、Elmo、句子嵌入等) 用ML和DL算法训练模型。 Spark-NLP中的文本分类 在本文中,我们将使用通用句子嵌入