![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自然语言处理
文章平均质量分 76
学者(cloudea)
写前后端就图一乐 算法才是生活
展开
-
神经网络机器翻译简单模型参考实现
简介本文实现了一个把阿拉伯数字转换成中文表达的神经网络翻译模型(NMT)。例如,输入 504,输出 “五百零四”例如,输入出 4021,输出“四千零二十一”由于本人快期末了,时间有限,暂时只支持数字 0~9999。实现都在代码中,有详细注释。安装paddle 2.x 后。可直接运行。import numpy as npfrom typing import *import paddledef dict_zh(x:str): """ 中文数字字符到id的映射 :p原创 2021-12-05 20:49:47 · 1444 阅读 · 0 评论 -
词法分析总结
词法分析词法分析是对自然语言进行较浅层次处理的过程。中文分词英文有空格可以将单词分开。但是中文都是连续的字串,因此将中文切分成词,面临着困难。主要有:交集型歧义:例如 下雨天地面积水。可以分成下雨天/地面/积水。也可以分成下雨/天地/面积/水。组合型歧义:例如门把手弄坏了。可以分成 门/把/手/弄/坏/了。或门/把手/弄/坏/了。在分词实践中,会出现词典或样本数据中没有出现过的新词,这些词称为集外词。分词错误中 98.33%由集外词导致。而由歧义导致的只占1.67%。因此在中文自动分词中能原创 2021-10-29 23:12:42 · 1516 阅读 · 0 评论 -
语言模型总结
语言模型概述语言模型是一个用于判断句子出现概率的数学模型。假设我们有一个句子s=(w1,w2,...,wm)s=(w_1,w_2,...,w_m)s=(w1,w2,...,wm)。其中wiw_iwi为句子中的第i个词语。根据古典概型,那么语言模型可表示为:P(s)=人类说过的所有句子中s的个数人类说过的所有句子个数P(s) = \frac{人类说过的所有句子中s的个数}{人类说过的所有句子个数}P(s)=人类说过的所有句子个数人类说过的所有句子中s的个数统计语言模型显然,上述语言模型公原创 2021-10-16 16:17:59 · 1055 阅读 · 0 评论 -
隐式马尔可夫模型(HMM)的Python实现
原理请参考 《自然语言处理入门》 作者何晗 第129页代码隐式马尔可夫模型可由λ=(π,A,B)\lambda=(\pi, A,B)λ=(π,A,B) 完全描述。代码首先实现了接口HMM,该接口定义了隐式马尔可夫模型的一些公共操作。其次定义了专门用于文本序列标注的隐式马尔可夫模型 TextSequence, 实现了对文本的操作。最后实现了维特比算法(viterbi)对隐式马尔可夫模型进行解码,根据输入序列预测状态序列。TextSequence 可用于分词、实体识别、事件抽取等自然语言处理任务。原创 2021-07-15 13:45:39 · 6286 阅读 · 2 评论