我正在开发一个项目,需要我从句子中提取地址。
例如输入句子:嗨,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/