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