- 博客(41)
- 收藏
- 关注
原创 HarvestText
HarvestTextSow with little data seed, harvest much from a text field.播撒几多种子词,收获万千领域实 用途HarvestText是一个基于少量种子词和背景知识完成一些领域自适应文本挖掘任务(如新词发现、情感分析、实体链接等)的工具。在很多领域文本分析中,我们往往已经了解其中的一些关键词语或实体,例如小说文本分析中的人...
2019-01-04 15:54:43 4493 17
原创 如何搜索同时引用了两篇特定文章的论文?
在科研中,有时看到两个研究类似问题的工作,会希望看看是否有后续工作对二者进行了比较和评价。比如,我听说XLNet和RoBERTa是两个很牛的预训练模型,但不知道他们孰强孰弱。那我们就想找找同时引用了它们的论文,看看别人是怎么评价比较他们的?然而,Google Scholar这类的流行的搜索引擎并不直接提供找到同时引用了两篇特定文章A,B的论文,这样的搜索功能,那么我们怎么实现这一点呢?在StackExchange的讨论中,高赞回答提供的解决方案是,从A的引文中,再搜索B的标题,然后看看得到的结果。因为一般
2021-06-22 20:57:16 1481 1
原创 使用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 9163 4
原创 conceptnet-numberbatch: 结合常识知识的词向量 - 概述及使用
在NLP领域,常识知识的使用越发成为热点,因为其有希望帮助克服现有模型的局限:它们仅从训练数据中学到的有偏的、浅薄的知识,而并不擅长像人一样进行真正的推理。常识知识的表示形式有很多:有的是以图的形式,如ConceptNet;有的是以模型的形式,如COMET;而本文要介绍的应该是其中比较易于使用的一种,词向量形式。其代表是conceptnet-numberbatch。简介ConceptNet Numberbatch 是一组词向量,可以直接以向量形式表达词的语义。它是ConceptNet开源项目的一部分
2020-11-26 21:21:32 1748
原创 Resolver error: Error: The VS Code Server failed to start 的一种解决方案
解决方案:打开VS Code菜单"View"->“Command Palatte”->“Kill VS Code Server on Host”选择出问题的远程服务器杀掉那个上面的VS Code server。然后重新尝试登陆参考:https://github.com/microsoft/vscode-remote-release/issues/2049另外,提供我的问题发生背景,仅供参考:某次服务器的硬盘爆满了,然后VS Code Remote就无法登陆这个服务器,并且弹出Res
2020-11-19 19:46:31 17473 14
原创 交大ADAPT实验室 | 常识知识论文列表
近年来,常识知识(commonsense knowledge)越发成为NLP领域,乃至多模态,跨学科的研究热点。尽管以BERT为代表的的预训练语言模型已经在实体识别、机器翻译、情感分析等任务上取得了亮眼的表现,它们在面对一些人类可以使用常识轻易解决的问题时仍然表现不佳,面对对抗样本时也极为脆弱。似乎这些模型知识只是学到了一些浅层线索和语义,而与人类的知识体系并不相同。因此,将常识知识融入机器学习中就成为了一个充满前景的解决方案。不过,如何抽取常识知识,如何利用常识知识,乃至如何定义“常识本身”依然是有待研究
2020-11-16 15:06:16 1379
原创 准备考试?python也能帮你划重点,上考场(误)
打开查分界面,我看到我的“中国近现代史纲要”一栏露出了难看的脸色。这时,一个程序突然自告奋勇:“不就是这种简单的考试吗?让我学一下你们的课本,我也能够上考场!”我把我的课本文本输入给它。不到一分钟以后,它对我说:“我学完了,来考我吧。”虽然也只是在考前突击了两天,但我对它如此之快的速度还是深感嫉妒。我问:“你知道孙中山先生都干了哪些事情吗?”“发动护法运动、就任临时大总统、让位于袁世凯”...
2020-07-23 20:33:09 1275
原创 tensorflow/pytorch临时指定CUDA版本,解决版本适配问题
经典的深度学习引擎,如tensorflow和pytorch,其自身版本与CUDA版本有着严格的对应关系,一点点的不符都会使得程序无法运行。例如,我目前的默认CUDA==10.2,现在需要跑tensorflow-gpu==1.13.1的代码(要求CUDA==10.0),就会报出这样的错误:ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory由于复现实验时,原始代码的tensor
2020-06-20 17:54:01 2816
原创 AI/机器学习常用公式的LaTex代码汇总
在写AI/机器学习相关的论文或者博客的时候经常需要用到LaTex的公式,然而作为资深“伸手党”的我在网上搜索的时候,居然没有找到相关现成资源@-@那么,我就把自己经常会遇到的公式整理如下,以NLP和一些通用指标函数为主。有需要的可以自取,当然发现有问题或者遗漏的也欢迎指正和补充。(我同步到了Github上( https://github.com/blmoistawinde/ml_equations_latex ),欢迎提issue和PR,当然还有star~)Classical ML Equations
2020-05-21 15:49:40 3618
原创 python文字转图片(二值、RGB)以及numpy数组
文字一般使用unicode等编码的形式在计算机中表示,但是其形态本身也很有价值。如果能够把文字转为图片,就可以做一些应用,比如:基于最近邻查找来实现简单的OCR文字识别从像素中提取特征用于机器学习,如Glyce其他的各种脑洞,比如计算字符所占像素数/长/宽之类的其实现的思路不是那么直截了当,但是想通了就不困难了,就是在画布上画一个字。说到画图,肯定要想到python中的PIL/Pill...
2020-05-03 17:43:09 2484 1
原创 困惑度(perplexity)的基本概念及比较多种模型下的计算(N-gram, 主题模型/LDA, 神经网络/RNN)
发现网络上流传的关于困惑度(perplexity)大多数都是利用了N-gram或者主题模型的例子来阐述的。但是现在这个年代来学习这个指标的人多半都是想研究神经网络的,而两者的对困惑度的计算方法又很不同,这就不能不让人对“困惑度”感到“困惑”了。本人虽然才疏学浅,还是斗胆在这里尝试写一篇文章,试图用简洁的方式来梳理清楚其中的困惑。困惑度的基本定义首先,困惑度是用来评价语言模型好坏的指标。语言模型...
2020-03-19 13:52:40 15136 4
原创 Python正则表达式清洗微博文本特殊符号(网址, @, 表情符等)
在做文本分类的实验时,找到一个微博的情感分析语料,但是其中保留了很多微博中的特殊符号,对于算法的训练来说不太有利。从上面的图中可以看到,微博里主要有几种特殊格式:网页@用户名(包括转发路径上的其他用户名)表情符号(用[]包围)话题(用#包围)作为机器学习的预处理步骤,我希望能够处理掉前3个格式,原因是:1、2不包含有意义的内容(不过我去除转发用户名的时候保留了其内容)3 实...
2019-12-21 20:54:24 15102 14
原创 infoROM is corrupted at gpu解决方法
一次玩游戏的时候突然感觉速度慢了很多,怀疑是显卡出了问题。使用nvidia-smi指令查看显卡信息,发现在最后出现了infoROM is corrupted at gpu这样的警告。这个警告未必意味着硬件问题,可以在软件端解决,所以我先直接给出解决方案:尝试关闭现有的使用GPU的程序,再看一下有没有问题如果还有问题,尝试重启,再看一下有没有问题如果还有问题,请更新显卡驱动(找到电脑的N...
2019-12-17 10:09:46 8776
原创 VS Code jupyter报错Error starting original kernel: python -m jupyter notebook --version is not running
用VS运行jupyter时报错如下Jupyter kernel cannot be started from 'Python 3.6.9 64-bit ('py36': conda)'. Using closest match Python 3.7.4 64-bit instead.Error starting original kernel: python -m jupyter notebo...
2019-11-15 15:47:34 2228
原创 VS 2017 cl : 命令行 error D8040: 创建子进程或与子进程通讯时出错 解决方法
项目->属性->C/C+±>常规,多处理器编译选否
2019-03-28 21:05:50 8576
原创 判菜系、调众口、打分数,这一回,我们用大数据烧菜?
之前看到大数据文摘 我们扒下了全网所有“年夜饭”菜谱,找到了最有年味的一道菜 的一文,对于菜谱数据分析产生了浓厚的兴趣,遂自己也写了个爬虫爬取了某美食网站的一些精选菜谱和食材信息。当看到这些美味佳肴的数据源源不断入库时,我旺盛的好奇心一下子被激发了起来:世界菜系琳琅满目,能不能从数据中挖掘出它们的特色?能不能从大数据中得到大家对美食口味的特别偏好?若是我自己找到甚至做了一道菜,能不能自...
2019-02-22 21:58:36 921 4
原创 从根本解决python3 open的UnicodeDecodeError: 'gbk' codec问题
解决方案先直截了当给出解决方案,在程序开头加上:import _locale_locale._getdefaultlocale = (lambda *args: ['zh_CN', 'utf8'])分析在Windows下经常用python open函数的人相信都遇到过UnicodeDecodeError: ‘gbk’ codec…这种编码问题。而且很多有经验的人应该知道解决方法是加上参...
2019-02-19 16:37:21 11837 10
原创 深度学习哪家强?用数据来一较高下吧
深度学习哪家强?用数据来一较高下吧    本人现在还是一个初识深度学习的小白。初学者总是会面临选择的纠结,尤其是对看似高深的深度学习,有着众多开源框架可供选择,但自己又没有能力评估。于是我看了许多比较文章,其中涉及各种层面的比较(数据结构、使用范围、实现细节),让姿势水平还远远不够的我看得眼花缭乱。  
2019-02-15 20:21:50 506
原创 基于三元组知识图谱的简易问答系统
最近实现了一个基于三元组知识图谱的简易问答系统,下面整理一下我的搭建思路:要解决问答的问题,其实就是要步步解决三个问题:问了什么?答案是什么?怎么回答?问了什么?【问句解析】基于知识图谱的问答系统很难直接回答自然文本状态的问题,所以我们要把问题转化为一定的结构。一个很好的选择就是三元组:RDF是知识图谱的一种常见表示形式,以(subject, predicate, object)的三元组形...
2019-01-20 10:37:07 16078 1
原创 用python分析《三国演义》中的社交网络
一直以来对自然语言处理和社交网络分析都很感兴趣,前者能帮助我们从文本中获得很多发现,而后者能够让我们对人们和各个事物之间普遍存在的网络般地联系有更多地认识。当二者结合,又会有怎样的魔力呢?作为一个三国迷,我就有了这样的想法:能不能用文本处理的方法,得到小说中人物社交网络,再进行分析呢?python中有很多好工具能够帮助我实践我好奇地想法,现在就开始动手吧。准备工作及小范围尝试获得《三国演义》...
2018-12-29 20:34:04 13471 20
原创 jupyter notebook黑科技——制作PPT式的演示文稿
看到[译]27 个Jupyter Notebook的小提示与技巧一文以后,顿感开启了新世界的大门,发现了原来Jupyter notebook中有这么多黑科技!本文就要分享其中的一个很酷的小技巧——制作演示文稿。原文中只有简单提及,我将比较仔细地介绍其用法。首先来体验一下它的效果,我为我的一篇博客更少标注的机器学习方法——主动学习(python示例)创建的实例:这个库叫RISE,能够把我们的...
2018-12-14 21:10:27 13678 4
原创 更少标注的机器学习方法——主动学习(python示例)
准备工作假设我们正要完成手写数字识别的任务。我们可以使用著名的mnist数据集来训练这样的机器学习模型。数字示例如下:总共有1797个数字,每个数字使用一个64维的向量表示效果检验先来看看使用完全数据集训练的模型能够达到什么样的效果(这里暂不区分训练测试集)from sklearn.linear_model import LogisticRegressionclf = Logisti...
2018-12-13 20:57:15 8932 1
原创 python衡量数据分布的相似度/距离(KL/JS散度)
背景    很多场景需要考虑数据分布的相似度/距离:比如确定一个正态分布是否能够很好的描述一个群体的身高(正态分布生成的样本分布应当与实际的抽样分布接近),或者一个分类算法是否能够很好地区分样本的特征(在两个分类下的数据分布的差异应当比较大)。   &a
2018-11-21 20:31:41 30792 17
原创 sklearn: 利用TruncatedSVD做文本主题分析
本文是一个使用sklearn中的TruncatedSVD进行文本主题分析的简要demo。通过主题分析,我们可以得到一个语料中的关键主题,即各个词语在主题中的重要程度,各个文章在各个主题上的倾向程度。并且可以根据它们,得到主题对应的关键词以及代表性文本。我前面写的一篇数据分析 一文看评论里的中超风云 就用到了主题分析的一种: 下面介绍的形式是LSI(潜在语义分析),主题模型中较早也...
2018-10-27 15:49:41 11291
原创 一文看评论里的中超风云
体坛,就是现代的江湖。耀眼的球星如同盖世大侠,杰出的队伍仿佛骁勇铁军。他们的风云故事在人们之间口口相传,也在网络的世界里广泛传播。 本文就旨在利用评论数据分析搜集中超之奇闻轶事,且看这个故事被人们如何传颂。 本文使用的评论数据爬取自直播吧APP里中超比赛的公开可见的赛后评论(截至26轮,共107491条),也从网络上搜集了球队、球员、足...
2018-10-27 09:13:40 1942 4
原创 python 实现FacetNet论文算法
最近研究演进网络(network evolution), 发现Facetnet: a framework for analyzing communities and their evolutions in dynamic networks,这篇文章似乎是演进网络中社区发现的一篇引用量比较高的文章,其中的算法框架和soft modularity和evo...
2018-09-22 21:12:21 1279 4
原创 实体知识+字典树辅助jieba的分词(并对三国演义进行简单分析)
在做中文NLP的时候,分词可谓是基础中的基础。然而这个基础部分的内容直到今天还是让人不省心,在实际应用中【尤其是在人名等实体的识别上】总是显得漏洞百出。改进主要思路:利用字典树(Trie)预先扫描文本,并把识别到的实体替换为一个标准词(这里我用了"人占位符"),再使用jieba的add_word使得标准词一定会被分词器识别出来,最后再在分词结果中把标准词按照位置换回原文或者标准实体名。
2018-09-04 16:19:49 2563
原创 用python进行精细中文分句(基于正则表达式)
中文分句,乍一看是一个挺简单的工作,一般我们只要找到一个【。!?】这类的典型断句符断开就可以了吗。 然而当我处理小说文本时,发现了这种思路的漏洞。故用正则表达式精细解决之。
2018-09-04 10:23:00 33849 25
原创 用python解析pdf中的文本与表格【pdfplumber的安装与使用】
我们接触到的很多文档资料都是以pdf格式存在的,比如:论文,技术文档,标准文件,书籍等。pdf格式使得用机器从中提取信息格外困难。为了解决这个问题,我找到了几种解决方案,最后选择了python上的pdfplumber库,安装和使用都相对比较方便,效果也还不错,所以下面介绍这个库的安装与使用。安装我的电脑配置环境: Win10+python3.6 和许多库一样,其基本安装只需要pi...
2018-08-25 15:28:06 31578 13
原创 python用re.sub实现分组匹配和替换(及问答系统中的应用)
关于正则表达式替换,前面我写过一个应用: python2代码搬运到python3要改很多print? 试试用pyCharm的正则表达式替换 其实这里的替换已经使用了分组的思想。 上面一行的匹配模式print (\S*)中,括号括起的部分匹配到的内...
2018-08-19 17:23:14 21607 3
原创 NeuralCoref: 用指代消解来做一个“能多轮对话的问答对话机器人”
多轮对话对于目前的聊天机器人来说依然是一个难题。而指代消解是有希望帮助解决这个问题的一个技术,下面就利用我们刚刚学过的NeuralCoref【[NeuralCoref: python的共指消解工具,向代词指代的问题进军!](https://blog.csdn.net/blmoistawinde/article/details/81782971)】来写一个“能多轮对话的问答对话机器人”demo吧。
2018-08-18 09:28:57 6061 12
原创 NeuralCoref: python的共指消解工具,向代词指代的问题进军!
首先简要地说说共指消解是什么,有什么用处。假设机器正在阅读一个这样的文本: 克劳德·莫奈是印象派代表人物和创始人之一。 他最重要的风格是改变了阴影和轮廓线的画法。如果机器想要从这段话中了解到关于莫奈风格的知识,它首先必须知道,第二句话中的“他”指的就是莫奈。弄清代词的指代就是共指消解中的一个典型任务。NeuralCoref是使用时下先进神经网络技术完成指代消解任务的一个工具。
2018-08-18 09:28:42 7809 9
原创 基于知识图谱的文本自动注释(python+html)
在探索知识图谱的过程中,发现它可以做一个有趣的应用——文本自动注释。在此整理并分享给大家。下面使用jupyter notebook展示:
2018-08-17 17:09:17 2621 2
原创 pyDatalog: python的逻辑编程引擎【五:与“知识图谱”的交互】
这一回,我们的目标是用pyDatalog与“知识图谱”交互。知识图谱是个很复杂的概念,但一般其中的知识都是以RDF三元组的形式存储的,所以我在这里实际上演示的是pyDatalog与RDF类三元组的交互。官网上没有提供这类问题的“标准解法”,下面的例子是我的一些思考,我也从中发现了用Datalog管理和维护知识图谱的一些特有优势:话说东汉末年,群雄并起,其中一支号称汉室宗亲,这正是我们熟悉的刘备刘皇...
2018-07-02 09:55:11 5072 3
原创 pyDatalog: python的逻辑编程引擎【四:从文件中加载和执行程序】
之前的教程中,所有的操作,包括定义数据等都是在python里面进行的。但是当我们处理庞大的知识库的时候,我们肯定不希望把所有的数据都写在一个py文件里,而是希望把它存在更通用的保存数据的文件格式/数据库里面,在需要的时候再让程序来读取就好了。pyDatalog可以做到这些功能。下面是关于从文件中读取pyDatalog程序,我自己写的简单例子:In [1]:from pyDatalog import...
2018-07-02 08:56:07 2424
翻译 pyDatalog: python的逻辑编程引擎【三:基础教程(下)】
聚合函数聚合函数是一种特殊类型的函数【与数组类元素相关】。我们首先创建说明所需的数据。In [1]:from pyDatalog import pyDatalogpyDatalog.create_terms('X,Y,manager, count_of_direct_reports')# the manager of Mary is John+(manager['Mary'] == 'Joh...
2018-07-01 09:37:48 3052 5
翻译 pyDatalog: python的逻辑编程引擎【二:基础教程(上)】
变量和表达式第一步是导入pyDatalog: 下一步是声明我们将使用的变量。他们必须以大写字母开头: 变量出现在逻辑查询中,返回可打印的结果In [1]:from pyDatalog import pyDatalogpyDatalog.create_terms('X,Y')# give me all the X so that X is 1print(X==1)X-1查询可以包含多个...
2018-06-30 14:56:31 6744
原创 pyDatalog: python的逻辑编程引擎(用于推理、查询等)【一:序言】
在探索"知识推理"的时候找到了pyDatalog这个工具。它借鉴了Datalog这种声明式语言,可以很方便自然地表达一些逻辑命题和数学公式,并且它是在我现在最爱的python上实现的。尝试以后,其简洁优雅的形式一下子把我吸引住了。来看一个官网上用它实现阶乘的例子:from pyDatalog import pyDatalogpyDatalog.create_terms('factoria...
2018-06-30 14:01:04 7517
原创 python2代码搬运到python3要改很多print? 试试用pyCharm的正则表达式替换
在把以前的一些python2的代码搬运到python3时,最麻烦的一些修改莫过于就是要把以前的print x类的语句全部改成函数式的print(x)的形式。想用replace来解决问题,好像又没办法解决右边的括号问题。直到我发现了pycharm的正则表达式替换工具,这个问题一下就迎刃而解了!下面说明用法: 在replace面板,勾选右边的regex选项,这样find和replace都...
2018-06-29 21:14:08 6504 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人