加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘孜站长网 (https://www.0836zz.com.cn/)- 运维、物联设备、数据计算、智能推荐、云管理!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

哪个行业的数据分析岗位最香?

发布时间:2021-02-06 19:02:16 所属栏目:外闻 来源:互联网
导读:就这样,我们有结果了!冒险小说和浪漫小说最为相似,而社论则类似于新闻和政府。 应用3:情感分析 情感分析是将非结构化文本解释为正面、负面或中性。情感分析是分析评论、衡量品牌、构建人工智能聊天机器人等的有用工具。 与文档聚类不同,在情感分析中,我

就这样,我们有结果了!冒险小说和浪漫小说最为相似,而社论则类似于新闻和政府。

应用3:情感分析

情感分析是将非结构化文本解释为正面、负面或中性。情感分析是分析评论、衡量品牌、构建人工智能聊天机器人等的有用工具。

与文档聚类不同,在情感分析中,我们不使用预处理。段落的标点符号、流程和上下文可以揭示很多关于情绪的信息,所以我们不想删除它们。

为了简单有效,我建议使用基于模式的情感分析。通过搜索特定的关键词、句子结构和标点符号,这些模型测量文本的积极消极性。以下是两个带有内置情感分析器的库:

VADER 情感分析:

VADER 是 Valence Aware Dictionary and sEntiment Recognizer的缩写,是NLTK用于情感分析的扩展。它使用模式来计算情绪,尤其适用于表情符号和短信俚语。它也非常容易实现。
 

如果向量是二维的,我们可以像上面一样可视化文档。在这个例子中,我们看到文档A和B是紧密相关的,而D和F是松散相关的。即使这些向量是3维、100维或1000维,使用距离度量的话,我们也可以计算相似性。

下一个问题是如何使用非结构化文本输入为每个文档构造这些向量。这里有几个选项,从最简单到最复杂的:

  • 词袋:为每个唯一的单词分配一个索引。给定文档的向量是每个单词出现的频率。
  • TF-IDF:根据单词在其他文档中的常见程度来加强表示。如果两个文档共享一个稀有单词,则它们比共享一个公共单词更相似。
  • 潜在语义索引(LSI):词袋和TF-IDF可以创建高维向量,这使得距离测量的准确性降低。LSI将这些向量压缩到更易于管理的大小,同时最大限度地减少信息损失。
  • Word2Vec:使用神经网络,从大型文本语料库中学习单词的关联关系。然后将每个单词的向量相加得到一个文档向量。
  • Doc2Vec:在Word2Vec的基础上构建,但是使用更好的方法从单词向量列表中近似文档向量。

Word2Vec和Doc2Vec非常复杂,需要大量的数据集来学习单词嵌入。我们可以使用预训练过的模型,但它们可能无法很好地适应领域内的任务。相反,我们将使用词袋、TF-IDF和LSI。

现在选择我们的库。GenSim是专门为这个任务而构建的,它包含所有三种算法的简单实现,所以让我们使用GenSim。

对于这个例子,让我们再次使用Brown语料库。它有15个文本类别的文档,如“冒险”、“编辑”、“新闻”等。在运行我们的NLTK预处理例程之后,我们可以开始应用GenSim模型。

首先,我们创建一个将标识映射到唯一索引的字典。
 

Scailable WebAssembly部署:除了上述方法以外,还可以将拟合模型转换为WebAssembly(使用与Scailable提供的服务类似的服务),并部署.WASM二进制文件,其中仅包含在最小的WebAssembly运行时中进行预测所需的逻辑。 自动生成的二进制文件将仅包含必要的逻辑函数和估计的参数。二进制文件可能部署在服务器上因此也类似地通过REST调用使用,但是,它可以兼容可用的运行时,它也几乎可以在任何边缘设备上运行。

显然,第一个部署过程接近数据科学家的"我们所知道的"。直接使用我们惯用的工具是非常方便的,并且在许多方面它都有效:我们可以使用对REST端点的调用来生成预测。第二种解决方案与我们的标准实践相距甚远,并且对于模型训练毫无用处(即,没有"WebAssembly软件包来训练模型……")。但是,我们仍然认为应该首选:第二种设置利用了训练和预测之间的差异,从而在几个方面使模型部署更好:

内存占用:上面两个选项中的第一个选项将需要至少75Mb的容器(要使容器变小需要大量的工程设计,使容器的大小接近1Gb更为常见)。在这种情况下,存储的模型本身很小(〜2Kb),因此容器占部署内存占用的最大块(请注意,例如大型神经网络可能不正确)。相反,WebAssembly运行时可以降至64Kb以下。 WebAssembly二进制本身本身大于存储的sklearn模型(〜50kb),但是现在它包含生成预测所必需的全部。因此,虽然第一个部署选项至少占用75Mb,但第二个部署选项占用不到0.1Mb。

速度:与高效的WebAssembly部署相比,消耗一个在Docker容器中运行的REST端点并不能在执行时间上取得优势,因为Docker容器启动了所有训练所需的东西。下面是一些针对不同模型的速度比较,但是,不必说,利用训练和预测之间的差异,并且仅仅将预测的基本需求投入生产,就可以通过一个数量级提高速度,从而生成这些预测。

因此,内存占用更小,执行速度更快。有几个原因;其中一个原因是,我们可能希望有效地部署模型,而不会在每次做出预测时浪费能源。但是,一个小的内存占用和快速的执行也是很吸引人的,因为这正是我们在将模型投入生产的边缘所需要的:好运部署你的Docker容器(例如,)在ESP32 MCU板上。使用WebAssembly,这是小菜一碟。

综上所述,你一定对WebAssembly十分感兴趣,那么看看这个代码吧,它包含了本文的所有内容

(编辑:甘孜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读