从文本推断流程的 NLP 方法

数据挖掘 nlp 斯派西 艾伦普
2022-03-08 02:20:24

我想使用 NLP 技术从原始文本中推断出一个过程。例如,如果我有这样的句子:

招聘就是为工作吸引和选择合适的人选。

得到以下过程:

吸引合适的人。

我注意到向前迈出的一个非常好的强有力的一步是使用SpaCy、标记文本并为名词过滤它们。但从这一刻起,我完全是空白的。有人向我建议了一些名为“语义角色标签”(SRL)的东西,并阅读了我认为它可以在这里很好地工作的方法,也许是使用该AllenNLP模块。

我想知道的(以及这篇文章的全部目的)是替代方案。除了 SRL,还有哪些其他方法可以适合并解决这个问题?我显然不希望回复的人能够解决问题,只是对可能有效的方法提出建议,以便我可以深入研究它们(如前所述,我在这个主题上的经验真的很短)。

提前致谢!

1个回答

遵循构建分类器的想法,一种选择是在您拥有具有所需进程类别的标记数据集后,将nltk 库Keras-Tensorflow一起使用。您可以采用两种主要方法:

  • 词袋
  • 序列建模

作为使用第一种方法在文本分类器中实现的步骤的快速恢复,您可以遵循以下步骤(您可以在此处找到一个有效的噘嘴示例):

  • 阅读并检查您的原始输入句子(用于训练、验证......)是否具有正确的格式和正确的标签,例如: 在此处输入图像描述
  • 根据需要预处理你的句子,可能是这些步骤:
    - 小写所有单词
    - 删除标点符号
    - 标记你的单词(在这里,你可以定义你是否想要 1-gram 标记,2-gram 标记......)
    - 阻止你的单词(为了消除单数/复数,动词时态......(这一点并不总是直截了当,因为像 PorterStemmer、SnowballStemmer 这样的词干分析器可能会根据所选语言提供不同的性能),更多信息在这里
    - 添加更多自定义步骤您的用例,上面的那些是标准的,但是您可以过滤您知道不会为您的用例提供价值的句子
  • 一旦你预处理了你的输入数据,你应该能够访问你的词汇表,得到类似的东西:

    在此处输入图像描述

    你已经准备好对你的句子进行矢量化,最终得到如下结果: 在此处输入图像描述

  • 构建您的分类器,您可以在其中尝试不同的模型,例如卷积神经网络、双向 LSTM、变压器模型……