【问题标题】:Is it possible to let a neural network classify entities based on classified documents? [closed]是否可以让神经网络根据分类文档对实体进行分类? [关闭]
【发布时间】:2019-05-18 16:31:32
【问题描述】:

我标记了具有独立类别的文本数据集。在 Keras 中运行 CNN 分类器时,我的准确率 > 90%。

我的短信是客户评论“我真的很喜欢这款手机的摄像头”。类是例如“手机摄像头”、“内存”等

我正在寻找的是我是否可以用出现在其中的类别来标记句子,同时分类器标记指示类的实体。或者更具体地说:如何提取输入句子中使 Keras 中的 CNN 网络选择(即分类)1、2 或更多类别的部分?

【问题讨论】:

  • 您想为相机、内存等实体分配标签(即/好/坏/正常),还是只用类别标记文本 - 即“我真的很喜欢这个相机电话。” - 会有标签“相机”,“手机”?
  • 首先,我想找出一个句子中有哪些类别。稍后,我想对每个类别的情绪(好/坏/正常)进行分类,但也可能对重要性、主观性等其他事物进行分类。由于一个句子中经常有多个类别,我无法对整体进行分类情绪或重要性。
  • 所以我在处理客户评论时遇到了同样的问题。据我所知,没有现成的神经网络架构可以完成这项任务。我使用文本预处理(将句子拆分为单独的实体),然后使用标签好/坏/正常/中性等手动标记数据集,然后训练分类器。如果这种方法适合你,我可以写出来,用通用管道回答。
  • 这会有所帮助。谢谢!或许,其他人稍后可以帮助我们提供另一个解决方案。

标签: python keras neural-network conv-neural-network multilabel-classification


【解决方案1】:

我的Pipilene(一般)用于类似的任务。

我不使用nn来解决整个任务 h3>

首先,我不直接使用nns来标记单独的实体,如“相机”,“屏幕”等。有一些很好的方法可能是有用的,如pointer networks或只是attention,但它只是没有在我的情况下。
我猜,这个架构不起作用,因为有很多噪音,又名“我很高兴我在我的数据集中购买了这台电视”。大约。总体上75%,其余数据并不是如此干净。

因为这一点,我做了一些额外的动作:

  1. 将句子分成块(有时 em>它们的载体所需实体)
  2. 用手用“无用”标记这个块(AKA“,我很开心/如此沮丧”等等)和有用:“好的相机”,“坏电话”等。
  3. 列车分类器以对此​​数据进行分类。

有关管道的详细信息 h3>

如何“识别”实体
我刚刚使用了regexps和言语部分来拆分我的数据。但我与俄语语言数据集一起使用,因此俄语没有良好的免费语法解析器/库。如果您使用英语或另一种语言,请在Spacy或NLTK库中呈现,您可以使用它来解析为单独的实体。此外,与俄语相比,英语语法如此严格 - 它可能会使您的任务变得更加容易。
无论如何,尝试从正面表达和解析开始。

词汇表与“相机”,“电池”等主题,“电池”,......也非常有用。

识别实体的另一种方法是主题modellig - plsa / lda(gensim rocks),但它很难调整,imo,因为文本中有很多噪音。你会得到很多主题{"happy", "glad", "bought", "family", ...}等等 - 但是你可以尝试主题建模。

也可以使用每个文本的实体标签创建一个数据集,并引起注意,通过注意,您可以通过高度重视来识别它,但创建此数据集非常繁琐。

create dataset和train nn's
我只有当我获得“命名实体”的可接受质量时才开始创建数据集 - 因为如果您稍后更改此(脚)部分,则Probalby可以丢弃数据集并再次从划痕开始。

更好地确定您将使用一次的标签,然后不要更改它们 - 它是工作的关键部分。

培训NN在这些数据上是最简单的工作可能 - 只是任何好的分类器,都是整个文本。甚至不是一个nn,但是一个简单的奶油机可能是有用的 - 使用混合,袋装等。

可能的麻烦
有一个陷阱 - 一些评论/功能对于NN分类器来说并不那么明显,甚至是人类,如“响亮的声音”或“变得非常热”。通常是他们上下文研究员。所以,我使用团队的一点帮助来标记数据集 - 所以,每个条目都是由一群人勒索的,以获得更好的质量。此外,我也使用上下文标签 em> - 产品类别 - 为每个实体添加上下文:所以,音频系统的“响亮”和用于洗涤捣碎的熊熊争议情绪和模型可以学习它。大多数情况下类别标签易于访问的数据库/ Web解析。

希望它有所帮助,我也希望有人知道更好的方法。

【讨论】:

    猜你喜欢
    • 2021-06-01
    • 2014-03-28
    • 2014-04-30
    • 2020-05-16
    • 2018-07-26
    • 2019-07-17
    • 1970-01-01
    • 2014-05-20
    • 2019-06-18
    相关资源
    最近更新 更多