【IT168 资讯】虽然自然语言处理(NLP)和文本挖掘不是一回事,但它们是密切相关的,处理相同的原始数据类型,并在其使用中有一些交叉。我们来讨论一下如何处理这类型的任务。
现在有很多可用的文本数据,而且每天都在创建大量的文本数据,从结构化到半结构化到完全非结构化。我们可以用它做什么?其实,有相当一部分是取决于你的目标是什么。
文本挖掘还是自然语言处理?
自然语言处理关注自然人类语言与计算设备之间的交互。自然语言处理是计算语言学的一个重要方面,同时也属于计算机科学和人工智能领域。
文本挖掘存在于一个与自然语言处理类似的领域,因为它涉及到在文本数据中识别有趣的、有价值的信息。
真正的区别是什么?
首先,这两个概念的确切界限没有明确界定,并且在不同程度上相互渗透,具体取决于与你讨论此类问题的从业人员和研究人员。通过洞察力来区分是比较容易的一种方式。如果原始文本是数据,那么文本挖掘就是信息,自然语言处理就是知识(见下面的理解金字塔)。
另一种理解这两个概念之间的差异的方法是通过下面的维恩图进行可视化,其中还考虑了其他相关的概念,以便展示许多紧密相关的领域和学科之间的关系和重大的重叠。
对于文本挖掘和自然语言处理之间的确切关系,还有各种其他解释,你可以找到对你来说更为有用的东西。我们并不真正关心确切的定义是绝对的还是相对的,就像我们在直觉上认识到,这些概念与某些部分有重叠,但它们两个仍然是不同的。
虽然自然语言处理和文本挖掘不是同一个事物,但它们是密切相关的,处理相同的原始数据类型,并且在它们的使用中有一些交叉。重要的是,这两个任务的大部分数据预处理是相同的。
尝试避免歧义是文本预处理的很大一部分。我们希望保持既定的意思,同时也消除噪音。为了做到这一点,需要以下内容:
·关于语言的知识
·关于世界的知识
·一种结合知识来源的方法
为什么文本很难?
文本数据科学任务框架
我们可以制定一个足够的通用框架来处理文本数据科学任务吗?事实证明,处理文本与其他非文本处理任务很相似,所以我们可以通过KDD过程寻找灵感。
我们可以说这是基于文本的通用任务的主要步骤,属于文本挖掘或自然语言处理。
1.数据收集或汇编
获取或建立语料库,可以是任何电子邮件、英文维基百科全文、公司财务报告甚至是莎士比亚全集这些完全不同的东西。
2.数据预处理
在预期文本挖掘或自然语言处理任务的情况下,在原始文本语料库上执行准备任务
数据预处理包括许多步骤,其中任何数量的步骤可能适用于或不适用于给定的任务,但通常属于标记化,规范化和替代的一类中
3.数据挖掘和可视化
无论我们的数据是否是文本,探索和可视化是获得洞察力的重要步骤
常见的任务可能包括可视化单词计数和分布、生成词云和执行距离度量
4.模型建设
这是文本挖掘或NLP任务发生的地方(包括培训和测试)
还包括在适用时的特征选择和工程设计
语言模型:有限状态机,马尔科夫模型,向量空间建模
机器学习分类器:朴素贝叶斯,逻辑回归,决策树,支持向量机,神经网络
序列模型:隐马尔可夫模型,递归神经网络(RNN),长期记忆神经网络(LSTM)
5.模型评估
模型是否按预期执行?
度量标准将取决于文本挖掘或自然语言处理任务的类型
即使在聊天机器人(NLP任务)或生成模型的框外思考:某种形式的评估是必要的