python 自然语言处理
文章平均质量分 74
blmoistawinde
上海西南某高校学森一枚,数据玩家,喜欢有趣有意义的数据挖掘分析。目前兴趣方向在NLP,社交网络分析和知识图谱等。
向往风一般自由,希望拂过之处给世界带来些清新与滋润~
邮箱:[email protected]
Github:https://github.com/blmoistawinde
展开
-
使用huggingface全家桶(transformers, datasets)实现一条龙BERT训练(trainer)和预测(pipeline)
使用huggingface全家桶(transformers, datasets)实现一条龙BERT训练(trainer)和预测(pipeline)huggingface的transformers在我写下本文时已有39.5k star,可能是目前最流行的深度学习库了,而这家机构又提供了datasets这个库,帮助快速获取和处理数据。这一套全家桶使得整个使用BERT类模型机器学习流程变得前所未有的简单。不过,目前我在网上没有发现比较简单的关于整个一套全家桶的使用教程。所以写下此文,希望帮助更多人快速上手。原创 2021-01-16 16:24:55 · 8869 阅读 · 4 评论 -
conceptnet-numberbatch: 结合常识知识的词向量 - 概述及使用
在NLP领域,常识知识的使用越发成为热点,因为其有希望帮助克服现有模型的局限:它们仅从训练数据中学到的有偏的、浅薄的知识,而并不擅长像人一样进行真正的推理。常识知识的表示形式有很多:有的是以图的形式,如ConceptNet;有的是以模型的形式,如COMET;而本文要介绍的应该是其中比较易于使用的一种,词向量形式。其代表是conceptnet-numberbatch。简介ConceptNet Numberbatch 是一组词向量,可以直接以向量形式表达词的语义。它是ConceptNet开源项目的一部分原创 2020-11-26 21:21:32 · 1659 阅读 · 0 评论 -
交大ADAPT实验室 | 常识知识论文列表
近年来,常识知识(commonsense knowledge)越发成为NLP领域,乃至多模态,跨学科的研究热点。尽管以BERT为代表的的预训练语言模型已经在实体识别、机器翻译、情感分析等任务上取得了亮眼的表现,它们在面对一些人类可以使用常识轻易解决的问题时仍然表现不佳,面对对抗样本时也极为脆弱。似乎这些模型知识只是学到了一些浅层线索和语义,而与人类的知识体系并不相同。因此,将常识知识融入机器学习中就成为了一个充满前景的解决方案。不过,如何抽取常识知识,如何利用常识知识,乃至如何定义“常识本身”依然是有待研究原创 2020-11-16 15:06:16 · 1327 阅读 · 0 评论 -
困惑度(perplexity)的基本概念及比较多种模型下的计算(N-gram, 主题模型/LDA, 神经网络/RNN)
发现网络上流传的关于困惑度(perplexity)大多数都是利用了N-gram或者主题模型的例子来阐述的。但是现在这个年代来学习这个指标的人多半都是想研究神经网络的,而两者的对困惑度的计算方法又很不同,这就不能不让人对“困惑度”感到“困惑”了。本人虽然才疏学浅,还是斗胆在这里尝试写一篇文章,试图用简洁的方式来梳理清楚其中的困惑。困惑度的基本定义首先,困惑度是用来评价语言模型好坏的指标。语言模型...原创 2020-03-19 13:52:40 · 14410 阅读 · 4 评论 -
用HarvestText自动识别实体及人物别名,用于实体链接分析
用HarvestText自动识别实体及别名,用于实体链接分析原创 2020-01-26 21:12:05 · 1567 阅读 · 2 评论 -
Python正则表达式清洗微博文本特殊符号(网址, @, 表情符等)
在做文本分类的实验时,找到一个微博的情感分析语料,但是其中保留了很多微博中的特殊符号,对于算法的训练来说不太有利。从上面的图中可以看到,微博里主要有几种特殊格式:网页@用户名(包括转发路径上的其他用户名)表情符号(用[]包围)话题(用#包围)作为机器学习的预处理步骤,我希望能够处理掉前3个格式,原因是:1、2不包含有意义的内容(不过我去除转发用户名的时候保留了其内容)3 实...原创 2019-12-21 20:54:24 · 14284 阅读 · 14 评论 -
准备考试?python也能帮你划重点,上考场(误)
打开查分界面,我看到我的“中国近现代史纲要”一栏露出了难看的脸色。这时,一个程序突然自告奋勇:“不就是这种简单的考试吗?让我学一下你们的课本,我也能够上考场!”我把我的课本文本输入给它。不到一分钟以后,它对我说:“我学完了,来考我吧。”虽然也只是在考前突击了两天,但我对它如此之快的速度还是深感嫉妒。我问:“你知道孙中山先生都干了哪些事情吗?”“发动护法运动、就任临时大总统、让位于袁世凯”...原创 2020-07-23 20:33:09 · 1238 阅读 · 0 评论 -
基于三元组知识图谱的简易问答系统
最近实现了一个基于三元组知识图谱的简易问答系统,下面整理一下我的搭建思路:要解决问答的问题,其实就是要步步解决三个问题:问了什么?答案是什么?怎么回答?问了什么?【问句解析】基于知识图谱的问答系统很难直接回答自然文本状态的问题,所以我们要把问题转化为一定的结构。一个很好的选择就是三元组:RDF是知识图谱的一种常见表示形式,以(subject, predicate, object)的三元组形...原创 2019-01-20 10:37:07 · 15930 阅读 · 1 评论 -
HarvestText
HarvestTextSow with little data seed, harvest much from a text field.播撒几多种子词,收获万千领域实 用途HarvestText是一个基于少量种子词和背景知识完成一些领域自适应文本挖掘任务(如新词发现、情感分析、实体链接等)的工具。在很多领域文本分析中,我们往往已经了解其中的一些关键词语或实体,例如小说文本分析中的人...原创 2019-01-04 15:54:43 · 4395 阅读 · 17 评论 -
用python分析《三国演义》中的社交网络
一直以来对自然语言处理和社交网络分析都很感兴趣,前者能帮助我们从文本中获得很多发现,而后者能够让我们对人们和各个事物之间普遍存在的网络般地联系有更多地认识。当二者结合,又会有怎样的魔力呢?作为一个三国迷,我就有了这样的想法:能不能用文本处理的方法,得到小说中人物社交网络,再进行分析呢?python中有很多好工具能够帮助我实践我好奇地想法,现在就开始动手吧。准备工作及小范围尝试获得《三国演义》...原创 2018-12-29 20:34:04 · 13128 阅读 · 20 评论 -
sklearn: 利用TruncatedSVD做文本主题分析
本文是一个使用sklearn中的TruncatedSVD进行文本主题分析的简要demo。通过主题分析,我们可以得到一个语料中的关键主题,即各个词语在主题中的重要程度,各个文章在各个主题上的倾向程度。并且可以根据它们,得到主题对应的关键词以及代表性文本。我前面写的一篇数据分析 一文看评论里的中超风云 就用到了主题分析的一种: 下面介绍的形式是LSI(潜在语义分析),主题模型中较早也...原创 2018-10-27 15:49:41 · 11176 阅读 · 0 评论 -
一文看评论里的中超风云
体坛,就是现代的江湖。耀眼的球星如同盖世大侠,杰出的队伍仿佛骁勇铁军。他们的风云故事在人们之间口口相传,也在网络的世界里广泛传播。 本文就旨在利用评论数据分析搜集中超之奇闻轶事,且看这个故事被人们如何传颂。 本文使用的评论数据爬取自直播吧APP里中超比赛的公开可见的赛后评论(截至26轮,共107491条),也从网络上搜集了球队、球员、足...原创 2018-10-27 09:13:40 · 1842 阅读 · 4 评论 -
实体知识+字典树辅助jieba的分词(并对三国演义进行简单分析)
在做中文NLP的时候,分词可谓是基础中的基础。然而这个基础部分的内容直到今天还是让人不省心,在实际应用中【尤其是在人名等实体的识别上】总是显得漏洞百出。改进主要思路:利用字典树(Trie)预先扫描文本,并把识别到的实体替换为一个标准词(这里我用了"人占位符"),再使用jieba的add_word使得标准词一定会被分词器识别出来,最后再在分词结果中把标准词按照位置换回原文或者标准实体名。原创 2018-09-04 16:19:49 · 2523 阅读 · 0 评论 -
用python进行精细中文分句(基于正则表达式)
中文分句,乍一看是一个挺简单的工作,一般我们只要找到一个【。!?】这类的典型断句符断开就可以了吗。 然而当我处理小说文本时,发现了这种思路的漏洞。故用正则表达式精细解决之。原创 2018-09-04 10:23:00 · 32940 阅读 · 25 评论 -
NeuralCoref: 用指代消解来做一个“能多轮对话的问答对话机器人”
多轮对话对于目前的聊天机器人来说依然是一个难题。而指代消解是有希望帮助解决这个问题的一个技术,下面就利用我们刚刚学过的NeuralCoref【[NeuralCoref: python的共指消解工具,向代词指代的问题进军!](https://blog.csdn.net/blmoistawinde/article/details/81782971)】来写一个“能多轮对话的问答对话机器人”demo吧。原创 2018-08-18 09:28:57 · 5917 阅读 · 12 评论 -
NeuralCoref: python的共指消解工具,向代词指代的问题进军!
首先简要地说说共指消解是什么,有什么用处。假设机器正在阅读一个这样的文本: 克劳德·莫奈是印象派代表人物和创始人之一。 他最重要的风格是改变了阴影和轮廓线的画法。如果机器想要从这段话中了解到关于莫奈风格的知识,它首先必须知道,第二句话中的“他”指的就是莫奈。弄清代词的指代就是共指消解中的一个典型任务。NeuralCoref是使用时下先进神经网络技术完成指代消解任务的一个工具。原创 2018-08-18 09:28:42 · 7708 阅读 · 9 评论 -
sklearn: TfidfVectorizer 中文处理及一些使用参数
TfidfVectorizer可以把原始文本转化为tf-idf的特征矩阵,从而为后续的文本相似度计算,主题模型(如LSI),文本搜索排序等一系列应用奠定基础。基本应用如:#coding=utf-8from sklearn.feature_extraction.text import TfidfVectorizerdocument = ["I have a pen.", ...原创 2018-06-26 17:03:40 · 83144 阅读 · 21 评论