
NLP
斜杠青年//
我爱学习!
展开
-
敏感词或关键词过滤,DFA算法详解及python代码实现
一.前言近期项目有了一个过滤敏感词的功能需求,在网上找了一些方法及解说,发现DFA算法比较好用,容易实现,但很多文章解释得不太清楚,这里将其详细描述,并用python代码实现.二.DFA算法详解DFA,网上常译为确定有限自动机,俗话就是新数据在已有的数据基础上去有限次查找,比如:新数据为苹果公司年会,旧数据为苹果公司,这样就可以直接旧数据后面添加"年会"两个字.DFA算法思想是将敏感词组通过建立嵌套字典的方式去构建敏感词链表(以一个特定字符’\x00’作为结束),然后遍历新词的每个字是否出现在敏感词原创 2020-10-20 15:59:08 · 5425 阅读 · 1 评论 -
生成拼音语料及拼音识别转换成中文
一.前言前两篇文章分别介绍了利用中文拼音库生成基于Trie树的音节模型和将输入的字符串进行音节拆分,本篇文章主要介绍如何利用中文语料构建拼音语料模型及拼音转换中文.二.构建拼音语料模型先来看看拼音转中文效果,输入字符串"zhuanye",打印print(Pinyin2Chinese().covert(‘zhuanye’))思路:获取中文语料(来源可以从数据库或者静态文件,包括excel表和.txt表),然后将语料结巴进行分词,然后利用pypinyin工具将分词转换成拼音,用列表存储,最后写出二进原创 2020-10-17 11:42:55 · 932 阅读 · 2 评论 -
基于Trie树进行拆分字符串变成拼音音节(二):字符串拼音拆分
一.前言上一篇文章已经介绍了如何将所有中文拼音音节都基于Trie树生成模型,文章地址基于Trie树进行拆分字符串变成拼音音节(一):构建拼音音节模型,本篇文章主要介绍如何基于拼音模型将字符串进行拆分音节,下一篇文章将要介绍拼音识别拼音转功能.二.代码流程首先看一下拆分效果:输入zhuanye,打印print(PinyinCut().cut(‘zhuanye’))然后直接上代码:初始化拼音分割类,导入拼音模型文件class PinyinCut: def __init__(self):原创 2020-10-16 16:48:12 · 539 阅读 · 1 评论 -
基于Trie树进行拆分字符串变成拼音音节(一):构建拼音音节模型
一.前言在智能客服领域,需要具备识别用户输入拼音并将其转为中文,进而来搜索与之相关问题,但用户输入的拼音内容是一个长字符串,此时需要把字符串进行中文拼音音节拆分,用逗号’,'将每个音节分开,因此本篇文章主要介绍构建基于Trie的拼音音节模型,在下篇文章介绍拆分音节,再下下篇文章介绍拼音识别成中文二.构建模型2.1 Trie树简要介绍Trie树形结构属于字典树,整个树的根节点是空的, 根节点的子节点可以有多个,每个子节点智能存放单个元素,用于我们拼音模型就是根节点的子结点有26个,分别由a-z组成,每原创 2020-10-15 22:10:47 · 1063 阅读 · 1 评论 -
快速使用wikiextractor提取维基百科语料的简单用法
一、前言wikiextractor(直接下载来还不能直接用,还需要进行安装,得到WikiExtractor.py,才能使用)是一个提取维基百科语料的一个工具,在国内很受欢迎,它可以提取从维基下载下来的带.bz结尾语料的主要文章内容,这里介绍一个快速安装wikiextractor并使用提取的教程。前提条件:已经从维基百科下载好语料,例如:粤语语料:zh_yuewiki-latest-pages-articles-multistream.xml.bz2已安装pip工具二、步骤在项目目录下使用原创 2020-08-31 12:10:13 · 6640 阅读 · 13 评论 -
Win10下安装mitie遇到subprocess.CalledProcessError:Command[‘cmake’,‘..’,‘-A’,‘x64’]的解决方法
文章目录一、问题描述二、安装mitie前必须安装的依赖2.1安装Visual Studio C++2.2 安装Cmake2.3 安装boost三、安装mitie及解决问题一、问题描述安装mitie时最后一步出现了错误,根据网上教程安装好了Visual Studio、cmake、boost之后,到最后一步,先是下载了mitie安装包,之后采用本地安装的方法python setup.py install 去安装,结果发现报出了setup.py中的错误:subprocess.CalledProcessErro原创 2020-06-13 17:46:33 · 23164 阅读 · 5 评论 -
word2vec模型的导出和载入不同格式(model、vector、bin)模型的疑问与解答
一、.model格式模型的导出与载入from gensim.models import word2vec# 训练模型并导出sentences = list(word2vec.LineSentence('./question_corcus.txt'))model = word2vec.Word2Vec(sentences, min_count=1)model.save('./question.model')print(model)输出:Word2Vec(vocab=59, size=100, a原创 2020-06-05 17:47:50 · 7525 阅读 · 0 评论 -
NLP自然语言处理(二)——中文分词篇
文章目录一、中英文分词的区别二、中文分词技术2.1 基于规则的分词正向最大匹配算法逆向最大匹配算法双向匹配算法2.2 基于统计的分词语言模型隐马尔科模型HMM一、中英文分词的区别英文的分词相较于中文分词比较简单,因为英文中一个词可代表一个名词、形容词、副词等词性,且词与词之间用空格隔开,在写程序进行切分的时候只要匹配到空格即可。而在中文本词语没有明显的区分标记,而中文分词的目的就是由机器在中文文本中加上词与词之间的标记。中文分词存在困难是由于存在交集型歧义、组合型歧义和混合型歧义,交集型歧义如对ATB原创 2020-05-11 19:07:28 · 2905 阅读 · 0 评论 -
NLP自然语言处理(一)——概述篇
文章目录1. 基本概念2. 历史过程3. 结构组成4. 未来发展1. 基本概念自然语言处理NLP(Natural Language Processing )是计算机科学领域以及人工智能的重要研究方向,研究语言能力和语言应用的表示模型,用来研究计算机来处理、理解以及运用人类语言,达到计算机能够理解人类语言的含义,实现人机交互(通讯),简单来说就是计算机通过NLP达到与人类通讯的目的。2. 历史...原创 2020-04-28 12:19:33 · 1147 阅读 · 0 评论 -
聊天机器人原理篇:NLP自然语言处理
文章目录1.聊天机器人概述1.1分类与应用场景1.2 生态框架2.技术原理2.1 自然语言理解2.2 自然语言生成1.聊天机器人概述1.1分类与应用场景目前聊天机器人在技术市场上存在多种分类,主要又分为以下三种:基于应用场景的在线客服:自动回复用户提出的与产品或者服务相关的问题,以降低企业客服成本、提升用户体验。如阿里小米、京东JIMI客服机器人娱乐:对不同用户进行不同话题闲聊,...原创 2020-04-14 22:14:52 · 6606 阅读 · 0 评论