请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

搜索
热搜: 邮件服务器
查看: 377|回复: 0

【原创翻译】细说文本挖掘(2)

[复制链接]
发表于 2020-9-21 09:45:25 | 显示全部楼层 |阅读模式
用户手动上传数据
有时候,用户已经有能力在本地自动化地处理一定数量的文档了。那么,系统为了支持用户上传大量具有丰富格式的文档,就必须将某些元数据添加到上载的文档之中。诸如发布日期、作者、源、以及文档类型之类的元数据,将有助于后期的文本挖掘操作,包括:针对特定主题,查找特定作者的作品等操作。
因此,在面对大量可用的数据时,我们可能只是需要其中的一小部分。例如:我们可能只对某医学与药物数据库中的某个特定公司的药物感兴趣。那么,我们就应该通过访问关键字列表,运用全文索引,来快速检索到所需的文档;而不是使用精确但耗费资源的算法,去处理所有的文档。如果我们的目标是从多个来源收集数据,那么就应当使用特定的标准化接口,以迅速高效地获取文档。在此,您可以参考Solr工具,它是一个开源的全文搜索平台。
文档分类和分析
在对各类文档完成收集入库(也可能进行筛选操作)之后,系统会调用各种文本挖掘算法,来检查目标文档是否与主题相关,以及分析文档内所包含的信息。例如:通过判断文档中是否提到了某个产品,以确定其上下文是“正”还是“负”。此后,系统将生成一份文档报告,以便下一步进行手动或自动处理。
总的说来,文本挖掘的方法和算法分为以下几组:
l  文本规范化和预处理。
l  使用一整套规则来搜索实体和他们之间关系。
l  使用各种统计方法和机器学习。
上述这些方法通常会被放到一些复杂的系统中,并被组合到一起使用。
文本规范化和预处理
此阶段处于其他阶段之前,包括以下部分:
l  将句子分为多个单词。
l  删除停顿词(stop words,如前置词、感叹词等)。
l  规范化剩余的词语(将“人们”变成“人”,将“实现了”变成“实现”),并识别它们在语句中的成分。
显然,这些步骤高度依赖于文本的语言,不过也并非总是必要的。例如:某些文本挖掘算法,也可以从停顿单词中收集到各种信息。
规则集
这种方法基于由某个特定领域的专家所制定的一整套规则。下面是此类规则的示例:
l  在带有公司名称的三个句子中,选择所有提到的产品名称。
l  选择匹配“<公司名称>提供<服务名称>”模式的服务。
l  消除那些提及公司产品名称的次数少于三次的文档。
语言规格
此类规则的重点在于通过语言来分析词序。例如:在英语句子中,单词之间的关系是通过语法和功能词(前置词等)来传达,而核心词一般保持不变。
而在合成语言(例如德语、希腊语、拉丁语、俄语)中,单词之间的关系是通过单词的形式来表达的,语序并不重要。
因此在分析英语时,那些非核心词的“服务性”词语(前置词等)负责传达形式和时态。例如那句经典的Word语句:“棕色的狐狸快速地跳过了懒惰的狗”。
与合成语言相比,英语的这句话并不假设棕色的狐狸是雄性还是雌性,而懒惰的狗的性别也不明显。其中,“狐狸”和“狗”都是清晰不变的核心词。
规则的优、缺点
优点
l  无需训练数据或对其进行标记。
l  由系统所做出的判断是明确的,且容易向人类用户做出解释。
缺点
l  需要花一定的精力来制定一套能够给出足够精度的规则。
l  就算模式只是略有不同,现有规则也无法处理新案例中的相关数据。
统计方法与机器学习
文本数据的复杂性和难以规范化其结构,造成了它们在机器学习的应用中显得尤为复杂。我们需要测试多种方法或算法,才能找到针对给定上下文的可接受的输出方案。
下面一些常用的算法示例:
文本预处理算法
除了单词规范化和删除停顿词之外,某些算法还会要求将文本转换为数字形式,以作为矢量或矢量序列。最常用的文本预处理算法有:
1.  One-hot encoding是一种最简单的算法。它将文本中的单词转换为,在i-th位置上具有非零值的N-long向量。其中N是语言字典长度,而i则为该字典中单词的位置。
2.  word2vec也是对单词进行矢量化的一组算法。与One-hot encoding相比,它生成的向量要短得多,并且包含各种实数(并不整数)。word2vec能够给具有相似含义的单词赋予相似的向量。
3.  Bag of words是一种基于单词频率的算法(即:某个单词在文档中出现的次数)。虽然它能够通过向量来描述一般文本,但是它几乎完全忽略了文本的结构。
4.  TF-IDF,是一种能够为每个文本形成tf-idf值向量的算法。此处tf-idf值为给定文本中的单词频率,除以整个语料库中这个单词的反向频率。而反向频率则可以通过不同的方法计算出来。所以基本想法是:如果一个词语经常在语言中被使用到,那么就给它分配较低价值的分类(例如:许多前置词,包括“去”、“工作”、“有”、“需要”等都属于此类),同时其反向频率也就比较低。相反,那些罕见的词语当然也就有着较高的反向频率,其分类的价值也就越高。
命名实体识别和关系提取算法
此项工作是:查找特定的术语(如:公司、产品、服务名称等),通过标记来对它们进行分类,进而找出这些实体之间的关系。因此,可能会涉及到如下算法:
1.  隐马尔可夫模型(Hidden Markov modelHMM),它将统计模型表示为定向图。
2.  条件随机场(Conditional Random FieldCRF)也是一个统计模型,但是它并不使用定向图。
3.  神经网络(Neural networks),其中LSTM能够表示上下文,因为它能够时序地(非重复地)通过处理过程,来存储上下文数据。CNN则根据所发现的基本特征模式来提取数据。
4.  一般机器学习方法。如果系统使用的是“滑动窗口(sliding window)”技术,那么常规的机器学习方法则包括:逻辑回归、支持向量机、朴素贝叶斯分类器、决策树和其他需要输入具有固定特征列表的方法。当然,此类方法并不考虑窗口之外的上下文。因此,如果相关的单词远离窗口长度的范围,或是对于整个文本块有一些其他类型的评论(例如,产品描述的负面评论)时,这些信息则会被忽略,进而可能产生不准确的结果。
分类和主题建模算法
此项任务是对已处理的文档,产生包括文档类型或主题在内的简单描述。因此,可能会涉及到如下算法:
1.  潜在狄利克雷分配(Latent Dirichlet AllocationLDA),是一种基于狄利克雷(Dirichlet)分布的统计模型。它能将文本视为不同主题的组合。
2.  潜在语义分析(Latent Semantic AnalysisLSA),是一种将语料库表示为术语文档矩阵,通过将其分解,以定义不同文档主题的方法。
3.  主题模型的加法正则化(Additive Regularization of Topic ModelsARTM),是将现有的统计模型与正则化相结合,进而更好地分析文本结构。
4.  使用bag of wordstf-idf 和其他算法的结果,作为输入的通用机器学习方法。
当然,各种算法的性能也会因作业的不同而有所差异。例如:对于不同的文本主题或命名实体来说,某些算法的工作效果可能会表现得特别优秀。因此,我们在构建文本挖掘系统时,可以通过尝试不同的方法,以找到最佳的输出结果;或是将不同技术的结果相结合,以达到文本挖掘的目的。
统计方法与机器学习的利与弊
优点
l  能自动搜索文本特征和所需结果之间的关系。
l  能考虑到文本内部复杂的关系。
l  有泛化推广能力(对不在培训集中的案例采取正确处理方式)。
缺点
l  根据算法的不同,训练集是必需的,而且可能会相当大。
l  该系统所做出的决策并不总是正确的且可解释的。一旦系统给出了不正确的结果,后期很难予以检测并修复问题。

【原标题】 Text Mining 101What it Is and How it Works(作者Ilya Feigin
原文链接:https://dzone.com/articles/text-mining-101-what-it-is-and-how-it-works-for-bu

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 思科 CCO 登录 | 思科 CCO 注册   

本版积分规则

Archiver | 思科社区  

GMT+8, 2020-10-23 03:58 , Processed in 0.091814 second(s), 28 queries .

京ICP备11014401号-17

© 2020 思科系统.版权所有 重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表