0

我一直在使用Google Natural Language API,特别是使用位置识别从 HN 的“谁在招聘”页面中提取位置。如果我传递一个像

块爱 | 加利福尼亚州旧金山 | CV/ML 和前端工程师 - https://blockai.com

(来自https://news.ycombinator.com/item?id=12631335

然后 NL API 返回以下实体: 在此处输入图像描述

问题是“ML”和“CV”被识别为位置,但它们实际上分别代表“机器学习”和“计算机视觉”。我猜算法得出的结论是 CV/ML 是位置,因为它们靠近文本中的其他位置(加利福尼亚州旧金山)。

我想知道如何识别 API 输出中的这种“假”位置?我认为也许使用“Salience”参数会有所帮助,但我不确定哪种经验法则适合..我什至发现 API 有时会响应显着性值大于 1,尽管文档说这些值是"在 [0, 1.0] 范围内。", fe:

{  
  "name":"San Francisco",
  "type":"LOCATION",
  "metadata":{  
     "wikipedia_url":"http://en.wikipedia.org/wiki/San_Francisco"
  },
  "salience":1.4515763148665428,
  "mentions":[  ]

},

非常感谢任何帮助!

4

1 回答 1

1

有时,底层算法消除实体的歧义非常棘手,尤其是。当没有足够的上下文时。显着性对此没有帮助,因为显着性显示了一个实体的中心程度,无论其类型如何。在这种特殊情况下,您可能会使用提供的元数据(例如维基百科 url)来进一步评估实体是否确实是一个位置。

于 2016-12-30T09:12:51.617 回答