自然语言处理
自然语言处理了解
NLP(natural language processing)自然语言处理属于人工智能的范畴。自然语言语料库主要是用现实世界语言表达的语言学习,是从文本和语言之间的关系理解的规则。
人类语言处理是抽象的信息符号,蕴含着复杂的语义信息,计算机只能处理量化的信息,所以必须将人类语言数值化和量化,计算机才能处理。
NLP的基本任务是将一种数据类型转换成另一种数据类型。
在开始任务时,需要对数据集进行预处理,预处理大概包括:收集语料库,文本清洗,分词,去掉停用词,标准化和提取特征。
NLP的文本表示方式主要有离散式表示和分布式表示。
离散式表示方法中最传统的的特征表示方法是使用独热编码进行表示。编码将词(或字)表示成一个向量,该向量的维度是词典(或字典)的长度。当前词的位置的值为1,其余的位置为0。
分布式表示方法中需要用到语言模型(language model),语言模型是基于概率的判别式模型。拿常见的n-gram模型来说,向模型输入一句话,模型反馈的是输出这句话的概率,也是词的联合概率。语言模型可以判断这句话是否符号人类语言习惯。
分布式表示方法中比较著名的是google团队的word representation方法,也叫word2vec模型。
word2vec有两种模型,cbow和skip-gram
cbow利用上下文的词预测中心词。
skip-gram利用中心词预测上下文的词。
但是word2vec是一种静态的模型,虽然通用性强,但无法真的特定的任务做动态优化。

浙公网安备 33010602011771号