python - 查找文本中的所有位置/城市/地点

标签 python nltk corpus text-analysis tagged-corpus

如果我有一段文本,例如包含一篇加泰罗尼亚语报纸文章,我如何从该文本中找到所有城市?

我一直在查看 python 的 nltk 包,我已经下载了加泰罗尼亚语的语料库 (nltk.corpus.cess_cat)。

此时此刻我所拥有的: 我已经从 nltk.download() 安装了所有必要的东西。我现在拥有的一个例子:

te = nltk.word_tokenize('Tots els gats son de Sant Cugat del Valles.')

nltk.pos_tag(te)

这座城市是“Sant Cugat del Valles”。我从输出中得到的是:

[('Tots', 'NNS'),
 ('els', 'NNS'),
 ('gats', 'NNS'),
 ('son', 'VBP'),
 ('de', 'IN'),
 ('Sant', 'NNP'),
 ('Cugat', 'NNP'),
 ('del', 'NN'),
 ('Valles', 'NNP')]

NNP 似乎表示首字母大写的名词。有没有办法获取地点或城市而不是所有名称? 谢谢

最佳答案

您可以使用 geotext同样的python库。

pip install geotext

就是安装这个库所需要的一切。用法很简单:

from geotext import GeoText
places = GeoText("London is a great city")
places.cities

给出结果“伦敦”

这个库中涵盖的城市列表并不广泛,但它有一个很好的列表。

关于python - 查找文本中的所有位置/城市/地点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30150047/

相关文章:

python - 绘制词频和 NLTK

python - 优化 NLTK 代码以根据文本进行预测

r - c 使用rep或replicate或类似的语料库

hadoop - 当我使用hadoop流时如何在HDFS中导入nltk语料库

python - 当多个进程尝试同时写入文件然后从文件读取时如何防止竞争条件

python - 在句子标记化之前删除 python 中的多个\n

python - 在单元测试中运行 Celery worker

python - 如何在Python中读取多个nltk语料库文件并写入单个文本文件

python:找到一组的所有拉丁方(或列数较少的部分方)

python - 如何将 python 模块加载到 Komodo 中的新交互式 shell 中?