自然语言处理
文章平均质量分 84
曾经的广外男子
这个作者很懒,什么都没留下…
展开
-
基于规则的双向最大匹配中文分词 Java
1 概述汉语自动分词是把没有明显分界标志的字串切分为词串。包括:标点符号、数字、数学符号、各种 标记、人名、地名、机构名等未登录词的识别。本篇博客使用Java编程语言实现基于规则的双向最大匹配算法,算是NLP里的一个hello world了。2 理论描述基于规则的自动分词算法(1) 事先人工建立好分词词典和分词规则库。(2) 原理为基于字符串匹配进行分词,这样就要 求有足够大的词表为依据...原创 2018-10-21 23:26:17 · 699 阅读 · 0 评论 -
基于概率最大化的中文分词算法 Python
1 概述汉语自动分词是把没有明显分界标志的字串切分为词串。包括:标点符号、数字、数学符号、各种 标记、人名、地名、机构名等未登录词的识别。本篇博客使用Python编程语言实现基于概率最大化的中文分词算法。2 理论描述基于概率的自动分词算法(1)基本思想:选择概率最大的分词路径作为最优结果(2)利用字与字间、词与词间的同现频率作为分词的依据, 可以没有建立好的词典。需要大规模的训练文本, ...原创 2018-10-21 23:56:53 · 5072 阅读 · 5 评论 -
基于HMM+Viterbi算法的词性标注 Python
1 概述隐含马尔可夫模型(HMM)被认为是解决大多数自然语言处理问题最快速、有效的方法; 20世纪70年代被应用在语音处理上,后被广泛应用在汉 语自动分词、词性标注、统计机器翻译等方面。 本次文章将介绍基于HMM和Viterbi算法进行词性标注。2 理论描述2.1 HMM五元组HMM是一个五元组(O,Q,O0O_0O0,A,B):O:{o1o_1o1…oto_tot}是状态集合,...原创 2018-11-16 20:41:07 · 7281 阅读 · 5 评论 -
基于特定语料库生成HMM转移概率分布和发射概率分布用于词性标注 Python
上篇文章我们以Brown语料库中的一个特例讲解了HMM和Viterbi算法。如何使用特定语料库通过HMM算法进行词性标注,我们可以从HMM的五元组入手。大致步骤:得到语料库中词性标注种类和个数==>得到隐序列;对输入的句子进行分词==>得到观测序列;对每个词性标注,计算该词性出现时的前一个词性的次数/该词性出现的总次数==>得到转移概率矩阵;对每个观测状态,计算该状态...原创 2018-11-17 19:51:59 · 6075 阅读 · 6 评论 -
基于CYK+PCFG的短语结构句法分析
1 概述句法分析是自然语言处理中的关键技术之一。其基本任务是确定句子的句法结构(syntatic structure)或句子中词汇之间的依存关系。形式语法理论的目的是试图用精确的数学模型(形式语言)来刻划自然语言。句法分析根据形式语法的不同可以分为基于短语结构语法的句法分析和基于依存关系语法的依存句法分析。本篇文章将介绍使用CKY(一种自底向上的动态规划算法)+PCFG(概率上下文无关文法)的基...原创 2018-11-25 23:08:05 · 9451 阅读 · 6 评论 -
上下文无关文法到乔姆斯基范式的转换-CFG2CNF
在计算机科学中,一个形式文法是 Chomsky 范式的,当且仅当所有产生规则都有如下形式:A → BC 或A → α 或S → ε这里的 A, B 和 C 是非终结符,α 是终结符(表示常量值的符号),S 是开始符号,而 ε 是空串。还有,B 和 C 都不可以是开始符号。所有的 Chomsky 范式的文法都是上下文无关,反过来,所有上下文无关文法都可以有效的变换成等价的 Chomsky...原创 2018-11-26 19:23:45 · 9766 阅读 · 0 评论