ngr*_*grj 8 python nltk stanford-nlp
我有这个文字
"嗨,Sam D. Richards先生住在这里,44 West 22nd Street,New York,NY 12345.你现在可以联系他吗?如果您需要帮助,请致电12345678'''
.如何使用NLTK从上面的文本中提取地址部分?我试过了Stanford NER Tagger,这只给我一个New York位置.怎么解决这个?
绝对正则表达式:)
就像是
import re
txt = ...
regexp = "[0-9]{1,3} .+, .+, [A-Z]{2} [0-9]{5}"
address = re.findall(regexp, txt)
# address = ['44 West 22nd Street, New York, NY 12345']
Run Code Online (Sandbox Code Playgroud)
说明:
[0-9]{1,3}:1到3位数字,地址编号
(space):数字和街道名称之间的空格
.+:街道名称,任意次数的任何字符
,:城市前的逗号和空格
.+:city,任意次数的任何字符
,:国家面前的逗号和空格
[A-Z]{2}:从A到Z的2个大写字母
[0-9]{5}:5位数
re.findall(expr, string) 将返回一个包含找到的所有匹配项的数组.
小智 5
Pyap 不仅适用于这个特定示例,而且适用于文本中包含的其他地址。
text = ...
addresses = pyap.parse(text, country='US')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6143 次 |
| 最近记录: |