尝试将地名词典中的地名/位置与语料库文件中的相应名称相匹配,但没有成功。有什么建议吗?

问题描述 投票:0回答:0

我有2个文件。一种是具有 4 列的地名词典文件,其中一列包含地名。另一列包含由地名表示的地形特征,而最后两列是位置的经度和纬度信息。下表是地名词典文件的示例:

Gazetteer.txt 文件:4700 x 4

地名 特点 lat
布法罗河 人烟稀少的地方 -115.0388091 60.8808899
阿卡斯塔湖 水景 -115.5514499 65.3669450

另一个文本文件是选定研究摘要的语料库,其中包含与上述地名词典中的地名相对应的研究地点信息。样本语料库通常包含如下语句

“研究地点是布法罗河,距加拿大西北地区阿卡斯塔湖约288公里……”

我的目标是编写一个 python 或 R 代码,能够将语料库中的位置名称与地名词典中的位置名称进行匹配,希望结果不仅会返回 GeoNames 值,还会返回其他三个列的值,即是特征、经度和纬度列的那些。

不可否认,我是菜鸟,最近才开始接触python。到目前为止,我一直在使用几个 NLP 包,包括 nltk、SpaCy 和其他几个包。自上个月以来,我还搜索了类似问题的堆栈交换答案,但没有一个或我使用的 python NLP 包能够帮助我实现我的目标(请参见上文)。我尝试过的一些解决方案只能成功匹配和返回单字地名。到目前为止,我在 Stack Exchange 上找到的答案中提出的代码不会返回像上面这样的地名,即双词名称。包括以下答案:

  1. 在文本中查找所有位置/城市/地方
  2. 根据 python 中的文本匹配地理词典的名称

我想强调的是,我的具体目标是使用上述地名词典来匹配语料库中的那些地名。这是我正在研究的方法的一部分,因此即使像 SpaCy 和类似库这样的库能够执行上述操作,但在我的情况下它们不是一个选项,因为使用它们会破坏我正在研究的项目的目的。我相信这个问题已经被问了很多。不幸的是,我还没有找到我在 SE 上遇到的所有此类问题的任何答案,这些问题对我的目的有用。任何有关如何将实现上述目标的 python 代码放在一起的帮助或建议将不胜感激。提前致谢

python nltk text-mining named-entity-recognition nsregularexpression
© www.soinside.com 2019 - 2024. All rights reserved.