nltk

cs224n lesson1 note

可紊 提交于 2020-03-02 00:59:36
  本节课结合了旧版的前半部分(NLP的基本概念的内容)以及新版的绝大多数内容。 0. 本节课程计划 NLP的基本概念和人类语言的本质。 什么是深度学习。 课程安排。 为什么NLP难? NLP的应用。 1. NLP的基本概念 1.1 什么是NLP?   NLP是计算机科学、人工智能、语言学的交叉学科。   它的目标是让计算机理解人类语言,从而完成有意义的任务。例如: 下订单或者买东西 知识问答,如Siri、谷歌助手、微软小冰等   完全理解和表达语言的内涵是极其困难的,完美的语言理解等效于实现完备的人工智能系统。 1.2 NLP的层次   语言的输入有两种方式,一种是语音识别,一种是文本(OCR和分词)。接下来是形态学(Morphology),简单可理解为对英文单词进行形态变换,如act->action。   接下来是语法分析和语义分析。最后是篇章处理,它更加注重于通过上下文进行理解。   本门课主要注重于画圈的三大部分,尤其是后两部分(语法分析和语义分析)。 1.3 自然语言处理应用   推荐和广告依然是AI在互联网行业落地最早也最为成熟的两个方向。所以将NLP技术利用于这两个方向也是顺其自然的事情。具体来说: 搜索(拼写自动纠正) 在线广告匹配   现如今NLP最火热的两个方向分别是知识图谱和智能客服(聊天机器人)。 1.4 人类语言的特殊之处   自然语言与信号处理

NLP:1-使用NLTK了解语料

倾然丶 夕夏残阳落幕 提交于 2020-03-01 18:45:59
本章要点: 使用NLTK了解语料 导入语料 NLTK库 0,本地语料转Text类 1,搜索文本 文章搜索:concordance() 相似词搜索:similar() 上下文搜索:common_contexts() 可视化词频:dispersion_plot() 2,词汇计数 长度:len() 去重:set() 排序:sorted(set(text)) 一个词的个数:count() 3,词频分布 FreqDist() 词频分布类中定义的函数 4,词语搭配和双联词 安装nltk库及语料 1,安装nltk库 2,安装nltk语料库 使用NLTK了解语料 导入语料 with open ( "./text.txt" ) as f : text = f . read ( ) print ( type ( text ) ) print ( text [ : 200 ] ) <class 'str'> [ Moby Dick by Herman Melville 1851 ] ETYMOLOGY . ( Supplied by a Late Consumptive Usher to a Grammar School ) The pale Usher -- threadbare in coat , heart , body , and brain ; I see him now . He was

PYTHON自然语言处理中文翻译+NLTK+Natural+Language+Processing+with+Python+中文版 pdf下载

▼魔方 西西 提交于 2020-02-28 07:51:19
通过钻研本书,你将学到: � 十分简单的程序如何就能帮你处理和分析语言数据,以及如何写这些程序 � NLP 与语言学的关键概念是如何用来描述和分析语言的 � NLP 中的数据结构和算法是怎样的 � 语言数据是如何存储为标准格式,以及如何使用数据来评估 NLP 技术的性 书前几章按照概念的难易程度编排。先是实用性很强的语言处理的入门介绍, 讲述如 何使用很短的 Python程序分析感兴趣的文本信息 ( 1-3 章)。接着是结构化程序设计章节 ( 第 4 章),用来巩固散布在前面几章中的编程要点。之后, 速度加快,我们用一系列章节讲述 语言处理的主要内容: 标注、分类和信息提取( 5-7 章)。接下来的三章探索分析句子、识 别句法结构和构建表示句意的方法( 8-10 章)。最后一章讲述如何有效管理语言数据(第 1 1 章)。本书结尾处的后记简要讨论了 NLP 的过去和未来 PYTHON 自然语言处理中文翻译 ...................................................................................... 2 译者的话 ..................................................................................................

12种自然语言处理的开源工具

倾然丶 夕夏残阳落幕 提交于 2020-02-26 07:29:05
让我们看看可以用在你自己的 NLP 应用中的十几个工具吧。 在过去的几年里,自然语言处理(NLP)推动了聊天机器人、语音助手、文本预测等这些渗透到我们的日常生活中的语音或文本应用程技术的发展。目前有着各种各样开源的 NLP 工具,所以我决定调查一下当前开源的 NLP 工具来帮助你制定开发下一个基于语音或文本的应用程序的计划。 尽管我并不熟悉所有工具,但我将从我所熟悉的编程语言出发来介绍这些工具(对于我不熟悉的语言,我无法找到大量的工具)。也就是说,出于各种原因,我排除了三种我熟悉的语言之外的工具。 R 语言可能是没有被包含在内的最重要的语言,因为我发现的大多数库都有一年多没有更新了。这并不一定意味着它们没有得到很好的维护,但我认为它们应该得到更多的更新,以便和同一领域的其他工具竞争。我还选择了最有可能用在生产场景中的语言和工具(而不是在学术界和研究中使用),而我主要是使用 R 作为研究和发现工具。 我也惊讶地发现 Scala 的很多库都没有更新了。我上次使用 Scala 已经过去了两年了,当时它非常流行。但是大多数库从那个时候就再没有更新过,或者只有少数一些有更新。 最后,我排除了 C++。 这主要是因为我上次使用 C++ 编写程序已经有很多年了,而我所工作的组织还没有将 C++ 用于 NLP 或任何数据科学方面的工作。 Python 工具 自然语言工具包(NLTK) 毋庸置疑,

