address-templeter

search for addresses in the text


License
MIT
Install
pip install address-templeter==1.41

Documentation

address_templeter

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для поиска, смысловому Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΈ чистки адрСсных строк.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
  • ΠœΠ΅Ρ‚ΠΎΠ΄ parse Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив с ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°:
<<< address_templeter.parse("Π³. Π‘ΡƒΠ΄Π°ΠΊ БолнСчная 9 Π°")
>>> [('Π³', 'PlacePretext'), ('Π‘ΡƒΠ΄Π°ΠΊ', 'Place'), ('БолнСчная', 'Street'), ('9', 'HouseNumber'), ('Π°', 'HouseNumber')]
  • ΠœΠ΅Ρ‚ΠΎΠ΄ clean Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку Π±Π΅Π· Π·Π½Π°ΠΊΠΎΠ² прСпинания ΠΈ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ prefix ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π»ΠΈ значСния Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ наимСнованиями. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: name_building ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π»ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Ссли ΠΎΠ½ΠΎ имССтся):

  • address:str - строка с адрСссом

  • house:bool - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Π΄ΠΎΠΌΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 21-Π‘), наимСнования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈ Π΅Π³ΠΎ прСфикс (ΠΌΠ°Π³Π°Π·ΠΈΠ½, ΠΏΠ°Ρ€ΠΊ, ΠΏΡ€ΠΎΡ‡Π΅Π΅)По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ False;

  • index:bool - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ индСкс. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ False.

  • place_pretext:bool Π²ΠΎΠ·Π²Ρ€Π°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ мСста (Π³ΠΎΡ€ΠΎΠ΄, сСло). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ False;

  • region_pretext:bool Π²ΠΎΠ·Π²Ρ€Π°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Ρ€Π΅Π³ΠΈΠΎΠ½Π° (ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Ρ€Π΅Π³ΠΈΠΎΠ½). Π’Π°ΠΊΠΆΠ΅, Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ сокращСния. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ False;

  • address_pretext:bool Π²ΠΎΠ·Π²Ρ€Π°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΡƒΠ»ΠΈΡ†Ρ‹ (проспСкт, Π±ΡƒΠ»ΡŒΠ²Π°Ρ€). Π’Π°ΠΊΠΆΠ΅, Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ сокращСния. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ False;

<<< address_templeter.clean("Ясниноватский Ρ€Π°ΠΉΠΎΠ½, Π²ΠΎΠ·Π»Π΅ Π±Π΅Π»ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, ДонСцкая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΡƒΠ»ΠΈΡ†Π° Бадовая, 26Π°", prefix=False, house=True)
>>> Ясниноватский Бадовая 26Π°
Установка
pip install address-templeter
Ѐормирования Π΄Π°Ρ‚Π° сСта ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΡƒΠΆΠ΅ содСрТит модСль для использования Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Для формирования своСй ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

  • Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ xml Ρ„Π°ΠΉΠ» для обучСния ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² checked_to_xml.ipynb (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ jupyter notebook).
  • Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для создания Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ:
cd  /path/to/Address_Templeter
pip install parserator
parserator train training/dataset.xml address_templeter
#  По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ обучСния получится Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Π»ΠΈ learned_settings.crfsuite
  • ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ address_templeter