自动标记单词或短语

我想用列表中定义的单词/短语之一自动标记单词/短语。 我的列表包含在列B中标记的大约230个字的列。 大约有16个独特的标签,这230个单词中的每一个都标有这16个标签中的一个。

看看我的清单:

列A中的单词/短语被标记为列B中的单词/短语。 在这里输入图像说明

有时会添加新的单词,以便手动input标签。 我想build立一个预测的algorithm/模型来自动标记新单词(或build议)。 所以如果我写一个新词,比如说“MIP Reserve”(A36),那么它应该把这个标签预测为“托pipe寄存”(B36),而不是“操作储备”(B33)。 我应该如何准确地预测新单词的标签,即使这些单词与其实际标签中的单词不匹配? 如果有人愿意看到完整的列表,我可以愉快地分享。

简洁版本

我认为你的问题有点不明确,没有简短的编码或macros观答案。 鉴于每个项目都包含这样的信息,我认为从源数据build立一个好的预测模型是不可能的。 相反,做标记练习一次,看看你如何控制标记在未来。

长版

以下是我要创build预测模型的步骤,以及为什么我不认为您可以这样做。

  1. 理解你为什么要有一个预测程序

为什么你需要预测程序? 你是通过成千上万的logging进行sorting,所有这些logging都在变化,需要标记吗? 如果是这样,我同意,你不会想手动这样做。

如果这是一次性的练习,因为随着时间的推移,标签已经被破坏了原来的含义,你的问题是你的标签已经被破坏,而不是你需要以某种方式预测每个项目应该被标记的地方。 您应该考虑控制标签的使用,而不是预测未来人们会怎样误认或误用某些东西。

不要忘记,Excel中有很多工具可以使问题更容易。 假设您确定所有具有“现金”的项目肯定都是“营业现金”。 把一个自动filter的名单上,并过滤单词“现金” – 现在只需复制并粘贴旁边所有这些“经营现金”。 这样,你可以快速摆脱列表中的明显,并专注于棘手的。

  1. 了解您要使用的标签的特征。

花点时间看看你正在使用的标签 – 他们每个人都意味着什么? 这个标签代表什么独特的function或function组合?

例如,您的标签“运营现金”具有现金的特点(即不会被捆绑起来,以便相当快速地使用)以及专用于运营。 从这些angular度来看,我们可能会进一步推断出它在某个地方存在的特点,或者某个人对此负有责任。

如果您有更多的源数据可以继续使用,则可以使用“创build年份”或“客户”等字段来帮助您进一步分类。

  1. 了解你想要标记的项目是什么,这可以让你知道他们应该去哪里。

这是你最大的问题。 一个简单的例子 – string“MIP Reserve”中的内容是否提供了与“托pipe存款”相关的线索? 您没有简单的方法来匹配列表中的许多项目 – 许多词汇在多个标签中出现在多个项目中。

但是,请尝试寻找能够提供线索的唯一标识符,例如,所有包含“开发者”字样的项目似乎都被标记为“开发者费用注释和兴趣”。 你还有这些吗? 使用这些来减less你的问题,因为他们应该是一个简单的映射。

任何唯一的标识符将允许您为这些string设置规则。 你甚至不需要坚持一个词 – 也许当你看到几个词时,你可以缩小它的最终位置,比如当我看到“蛋”时,它可能会变成“鸟”或“爬行动物”,但是如果“鸡蛋“与”翅膀“配对,我可以相当自信这是”鸟“。

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

  1. 编写程序或macros以在步骤2中查找标识符并返回步骤1中的相关标签。

这是直截了当的一点。 find你想要的标识符(例如,使用“现金”,包含“真正重要的客户”标签),并寻找最早匹配的标签。

确保你发现任何错误 – 如果没有标签被发现会发生什么? 它是否创build一个新的? 它build议与您联系以获得帮助吗? 如果多个标签相关,会发生什么? 什么是tiebreaking标准?

但是请注意…

  1. 了解如何控制这些唯一标识符的使用。

想象一下,你设法得出一个唯一的标识符列表。 你将如何控制他们的使用? 如果您决定将任何带有“现金”一词的项目发送给“经营现金”标签,那么在一年之后,某人就会出现并创build一个“资金现金”项目,因为他们希望在某个地方存入即将到期的现金花在资本项目上,你怎么阻止呢? 你将如何控制这些词的使用?

您将有效地需要控制项目命名系统,并build立一个识别单词的商定列表。 每当有人制作一个项目时,他们需要在某个地方包含你的标识符。 我可以告诉你,这是行不通的。 要么他们会用错误的话,你最终还是要手动做,否则他们会把你搞糊涂,最后你会手动做。

如果你是唯一一个这样做的人,只要做一次运动,按照你自己的标准(你logging下来)并坚持那个标准。 当你需要把它交出来时,它显然是有序的,是有道理的。 如果不止一个人这样做,那么在你和团队之间做一次运动,然后同意一种控制方法。

编写一个预测程序听起来不错,可能会为您节省一些时间。 但是要考虑一下你为什么写这个。 您是否有可能需要在将来不断标记帐户? 如果是的话,集中控制他们的命名,使它成为一个标签是强制性的。 如果不是的话,你为什么要写一个程序来做到这一点? 只需手动完成一次。