自动标记单词或短语

时间:2016-09-23 09:21:00

标签: python excel nlp data-modeling prediction

我想使用列表中定义的单词/短语之一自动标记单词/短语。我的列表包含columnA中大约230个单词,这些单词在columnB中标记。大约有16个唯一标签,这230个单词中的每一个都标有16个标签中的一个。

查看我的清单:

The words/phrases in column A are tagged as words/phrases in column B. enter image description here

有时会添加新单词,必须手动为其指定标记。 我想构建一个预测算法/模型来自动标记新单词(或建议)。因此,如果我写一个新单词,请说“MIP Reserve' (A36),那么它应该将标签预测为托管存款'(B36)而不是'运营储备'(B33)。即使单词与实际标签中的单词不匹配,我该如何准确预测新单词的标签? 如果有人愿意看到完整列表,我可以愉快地分享。

1 个答案:

答案 0 :(得分:1)

短版

我认为你的问题有点不明确,并没有简短的编码或宏观答案。鉴于每个项目都包含这么少的信息,我不认为可以从源数据构建一个好的预测模型。相反,做一次标记练习,看看你将来如何控制标记。

长版

以下是我创建预测模型的步骤,以及为什么我认为你无法做到这一点。

  1. 了解您希望制定预测程序的原因
  2. 为什么需要预测程序?您是在整理数百或数千条记录,所有这些记录都在变化并需要标记吗?如果是这样,我同意,你不想手动这样做。

    如果这是一次性练习,因为随着时间的推移,标签已经从其原始含义中被破坏,您的问题是您的标签已经损坏,而不是您需要以某种方式预测每个项目应该被标记的位置。您应该考虑控制标签的使用,而不是预测未来人们如何误解或错误命名。

    不要忘记Excel中有很多工具可以让问题更轻松。让我们假设您确定所有带有现金的物品。肯定会去“运营现金”#。将自动筛选功能放在列表中并过滤单词' cash' - 现在只需复制并粘贴' Operating Cash'在所有这些旁边。通过这种方式,您可以快速摆脱列表中的明显问题,并专注于棘手的问题。

    1. 了解您要使用的代码的特征。
    2. 花点时间看看你正在使用的标签 - 它们各自意味着什么?此标记代表的独特功能或功能组合是什么?

      例如,您的代码'运营现金'具有现金特征(即没有捆绑,因此可以相当快地使用)并被指定用于操作。从这些中,我们可能得出进一步的特征,即它在某个地方,或某个人对它负责。

      如果您有更多的源数据可供使用,您可以使用“创建年份”等字段,或者“'客户'帮助您进一步分类。

      1. 了解您要标记的项目的内容,可以让您知道应该去哪里。
      2. 这是你最大的问题。一个简单的例子 - 字符串中的内容" MIP Reserve"提供任何线索,它应该链接到"托管存款"?您没有简单的方法来匹配列表中的许多项目 - 许多单词出现在多个标签的多个项目中。

        但是,请尝试查找能够为您提供线索的唯一标识符 - 例如,所有带有“开发者”字样的项目。似乎被标记为' Developer Fee Note&利益&#39 ;.你还有其他的吗?使用这些来减少您的问题,因为它们应该是一个简单的映射。

        任何唯一标识符都允许您为这些字符串设置规则。你甚至不需要坚持一个词 - 也许当你看到几个单词时,你可以缩小它最终的位置,例如:当我看到蛋#39;这可能会进入“鸟类”。或者'爬行动物,但如果' egg'与“翼”配对,我可以相当自信它的鸟类。

        您需要将要标记的项目的特征与您在步骤1中开发的标记的唯一标识符相匹配。

        1. 编写程序或宏以在步骤2中查找标识符,并从步骤1返回相关标记。
        2. 这是直截了当的一点。寻找您想要的标识符(例如,使用'现金',包含标记'真正重要的客户')并在之前的标记中寻找最佳匹配。

          确保您发现任何错误 - 如果找不到标记会怎样?它会创建一个新的吗?是否建议联系您寻求帮助?如果多个标签相关,会发生什么?你的打破标准是什么?

          但请注意......

          1. 了解如何控制对这些唯一标识符的使用。
          2. 想象一下,你以某种方式设法得到一个唯一标识符列表。你将如何控制他们的使用?如果您决定发送任何带有' cash'标记'运营现金'然后在一年之内,有人出现并制作了一个项目“资本现金”,因为他们想在某个地方投入即将花在资本项目上的现金,你如何制止这个?你打算怎么控制这些词的使用?

            您将有效地需要控制项目命名系统并建立一个商定的识别单词列表。每当有人制作某个项目时,他们都需要在某处包含您的标识符。我可以告诉你,这不会奏效。要么他们会使用错误的单词,你最终会手动执行它,否则他们会让你感到困惑,无论如何你都会手动完成它。

            如果您是唯一一个这样做的人,只需按照您自己的标准(您记录的)进行一次锻炼并坚持该标准。当你需要交出它时,它是明确有序的并且有意义。如果不止一个人这样做,请在您和团队之间进行一次练习,然后同意控制它。

            编写预测程序听起来很棒,可能会节省一些时间。但请考虑一下为什么要写它。您是否可能需要在将来不断标记帐户?如果是这样,请集中控制它们的命名并使其成为标记在制作时是必需的。如果没有,为什么要编写程序来执行此操作?只需手动执行一次。