赞
踩
目录
NLP,Natural Language Processing 即自然语言处理。是人工智能的一个子领域,就是用计算机计算处理自然语言。进行自然语言处理一般需要以下步骤。
预料,即语言材料,文本的集合成为语料库。在机器学习中,我们通常处理把用于模型训练的一行数据称为一个文本。但是日常中我们一般把一个文件称为一个文本,这个概念对初学者就很容易引起误解。比如处理数据是读入多个文件,但是经过预处理、特征工程后,这些文件可能被合并成一行,这时输入的一个文件不能成为一个文本,自然语言处理的文本概念是相对特征工程后形态而言的。
语料的获取方法:
(1)已有语料,即由自身业务积累下来的语料
(2)网上抓取,即通过爬虫等工具在网上获取的语料
(3)公共语料,一些企业或研究机构公开的语料
在自然语然的工程应用中,语料的预处理大概占总工作量50%以上。因此开发人员大部分的工作都在进行语料的预处理。预处理通常有以下几方面的重要工作:
(1)数据清洗,就是在语料中找到有用的东西。比如去重,对齐,删除,合并、拆分等。
(2)分词,语料中通常是句子和段落,尤其是中文语料词之间没有明显的间隔。这个时候就需要对句子或段落分词。分词的方法通常有:
1)基于理解的分词方法;
2)基于规则的分词方法;
3)基于统计的分词方法;
4)基于字符串的分词方法。
3)词性标注,就是个词语打上标签,比如形容词、动词、名词等。词性标注并不是必须的,比如对应文本分类就不需要标注词性,情感分析就需要关心词性的问题。
4)去停用词,对程序处理无用或者贡献很小的词称为停用词。比如人称、语气、标点符号等无用的词在分词后一般需要删除。
语料预处理后,就要考虑如何把词和词语转换为计算机能够处理的类型;如中文转换为数字。常用的处理方法有:
(1)词袋模型BOW,即不考虑词语出现的先后顺序,把词语放入集合中,然后按照出现的次数进行统计计数。
(2)向量模型,把词语转换为向量矩阵。如one-hot,wordToVec。
特征工程后,一般会存在非常多的特征向量。特征选择就是选择那些对模型训练作用最大的特征。这个过程非常重要,对于经验丰富和对模型理论较好的开发人员往往能够选择正确特征向量,极大的减少训练时间,提高效率。
对不同的业务问题,选择合适的模型进行训练。这些模型可以用开源的算法框架,也可以自己开发。比如采用Naïve Bayes,SVM、FP-Growth、LSTM等。训练过程中需要注意过拟合和欠拟合的问题,比如过拟合可以通过增加训练数据、增加正则化项;欠拟合则可以增加模型复杂度,减少正则化,增加特征维度等。
模型评估就是对训练后的模型测量是否达到既定目标。常用的评估方法有:
(1)准确率、精确率、召回率、查全率、特异度、灵敏度
(2)F-Measure、ROC曲线、AUC、PR曲线
模型训练和评估后,就可以用来对业务的数据进行预测了。在实际生产业务中,同一个业务通常用多种模型进行预测,分析比较。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。