写一个有以下目标的程序- 能够识别一个词/短语是否代表一个事物/产品。例如- 1) “一种手套包括至少一个食指插座、一个中指插座。<;-能够将手套识别为物品/产品。 2) 尤其是汽车的玻璃升降器。 这样做会告诉我文本是在谈论一件事情/产品。作为对比,下面的文本讨论的是一种方法而不是一种东西/产品->;“一种用于生产尼龙涂层基材的柔性包装膜的挤压涂布工艺,该工艺包括以下步骤……”
我有数百万这样的文本;因此,手工操作是不可行的。到目前为止,在使用NLTK+Python的帮助下,我已经能够识别出一些使用非常相似关键字的特定情况。但是我不能对上面例子中提到的种类做同样的事情。任何帮助都将不胜感激!在
你想做的其实很难。这是一种(非常具体的)语义标记任务。可能的解决办法是:
第一个选择本身就是一个复杂的研究项目。如果你有时间和资源就去做。在
第二个选项只提供知识库中可用的标签,这些标签可能与您的愿望不符。我将尝试使用python、NLTK和Wordnet(interface already available),您可能可以使用synset超链接来解决您的问题。在
此任务称为命名实体重建问题。在
编辑:在NLP社区中,没有一个明确的NER定义,所以可以说这不是NER任务,而是更一般的序列标记问题的实例。不管怎样,仍然没有一种工具可以开箱即用。在
开箱即用,Standford NLP只能识别以下类型:
所以不适合解决这个问题。有一些商业解决方案可以做到这一点,他们可以很容易地找到谷歌“产品名称命名实体识别”,其中一些提供免费试用计划。我不知道有什么免费的现成的解决方案。在
当然,您可以创建自己的模型,方法是手工注释大约1000个包含句子的产品名称,并使用一些基本特性训练一些类似条件随机场分类器的分类器(here is documentation page,它解释了如何使用stanford NLP实现这一点)。这个解决方案应该是合理的,当然也不会是完美的(没有一个系统是完美的,但是有些解决方案比其他方案更好)。在
编辑:这本身就是一项复杂的任务,但不是复杂的任务,除非你想要最先进的结果。您可以在2-3天内创建合理的好模型。以下是(示例)如何使用开源工具执行此操作的分步说明:
等等。在
将注释数据分为两个文件train(80%)和dev(20%)
- 使用以下基线模板功能(粘贴到模板文件中)
^{pr2}$4.运行
正如我所说,这不会是完美的,但我会非常惊讶,如果这不是合理的好(实际上我不久前解决了非常类似的任务),当然更好的只是使用几个关键字/模板
尾注:这忽略了许多事情和解决此类任务的一些最佳实践,不会对学术研究有好处,不能百分之百地保证有效,但对于这个问题和许多类似问题仍然有用,因为相对快速地解决了这个问题。在
相关问题 更多 >
编程相关推荐