NLP
Ragty_
人生の目的の一つは楽しむことです
展开
-
停用词过滤原理及实现
1.停用词指语言中一类没有多少意义的词语,比如“的”,“甚至”,“不仅”,“吧”…一个句子去掉了停用词并不影响理解,停用词视具体的任务不同而不同。停用词过滤是一个常见的预处理过程2.实现思路加载中止词:IO加载中止词(中止词下载地址,复制粘贴保存为txt文本)分词:使用HanLP进行分词停用词过滤:从分词结果中去除中止词3.加载中止词这里最简单的做法是把中止词直接加入Lis...原创 2020-04-11 14:09:42 · 4386 阅读 · 0 评论 -
AC自动机详解及实现
1.背景之前的Trie树,DBTrie都属于前缀树,虽然DAT每次状态转移的时间复杂度都是常数,但全切分长度为n的文本时,时间复杂度为O(n2)。这是因为**扫描过程中需要不断的挪动起点,发起新的查询**。所以说,DAT的全切分复杂度为O(n2)。2.为什么需要AC自动机显然,前缀树的短板是扫描,查询一个句子时,前缀树需要不断的挪动起点,发起新查询,这个过程浪费了大量时间。举个栗子,扫描...原创 2020-04-10 15:44:05 · 2584 阅读 · 3 评论 -
双数组字典树(DATrie)详解及实现
1.背景Trie树本质是一个确定的有限状态自动机(DFA),核心思想是空间换时间,利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。**但由于Trie树的稀疏现象严重,空间利用率较低。**为了让Trie树实现占用较少的空间,同时还要保证查询的效率,最后提出了用2个线性数组来进行Trie树的表示,即双数组Trie(Double Array Trie).2.算法及公式解析base[...原创 2020-03-10 23:32:55 · 6738 阅读 · 21 评论 -
字典树原理分析及实现(支持中文插入)
1.背景匹配算法的瓶颈之一在于如何判断字典中是否含有字符串,如果用的是有序集合(TreeMap)的话,复杂度是O(logn),如果用散列表(HashMap),账面上的时间复杂度虽然下降了,但内存复杂度上去了。我们要寻找一种速度又快,又省内存的数据结构。2.字典树概念:又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符...原创 2020-02-25 00:02:10 · 1508 阅读 · 0 评论 -
词典分词算法实现详解
1.概述中文分词指的是将一段文本拆分为一系列单词的过程,这是中文信息处理的第一站,中文分词备受关注。中文分词大致分为以下两类:基于词典规则基于机器学习这里我们主要介绍词典分词2.词典分词词典分词是最简单,最常见的分词算法,需要的材料为:一部词典一套查词典的规则简单来说,词典分词就是一个确定的查词与输出的规则系统。词典分词的重点不在于分词本身,而在于支撑词典的数据结构。...原创 2020-02-14 19:01:27 · 3311 阅读 · 0 评论 -
NLP概述及流派
1.基础概念自然语言处理(Nature Language Processing,NLP)是一门融合了计算机科学,人工智能以及语言学的交叉学科。2.研究目标通过机器学习等技术,**让计算机学会处理人类语言 **,乃至实现终极目标——理解人类语言或人工智能。3.自然语言的处理层次语音、图像和文本自然语言处理系统的输入源一共有3个,语音,图像和文本,但前两者存储的信息总量没有文本多,...原创 2020-02-10 22:58:36 · 1748 阅读 · 0 评论