自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 NLP学习

<<自然语言处理入门>>这本书刷了两遍这本书告诉了我NLP能做哪些事情,并很清晰地一步一步逐渐递进地让我了解了NLP的知识,包括一些常见的算法,模型,还有处理数据的方法,特征提取和特征模型构造的方法其中HMM模型和感知机模型难度不大,能够在辅助资料的帮助下推导和理解条件随机场涉及图论等数学知识,不是非常读得懂SVM在视频和<<统计学习方法>>的帮助下能勉强看懂词典分词 —>机器学习模型分词—>命名实体识别---->信息抽取----&

2020-06-05 20:23:32 228

原创 深度学习与NLP

传统方法的缺陷1.向量稀疏文本转换为向量,通常将其编码为独热向量.而文本长度过长会导致编码后的向量稀疏,并且用这种方法生成的向量,近义词之间的差距可能会很大2.特征模板针对前面提到的NLP中的常见问题,如:命名实体识别,分词,句法树,要提高解决每一个问题的模型的精确度,需要单独设计特征模板.然而中文语言复杂,人工设计特征模板并不是容易的事情3.误差传播NLP的实际问题,如关键词提取等,都需要进行分词,词性判断等预处理.然而预处理阶段的错误会导致解决实际问题是发生错误.深度学习的优势通过多层感

2020-06-04 16:12:32 223

原创 句法分析

定义分析句子的句法结构并将其表现为容易理解的结构短语结构树上下文无关法上下文无关法:非终止符可以递推出至少一个下级符号.从起始符开始,逐级递推非终止符,最终可以获得一颗句法树也就是说,给定一个句子,通过上下文无关法,可以将其分解为一棵句法树如句子"上海浦东开发与法制建设同步"分解过程如下:(上海浦东开发与法制建设)(同步) //分解为主谓((上海浦东)(开发与法制建设))(同步) //主语可以分解为两个名词短语…一步步递归下去,最终获得了如下的句法树短语结构语法复杂,句法分析器

2020-06-03 11:17:29 380

原创 文本分类

与聚类的区别聚类是无监督学习而分类是监督学习聚类是根据密度,距离等将数据集分成若干个簇,而分类是根据训练集提供的标签,训练模型,达到将文本归到某个固定的类中.卡方特征在构建词袋模型的过程中,有些对特征影响很小的词语(如助词,标点符号等).可以使用停用词,但不一定准确。这个时候,可以使用卡方特征卡方特征通过统计某词语在某种特定类型的文档中出现的次数,计算该词语出现在某类型文档上的数学期望,再通过查表的方式计算两者独立的置信度.这个置信度越低,说明该词语和该类文档关联的可能性越高.利用卡方特征提取后

2020-05-15 22:17:59 218

原创 文本聚类

聚类将相似的数据归档到一起.属于无监督学习分为硬聚类(直接区分0与1)和软聚类(对于一个数据,为其可能属于每个类计算一个值,取最大的值)NLP中更多使用硬聚类实际应用数据归档,预处理,筛选等.对于数据量大,标注成本高的情况,聚类是唯一的方案词袋模型词袋模型完成从文本到向量的转化分词以后统计各个词语的词频(也可为TFIDF值等),生成一个向量,向量的每个元素的值为该词对应词频优点是计算成本很低,缺点是忽略了词序(比如“我吃鱼”和“鱼吃我”两个句子在词袋模型中表达出来的向量完全一致)n_gr

2020-05-14 17:03:22 366

原创 信息提取

信息熵和互信息信息熵即信息杂乱程度.计算公式为Σp(x) * log p(x)互信息表示表示两信息的关联程度.计算公式为p(x,y)/p(x)*p(y)关键词提取1.词频统计原理: 比较朴素,认为文章中出现频率高的词语即关键词。实现: 分词,停用词过滤,计算词频并排序。(取m个元素中的前n个可以用最大堆算法,数据结构学过。书上有勘误,堆排序的时间复杂度为nlogn,直接排序的复杂度才是mlogn)不足之处: 非常明显,因为高频词不一定就是关键词。改进: 引入 T

