自然语言

自己动手写一个简单正则表达式解析器(待续,未完成)

回眸只為那壹抹淺笑 提交于 2020-03-29 20:26:50
1.状态机及形式语言基础 2. 版本1:仅仅匹配一个? 3. 版本2:如何匹配*? 4. 如何实现*, ?的匹配? 5. 如何实现根据输入的pattern,生成DFA状态机? 1. 状态机及形式语言基础 1.1 语言和文法 在计算机中存在下面两个比较重要的问题,一个问题提出之后,能否使用计算机来执行,如果能够执行的话,那么该怎么执行?这些都是计算模型需要解决的问题,为解决山这些问题,需要来首先了一下什么是形式语言,相对于自然语言而言,如何去描述一个形式语言(文法)? 自然语言就是日常的口头语言,将一个自然语言翻译成另外的一种自然语言的问题引出了“形式语言”的概念。下面就是一个迭代的定义: 1. 字母表V :含有有限元素的非空集合,其中包含终结符号(无法被替换的符号)记为T;非终结符号(简单的将是能够被替换的元素),记为N;定义开始符S为推导的开始。 2. 单词 :定义在字母表V上的单词定义为V中元素组成的有限长度的字串。 3. 空串 :没有符号的串,记为 λ 4. V上所有单词的集合记为V* 5. 指明V*中的串能够被什么样的串替换的表达式称之为“ 产生式” 6. 有了上面的基础开始定义什么是文法: 文法 是由下面的是是部分组成:G = < V, T, S, P >,其中字母表V,有V上的所有的终结符组成的集合T,S为推导的开始符,P为产生式的集合。 7. 下面定义什么是 语言 L

如何通过 Serverless 与自然语言处理,让搜索引擎“看” 到你的博客

只谈情不闲聊 提交于 2020-03-04 16:42:22
自然语言的内容有很多,本文所介绍的自然语言处理部分是「文本摘要」和「关键词提取」。 很多朋友会有自己的博客,在博客上发文章时,这些文章发出去后,有的很容易被搜索引擎检索,有的则很难。那么有没有什么方法,让搜索引擎对博客友好一些呢?这里有一个好方法 —— 那就是填写网页的 Description 还有 Keywords。 但是每次都需要我们自己去填写,非常繁琐。这个过程能否自动化实现?本文将会通过 Python 的 jieba 和 snownlp 进行文本摘要和关键词提取的实现。 ▎准备资源 下载以下资源: Python 中文分词组件 Simplified Chinese Text Processing 下载完成后,新建文件夹,拷贝对应的文件: 拷贝之后,建立文件 index.py # -*- coding: utf8 -*- import json import jieba.analyse from snownlp import SnowNLP def FromSnowNlp(text, summary_num): s = SnowNLP(text) return s.summary(summary_num) def FromJieba(text, keywords_type, keywords_num): if keywords_type == "tfidf": return

python解释器在语法上不支持什么编程方式?

血红的双手。 提交于 2020-02-27 18:47:47
python解释器在语法上不支持什么编程方式 python解释器在语法上不支持【 自然语言 】。 python解释器在语法上支持的编程方式有:语句、面向过程、面向对象。 (推荐: Python基础入门 ) 自然语言是什么? 自然语言通常是指一种自然地随文化演化的语言。 例如,汉语、英语、日语为自然语言的例子,这一种用法可见于自然语言处理一词中。自然语言是人类交流和思维的主要工具。 自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的,也是各国人表达的方法其中之一。 为什么python解释器不支持自然语言? 用自然语言“描述”程序要做的事是困难的,并且难免是啰嗦的。 例如一个数学表达式,用自然语言来表达,是极为不方便的。 所以,不仅python解释器不支持自然语言,其他编程语言也不支持。 相关免费资料分享(点击即可免费观看~) 1、0基础入门python http://www.makeru.com.cn/course/details/1804.html?s=96806 2、一堂课快速认识python数据分析 http://www.makeru.com.cn/live/5020_1655.html?s=96806 3、一节课快速认识人工智能必备语言:python http://www.makeru.com.cn/live

