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