NLP:地名录是个骗局吗

NLP:地名录是个骗局吗,nlp,named-entity-recognition,Nlp,Named Entity Recognition,在NLP中有一个gazetter的概念,它对于创建注释非常有用。据我了解, 地名录由一组包含实体名称的列表组成,例如城市、组织、一周中的几天等。这些列表用于在文本中查找这些名称的出现,例如用于命名实体识别任务。 因此,它本质上是一个查找。这不是一种欺骗吗?如果我们使用地名录来检测命名实体,那么自然语言处理就不会进行太多。理想情况下,我希望使用NLP技术检测命名实体。否则它怎么会比正则表达式模式匹配器更好呢 这有意义吗?取决于你如何建立/使用地名录。如果你在一个封闭的领域里做实验,并且你自定义了你

在NLP中有一个
gazetter
的概念,它对于创建注释非常有用。据我了解,

地名录由一组包含实体名称的列表组成,例如城市、组织、一周中的几天等。这些列表用于在文本中查找这些名称的出现,例如用于命名实体识别任务。

因此,它本质上是一个查找。这不是一种欺骗吗?如果我们使用
地名录
来检测命名实体,那么自然语言处理就不会进行太多。理想情况下,我希望使用
NLP
技术检测命名实体。否则它怎么会比正则表达式模式匹配器更好呢


这有意义吗?

取决于你如何建立/使用地名录。如果你在一个封闭的领域里做实验,并且你自定义了你的地名录,那么是的,你是在作弊。 如果您正在使用一些公开可用的地名录,并在大型数据集上执行实验,或者在不控制输入的野外应用程序中使用它,那么您就可以了。
我们发现自己也处于类似的情况。我们对数据集进行分区,并使用训练数据自动构建地名录。只要你报告你的方法论,你就不应该感到作弊(让评论者抱怨)。

是的。再一次,这是一个有趣的问题,但更适合datascience.stackexchange.com=)想象一下,如果我以前从未见过实体字符串,并且我无法从上下文中猜测,测试语句中的某个东西是否是实体。我会把它标记为一个实体吗?现在想象一下,如果我不能从上下文中猜出某个测试句子中的某个东西是否是一个实体,但我从我的“知识库”或“地名录列表”中知道这个东西是一个实体。我会将其标记为一个实体吗?谢谢@alvas我想我想说的是,与正则表达式匹配相比,使用地名索引可以获得多大的性能提升?我意识到不可能创建一个匹配所有可能的组织名称的正则表达式。但是为什么不为所有这些名称创建一个查找表呢?随着新名称和反馈的出现,请继续添加。ini将在datascience.stackexchange.com上发布此信息,并阅读实体识别、知识库填充和槽填充的历史。希望你们能理解为什么地名录比成熟的正则表达式规则更受欢迎。在@AbtPst上。您是如何自动构建gazetters的?应该说是半自动的。首先,我提取引用表达式(解析树中的NP节点),手动进行聚类和分类。然后,我使用训练集上的注释来构建我将在测试中使用的地名录。k-折叠交叉验证。;P我发现这个
python-nltk_-cli/senna.py--np-file.txt对于插槽填充候选人很有帮助:我完全同意Josep!此外,“作弊”是什么意思?纯粹主义者会争辩说,你不应该使用任何语法、形态语法,甚至任何词汇!另一方面,根据所有可用文件编制一份广泛的实体清单将不可避免地带来有偏见的结果。我想你应该列出该领域的实体清单,并报告你的方法,但不遗漏地名录是如何输入的2/明确区分培训和测试集进行评估,因此,您不知道测试部分中的实体是什么。从您评论中的问题来看,您应该将地名录视为可以帮助构建分类器的另一个功能。它仍然有助于查找不在地名索引中的术语,因为它允许您在培训数据中提取地名索引术语的上下文。因此,对于你评论中的所有问题,答案都是肯定的。