python-3.x - python : How to extract addresses from a sentence/paragraph (non-Regex approach)?

标签 python-3.x nlp location extract addressbook

我正在开发一个项目,需要我从句子中提取地址。

例如输入句子:嗨,Sam D. Richards 先生住在这里 Shop No/123, 3rd Floor, ABC Building, Behind CDE Mart, Aloha Road, 12345. 如果您需要任何帮助,请调用 12345678

我试图仅提取地址,即Shop No/123, 3rd Floor, ABC Building, Behind CDE Mart, Aloha Road, 12345

到目前为止我已经尝试过:

我尝试了 Pyap,它也适用于正则表达式,因此它无法更好地将其推广到美国/加拿大/英国以外的国家/地区的地址。我意识到我们不能使用正则表达式,因为地址或句子没有任何模式。还尝试了 locationtagger ,它只能返回国家或城市。

有没有更好的方法?

最佳答案

如果正则表达式没有明显的模式,您可以尝试基于 ML 的方法。有一个众所周知的问题命名实体识别(NER),它通常作为序列标记问题来解决:训练模型来预测每个标记(例如单词或子词)是否是否是地址的一部分。

您可以寻找已经过训练以提取地址的模型(例如此处 https://huggingface.co/models?search=address ),或在您自己的数据集上微调基于 BERT 的模型( here 是一个秘诀)。

关于python-3.x - python : How to extract addresses from a sentence/paragraph (non-Regex approach)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72727311/

相关文章:

android - 在android中获取wifi ip的位置

android帮助从kml获取多个地标位置

ios - 更改谷歌地图当前位置蓝点颜色 iOS

python - 运行 Python 容器时的 Docker "unsupported locale setting"

python - 使用 anaconda3 python 3.5 安装 Tensorflow 得到 'Read timed out error"

nlp - 如何检测复合词/多个词作为一个术语。

java - 在java中修剪日语字符串的问题

python - 如何根据另一个 bool 数组的列值删除 Pandas 数据框列?

python - 将列表元素与元组元素合并

python - 使用 scikit learn 获取信息量最大的特征时遇到问题?