
NPL自然语言处理
敲代码的乔帮主
走在梦想的大道上,跌跌撞撞,时而悲伤,时而难过失落,是什么又让我扬起头继续向前呢?是心中的那一朵彼岸之花,牵使着你我之间的约定,成为我心中那一股永不可灭的骨气,终究是信仰。
展开
-
分词(Word Segmentation)-最大匹配算法
目录1.写在前面2.常用的分词工具3.分词算法-最大匹配-前向最大匹配(forword-max matching)3.1 算法思想3.2 前向匹配代码实现4.分词算法-最大匹配-后向最大匹配(backward-max matching)4.1 算法思想4.2 后向匹配代码实现5.最大匹配的缺点1.写在前面 我们上次总结了一个NLP系统中一般有的几个部分,包括分词、清洗数据、标准化、特征提取、建模、评估模型等。这篇文章我们重点总结分词这个部分的知识点。...原创 2020-08-08 23:19:13 · 1431 阅读 · 0 评论 -
NLP项目-文本处理的流程分析
大部分的NLP项目都是围绕着上面那个pipeline进行的,需要把一个原始文本经过一系列处理,把它处理成特征向量,整个的处理流程分为几个大的步骤,首先需要对文本做分词操作,分词可以分为英文分词和中文分词,英文分词比较简单,完全可以通过空格和标点符号进行区分每一个单词,中文相对困难。之后我们经常做一些数据的清洗工作,主要包括清洗一些没有的标签,比如<html>,特殊符号(!。),停用词(a an the),英文中有一个非常重要的过程就是标准化,这个操作大部分应用在英文中。标准化...原创 2020-08-08 17:10:17 · 1519 阅读 · 0 评论 -
通过斐波那契数列探讨时间复杂度和空间复杂度
目录1.斐波那契数简介2.计算斐波那契数3.时间复杂度计算4.空间复杂度计算5.斐波那契非递归实现6.怎么在时间复杂度O(1),空间复杂度O(1)下计算斐波那契数1.斐波那契数简介 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如...原创 2020-08-08 13:31:20 · 11851 阅读 · 3 评论 -
P vs NP vs NP Complete vs NP Hard
目录1.写在前面2.千禧年世纪难题3.P类和NP类问题特征4.NPC问题5.NP-Hard问题6.总结1.写在前面 我们看到一个问题,经常会说:“这个没法做,是一个NP问题”,其实这句话是有问题的,我们并没有搞清楚NP问题和NPC问题,大部分情况下,我们想说的NP问题都是NPC问题,NP问题并不是没法做,NPC才是。最近看到一篇文章【我国数学家证明NP=P】,论文中结论对错我没有能力评价,从现有反馈上看,作者结论不成立可能性更大,如果能解决这个问题,几乎就是以凡...原创 2020-08-03 13:36:07 · 749 阅读 · 1 评论 -
归并排序以及时间复杂度及Master Theorem(主定理)
目录1.归并排序概念2.算法的复杂度3.主方法Master Theorem3.1 Master Theorem概念3.2Master Theorem例子分析4.利用Master Theorem求归并排序时间复杂度 我们上一篇博客重点回顾了复杂度的概念,以及基本的复杂度计算方法。这篇博客我们利用归并排序Merge Sort算法带着大家深入计算复杂度。1.归并排序概念 假设我们有一个数组A,我们目标是sort(A)排序,整个算法流程为:首先把数组...原创 2020-07-10 18:59:14 · 1303 阅读 · 0 评论 -
简单算法复杂度
这是任何AI工程师必须深入理解的概念,对于每一个设计出来的算法都需要从两个方面来分析算法复杂度:时间复杂度和空间复杂度。时间复杂度是说算法运行时间,空间复杂度是占据的存储空间。一般我们使用 o notation来表示,比如O(N),O(N^2)。简单复杂度 我们看上面代码,它的时间复杂度是有一个0到N的循环,有N*1的操作=O(N)。下面的例子有N/2*1个操作,所以时间复杂度为1/2*O(N)=O(N)。总体来讲时间复杂度是O(N)。 空间复杂度...原创 2020-07-10 17:48:20 · 326 阅读 · 0 评论 -
自然语言处理简介及主要研究方向
百度词条:自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别...原创 2018-09-09 22:24:36 · 13411 阅读 · 0 评论 -
NLP-自然语言处理入门(持续更新)
NLP-自然语言处理入门1.书籍-理论篇 吴军老师的的《数学之美》 《统计自然语言处理(第2版)》(宗成庆)蓝皮版 《统计学习方法》(李航) 《自然语言处理简明教程》(冯志伟) 《自然语言处理综论》(Daniel Jurafsky) 《自然语言处理的形式模型》(冯志伟)2.书籍——实践篇 python基础教程(翻译版)+python入门博客推荐:廖雪峰的python教程...原创 2018-08-13 00:44:24 · 4541 阅读 · 0 评论 -
jieba分词工具的使用-python代码
jieba“结巴”中文分词:做最好的 Python 中文分词组件"Jieba" (Chinese for "to stutter") Chinese text segmentation: built to be the best Python Chinese word segmentation module.Scroll down for English documentation....原创 2018-05-27 01:06:19 · 5253 阅读 · 0 评论 -
中文分词工具
本文的目标有两个:1、学会使用10大Java开源中文分词器2、对比分析10大Java开源中文分词器的分词效果本文给出了10大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断。10大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口:/** * 获取文本的所有分词结果, 对...原创 2018-05-27 00:52:51 · 1235 阅读 · 0 评论