鉴于我有文档的全文和标签,我如何对文档中的特定类型的单词进行分类

数据挖掘 机器学习 分类 nlp
2022-03-04 04:28:18

我正在从事一个项目,该项目涉及从文本中挑选特定种类的对象。我要阅读的文件本质上是生命科学和生物医学,在这些文件中,我想挑选出特定的生物医学“对象”。文本对象的性质和多样性意味着我不能使用正则表达式或字符串匹配。它必须是某种分类。

这些文本对象可以是一个词,也可以是多个词,但它们始终是按顺序排列的。一个例句就像

During the process of protein synthesis, X was used.

我需要选择 X。幸运的是,我有很多带标签的文档,还有很多标签要与之配套。所以我知道人类可以挑选出这些物体。所以现在的挑战是让机器能够从看不见的文本中挑选出这些类型的对象。我的工作假设是这些特定的文本对象都属于某种相似的语法和文本上下文,所以如果有足够的标记数据,机器应该能够学习如何挑选出文本对象。

两个主要问题。

  1. 如何标记文档中的特定单词,以便某些模型能够理解给定文本序列,位置 Y 处的对象是标记的以及我们应该尝试分类的内容。

  2. 我刚才说的话有意义吗?有没有关于我一直在谈论的东西的研究,因为我环顾四周并没有找到太多东西。

1个回答

您描述的任务与Named Entity Recognition (NER)完全对应这是一个标准任务,有许多可用的库。NER 通常使用诸如条件随机场之类的序列标记模型来完成。序列标记意味着数据以如下所示的序列提供:

During    <features ...>  O
the                       O
process                   O
of                        O
protein                   O
synthesis                 O
,                         O
X_token1                  B_classX
X_token2                  I_classX
X_token3                  I_classX
was                       O
used                      O
.                         O

这里我使用的是常见的 BIO 格式(Begin、Inside、Outside an entity),但也有变体。该模型使用以这种方式注释的数据进行训练,其中可能存在其他特征(通常是 POS 标签等)。然后,当提供新文本(带有特征)时,模型会预测每个标记的 BIO 标签。

已经有很多研究和资源用于在生物医学数据的特定上下文中提取特定实体,因此您可能也有兴趣探索这些特定资源。

  • MedlinePMC是生物医学摘要/论文的巨大集合
  • 基于 Medline/PMC 数据提取生物医学注释的工具有很多:PubTatorcTakesSciSpacy等。