来自非结构化文本的美国州决议

时间:2015-10-09 19:44:48

标签: nlp pattern-recognition named-entity-recognition

我有一个带有“location”字段的数据库,该字段包含字符串形式的无约束用户输入。我想将每个条目映射到美国州或NULL。

例如:

'Southeastern Massachusetts' -> MA
'Brookhaven, NY' -> NY
'Manitowoc' -> WI
'Blue Springs, MO' -> MO
'A Damp & Cold Corner Of The World.' -> NULL
'Baltimore, Maryland' -> MD
'Indiana' -> IN

我可以容忍一些错误,但显然会更少。什么是最好的解决方法?

2 个答案:

答案 0 :(得分:1)

您可以使用Geonames提供非常大的位置名称列表及其相关信息,并且是免费的。在最简单的情况下,字符串匹配(或近似字符串匹配)可能不太难实现。

你可能遇到的一个难点是含糊不清的名字,即有多个指称对象(例如华盛顿,是州还是城市)。如果存在多个指标,您可以检查它们的一致性。否则,您可以检查输入中的其他单词,但这可能存在风险。

IMO,这非常接近实体链接,考虑到已经链接的实体,对最近的州进行后验搜索。

答案 1 :(得分:0)

For posterity: I just threw a bunch of regexps at it, which worked 'pretty alright'.