自然语言处理的基础是什么?
发布时间:2018-10-31 作者:jason
NLP的基本概念与机器学习或软件工程的基本概念不同。我将从最低级别的东西开始(虽然这并不意味着“简单”),然后我将尝试向您展示如何构建生产模型。
1.Tokenizer
这是每个NLP框架的核心工具。许多ML技术无论是针对文本分类还是回归,都使用由它们生成的n-gram和特征。在开始提取功能之前,您需要获取单词。
2.POS-tagger和lemmatizer
这是你需要的下一件事,尽管可能不是直接的。单词可以采取多种形式,它们之间的联系(如下所示)取决于他们的POS。当需要像TDM这样的东西时,最常见的是引理器,因为它们自然地降低了维数并导致更大的整体鲁棒性。
3.NER
代表命名实体识别器。它们依赖于在框架中编码的提取的词性和基本语法。NLP有一个独立的部分,称为信息检索,人们可以根据有关该主题的若干消息自动生成报告。NER当然是其中最重要的部分。如果你想深入理解它,你可以阅读有关无上下文语法的内容。
4.情绪分析
这个评论好还是坏?评论家喜欢这部电影吗?将这些1 000 000条评论放在这台机器上,它就能说出来。有几种方法可以进行情绪分析,有些人甚至使用深度学习(word2vec)。它从特征提取开始,通常从2-3克计算TDM,其中包含来自字典(半监督模型和监督模型)的情感相关单词,或者基于单词分布本身(非监督模型和半监督模型)构建字典。然后将TDM用作特征矩阵,将其馈送到神经网络或SVM或者任何端点算法。
这个过程
我将解决一个相当已知的任务,称为文本回归。您有一个文本和一个与之关联的数字。问题是文本本身不是数值数据集,因此您无法直接使用它。最简单的方法之一是您可以在阅读此答案后立即实施的算法。它没有利用NLP的全部功能,但提供了一个很好的介绍。
1.将测试转换为小写,删除标点,数字等。
2.计算每个单词的TF-IDF分数(查看维基百科上的文章)并将它们放在表中,以便列表示单词,行表示文档。
3.用过量的零消除单词。什么应该被视为过度完全取决于你。我不会告诉你,试试看。
提示:看看词汇中“受欢迎程度”的分布。
4.安装模型并验证它。
虚空
有无数种方法可以使您的应用程序更强大。我在答案的第一部分中描述的每个工具都可以为您提供数百种潜在功能。添加具有情绪评级的列。在计算TDM时,从语料库中提取所有实体并将其用作要素。使用TF-IDF表示来聚类文档。使用他们的POS减少单词 - 比如,让我们只保留名词,动词和形容词。那会发生什么?
我希望,这将为如何为实际目的学习NLP提供一些观点。至于大学的,你可以从ACL中读到一些论文。