
python
文章平均质量分 50
Luban250
这个作者很懒,什么都没留下…
展开
-
英文维基百科Python查询API
问题描述维基百科语料库是做文本挖掘和自然语言处理相关实验的一个非常重要的公开可获取大规模语料库(知识库),有时需要对其进行检索并对获取结果页面的相关信息,如正文文本、标题、页面文本长度等。一种常见的做法是把维基百科语料的dump下载到本机使用,但是这种做法对本机的性能(内存、硬盘)等有一定要求,并且要自己进行众多繁琐的预处理,如果要进行检索,则还需要在本地实现检索功能,显然需要的预处理工作量有点大。如果我们不是使用大规模维基百科语料进行模型训练(如预训练模型),那么可以参考维基百科提供的API接口快速调用原创 2021-08-08 16:49:31 · 1312 阅读 · 0 评论 -
关联规则及Apriori算法Python实例
关联规则学习概述在大型数据库中发现变量之间有趣关系的方法,目的是利用一些有趣的度量识别数据库中的强规则。基于强规则的概念,Rakesh Agrawal等人引入了关联规则以发现由超市的POS系统记录的大批交易数据中产品之间的规律性。例如,从销售数据中发现的规则{薄饼,鸡蛋}->{火腿肠},表明如果顾客一起买薄饼和鸡蛋,他们也有可能买火腿肠(这些顾客是想早饭吃手抓饼吧,哈哈),此类信息可以为大卖场商品组合促销或电商网站产品推荐等相关商业决策提供依据。除了上述的购物篮分析外,关联规则还被应用在许多领域中,转载 2021-07-17 18:33:52 · 1781 阅读 · 0 评论 -
将Chrome作为不限速下载器使用
问题在写小爬虫时,遇到要下载很多PDF文档,如果直接在爬虫代码里实现文件下载功能,需要考虑断点续传、网络不稳定、爬虫被ban等问题,如何不使用代码批量下载这些文档呢,现在已经有了所有文件的下载地址,使用专门的下载软件,也可能会被文件服务器限速或阻止,最好是能用浏览器去下载,充分模拟正常用户的行为,但是把地址一个个输到浏览器中,手动下载,可太耗时了,那就不是模拟正常用户行为,而是真的人工手动下载了,哭唧唧,所以我们要找一个浏览器插件,来接收全部文件地址,实现一键批量下载。解决方法选择Chrome浏览器,原创 2021-04-20 19:05:11 · 485 阅读 · 0 评论 -
Python字符统一标准化
问题在Python 3.X环境下使用Hugging Face中Bert模型获取词向量时,发现tokenizer的分词结果出现乱码,如下:# 这是直接在交互式命令行执行的结果tokenizer.tokenize("anti - spam suit")Out[3]: ['anti', '-', 'spa', '##m', 'suit']转念一想,spam这样一个常见词应该在词表里出现啊,那问题应该出现在编码上,只要将字符串编码统一即可,想起之前看github上使用Bert的DNN项目代码,那个项原创 2021-03-10 16:13:03 · 887 阅读 · 0 评论 -
K-means文本聚类使用自定义距离函数
问题在使用K-means对文本聚类时,常用余弦距离,但是scikit-learn中的k-mean只支持欧氏距离,简单的解决办法就是将文本向量标准化(模长变为1),此时欧式距离与余弦距离是单调的,选择欧氏距离与选择余弦距离是等价的,需要注意的是余弦距离=1-余弦相似度,该解决方法详见博文《余弦距离与欧式距离》。但是,如果我们想在K-menas中使用自己定义的距离函数,该怎么办呢,计算文本相似度时,经常会遇到根据任务需求自定义相似度计算指标的情况哦,改scikit-learn的源代码或者自己实现一份支持自定义原创 2020-12-23 08:59:47 · 8413 阅读 · 7 评论 -
Python打印彩色文本
Motivation希望高亮突出显示文本数据中的某些片段,这些片段可能是某些任务的gold standard,在做错误分析时,想高亮显示,以便对比预测结果与truth之间的差异。SolutionPython 3.Xfrom termcolor import coloredprint(colored('hello', 'red'), colored('world', 'green'))Result:ReferenceHow to print colored text in Python?原创 2020-12-02 16:45:31 · 322 阅读 · 0 评论 -
Python正则表达式字符替换时引用pattern
问题python中字符创替换操作通常使用replace函数,如果要批量将一些字符都进行统一替换呢,比如将标点符号都替换为PUNCT,此时大家会想到用正则表达式中的re.sub函数,更进一步,如果在替换时要求保留标点符号并在其两侧加上空格呢?泛化地说就是要求不删除被替换对象,而是在被替换对象本身进行一些修改,此时就需要在替换值参数中引用被替换对象,这就要用到pattern引用了,这么说太抽象,下面举例说明。解决方法使用正则表达式的向后引用功能即可,示例如下:import rere.sub(r'[_&原创 2020-09-05 16:05:34 · 1102 阅读 · 1 评论 -
利用Pycharm在项目中搜索字符串
问题使用Pycharm作为Python IDE,有时需要查找某个字符串或者文本在项目中的哪个位置(哪个文件中)出现,比较常见的是在Debug时,根据logging信息,查找打印该log的代码在哪里,此时怎么查找呢?难道要凭猜测或者逐个文件找吗?No!解决办法利用Pycharm的Find in path功能进行快速定位搜索,快捷键是Ctr+Shift+f,或者Edit-->Find-->Find in path好了,别发愁怎么找某个文本片段在项目中的出现位置了,继续学习代码吧。参考资料:原创 2020-09-04 19:45:12 · 8265 阅读 · 0 评论 -
Python argparse从本地文件加载命令行参数
问题很多深度学习项目采用shell文件保存命令行参数,并通过shell脚本来运行项目中的模型训练、测试等工作,但是在学习他人项目的过程中,直接在shell命令行运行脚本,不利于debug和学习代码的细节,此时,我们更希望在IDE(如Pycharm)中能以Debug的方式运行,直接在IDE中运行shell脚本的py文件会出错,提示命令行参数的用法,所以就要想办法快速绕过这一步,能够直接实现在IDE中运行,很容易想到直接在py文件中指定参数,但是使用argparse的add_argument方法手工将所有参数原创 2020-09-04 19:07:41 · 3231 阅读 · 2 评论 -
Python解LeetCode 771: Jewels and Stones
给定A字符串,寻找B字符串中有多少字符出现在A中,重复出现的计算次数,拟采用位操作,为两个字符串计算位表示,然后让这两个位表示求与操作,将结果的二进制表示中各个位相加,或者说计算其中有几个数字1。关于字符串的位操作参见Python解LeetCode 318: Maximum Product of Word Lengths,解答代码如下:import stringclass Solution(object): def numJewelsInStones(self, J, S): """ :t原创 2020-09-02 21:23:17 · 218 阅读 · 0 评论 -
Python解LeetCode 318: Maximum Product of Word Lengths
提供两种解法,第一种利用Python内置的set类型判断两个单词是否有重叠字符,复杂度高,无法通过全部测试;第二种方法使用位运算判断两个单词是否存在重叠字符,复杂度有所降低,可通过全部测试,但是运行时间排名也比较靠后。下述两种答案仅供参考交流,仍有很大的改进空间。第一种解法:from itertools import permutationsclass Solution(object): def maxProduct(self, words): """ :type words: List[st原创 2020-09-01 22:21:35 · 258 阅读 · 0 评论 -
滴滴云安装PyTorch GPU版本并连接本地PyCharm做代码调试和同步
主题:滴滴云服务器上安装PyTorch GPU版本本机PyCharm连接云服务器做代码调试和同步(云服务器不限于滴滴云)背景做深度学习的实验,尤其是涉及图像的实验,大的预训练模型,如VGG、ResNet等配合规模不小的训练数据集,在未配备高性能显卡的电脑上运行耗时很长,如果没有足够资金购买高性能显卡,推荐使用GPU云服务器,考虑到网速问题,推荐使用国内的云平台,国内BAT等大厂都有GP...原创 2020-03-19 13:15:41 · 1419 阅读 · 0 评论 -
Python爬虫小技巧(页面解析,多进程,模拟浏览器,错误处理等)
本博文总结一些常用的爬虫小技巧,不涉及任何爬虫框架,适用于为科学研究或者教育目的而从互联网上爬取少量数据,内容较为粗略,仅从较高抽象层次进行说明,涉及的模块使用方法或者代码实现可以另行搜索其他相关资料参考。数据需求分析首先,要明确实验项目需要哪些数据,例如电商网页中的商品名字、商品价格或者社交网站中的评论标题、评论发表时间等。网页结构分析根据上一步的数据需求分析结果,分析含有...原创 2020-02-08 22:44:14 · 651 阅读 · 0 评论 -
Pycharm创建文件模板
转载:https://blog.phpgao.com/pycharm_template.htmlDecember 23, 2014 python, pycharm,template, ide 进入File->settings->Editor->File and Code Templates->Python Script添加以下内容:#!/usr/bin/en转载 2016-08-04 22:38:17 · 1927 阅读 · 0 评论 -
Pycharm在控制台调试当前程序
转载:http://www.zhihu.com/question/30760311方法一:选中要运行的代码,右键Execute Selection in Console(Alt + Shift + E)。方法二:菜单栏——Run——Edit Configuration——勾选Show command line afterwards。转载 2016-08-04 22:32:55 · 22076 阅读 · 1 评论 -
【pynlpir问题解决】RuntimeError:NLPIR function 'NLPIR_Init' failed
[python] view plain copyTraceback (most recent call last): File "<stdin>", line 1, in <module> File "pynlpir/__init__.py", line 99, in open raise RuntimeError("NLPIR function 'NLPIR_Init' failed.") RuntimeError: NLPIR function 'NLP转载 2016-08-01 11:15:25 · 4507 阅读 · 0 评论 -
Python调用哈工大语言云(LTP)API进行自然语言处理
转载:http://blog.youkuaiyun.com/churximi/article/details/51173297哈工大语言云(语言技术平台云)是以哈工大社会计算与信息检索研究中心研发的“语言技术平台(LTP)” 为基础,提供高效精准的中文自然语言处理云服务。 官网:http://www.ltp-cloud.com/ 使用python调用API实验转载 2016-07-07 22:58:51 · 2169 阅读 · 0 评论 -
选择排序python版
# -*- coding: utf-8 -*-"""selection SortAuthor : Date : 2016-07-06Version: 1.0"""def selectionSort(olist): length = len(olist) for i in range(length-1): minPosition = i原创 2016-07-06 21:58:53 · 392 阅读 · 0 评论 -
基本文本聚类方法
转自:http://blog.youkuaiyun.com/wangran51/article/details/7382258转自:http://hi.baidu.com/yaomohan/blog/item/e7b1c2c2516638110ef477cc.html经过N天的努力,我的第一个文本聚类小程序终于火热出炉了.真不容易啊,在网上看了很多程序才明白其中的核心原理。其实原理转载 2016-06-14 20:26:11 · 13120 阅读 · 0 评论 -
Python sklearn K-means算法及文本聚类实践
转载:http://www.ziliao1.com/Article/Show/B2F0AD01141F0D9ADC32D04B8A2AD6D1.htmlK-Means是常用的聚类算法,与其他聚类算法相比,其时间复杂度低,聚类的效果也还不错,这里简单介绍一下k-means算法,下图是一个手写体数据集聚类的结果。 基本思想 k-means算法需要事先指定簇的转载 2016-06-14 20:29:21 · 14502 阅读 · 1 评论 -
python MySQLdb连接MySQL数据库报错(2003, "Can't connect to MySQL server on 'localhost' (10061)")解决办法
navicat连接MySQL数据库正常,python使用MySQLdb模块连接MySQL数据库时报错如下:import MySQLdbdb = MySQLdb.connect('localhost','root','123456','myDB',charset='utf8')Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> db = MySQLdb.connect('localhost原创 2016-06-28 16:53:04 · 12110 阅读 · 0 评论 -
k-均值聚类算法;二分k均值聚类算法
根据《机器学习实战》一书第十章学习k均值聚类算法和二分k均值聚类算法,自己把代码边敲边理解了一下,修正了一些原书中代码的细微差错。目前代码有时会出现如下3种报错信息,这有待继续探究和完善。报错信息:Warning (from warnings module): File "F:\Python2.7.6\lib\site-packages\numpy\core\_methods.py",原创 2016-06-11 21:20:13 · 7265 阅读 · 3 评论 -
协同过滤算法
http://blog.youkuaiyun.com/acdreamers/article/details/44672305今天要讲的主要内容是协同过滤,即Collaborative Filtering,简称CF。 Contents 1. 协同过滤的简介 2. 协同过滤的核心 3. 协同过滤的实现 4. 协同过滤的应转载 2016-06-11 11:18:57 · 543 阅读 · 0 评论 -
jieba分词词性标记含义
转载:http://www.cnblogs.com/adienhsuan/p/5674033.htmljieba为自然语言语言中常用工具包,jieba具有对分词的词性进行标注的功能,词性类别如下:Ag形语素形容词性语素。形容词代码为 a,语素代码g前面置以A。a形容词取英语形容词 adjec转载 2016-10-03 10:57:16 · 18943 阅读 · 0 评论 -
基于K-Means的文本聚类
http://blog.youkuaiyun.com/freesum/article/details/7376006何为聚类 “聚类是把相似的对象通过静态分类的方法分成不同的组别或者更多的子集(subset),这样让在同一个子集中的成员对象都有相似的一些属性。”转载 2016-06-10 15:43:19 · 5719 阅读 · 0 评论 -
Keras安装与简介
转载:http://blog.youkuaiyun.com/mmc2015/article/details/50976776先安装上再说:sudo pipinstall keras或者手动安装:下载:git clone git://github.com/fchollet/keras.git传到相应机器上安装:cd to转载 2016-08-01 19:54:03 · 5809 阅读 · 0 评论 -
Ubuntu安装Anaconda,Pycharm,IntelliJ IDEA
一、环境:PC机一台+Ubuntu14.04.1 64位系统二、过程安装Anaconda1)下载Anaconda的Linux版本,建议安装Anaconda python 2.7 32位版本,因为32位的python2.7版本对很多科学计算包支持很好:点我进入官网下载链接2)在命令行键入bash pycharm.sh,开始自动安装3)在选择安装目录时,键入原创 2016-09-25 14:32:21 · 4095 阅读 · 0 评论 -
numpy中的矩阵乘法
转载:https://www.douban.com/note/236035787/相关版本:numpy 1.6 &&1.7 && 1.8numpy中的矩阵乘法有两个,np.dot(等价于 array.dot,也等价于np.core.dot,还等价于np.core.numeric.dot)和np.core.multiarray.dot,这两个dot是不一样的实验表明这两个dot的转载 2016-11-03 11:54:05 · 5992 阅读 · 0 评论 -
python中Unix及Linux的新纪元时间
UNIX及Linux的时间系统是由「新纪元时间」Epoch开始计算起,单位为秒,Epoch则是指定为1970年一月一日凌晨零点零分零秒,格林威治时间。 目前大部份的UNIX系统都是用32位元来记录时间,正值表示为1970以後,负值则表示1970年以前。原创 2015-03-06 21:39:39 · 1309 阅读 · 0 评论 -
快速排序算法的Python实现
快算排序算法,快速排序算法的python实现,Python实现款速排序算法原创 2018-01-17 14:41:07 · 1274 阅读 · 0 评论 -
python将unicode和str互相转化
问题:将u'\u810f\u4e71'转换为'\u810f\u4e71'方法:s_unicode = u'\u810f\u4e71's_str = s_unicode.encode('unicode-escape').decode('string_escape')原创 2017-03-02 14:54:17 · 61548 阅读 · 2 评论 -
Python java解决中文乱码问题,读取文本文件为乱码,编辑器打开正常
Python读取文本文件读取乱码,Java读取文本文件乱码,Python读取中文文本乱码,java读取中文文本乱码,程序读取文本文件乱码原创 2017-12-25 22:07:08 · 2686 阅读 · 0 评论 -
最大熵模型GIS算法的Python实现
最大熵模型GIS算法的Python实现最大熵模型工具包原创 2017-05-25 20:21:41 · 6173 阅读 · 3 评论 -
Ubuntu14.04 64位安装MySQL和MySQL-python
1、sudo apt-get update2、sudo apt-get install mysql-server mysql-client3、pip install MySQL-python如果出现错误EnvironmentError: mysql_config not found,安装libmysqlclient-dev,sudo apt-get install libmysqlcl原创 2017-03-23 15:17:40 · 4960 阅读 · 0 评论 -
正则表达式的非捕获组
ref:http://www.cnblogs.com/graphics/archive/2010/06/02/1749707.htmlhttp://www.cnblogs.com/yakun/p/3795589.html原文符号因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\?有无量词问号可以表示重复前面内容的0次或一次,也转载 2017-01-10 12:34:24 · 6300 阅读 · 0 评论 -
Pynlpir词性标记集
reference page:http://pynlpir.readthedocs.io/en/latest/_modules/pynlpir/pos_map.html?highlight=poshttp://pynlpir.readthedocs.io/en/latest/pos_map.html?highlight=poshttps://github.com/tsroten/p原创 2016-12-30 09:23:39 · 3085 阅读 · 0 评论 -
jieba分词增加自定义词表
在使用jieba分词时经常会发现一些未登录词,因此增加领域词表就变得很重要,下面提供增加几种途径:1、领域权威词汇字典2、搜狗输入法领域词库、百度输入法领域词库3、jieba分词提供的其他词典:点我查看jieba分词提供的其他字典然后这三种类型的用户此表取个并集即可,在Python中使用集合操作即可,例如,三种字典均为列表(listt),如下操作即可去除重复:set(u原创 2016-10-03 21:27:02 · 22019 阅读 · 0 评论 -
更改Anaconda下载源,提高下载速度
使用conda install 包名 安装需要的Python非常方便,但是官方的服务器在国外,因此下载速度很慢,国内清华大学提供了Anaconda的仓库镜像,我们只需要配置Anaconda的配置文件,添加清华的镜像源,然后将其设置为第一搜索渠道即可,参见Anaconda的官方说明:点我查看Anaconda官网关于Configuration file的说明,点我查看Anaconda官网对.con原创 2016-09-30 15:29:11 · 69596 阅读 · 13 评论 -
修改pip安装源加快python模块安装
转载: http://blog.youkuaiyun.com/u012592062/article/details/51966649用pip安装依赖包时默认访问https://pypi.Python.org/simple/,但是经常出现不稳定以及访问速度非常慢的情况,国内厂商提供的pipy镜像目前可用的有:http://pypi.douban.com/ 豆瓣http://pyp转载 2016-10-24 19:40:42 · 3446 阅读 · 1 评论 -
python 正则过滤四字节字符
转载:http://blog.youkuaiyun.com/shuifa2008/article/details/41780067项目中有时需要过滤掉四字节以上的字符(表情),比如MySQL数据库5.5.3以下的版本text字段不支持四字节以上字符于是就需要过滤掉再入库,Python中的方法为:[python] view plain copy转载 2016-05-20 15:10:21 · 2437 阅读 · 0 评论