5分钟了解自然语言处理 (NLP)

Posted AICUG人工智能用户组

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5分钟了解自然语言处理 (NLP)相关的知识,希望对你有一定的参考价值。

随着Alexa、Google Home、Siri等的兴起,NLP将逐渐成为开发人员的重要技术之一下面我会和大家科普一下什么是自然语言处理(NLP),以及它的技术和原理

  • 什么是自然语言处理

我们可能会说印语、英语、汉语等,但计算机的语言不是有单词的语言,而是有很多1和0组成的。NLP是以一种智能和高效的方式与计算机相互沟通简单来说,NLP可以帮助计算机理解和翻译人类语言。


  • 自然语言处理的应用

 NLP无处不在,只是我们没有意识到而已。当您准备发送邮件,如果没有添加在邮件正文中提及的附件,Gmail会自动提醒,其实这就是NLP为你做的。机器翻译、语音识别、自动文摘、情感分析、文本挖掘等都是NLP的一些应用。


  •  自然语言处理库 

  • Natural language toolkit (NLTK);

  • Apache OpenNLP;

  • Stanford NLP suite;

  • Gate NLP library

 

自然语言工具包( NLTK )是目前最流行的自然语言处理库。它是用Python编写的,而且背后有一个很强大的社区支撑NLTK也非常容易学习,实际上,它是最简单的自然语言处理( NLP )库。了解一下NLP中的几个术语

 

  • CorpusCorpus是一个庞大的文本集合。Corpus可以由书面语、口语或两者组成。口语Corpus通常采用录音的形式。Corpus的复数形式是语料库。

 

  • Tokenization:Tokenization是将一个句子或字符串分割成多个片段的任务,称为令牌。


 

  • Stopwords:有时,一些看起来对理解数据毫无价值但是又极其常见的词汇需要完全排除在词汇之外。这些字叫做stop words。

 

前一句是:“你好,Aswathi,你今天在做什么?”

 

在去掉stop words后,我们的句子是:“你好,阿斯瓦提,今天怎么样?”。我们去掉了“是”“你”“在做”,这并没有增加句子的一般语气的价值。

 

5分钟了解自然语言处理 (NLP)

 

  •  Alternative Approach你也可以构建自己的单词列表,你认为这些单词对分析没有什么价值,而不必导入stopswords模块。下面是一个小例子。


5分钟了解自然语言处理 (NLP)

 

  • Normalization: Predict, prediction, predicting, predictable是同一单词“predict”的不同形式。虽然它们在上下文中意思不同,但它们都是相似的。归一化将单词的所有差异转换为其正常形式。

 

文本normalization有两种重要类型。

 

1 ) Stemming: Stemming是指一个粗略的启发式过程,它将单词的结尾切掉,得到规范化的单词。

2 )Lemmatization:Lemmatization通常是指利用词汇和词的形态分析来恰当地处理事物,通常目的是仅去除屈折结尾,并回归词的基本形式或词典形式,即引理。

 

5分钟了解自然语言处理 (NLP)

 

  • Bag of Words( BOW ) :为了运行ML算法,我们必须将文本转换为特征向量。BOW模型将帮助我们做到这一点,方法是将每个句子拆分成单词,然后计算每个单词出现的次数。每个独特的单词都将作为训练我们模型的一个特征。


 TF - IDF表示术语频率-逆文档频率。

 

 Term Frequency( Tf )标识单词在文档中出现的频率。由于每个文档的长度不同,术语在长文档中出现的时间可能比在短文档中出现的时间长得多。因此,术语频率除以该文档中的单词总数,作为 normalization的方式。

 

TF ( t ) = (术语t出现在文档中的次数) / (文档中的术语总数)

 

但是,我们经常在一个文档中遇到许多词,这些词意义不大,但具有非常高的频率,如“the”、“an”、“as”、“is”等。一种方法是删除这些我们已经在上面看到的stio words。另一种方法是使用逆文档频率( IDF),它可以测量单词的重要性。逆文档频率降低了常用词的比例,增加了稀有词的比例,从而增加了文本的价值。

 

IDF ( t ) = log_ e (文档总数/文档中包含术语t的文档数)


TF -IDF = TF( t ) * IDF ( t )



以上是关于5分钟了解自然语言处理 (NLP)的主要内容,如果未能解决你的问题,请参考以下文章

NLP十分钟学习自然语言处理

NLP十分钟快览自然语言处理学习总结

《NLP》你真的了解”自然语言处理(NLP)“吗?

智能语音助手的工作原理是?先了解自然语言处理(NLP)与自然语言生成(NLG)

自然语言处理 | 通过影片查看示例简单了解NLP中的文本分类

免费的NLP学习资源,了解一下