快速了解掌握中文自然语言处理

岁酱吖の 提交于 2020-02-26 02:43:20
NLP是什么 在计算机领域, NLP(Natural Language Processing),也就是人们常说的「自然语言处理」,就是研究如何让计算机读懂人类语言。这包括,既要能让计算机理解自然语言文本的意义,也能以自然语言文本来表达给定的深层的意图、思想等。所以,这项技术往往体现了人工智能的最高任务与境界,也就是说,只有当计算机具备了理解自然语言的能力时,机器才算实现了真正的智能。但是,由于中文词语是由汉字千变万化组成的,所以中文领域的「自然语言处理」显得尤为复杂。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。 专注于「自然语言处理」领域多年, NLP 的技术和服务一直伴随着大快的发展而不断进步。从自动翻译、情报检索、自动标引、自动文摘、自动写故事小说等领域,都可以用我们的工具类DKNLPBase来处理,NLP 技术已不再单纯的停留在概念层面,而是逐步***并成功应用在大快的各个领域中。 为什么需要NLP 举个例子,日常生活中,我们总会碰到一些不知道怎么读的生僻字,

《人月神话》笔记之三

不羁岁月 提交于 2020-02-07 11:15:32
形式化定义:实际上,对这一点有较深的理解,我们的自然语言往往存在着一些歧义,特别又是以灵活见长的中文,在不同的语言环境中可以有这不一样的含义。这里原没有一些形式化定义的严谨,比如公式之类。不过往往很多需求不太可能完全使用公式或者严谨的形式化定义。个人觉得一种折中的方式,是对自然语言在团队内做内部的统一,也就是术语库。保证团队内部对关键的术语和概念无歧义。 会议:会议是必要的。一般来说,技术人员往往对会议比较排斥,认为是浪费时间。实际上是项目经理或者管理层必须严格的控制会议数量,会议范围和时长。做到高效的会议。 来源: https://www.cnblogs.com/jiaoaoshirenjinbu/p/12271952.html

NLP 语义相似度计算 整理总结

不问归期 提交于 2020-01-18 14:51:16
更新中 更新时间: 2019-12-03 18:29:52 写在前面: 本人是喜欢这个方向的学生一枚,写文的目的意在记录自己所学,梳理自己的思路,同时share给在这个方向上一起努力的同学。写得不够专业的地方望批评指正,欢迎感兴趣的同学一起交流进步。 (参考文献在第四部分, 侵删 ) 一、背景 二、基本概念 三、语义相似度计算方法 四、参考文献 一、背景 在很多NLP任务中,都涉及到语义相似度的计算,例如: 在搜索场景下(对话系统、问答系统、推理等),query和Doc的语义相似度; feeds场景下Doc和Doc的语义相似度; 在各种分类任务,翻译场景下,都会涉及到语义相似度语义相似度的计算。 所以在学习的过程中,希望能够更系统的梳理一下这方面的方法。 二、基本概念 1. TF Term frequency即关键词词频,是指一篇文章中关键词出现的频率,比如在一篇M个词的文章中有N个该关键词,则 为该关键词在这篇文章中的词频。 2. IDF Inverse document frequency指逆向文本频率,是用于衡量关键词权重的指数,由公式 计算而得,其中D为文章总数,Dw为关键词出现过的文章数。 3. 向量空间模型 向量空间模型简称 VSM,是 VectorSpace Model 的缩写。在此模型中,文本被看作是由一系列相互独立的词语组成的,若文档 D 中包含词语 t1,t2,

自然语言18.2_NLTK命名实体识别