How to split Text into paragraphs using NLTK nltk.tokenize.texttiling?

随声附和 提交于 2020-02-23 05:32:45
问题 I found this Split Text into paragraphs NLTK - usage of nltk.tokenize.texttiling? explaining how to feed a text into texttiling, however I am unable to actually return a text tokenized by paragraph / topic change as shown here under texttiling http://www.nltk.org/api/nltk.tokenize.html. When I feed my text into texttiling, I get the same untokenized text back, but as a list, which is of no use to me. tt = nltk.tokenize.texttiling.TextTilingTokenizer(w=20, k=10,similarity_method=0, stopwords

Spacy to extract specific noun phrase

邮差的信 提交于 2020-02-20 07:44:32
问题 Can I use spacy in python to find NP with specific neighbors? I want Noun phrases from my text that has verb before and after it. 回答1: You can merge the noun phrases ( so that they do not get tokenized seperately). Analyse the dependency parse tree, and see the POS of neighbouring tokens. >>> import spacy >>> nlp = spacy.load('en') >>> sent = u'run python program run, to make this work' >>> parsed = nlp(sent) >>> list(parsed.noun_chunks) [python program] >>> for noun_phrase in list(parsed

nltk wordpunct_tokenize vs word_tokenize

断了今生、忘了曾经 提交于 2020-02-18 08:05:31
问题 Does anyone know the difference between nltk 's wordpunct_tokenize and word_tokenize ? I'm using nltk=3.2.4 and there's nothing on the doc string of wordpunct_tokenize that explains the difference. I couldn't find this info either in the documentation of nltk (perhaps I didn't search in the right place!). I would have expected that first one would get rid of punctuation tokens or the like, but it doesn't. 回答1: wordpunct_tokenize is based on a simple regexp tokenization. It is defined as

动手深度学习TASK1

时光总嘲笑我的痴心妄想 提交于 2020-02-15 00:45:03
线性回归 线性回归就是对于现有数据拟合一个线性关系函数 y = x 1 ∗ w 1 + x 2 ∗ w 2 + b y=x_{1}*w_{1}+x_{2}*w_{2}+b y = x 1 ​ ∗ w 1 ​ + x 2 ​ ∗ w 2 ​ + b 逻辑回归 逻辑回归就是对于输出输出起对应类别的概率 其中输出层涉及softmax函数,来归一化输出值在0-1区间 多层感知器 除了输入和输出层还包含多个隐藏层,每个层的输出要经过一个激活函数 文本处理 文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤: 读入文本 分词 建立字典,将每个词映射到一个唯一的索引(index) 将文本从词的序列转换为索引的序列,方便输入模型 pytorch 的两种实现方法 spaCy: import spacy text = "Mr. Chen doesn't agree with my suggestion." nlp = spacy . load ( 'en_core_web_sm' ) doc = nlp ( text ) print ( [ token . text for token in doc ] ) output: ['Mr.', 'Chen', 'does', "n't", 'agree', 'with', 'my',

nltk Error loading 问题解决方法

♀尐吖头ヾ 提交于 2020-02-15 00:32:31
使用nltk下载东西,可能会得到这种错误: >> > import nltk >> > nltk . download ( 'punkt' ) [ nltk_data ] Error loading punkt : < urlopen error [ Errno 111 ] Connection [ nltk_data ] refused > False 解决方法如下: 用你的默认浏览器打开 http://www.nltk.org/nltk_data/ ,比如Chrome(其他浏览器类似): 点击如图所示的“不安全”,然后选择网站设置,在弹出的标签页中将“ 弹出式窗口和重定向 ”和“ 自动下载项” 设为允许。随后 稍等片刻,重新进python运行代码,多试几次 ,就会发现ok了。 说来也是奇怪,明明是用代码下载东西,怎么就跟浏览器安全权限杠上了。。。背后的代码是咋写的呢。。。 来源: CSDN 作者: HappyCtest 链接: https://blog.csdn.net/HappyCtest/article/details/104320131