我一直在做一个研究项目。我有一个维基百科描述大量实体的数据库,包括运动员、政治家、演员等。目的是使用描述确定实体的类型。我可以访问一些具有预测实体类型的数据,这些数据非常准确。这将是我的训练数据。我想做的是训练一个模型来预测其余数据的主要实体类型。
到目前为止我做了什么:
- 提取了实体的 Wiki 描述的第一段、H1、H2 标题。
- 提取了 wiki 页面上实体的类别列表(底部的"类别"部分存在于任何页面上,如下所示。
对于与两个或多个概念相关联的实体,例如后来成为政治家的演员,查找实体的类型可能很困难。
我想问一下如何根据我拥有的原始数据创建模型?我应该使用哪些变量来训练模型?还有没有任何自然语言处理技术可以为此目的提供帮助?我知道在这种情况下,POS标记器会有所帮助。
我在互联网上的搜索并没有取得多大成功。我偶然发现了像这样的研究论文和博客,但没有一个有这方面的相关信息。任何想法将不胜感激。提前感谢!
编辑 1:
输入数据是实体维基百科页面的第一段。例如,对于此页面,我的输入将是:
艾伦·斯图尔特·弗兰肯 (生于 21 年 1951 月 2009 日(是美国喜剧演员、作家、制片人、作家和政治家,曾于 2009 年至 2018 年担任明尼苏达州美国参议员。他在 1970 年代和 1980 年代作为电视喜剧节目《周六夜现场》(SNL( 的表演者而闻名。在担任喜剧演员和作家数十年后,他成为著名的自由派政治活动家,在美国航空电台主持了阿尔弗兰肯秀。
我提取的信息是页面的第一段,所有"类别"(页面底部(的字符串以及页面的所有标题。
根据我收集的信息,您希望有一个分类器,它接受文本输入并从预定义类别列表中进行预测。
我不确定您的专业水平如何,因此,如果其他人想了解该主题,我将提供高水平的概述。
像所有使用 ML 的 NLP 任务一样,您将不得不通过featurization
的过程将textual
域转换为numerical
域。
- 处理文本和标签
- 确定相关功能
- 创建要素的数值表示
- 在分类器上训练和测试
处理文本和标签
文本可能有一些奇怪的标记或需要修改的内容以使其更"干净"。 这是文本规范化步骤的标准。
然后,您必须将相关类别保留为文本的标签。
它最终将如下所示:
For each wiki article:
Normalise wiki article text
Save associated categories labels with text for training
确定相关功能
您似乎提到的一些功能是:
- 主导领域(演员、政治家(
- 标头信息
句法信息(POS 标签(是本地的(令牌级别(,但可用于提取特定特征,例如单词是否为专有名词。
创建要素的数值表示
幸运的是,有一些方法可以进行自动编码,例如doc2vec,它可以从文本中制作文档向量。然后,您可以添加其他看似相关的定制功能。
然后,您将获得与此文本相关的要素以及标注(类别(的矢量表示。
这将成为您的训练数据。
在分类器上训练和测试
现在在您选择的分类器上进行训练和测试。
您的数据是一对多的,因为您将尝试预测许多标签。
尝试一些简单的事情,只是为了看起来事情是否按您的预期工作。
您应该使用交叉验证例程(例如使用标准指标(精度、召回率、F1(的 k 折叠验证(来测试结果
澄清
只是为了帮助澄清,此任务实际上并不是命名实体识别任务。这是一种多标签分类任务,其中标签是维基百科页面上定义的类别。
命名实体识别是在文档中查找有意义的命名实体,例如人员、地点。通常是名词之类的东西。这通常是在令牌级别完成的,而您的任务似乎是在文档级别完成的。