我是否应该为命名实体识别提取域名词?

2024-04-26 17:42:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题也许不完全是编程,但我知道许多有才华的程序员都在做NLP,也许还能够回答我的问题。在

我用域词编译了一个文档,对其执行模糊匹配以提取文本中的命名实体。格式如下:

  "ferry names": [
    {
      "stena danica": [
        "stena danica",
        "danica"
      ]
    },

外部对象是类别,内部对象是实体。最里面的列表是可以调用实体的同义词列表。 现在,我的命名实体识别,虽然很简单,但效果很好。不过,为了方便起见,我决定把传来的文字全部删掉。在

^{pr2}$

词干分析器(nltk snowball-stemmer,SwedishStemmer)工作得很出色,但它也可以对领域词进行词干,在本例中,Stena Danica。在

问题:我不确定如何处理这个问题,我是应该简单地将词干转换为非词干领域的单词,还是将词干的版本与同义词放在一起? 尽管如此,它仍然会被模糊匹配器拾取,但它可能会引入问题。非常感谢。在


Tags: 对象文档文本实体列表nlp格式编程
2条回答

你的问题其实只有一个答案:两种方法都试,测试(在你没有用于培训的数据上),然后选择最有效的。在

一般来说,最好的方法取决于域,取决于训练数据的数量,等等,试试看吧。没有人能确切地预测它。在

我可能不是最有资格回答这个问题的人,但从我看来,这取决于你的目标。我使用NLTK对我的文本执行词干分析,以减少我的总词汇量(创建文档向量并根据其内容比较文档)。我还以词干命名实体,例如"Al Bundy"和{}可以被识别为同一事物。但是我看到了在你的同义词中添加词干版本的风险。考虑以下示例:

"ferry names": [
    {
      "stena line": [
        "stena line",
        "stena",
        "sten"     # Supposed to represent a stemmed version of Stena
      ]
    },

如果你要进入"sten""stenar""stenarna",或者任何其他词根可能是"sten"的单词,你就有问题了。它将被识别为"Stena Line"。希望有帮助。:)

相关问题 更多 >