如何使用文本分类确定亚马逊评论是否可能是假的

人工智能 机器学习 自然语言处理 算法 分类
2021-11-12 01:34:11

我目前正处于在 ASP.NET 中构建 Web 应用程序的研究阶段,用户可以在其中输入亚马逊产品的 URL,然后该应用程序将确定其评论的真实性。我需要帮助确定使用什么算法来确定某个评论是否可能具有欺骗性。我希望我的应用程序的行为类似于 Fakespot 或 ReviewMeta。我意识到这样的工具不会 100% 准确,这很好。

到目前为止,我阅读了这本书的部分内容,似乎向 NLP 新手推荐了很多,但还没有找到适用于此类特定问题的任何内容。我也读过这篇文章,但它是基于酒店、餐厅和医生的评论。我正在尝试找到一种更通用的方法,可以应用于任何产品。任何帮助将不胜感激!

2个回答

一旦你有大量的训练数据,这将不是那么难的问题。但是,在您拥有大量训练数据之前,您需要以一种或另一种方式获取一些训练数据。您将需要大量训练数据来获得相当多的模型,这些模型将为您提供高精度。然后,您可能希望将长期短期记忆循环神经网络与 word2vec 模型一起使用,甚至可能是句子/paraphraph2vec 模型。这将能够通过一些调整为您提供一些相当不错的结果,但如果您想要真正准确的结果,您将需要尝试一个整体。集成是指您使用多个神经网络提供的输出,该输出通过另一个分类器(通常是 XGboost)提供,以获得更好的分类结果。您可能还想尝试一些特征工程。最后,为了实现此模型,您可以采用多种方法之一。首先,您可以使用 tensorflow 服务。Tensorflow 由谷歌创建并被许多机器学习社区使用。但是,tensorflow 是用 python 编写的,因此您需要使用 tensorflow serving 才能在您的 Asp.net 应用程序中使用它。或者,您可以使用微软的 CNTK。或者最后,您可以使用自定义构建的实现,但这将花费大量时间并且不值得,除非您正在进行研究。此外,如果您出于某种原因真的不想使用深度学习,您可能可以使用更简单的模型,但您需要了解您的数据。如果您正在进行深度学习,您还需要了解您的数据,但可能不需要那么多。您可以采取几种方法中的一种。首先,您可以使用 tensorflow 服务。Tensorflow 由谷歌创建并被许多机器学习社区使用。但是,tensorflow 是用 python 编写的,因此您需要使用 tensorflow serving 才能在您的 Asp.net 应用程序中使用它。或者,您可以使用微软的 CNTK。或者最后,您可以使用自定义构建的实现,但这将花费大量时间并且不值得,除非您正在进行研究。此外,如果您出于某种原因真的不想使用深度学习,您可能可以使用更简单的模型,但您需要了解您的数据。如果您正在进行深度学习,您还需要了解您的数据,但可能不需要那么多。您可以采取几种方法中的一种。首先,您可以使用 tensorflow 服务。Tensorflow 由谷歌创建并被许多机器学习社区使用。但是,tensorflow 是用 python 编写的,因此您需要使用 tensorflow serving 才能在您的 Asp.net 应用程序中使用它。或者,您可以使用微软的 CNTK。或者最后,您可以使用自定义构建的实现,但这将花费大量时间并且不值得,除非您正在进行研究。此外,如果您出于某种原因真的不想使用深度学习,您可能可以使用更简单的模型,但您需要了解您的数据。如果您正在进行深度学习,您还需要了解您的数据,但可能不需要那么多。Tensorflow 由谷歌创建并被许多机器学习社区使用。但是,tensorflow 是用 python 编写的,因此您需要使用 tensorflow serving 才能在您的 Asp.net 应用程序中使用它。或者,您可以使用微软的 CNTK。或者最后,您可以使用自定义构建的实现,但这将花费大量时间并且不值得,除非您正在进行研究。此外,如果您出于某种原因真的不想使用深度学习,您可能可以使用更简单的模型,但您需要了解您的数据。如果您正在进行深度学习,您还需要了解您的数据,但可能不需要那么多。Tensorflow 由谷歌创建并被许多机器学习社区使用。但是,tensorflow 是用 python 编写的,因此您需要使用 tensorflow serving 才能在您的 Asp.net 应用程序中使用它。或者,您可以使用微软的 CNTK。或者最后,您可以使用自定义构建的实现,但这将花费大量时间并且不值得,除非您正在进行研究。此外,如果您出于某种原因真的不想使用深度学习,您可能可以使用更简单的模型,但您需要了解您的数据。如果您正在进行深度学习,您还需要了解您的数据,但可能不需要那么多。您可以使用自定义构建的实现,但这将花费大量时间并且不值得,除非您正在进行研究。此外,如果您出于某种原因真的不想使用深度学习,您可能可以使用更简单的模型,但您需要了解您的数据。如果您正在进行深度学习,您还需要了解您的数据,但可能不需要那么多。您可以使用自定义构建的实现,但这将花费大量时间并且不值得,除非您正在进行研究。此外,如果您出于某种原因真的不想使用深度学习,您可能可以使用更简单的模型,但您需要了解您的数据。如果您正在进行深度学习,您还需要了解您的数据,但可能不需要那么多。

这是一个常见的问题,但在此之前,您需要大量的标签数据,越多越好。

由于亚马逊的所有评论都没有被标记为具有欺骗性,因此您可以手动标记它们。

然后,您可以使用 Aiden Grossman 所描述的 NLP 技巧。一种简单的方法是让每个单词都作为向量之一,输出是一个向量(是否具有欺骗性)。更好的方法是使用 word2v 作为输入,使用 lstm 作为隐藏层。

当心这个异常检测问题,即欺骗性审查可能极少发生。请谨慎处理精度和召回。

Asp.net 是好的。您可以将推理模型用作后端服务,asp.net 可以使用任何 js 框架调用此服务。