NLP (Natural Langunge Possns,自然语言处理)是计算机科学领域以及人工智能领域的一个重要的研究方向,它研究用计算机来处理、理解以及运用人类语言(如中文、英文等),达到人与计算机之间进行有效通讯。所谓“自然”乃是寓意自然进化形成,是为了区分一些人造语言,类似C++、Java 等人为设计的语言。
1.1 NLP处理过程
1.1.1 获取语料
语料,即语言材料。我们把一个文本集合称为语料库(Corpus),当有几个这样的文本集合的时候,我们称之为语料库集合(Corpora)。(定义来源:百度百科)按语料来源,我们将语料分为以下两种:已有语料;网上下载、抓取语料
1.1.2 语料预处理
通过数据洗清、分词、词性标注、去停用词四个大的方面来完成语料的预处理工作。
1.1.3 特征工程
把分词之后的字和词语表示成计算机能够计算的类型,将分词向量化。有两种常用的表示模 型分别是词袋模型和词向量。
词袋模型(Bag of Word, BOW),即不考虑词语原本在句子中的顺序,直接将每一个词语或者符号统一放置在一个集合(如 list),然后按照计数的方式对出现的次数进行统计。
词向量是将字、词语转换成向量矩阵的计算模型。目前为止最常用的词表示方法是 One-hot,这种方法把每个词表示为一个很长的向量。
1.1.4 特征选择
在一个实际问题中,构造好的特征向量,是要选择合适的、表达能力强的特征。文本特征一般都是词语,具有语义信息,使用特征选择能够找出一个特征子集,其仍然可以保留语义信息;但通过特征提取找到的特征子空间,将会丢失部分语义信息。
1.1.5 模型训练
对于不同的应用需求,我们使用不同的模型,传统的有监督和无监督等机器学习模型, 如 KNN、SVM、Naive Bayes、决策树、GBDT、K-means 等模型;深度学习模型比如 CNN、RNN、LSTM、 Seq2Seq、FastText、TextCNN 等。这些模型在后续的分类、聚类、神经序列、情感分析等示例中都会用到。需注意过拟合、欠拟合问题,不断提高模型的泛化能力;对于神经网络,注意梯度消失和梯度爆炸问题。
1.1.6 评价指标
训练好的模型,上线之前要对模型进行必要的评估,目的让模型对语料具备较好的泛化能力。具体有以下这些指标可以参考。
1. 错误率、精度、准确率、精确度、召回率、F1 衡量。
2. ROC 曲线、AUC 曲线。
1.2. NLP研究任务
机器翻译:计算机具备将一种谐育翻译成另一种语言的能力。
情感分析:计算机能够判断用户评论是否积极。
智能问答:计算机能够正确回答输人的问题。
文摘生成:计算机能够准确日纳、总结井产生文本摘要。
文本分类计算机能够采集各种文章,进行主题分析,从而进行行自动分类。
舆论分析:计算机能够判断目前舆论的导向。
知识图谱: 知识点相互连接而成的语义网络。
参考链接:
NLP学习(一)—基础篇
网友评论