全国五级地址查询
Project description
PyUnit-Address
字符串地址查询,支持自定义地址词库
安装
pip install pyunit-address
说明
该算法有两个词库,一个是全国五级地址,统计时间是2019年。这个地址库是默认加载。不能删除也不能替换。
如果需要提取非规则的地址,则实用深度模型: https://github.com/PyUnit/pyunit-ner
建议两者一起使用,互相补足。
测试
from pyunit_address import *
import time
address = Address(is_max_address=True)
address.add_vague_text(['红花岗', '花溪']) # 加入地址名称
address.add_vague_text('贵州省-遵义市-遵义县-虾子镇-乐安村-乐石台') # 加入一串有顺序的地址
address.add_vague_text('自定义词库.txt') # 加载词库文件,词库文件中的每一行,可以是一串顺序地址,也可以是一个地址
def all_test():
string_ = '我家在红花岗,你家在贵州贵阳花溪区,他家在贵州省遵义市花溪区'
finds = find_address(address, string_)
for find in finds:
print()
print('地址', find)
print('补全地址', supplement_address(address, find))
print('纠错地址', correct_address(address, find))
print('--------------------------')
# 地址 红花岗
# 补全地址 ['贵州省-遵义市-红花岗区']
# 纠错地址 贵州省-遵义市-红花岗区
# --------------------------
#
# 地址 贵州贵阳花溪区
# 补全地址 ['贵州省-贵阳市-花溪区']
# 纠错地址 贵州省-贵阳市-花溪区
# --------------------------
#
# 地址 贵州省遵义市花溪区 注:这个地址是错误的
# 补全地址 [] 注:错误的地址无法补全
# 纠错地址 贵州省-贵阳市-花溪区 注:错误的地址被纠正为对的地址
# --------------------------
if __name__ == '__main__':
start = time.time()
all_test()
print(time.time() - start) # 0.0002001047134399414秒
查询地址
from pyunit_address import Address,find_address
def test():
address = Address(is_max_address=True)
# 添加词库,可以是一个字符串、可以是列表字符串、可以是词库文件,一个词语占一行
address.add_vague_text('红花岗') # 在默认词库上追加地址词库
address.add_vague_text('贵州省-遵义市-遵义县-虾子镇-乐安村') # 添加补全地址
address.add_vague_text(['花溪', '贵州省-遵义市-遵义县-虾子镇-乐安村']) # 加载词库列表,替换默认词库
address.add_vague_text('自定义词库.txt') # 加载词库文件,替换默认词库
af = find_address(address,'我家在贵州遵义红花岗区')
print(af)
if __name__ == '__main__':
test()
自动补全地址:输入一句话
from pyunit_address import Address,supplement_address
def test_supplement_address():
address = Address(is_max_address=True)
asu = supplement_address(address,'我家在遵义县') # [贵州省-遵义市-遵义县]
print(asu)
if __name__ == '__main__':
test_supplement_address()
自动纠错地址
from pyunit_address import Address,correct_address
def correct_address_test():
address = Address(is_max_address=True)
print(correct_address(address, '贵州省遵义市花溪区')) # 贵州省-贵阳市-花溪区
if __name__ == '__main__':
correct_address_test()
TODO
- 自动寻找最长地址长度
- 全国五级地址新词库
- 支持自定义地址词库
- 不支持非规则地址
- 支持地址自动补全
- 支持快速高效搜索
- 支持纠错地址
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for pyunit_address-2020.4.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47716163adebd5b6831ffbce9270d96d01927878f5cb00c6b557d42de658e1cb |
|
MD5 | ba74015bc35c877684b59b661fa1301d |
|
BLAKE2b-256 | 5418d4437c7de5d7593cd5e752626de183749630ef8bd1937fa637a67d48c04c |