自然语言处理

京东、贪心课程

1. 常用分词算法

jieba \ SnowNLP \ LTP \ HANNLP

2.命名实体识别

以前的自然语言处理主要是提前定义一些东西,比如远的词给予较低的权重d(w1,w3),类似于现在很火的attetion,其实就是以前用pre define的方式,而现在深度学习主要是采用Learning的方式。

最开始是没有考虑词的连续性来做,后面开始考虑单词前后依赖,常见算法:隐马尔可夫模型(语音里面用的多点)、条件随机场(文本里面用的多点)

NER也基本上是sloved problem ,准确率可以达到95%

3.词性标注

词性标注已经是自然语言处理领域的sloved problem 所以可以直接用,或者作为其他任务的特征,比如自然语言处理。

4.句法分析

5.语义理解

怎么理解一个单词、怎么理解一个文本的意思

skipgram , cbow, glove , bert, ALbert 

XLNet, GPT-2, GPT-3, Tiny-Bert 

一般都是fine tune , pre train是搞不定的

语言模型主要是用来判断句子的通顺,也可以帮助我们生成文本

6.文本生成

point network 解决传统seq2seq输出序列的词汇表会随着输入序列长度的改变而变化的问题。

寻找子集

 

特征工程

tfidf特征,word2vec, n-gram, pos词性特征,主题特征LDA, 任务特定的特征(wordCount, 大写个数,是否有人名,整个字符的长度)

词向量

one-hot 维度灾难 语义鸿沟

LSA 利于全局预料特征,但SVD求解计算复杂度大

Word2Vec、fastText 优化效率高但基于局部预料

glove 基于全局预料,结合了LSA和word2Vec优点

elmo、GPT、Bert 动态特征,可以解决一词多意的问题

posted @ 2020-08-29 17:37  fionaplanet  阅读(270)  评论(0编辑  收藏  举报