自然语言处理

NLP之中文自然语言处理工具库:SnowNLP(情感分析/分词/自动摘要)

╄→гoц情女王★ 提交于 2020-04-29 23:38:09
一 安装与介绍 1.1 概述 SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了 TextBlob 的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。 1.2 特点 <div align=center> <img src="https://img2018.cnblogs.com/blog/1173617/201905/1173617-20190505151012809-670304442.png"> </div> ``` python # s as SnowNLP(text) 1) s.words 词语 2) s.sentences 句子/分句 3) s.sentiments 情感偏向,0-1之间的浮点数,越靠近1越积极(正面) 4) s.pinyin 转为拼音 5) s.han 转为简体 6) s.keywords(n) 提取关键字,n默认为5 7) s.summary(n) 提取摘要,n默认为5 8) s.tf 计算term frequency词频 9) s.idf 计算inverse document

Python分词、情感分析工具——SnowNLP

血红的双手。 提交于 2020-04-29 20:59:43
本文内容主要参考GitHub:https://github.com/isnowfy/snownlp what's the SnowNLP   SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。 注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。 安装 pip install snownlp 主要用法 # 导入SnowNLP库 from snownlp import SnowNLP # 需要操作的句子 text = ' 你站在桥上看风景,看风景的人在楼上看你。明月装饰了你的窗子,你装饰了别人的梦 ' s = SnowNLP(text) # 分词 print (s.words) 主要功能 中文分词( Character-Based Generative Model ) 词性标注( TnT 3-gram 隐马) 情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些可能效果不是很好,待解决) 文本分类(Naive Bayes) 转换成拼音(Trie树实现的最大匹配) 繁体转简体(Trie树实现的最大匹配

百分点认知智能实验室出品:智能问答中的对抗***及防御策略

こ雲淡風輕ζ 提交于 2020-04-29 13:02:22
编者按 深度学习模型应用广泛,但其自身有一定的“脆弱性”,即模型输入的微小改动,在不影响人判断的情况下,可能使模型的输出出错,这个过程被称为对模型的对抗***。针对对抗***的研究,早期集中在图像领域,近几年,文本领域也逐渐增多。2019年,百分点从业务实际出发,与北京市科学技术委员会联合主办了数据智能创新应用(DIAC)大赛,聚焦于智能问答中的语义等价问题的对抗***。经过一个多月的研究实践,参赛队伍对该任务做了富有成效的探索,在优胜队伍的方案中,数据增强、对抗样本纠错、使用Focal Loss损失函数和基于FGM的对抗训练成为行之有效的策略。 本文作者:陈旭 一、对抗***概述 随着近些年深度学习的快速发展,深度神经网络逐渐成为机器学习领域的主流模型,被广泛应用于计算机视觉、自然语言处理等领域,但在研究与应用的同时,人们渐渐发现,深度神经网络具有一定的“脆弱性”。比如,在图像识别中,对模型的输入也就是图像像素值做轻微扰动,这种扰动不会改变图像的实际分类,人也难以觉察,却可能导致模型对图像的分类出错;或者在一段文本的情感分析中,文本中有一个字写错,这个错误不影响人的理解,也不会改变人对这段文本的情感判断,模型却可能判断出错。这类错误一方面会降低人们对系统使用体验的好感度,另一方面可能会造成严重的后果,从而也限制了深度神经网络在一些安全要求很高的场景下的应用。 近几年

全球银行专利榜出炉 消费金融欲赶超?

笑着哭i 提交于 2020-04-28 23:12:00
近日,具有全球影响力的知识产权产业媒体IPRdaily与incoPat创新指数研究中心联合发布“2019年全球银行发明专利排行榜(TOP100)”,在上榜的100家银行机构中,有8家银行2019年公开的专利申请数量突破100件,其中,公开专利量在500件以上的三家银行均来自中国。 (图片来源:IPRdaily创新指数研究中心榜单) 据了解,国内银行的专利技术布局侧重点向数据存储/处理、智能交易、身份信息识别/检测、深度学习等领域。 排名第一的微众银行专利主要覆盖方向包括联邦学习(41%)、NLP/智能语音(16%)、机器学习(10%)、广告/推荐技术(9%)、计算机视觉(7%)等方面。 (图片来源:公开资料) 随着5G技术等新的科技革命和产业变革的不断深入,日新月异的需求、颠覆性技术推陈出新、数字化和信息透明化进程加快,都促使银行业加速转型。 此前,中国人民银行印发《金融科技(FinTech)发展规划(2019-2021年)》明确提出,金融科技是技术驱动的金融创新。中国金融机构在技术创新方面的发展继续提速。 与此同时,非银行类金融机构在这方面的投入也逐渐增多。 以持牌消费金融公司为例, 马上消费金融(以下简称“马上金融”)申请专利已累计提交220余项。其专利主要覆盖大数据技术(32.81%)、智能语音技术(17.19%)、风控技术(16.67%)等方向。 (图片来源:公开资料)

自然语言处理之word2vec

独自空忆成欢 提交于 2020-04-28 21:49:13
  在word2vec出现之前,自然语言处理经常把字词转为one-hot编码类型的词向量,这种方式虽然非常简单易懂,但是数据稀疏性非常高,维度很多,很容易造成维度灾难,尤其是在深度学习中;其次这种词向量中任意两个词之间都是孤立的,存在语义鸿沟(这样就不能体现词与词之间的关系)而有Hinton大神提出的Distributional Representation 很好的解决了one-hot编码的主要缺点。解决了语义之间的鸿沟,可以通过计算向量之间的距离来体现词与词之间的关系。Distributional Representation 词向量是密集的。word2vec是一个用来训练Distributional Representation 类型的词向量的一种工具。 1、CBOW与Skip-Gram模型   word2vec模型其实就是简单化的神经网络,主要包含两种词训练模型:CBOW模型和Skip-gram模型。模型的结构图如下(注意:这里只是模型结构,并不是神经网络的结构)      CBOW模型根据中心词W(t) 周围的词来预测中心词;Skip-gram模型则根据中心词W(t) 来预测周围的词。   1)CBOW模型的第一层是输入层,输入的值是周围每个词的one-hot编码形式,隐藏层只是对输出值做了权值加法,没有激活函数进行非线性的转换,输出值的维度和输入值的维度是一致的。   2

机器不学习:word2vec是如何得到词向量的?

青春壹個敷衍的年華 提交于 2020-04-28 21:46:44
机器不学习 jqbxx.com -机器学习、深度学习好网站 word2vec是如何得到词向量的?这个问题比较大。从头开始讲的话,首先有了文本语料库,你需要对语料库进行预处理,这个处理流程与你的语料库种类以及个人目的有关,比如,如果是英文语料库你可能需要大小写转换检查拼写错误等操作,如果是中文日语语料库你需要增加分词处理。这个过程其他的答案已经梳理过了不再赘述。得到你想要的processed corpus之后,将他们的one-hot向量作为word2vec的输入,通过word2vec训练低维词向量(word embedding)就ok了。不得不说word2vec是个很棒的工具,目前有两种训练模型(CBOW和Skip-gram),两种加速算法(Negative Sample与Hierarchical Softmax)。本答旨在阐述word2vec如何将corpus的one-hot向量(模型的输入)转换成低维词向量(模型的中间产物,更具体来说是输入权重矩阵),真真切切感受到向量的变化,不涉及加速算法。如果读者有要求有空再补上。 1 Word2Vec两种模型的大致印象 刚才也提到了,Word2Vec包含了两种词训练模型:CBOW模型和Skip-gram模型。 CBOW模型根据中心词W(t)周围的词来预测中心词 Skip-gram模型则根据中心词W(t)来预测周围词 抛开两个模型的优缺点不说

腾讯开源TurboTransformers,推理加速性能超TensorRT主流优化引擎

与世无争的帅哥 提交于 2020-04-28 20:25:24
  机器之心报道    机器之心编辑部    昨日,腾讯发布了在 GitHub 上的第 100 个开源项目「TurboTransformers」,在多种 CPU 和 GPU 硬件测试中,这款 Transformer 推理加速工具获得了超越 PyTorch/TensorFlow 和目前主流优化引擎的性能表现。      在自然语言处理领域,以 BERT 为代表的 Transformer 神经网络模型是近年来最重要的模型创新,为诸如阅读理解、文章摘要、语义分类、同义改写等 NLP 任务带了显著的效果提升。但 Transformer 在提高模型精度的同时,也引入了更多的计算量,这导致 Transformer 的线上 NLP 服务在部署方面面临着巨大挑战。      业界普遍采用 TensorFlow 或者 Pytorch 来完成 Transformer 的训练部分,但由于深度学习的训练和推理任务存在差异,训练框架直接应用于线上推理并不能得到极致的性能。   昨日,腾讯宣布开源 Transformer 推理加速工具「TurboTransformers」。Turbo 的意思是「涡轮」,一般用来增加发动机氧气含量,带来更大动力,TurboTransformers 则意味着可使推理引擎更加强劲。   项目地址:https://github.com/Tencent

python学习资源--百度云

大城市里の小女人 提交于 2020-04-28 09:10:45
资源已汇总,访问 资源汇总贴 检索~~不定期更新、整理资源~ 1 2019-3-3创建python资源列表 python进阶 Head First Python, 2英文版 4.pdf Python编程:从入门到实践.pdf Python进阶(Intermediate_Python)_中文PDF彩色版.pdf Python学习手册(第4版) 中文版.pdf python学习手册(第5版) 英文版.pdf PYTHON自然语言处理【中文版】.pdf selenium2 python自动化测试实战.pdf 流畅的Python 4.pdf 深入浅出:使用Python编程.pdf python入门 Python3-廖雪峰.pdf 编程小白的第一本Python入门书.pdf 可爱的Python_中文版.pdf 像计算机科学家一样思考python.pdf 与孩子一起学编程.pdf 可视化 Python数据可视化编程实战.pdf 数据可视化之美.pdf 鲜活的数据:数据可视化指南 秦路.pdf 爬虫 Python3 网络爬虫开发实战.pdf Python网络数据采集.pdf Web Scraping with Python.pdf 《Python爬虫开发与项目实战》.pdf 精通Python网络爬虫 核心技术、框架与项目实战 ,韦玮.pdf 数据分析 pandas.pdf Python for

word2vec和word embedding有什么区别?

*爱你&永不变心* 提交于 2020-04-28 05:09:20
word2vec和word embedding有什么区别? 我知道这两个都能将词向量化,但有什么区别? 这两个术语的中文是什么? from: https://www.zhihu.com/question/53354714 个人理解是,word embedding 是一个将词向量化的概念,来源于Bengio的论文《Neural probabilistic language models》,中文译名有"词嵌入"。 word2vec是谷歌提出一种word embedding 的工具或者算法集合,采用了两种模型(CBOW与skip-gram模型)与两种方法(负采样与层次softmax方法)的组合,比较常见的组合为 skip-gram+负采样方法。 可以查看以下两个来源, word embedding : Word embedding - Wikipedia word2vec中的数学原理详解: word2vec 中的数学原理详解(一)目录和前言 对于起源与其他的word embedding方法可以查看 Deep Learning in NLP (一)词向量和语言模型 Word embedding是一个普适的概念,或者任务。为区别one-hot的词向量,可翻译成词嵌入。 Word2vec是Google实现word embedding的一种具体的approach

对word2vec的理解及资料整理

不打扰是莪最后的温柔 提交于 2020-04-28 04:18:30
对word2vec的理解及资料整理 无他,在网上看到好多对word2vec的介绍,当然也有写的比较认真的,但是自己学习过程中还是看了好多才明白,这里按照自己整理梳理一下资料,形成提纲以便学习。 介绍较好的文章: https://www.cnblogs.com/iloveai/p/word2vec.html http://www.dataguru.cn/article-13488-1.html http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/ http://www.cnblogs.com/pinard/p/7160330.html http://www.cnblogs.com/pinard/p/7243513.html https://www.cnblogs.com/pinard/p/7249903.html 一、什么是Word2Vec? 简单地说就是讲单词word转换成向量vector来表示,通过词向量来表征语义信息。 在常见的自然语言处理系统中,单词的编码是任意的,因此无法向系统提供各个符号之间可能存在关系的有用信息,还会带来数据稀疏问题。使用向量对词进行表示可以克服其中的一些障碍。 2013年,Google团队发表了word2vec工具。