六月ゝ 毕业季﹏ 提交于 2020-01-18 05:38:26
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share 机器学习,统计项目合作QQ:231469242 http://blog.csdn.net/u010718606/article/details/50148261参考 NLTK中对于很多自然语言处理应用有着开箱即用的api,但是结果往往让人弄不清楚状况。 下面的例子使用NLTK进行命名实体的识别。第一例中,Apple成功被识别出来,而第二例并未被识别。究竟是什么原因导致这样的结果,接下来一探究竟。 In [1]: import nltk In [2]: tokens = nltk.word_tokenize('I am very excited about the next generation of Apple products.') In [3]: tokens = nltk.pos_tag(tokens) In [4]: print tokens [('I', 'PRP'), ('am', 'VBP'), ('very', 'RB'), (

自然语言18_Named-entity recognition

自作多情 提交于 2020-01-18 04:39:12
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share 命名实体(Named Entity)类别识别 除了在预测用户意图方面的用途,查询日志还可以用来识别命名实体。命名实体识别是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、时 间、日期、货币及其他专有名词等。它是自然语言处理实用化的重要内容,在信息提取、句法分析、机器翻译等应用领域中具有重要的基础性作用。命名实体识别一 方面要识别实体边界,另一方面要识别实体类别(人名、地名、机构名或其他)。就汉语系统来讲,确定实体边界主要和分词相关,发现命名实体的基本方法,一般 首先找一些与定义相关的特征词,例如:什么是XX,XX是什么,这是XX。找到具有这样模式的查询串后,即可以在查询日志中通过频率统计等方法,找到命名 实体。这里重点讨论第二方面的内容,即类别识别。 之所以会用查询日志来进行命名实体的类别识别,是因为命名实体的类别并非是一个封闭集,而是一个不断变化着的集合。一个命名实体,随着时间的变化, 往往会具有不同的属性。以大家熟悉的"哈利·波特"为例

自然语言22_Wordnet with NLTK

跟風遠走 提交于 2020-01-18 04:38:58
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share 机器学习,统计项目合作QQ:231469242 Wordnet with NLTK 英语的同义词和反义词函数 # -*- coding: utf-8 -*- """ Spyder Editor 英语的同义词和反义词函数 """ import nltk from nltk.corpus import wordnet syns=wordnet.synsets('program') ''' syns Out[11]: [Synset('plan.n.01'), Synset('program.n.02'), Synset('broadcast.n.02'), Synset('platform.n.02'), Synset('program.n.05'), Synset('course_of_study.n.01'), Synset('program.n.07'), Synset('program.n.08'), Synset('program.v.01'),

自然语言分类任务 (1)

空扰寡人 提交于 2019-12-26 07:17:39
文章目录 自然语言分类任务 数据集 模型 准备数据 数据集预览 查看一个样本 切分train/val 创建vocabulary 查看训练集中最常见的单词 查看单词表 查看label 创建iterators Word Averaging模型 模型结构 模型配置 模型参数计算 初始化参数 定义优化器和损失函数 计算预测的准确率 模型训练train 模型验证evaluate 读取保存的模型 语句测试 RNN模型(没有跑) 模型结构 模型配置 词向量 使用glove训练好的词向量 添加PAD单词、UNK单词 模型参数计算 模型训练 读取保存的模型 语句测试 CNN模型 单卷积核 模型结构 模型配置 词向量 使用glove训练好的词向量 添加PAD单词、UNK单词 模型参数计算 优化器和损失函数 模型训练 读取保存的模型 语句测试 卷积核并联 模型结构 模型配置 词向量 使用glove训练好的词向量 添加PAD单词、UNK单词 模型参数计算 模型训练 Word Averaging (mask) 数据准备 创建vocabulary 创建iterators Word Averaging模型 模型结构 模型配置 计算模型参数 初始化模型 优化器和损失函数 计算预测的准确率 模型训练 模型验证 自然语言分类任务 使用Pytorch模型和TorchText做情感分类(检测一段文字的情感是正面情绪