Java编程

贪心nlp七期

1.多种表达方式

2.一词多义(ambiguity):考虑上下文(context)

降低时间复杂度

贪心nlp七期

2n — np

语言模型(是不是人话)

给定一句英文e,计算概率(e)

如果是符合英文语法的,p(e)会高,如果是随机语句,p(e)会低

翻译模型

给定一对 c,e ,计算p(c
e)

语义相似度高,则p(c
e)高,语义相似度低,则p(c
e)低

Decoding Algorithm

给定语言模型,翻译模型和f,找出最优的使得p(e)p(c
e)最大

问答系统:基于检索的方法 语料库→知识库→问题和答案

情感分析:股票价格预测,舆情监控,产品评论,事件监测

流程:

输入语句→特征工程→模型→情感值

输入语句→深度学习→情感值

机器翻译

自动摘要(比机器翻译还难)

聊天机器人:闲聊性,sequence2sequence,任务导向性(意图识别)

信息抽取:非结构化文本中提取感兴趣的点

NLP关键技术:四个维度

Semantic(语义)——最终目标,机器学习更好的理解语言

Syntax(句子结构)——关注单词间的关系(句法分析,依存分析dependency)

Morphology(单词)——关于单词的层面(分词,词性标注pos,命名实体识别NER),是nlp的技术基础架构

Phonetic(声音)——不会很谈论

分词,词性(重要特征),命名实体识别

参考阅读

What are the major open problems in natural language understanding?

第八集开始聊时间复杂度空间复杂度

第九集推荐经典文章

Knowledge Graph Embedding by Translating on Hyperplanes

图卷积网络(Graph Convolutional Networks)

node2vec

手推逻辑回归,svn,动态规划,刷leetcode

考虑看看天池或者kaggle送送死?就当练习了,还能看看别人咋做的

后半集闲聊

第11-12集讲归并排序

归并排序的时间复杂度nlogn

T(n)=2T(n/2)+n

主定理方法:对于能写成n个子方法的方法,(a=2,b=2,f(n)=n=o(n))

o(nlogba) f(n) = o(nlogba)

o(nlogba)=f(n) = o(nlogbalogk+1n)

o(nlogba) f(n) = f(n)

例1:T(n)=3T(n/2)+n2

a=3,b=2

nlog(2,3) f(n)=n2,第三种情况,o(n2)

例2:T(n)=4T(n/2)+n2

nlog(2,4)=n2=f(n)

o(n2*log(k+1,n))=o(n2lgn)

第13集讲斐波那契数列的时间复杂度

T(n)=T(n-1)+T(n-2)

时间复杂度和空间复杂度都是2^n

第14集讲斐波那契数列的空间复杂度(一堆屁话,没听太懂)

递归写法

def fib(n): if n==1: return 1 elif n==2: return 1 else: return fib(n-1)+fib(n-2)

第15集讲斐波那契数列的循环写法

import numpy as npdef fib(n): array=np.zeros(n) array[0]=1 array[1]=1 for i in range(2,n): array[i]=array[i-1]+array[i-2] return array[n-2]+array[n-3]

时间复杂度o(n),空间复杂度o(n)

优化循环

def fib(n): a=1 b=1 c=0 for i in range(2,n): c=a+b a=b b=c

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注