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

适合程序员逛的在线社区

发布时间:2021-02-06 19:11:41 所属栏目:外闻 来源:互联网
导读:介绍 自然语言处理(NLP)是一个令人生畏的领域名称。从非结构化文本中生成有用的结论是很困难的,而且有无数的技术和算法,每一种都有自己的用例和复杂性。作为一个接触NLP最少的开发人员,很难知道要使用哪些方法以及如何实现它们。 如果我以最小的努力提供

介绍

自然语言处理(NLP)是一个令人生畏的领域名称。从非结构化文本中生成有用的结论是很困难的,而且有无数的技术和算法,每一种都有自己的用例和复杂性。作为一个接触NLP最少的开发人员,很难知道要使用哪些方法以及如何实现它们。

如果我以最小的努力提供尽量完美的结果。使用80/20原则,我将向你展示如何在不显著牺牲结果(80%)的情况下快速(20%)交付解决方案。

  • “80/20原则认为,少数的原因、投入或努力通常导致大多数结果、产出或回报”

-理查德·科赫,80/20原则的作者

我们将如何实现这一目标?有一些很棒的Python库!我们可能站在巨人的肩膀上,迅速创新,而不是重新发明轮子。通过预先测试的实现和预训练的模型,我们将专注于应用这些方法并创造价值。

本文的目标读者是希望将自然语言处理快速集成到他们的项目中的开发人员。在强调易用性和快速效果的同时,性能也会下降。根据我的经验,80%的技术对于项目来说是足够的,但是也可以从其他地方寻找相关方法

不用多说了,我们开始吧!

什么是NLP?

自然语言处理是语言学、计算机科学和人工智能的一个分支领域,允许通过软件自动处理文本。NLP使机器能够阅读、理解和响应杂乱无章的非结构化文本。

人们通常将NLP视为机器学习的一个子集,但实际情况更为微妙。
 

参数最终相对接近我们用于数据生成的值:[0.84576563 1.39541631 -0.47393112]。

此外,在大多数部署情况下,我们通常最终仅使用单个输入来评估模型:在这种情况下,长度为2的数字向量。 如果我们要部署模型,则不需要拟合函数,不需要数据,也不需要迭代。 要生成预测,我们只需要简单有效地实现所涉及的数学函数即可。

边缘设备中部署模型

"所以呢?"你可能会问。当现代模型训练工具抽象出所有这些细节时,为什么还要关心训练和预测中涉及的细节呢?好吧,因为当您希望有效地部署模型时(例如,当您需要模型在小型设备上快速运行时),您可以更好地利用设备的差异。

为了便于讨论,请对比以下两种模型部署方法(即,将经过训练的模型投入生产,以便可以使用其预测):

将sklearn作为REST服务部署在Docker容器上:这种方法很简单并且经常使用:我们启动一个包含python和用于训练的工具的docker镜像:对于上面的示例逻辑回归模型sklearn。接下来,我们创建一个REST API服务,该服务使用拟合模型的mod.predict()函数来生成结果。
 

此,要训练模型,我们需要访问数据,还有几个工具的函数,并且需要多次迭代/遍历数据集。 总的来说,该训练过程对计算的要求很高,这说明了为什么对于复杂的模型,我们求助于并行计算以及GPU或NPU加速,以在合理的时间内执行。 幸运的是,当训练模型时,所需的相当复杂的逻辑已被我们使用的各种ML库抽象化了。

生成预测

将其与从已经拟合的模型中生成预测进行比较(通常称为推理,但由于统计中使用的后者不同,因此我发现这个术语令人困惑,因此我坚持使用预测)。 到模型拟合时,在这种情况下,我们实际上需要生成预测的全部就是逻辑回归函数(与上面示例中用于生成数据的数学函数相同)以及拟合模型的三个参数。 这些很容易检索:

(编辑:甘孜站长网)

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

    热点阅读