NLP常见项目领域(算法思路)

0、补充连接:

           NLP领域基本名词、算法   、 问答系统的常见技术          python

1、QA问答系统

DeepLearning:
    ① seq2seq + attention 
    ② transformer、bert

2、语义分析、语义匹配

一、基于规则模板:
    ① booststraping            ------- 召回率和精确率都不错,须要人工干涉,是一种成熟的技术
       https://blog.csdn.net/qq_16555103/article/details/103792301 -----信息抽取(booststraping、深度学习..)   
二、依存句法分析、语义角色标注      ------- 提取三元组,精确率较高,所以比较适合作比较狭窄的领域,好比:买票查询
三、基于机器学习的算法:
    ① doc2vec、LDA、LSA、word2vec

3、机器翻译

DeepLearning:
    ① seq2seq + attention 
    ② transformer、bert

4、情感分析

        三种方式: 情感分析算法

5、意图识别

一、基于规则模板
    ① 规则模板解析  (先找领域   命中模板   意图识别   与交互完善信息;eg:从...到...的...票;须要交互完善‘时间’信息 )
二、DeepLearning:
    ① rnn(LSTM) + attention    
    ② bert 网络

6、命名实体识别 NER

一、机器学习:
    ① bioes  ------ HMM/CRF
二、deeplearning:
    ① LSTM + CRF     ----- 理解:LSTM 用于提取句子的特征,用 CRF 的viterbi算法来代替softmax做为loss层。
                                缘由以下:softmax分类时不能考虑到上下文的关系进行分类(尽管LSTM提取特征考虑序
                                         列的时序信息),而CRF的viterbi算法预测分类时 能够考虑相邻上下的关联。
                                 
    ② transformer 、 bert
=====================================================================================================
实体命名识别常见的实体三大类、七小类:
    三大类:
        实体类、时间类、数字类
    七小类
        人名、地名、机构名、时间 ...
一、NER系统识别内容:
    ① 命名实体:根据业务某个特殊领域的专业名词
    ② 实体修饰:实体修饰虽然说不是名词,可是NER系统也要抽取出来。例如:程度词、否认词...
                例:我 好像有一点 头痛。
                若是是医疗实体命名识别,其中修饰词:‘好像有一点’ 提取是相当重要的,它大程度会影响后续模型判别结果。
    ③ 实体关系:

7、文本分类

一、短文本(50 单词 之内)
    1.1 机器学习:
            ① 特征工程 + KNN、SVM、LR、贝叶斯(多项式朴素贝叶斯)
            ② doc2vec + 机器学习分类算法
    1.2 深度学习:
            ① LSTM/双向LSTM/GRU 分类              --------- 模型优化: LSTM + attention    
            ② transformer、bert
二、长文本(大于 50单词)
    DeepLearning:
        ① bert 分类                        bert网络能够解决 512个时刻的序列
        ② textCNN + LSTM