2020-05-13 22:02:12 241

原创 命名实体识别

基于规则的命名实体识别简单的分词器(如二元分词器)无法识别OOV,所以需要运用一些规定的规则来辅助识别如:在识别音译人名时,可以设置规则:一旦发现某词是人名,而该词后面跟随人名词时,将他们合并层叠马尔科夫模型实现命名实体识别针对不同情况,需要设计相应的标注集拿人名识别举例输入数据集进行训练后,代码会将人名拆分为碎片,模拟人名的错误切分.接着,检查拆分后的姓名与其前后组成的词是否在辞典中.若在,根据标注集将其标注为对应的标签(如“这里有关天培”这个句子,姓名“关天培”拆分后组成了“有关”这个词语

2020-05-13 21:30:32 713

原创 条件随机场

生成式模型和判别式模型对于多维随机变量建模(如输入的特征向量),根据建模的是联合分布(p(x, y), hmm,朴素贝叶斯)还是条件分布(p(y|x), 感知机,svm)分为生成式模型和判别式模型条件随机场是输入随机变量x,求解条件概率p(y|x)的模型.当输入输出等长时,即为线性链条件随即场与结构化感知机的对比它们具有相同的特征函数,权重向量,打分函数.最大的差别在于训练算法结构化感知机使用在线学习,即每次更新参数只用一个训练实例,而条件随机场考虑了整个数据集,效果更好hanlp中的条件随机

2020-05-13 10:23:27 603

原创 感知机

线性模型 对于隐马尔科夫模型的优点隐马模型只能捕捉到当前字符和前一个标签这两个特征.为了能够充分利用文本的结构,提高准确率,可以引入线性模型线性模型的组成用于提取特征的特征函数Ø和每个特征的权重w感知机的引入通过特征函数抽取出大量样本(特征向量)x,构成样本空间,这时需要将样本空间分类,得出想要的结论。超平面可以划分样本,方法为为特征向量构造一个对应的权重向量w,x中的每一个元素对应w中的一个权重.如何分离出超平面呢?感知机是一个不错的选择.感知机的简单原理读入训练样本(x, y),通过s

2020-05-13 09:22:36 398

原创 隐马尔科夫

分词为何要引入隐马词典分词和N元语法都无法成功召回OOV,需要通过分析句子的结构来提高OOV的召回隐马的基本原理下面列出几个重要的概念。状态序列 i:即上图中黑框对应的部分。状态序列是隐含的,无法直接观测得到的。观测序列O:即上图圆圈内的部分。是可以直接被观测到的。如:看得见的是句子,看不见的是它的语法,那么句子就是观测序列,语法就是状态序列状态变量:Q={q1, q2 , q3…}即状态序列可能取的值观测变量:V={v1, v2, v3…}即观测序列可能取的值HMM模型:λ = (A,

2020-05-10 23:16:07 167

原创 词典分词

切分算法完全切分遍历文本找出在词典中的词语正向,逆向,双向最长匹配正向最长匹配 ,即在完全切分基础上加了一个规则:优先选取长度更长的单词逆向最长匹配,即将正向匹配的扫描顺序改为从后到前正向和逆向都有各自出现歧义的情况,融合两种匹配双向最长匹配,即同时运行两者,若词数不同则返回词数少的,不然返回单字少的,否则返回逆向匹配缺点没有技术含量,消歧效果也不好,时间复杂度较高针对时间复杂度,引入字典树,AC自动机而消歧效果,则需要一些机器学习,深度学习的算法字典树基本原理将文本分成单字,构

2020-05-10 22:08:43 227

原创 《机器学习实战》python3代码(5):逻辑回归

逻辑回归的优缺点优点:1.容易实现2.计算量小。对比于knn,实在是太小了缺点:1.容易欠拟合2.处理特征空间很大,多类特征数据的时候不方便,处理非线性特征需要转换逻辑回归思想梯度上升数学原理如下图基本思想是通过一定次数的梯度上升(或者下降)输出经过数次调整的θ矩阵逻辑回归梯度上升算法的构建步骤一数据预处理,将数据和标签分离步骤二确定循环次数,通过上述推导的梯度上升数...

2020-02-15 00:16:47 498

原创 《机器学习实战》python3代码(4):朴素贝叶斯

朴素贝叶斯的优缺点优点:1.可以处理多类别的问题2.数据较少也可使用3.适合增量式训练,即支持将数据一批一批输入训练缺点:1.对输入数据的准备方式比较敏感。2.朴素贝叶斯假设属性之间互相独立–但这显然是不合理的。在处理属性较多或者属性关联性较大的数据集时,效果显然没有那么好。(这个时候主题模型LDA是个不错的选择)3.需要知道先验概率,故在某些时候会由于假设的先验模型的原因导致预测...

2020-02-11 23:22:48 233

原创 《机器学习实战》python3代码(3):决策树

决策树的优缺点优点:1.计算复杂度不高(对比KNN),顾运算较快2.结果容易可视化(即书中可视化部分的代码)3.对缺失值不敏感,能处理不相关特征的数据4.适合处理数值型和标称型数据(什么是数值型和标称型?:https://www.jianshu.com/p/500c2918723f)缺点:1.不支持在线学习。即在新样本导入的时候,需要重建决策树。2.容易过拟合。但是决策森林可以有效...

2020-02-10 23:25:39 399

原创 安装python时需要注意的

因为总是需要在虚拟机上跑python程序, 报错报的都总结出一些经验了在安装python时需要注意两点1.将 python加入 path,这个选项一定要勾选,不然到时候需要用到pip等功能时就需要手动插入路径, 有点麻烦2.务必选择自定义安装,并勾选为所有用户安装不勾选的话可能会遇到一些报错,如无法识别python编辑器...

2019-11-20 22:50:20 2388

原创 pip install 遇到无法解决的问题时处理的方法

很多时候因为技术水平有限, 导致pip install 时就算换源也会遇到无法安装的错误,这个时候可以直接下载whl文件,以此来安装某个库1.第一步https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql登陆这个网站,里面有很多python的库。找到你需要的库,选择对应的版本,下载到任意路径2.第二部打开cmdpip install + 路...

2019-11-20 22:44:31 251

原创 MongoDB官网下载位置

mongodb官网改版了,按照百度上现存的网址可能无法找到下载页面以下是我找到的,希望能帮上https://www.mongodb.com/download-center/community?jmp=nav

2019-11-04 22:33:20 660

原创 python 'utf-8' codec can't decode byte 0xca in position 21: invalid continuation byte

今早起来肝网课的时候在通过路径把数据集导入到jupyter 里面的时候报了如下错误'utf-8' codec can't decode byte 0xca in position 21: invalid continuation byte上网查了资料,发现是路径中包含中文导致的。解决方式1,把路径中的中文名改为英文。解决方式2,通过sys改变系统编码方式。所以在各种文件命名时最好不要用...

2019-10-15 08:55:41 1185

原创 关于cosine_similarity参数的问题

想要计算一个dataframe其中两行的相似度,首先尝试这么写sin_ab = cosine_similarity(data.loc['A', :], data.loc['B', :])报错如下:报错的意思是参数的需求是二维数组,我们却导入了一维。所以需要reshape一下修改代码为sin_ab = cosine_similarity(data.loc['A', :].reshape...

2019-10-14 22:12:09 3835

原创 换源快速pip install

有些python的包,如结巴,不进行换源的话pip install的速度就会很慢在你懒得永久换源的情况下可以考虑单次换源这里用pymssql做DEMOpip install pymssql -i https://pypi.douban.com/simple本来要下半小时的jieba换源以后几秒就够了...

2019-10-08 00:07:15 242

原创 使用ip代理池爬取中国高校百度百科(Ajax加载)

最近接了一个任务,爬取中国高校的百度百科,记录其信息以及图片并存入SQL server中。点击进入第一步,分析网页,并尝试获取每个学校对应的URL点进去以后猜测是Ajax加载的网页(鼠标滚轮往下滚的同时加载出新的内容,并且没有改变URL)为了验证猜测,打开chrome开发者工具(右击,检查)点击‘Network’,检查网页在动态加载过程中发送的请求Ajax请求一般都能在‘XHR栏目...

2019-10-05 23:16:50 643

原创 python连接SQL Server并读取数据,结巴分词处理后写入SQL Server

前一阵子在虚拟机上整MySQL整的有点崩溃,明明已经在入站规则里开放了3306端口和映射端口还是无法外网访问。还好需求从MySQL变成了SQL Server,于是又开始上手SQL Sever。但是SQL Server也不是那么好操作的,新手第一次操作肯定要吃点苦。本机操作半个下午总算完成了任务:读取SQL Server里的数据,结巴分词之后存入新的表中1.首先是pymssql的安装,该库可以使...

2019-10-05 22:18:22 1277

原创 机器学习笔记----sklearn库API的调用过程和适用场景总结(1)

1.导入from sklearn.linear_model import LinearRegression2.准备数据,并分训练集和数据集from sklearn.model_selection import train_test_splitx_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3,random_s...

2019-10-05 21:48:08 643

原创 多协程+队列爬取时光热榜top100电视剧

代码的思路就是创建五只可以异步爬取的爬虫(当然,数量你来定),爬取了时光热榜top100电视剧剧名(导演啊主演啊简介啊都好爬的,但是我实在懒得爬,主要是学习多协程)话不多说代码贴上from gevent import monkey#从gevent库里导入monkey模块。monkey.patch_all()#monkey.patch_all()能把程序变成协作式运行,就是可以帮助程序实现...

2019-07-20 15:46:11 1536

原创 在XHR中寻找真正需要的信息-- --爬取QQ音乐歌曲清单(1)

**我们在用xpath或者bs爬取网页的时候经常会遇到这么一个问题:明明xpath或者bs写对的呀,为什么爬出来是个空值呢?这种问题我遇到过两种情况,第一种是xpath不对,浏览器会自动优化网页源码的xpath,这时候就需要手写xpath了(或者删去所得的xpath中的tbody试试。)第二种情况就是动态加载的网页啦~就比如咱们QQ音乐的网站:https://y.qq.com/portal/sea...

2019-07-19 14:53:23 862

原创 爬取中国计量大学研究生导师资料信息

爬这个网站的时候学到了比较多的东西,也对python的基础知识点有了更好的了解。首先是.join的用法,处理爬到的text还是比较好用的然后时xpath的following::用法,取该节点后面的所有同级节点,很好用然后是一个困惑,不知道什么原因,爬取导师的全部信息的时候用string只能爬取最后一行,需要用text(),希望是我的vscode出的问题以后如果没有特殊情况,爬学校网站的代码...

2019-07-09 13:33:34 554

原创 爬取隔壁杭电研究生导师信息

今天爬了隔壁航电。杭电的研究生导师网站感觉做的没理工好。理工的格式比较好,每个导师对应一个单独的URL,但是杭电是一个学院对应一个URL,所有的导师一起放在一个URL里面,而且每个导师相应信息(如名字,邮箱,电话等)的源码很难找到规律,所以对我这个刚会用xpath的小菜鸡就很不友好。琢磨了半个上午最后放弃了,决定干脆把一整个学院里面的所有导师信息一股脑儿全都爬下来。下面贴上代码:import ...

2019-07-06 22:11:24 705 1

原创 补:前天的爬浙江理工大学完整版的代码

因为昨天在准备科目一,代码忘记贴上了,现在贴上:代码可能偏冗长了,很多地方应该能优化,主要还是我太菜了,需要多加练习import requestsfrom lxml import etreeimport randomfrom string import punctuationimport reimport timeimport pymongofrom pymongo import...

2019-07-05 17:32:36 566

原创 爬虫:爬取浙江某大学导师的一些信息

2019-07-03 23:55:44 1072

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除