Java 从非结构化文本中识别并获取城市

Java 从非结构化文本中识别并获取城市,java,nlp,Java,Nlp,我有如下编号的示例文本: 1)';Roy\'\'s Chalet, sears road,Green woods;Street avenue;Arlington;Texas;United States;' 2)';PLOT NO. A-10, Seras -1, Green woods woods;PARK,;Arlington;Texas;United States;' 3)';Seras tampon woods avenue park green AS IN;Wallet Hall;St

我有如下编号的示例文本:

1)';Roy\'\'s Chalet, sears road,Green woods;Street avenue;Arlington;Texas;United States;'
2)';PLOT NO. A-10, Seras -1, Green woods woods;PARK,;Arlington;Texas;United States;'
3)';Seras tampon woods avenue park green AS IN;Wallet Hall;St Ann ROAD Arlington Texas;United States;'.
我需要一种方法来识别城市“阿灵顿”从每个文本。 有数以百万计的记录有这样的文字和嵌入在文字中的城市。在java中实现这一点的最佳方法是什么


nlp需要技术帮助吗?

地名列表称为“地名录”。这是一个在美国和其他国家有很多城市的网站(还有其他网站,只是谷歌搜索“地名录”或“美国城市列表”):

您可以对网站进行爬网,并将城市名称列表存储在一个文件中。然后,您的程序可以将它们读入适当的数据结构,并检查每行中的单词是否为成员。请注意由多个单词组成的城市名称,如“旧金山”

从更一般的NLP角度来看,您正在寻找“命名实体识别器”。这是一个试图将字符串中的单词标记为人名或位置名的系统。这也可以解决您的问题,但代价是将其他人的库包含到您的项目中并找出如何使用它。一个经常使用的NE识别器来自斯坦福NLP工具