diff --git a/.gitignore b/.gitignore index b1f5573..506c39d 100644 --- a/.gitignore +++ b/.gitignore @@ -129,3 +129,4 @@ dmypy.json # Pyre type checker .pyre/ /poetry.lock +cache/ \ No newline at end of file diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..5ec6da6 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,16 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v3.2.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files + - id: check-case-conflict + - id: requirements-txt-fixer +- repo: https://github.com/psf/black + rev: 22.10.0 + hooks: + - id: black \ No newline at end of file diff --git a/.readthedocs.yml b/.readthedocs.yml index 66d4186..d2ae9c8 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,6 +1,3 @@ -# Read the Docs configuration file for Sphinx projects -# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details - # Required version: 2 @@ -9,27 +6,12 @@ build: os: ubuntu-22.04 tools: python: "3.10" - # You can also specify other tool versions: - # nodejs: "20" - # rust: "1.70" - # golang: "1.20" # Build documentation in the "docs/" directory with Sphinx sphinx: configuration: docs/source/conf.py - # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs - # builder: "dirhtml" - # Fail on all warnings to avoid broken references - # fail_on_warning: true - -# Optionally build your docs in additional formats such as PDF and ePub -# formats: -# - pdf -# - epub # Optional but recommended, declare the Python requirements required -# to build your documentation -# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html python: install: - requirements: requirements.txt diff --git a/Makefile b/Makefile index 286c40e..5b4426d 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,25 @@ -FILES = SOIKA/* +FILES = ./factfinder/src/* lint: + @echo "Running pylint check..." python -m pylint ${FILES} format: + @echo "Starting black formatting..." python -m black ${FILES} test: - python -m pytest \ No newline at end of file + @echo "Starting tests..." + python -m pytest + +activate: + @echo "Activating virtual environment..." + poetry shell + +install: + @echo "Installing poetry dependencies..." + poetry install + poetry run pre-commit install + +setup: install activate +finish: lint test \ No newline at end of file diff --git a/factfinder/src/event_detection.py b/factfinder/src/event_detection.py index 5cc9966..5f5a6d7 100644 --- a/factfinder/src/event_detection.py +++ b/factfinder/src/event_detection.py @@ -18,6 +18,7 @@ class EventDetection: It is based on the application of semantic clustering method (BERTopic) on the texts in the context of urban spatial model """ + def __init__(self): np.random.seed(42) self.population_filepath = None diff --git a/factfinder/src/exceptions_countries.csv b/factfinder/src/exceptions_countries.csv index bd68a73..0926ca3 100644 --- a/factfinder/src/exceptions_countries.csv +++ b/factfinder/src/exceptions_countries.csv @@ -1,256 +1,256 @@ -"Сокращенное наименование","Полное наименование на русском языке","Полное наименование на английском языке","Код страны 2-х буквенный" -"ФОЛКЛЕНДСКИЕ О-ВА","ФОЛКЛЕНДСКИЕ (МАЛЬВИНСКИЕ) ОСТРОВА (СПОРН.БРИТ.АРГ.)","FALKLAND ISLANDS (MALVINAS)","FK" -"МИКРОНЕЗИЯ","ФЕДЕРАТИВНЫЕ ШТАТЫ МИКРОНЕЗИИ","MICRONESIA","FM" -"ФАРЕРСКИЕ О-ВА","ФАРЕРСКИЕ ОСТРОВА (В СОСТАВЕ ДАНИИ)","FAROE ISLANDS","FO" -"ФРАНЦИЯ","ФРАНЦУЗСКАЯ РЕСПУБЛИКА","FRANCE","FR" -"ГАБОН","ГАБОНСКАЯ РЕСПУБЛИКА","GABON","GA" -"ВЕЛИКОБРИТАНИЯ","СОЕДИНЕННОЕ КОРОЛЕВСТВО ВЕЛИКОБРИТАНИИИ СЕВЕРНОЙ ИРЛАНДИИ","GREAT BRITAIN","GB" -"ГРЕНАДА","ГРЕНАДА","GRENADA","GD" -"ГРУЗИЯ","РЕСПУБЛИКА ГРУЗИЯ","GEORGIA","GE" -"ГВИАНА","ГВИАНА (ФР.)","FRENCH GUIANA","GF" -"ГАНА","РЕСПУБЛИКА ГАНА","GHANA","GH" -"ГИБРАЛТАР","ГИБРАЛТАР (БРИТ.)","GIBRALTAR","GI" -"ГРЕНЛАНДИЯ","ГРЕНЛАНДИЯ (В СОСТАВЕ ДАНИИ)","GREENLAND","GL" -"ГАМБИЯ","РЕСПУБЛИКА ГАМБИЯ","GAMBIA","GM" -"ГВИНЕЯ","ГВИНЕЙСКАЯ РЕСПУБЛИКА","GUINEA","GN" -"ГВАДЕЛУПА","ГВАДЕЛУПА (ФР.)","GUADELOUPE","GP" -"ЭКВАТОР. ГВИНЕЯ","РЕСПУБЛИКА ЭКВАТОРИАЛЬНАЯ ГВИНЕЯ","EQUATORIAL GUINEA","GQ" -"ГРЕЦИЯ","ГРЕЧЕСКАЯ РЕСПУБЛИКА","GREECE","GR" -"Ю.ДЖ.И САНДВ.О-ВА","ЮЖНАЯ ДЖОРДЖИЯ И ЮЖНЫЕ САНДВИЧЕВЫ","","GS" -"ГВАТЕМАЛА","РЕСПУБЛИКА ГВАТЕМАЛА","GUATEMALA","GT" -"ГУАМ","ГУАМ (США)","GUAM","GU" -"ГВИНЕЯ-БИСАУ","РЕСПУБЛИКА ГВИНЕЯ-БИСАУ","GUINEA-BISSAU","GW" -"ГАЙАНА","КООПЕРАТИВНАЯ РЕСПУБЛИКА ГАЙАНА","GUYANA","GY" -"СЯНГАН (ГОНКОНГ)","СЯНГАН (ГОНКОНГ)(БРИТ.)","HONG KONG","HK" -"ХЕРД И МАКДОНАЛЬД","ХЕРД И МАКДОНАЛЬД (В СОСТАВЕ АВСТРАЛИИ)","HEARD AND MC DONALD ISLANDS","HM" -"ГОНДУРАС","РЕСПУБЛИКА ГОНДУРАС","HONDURAS","HN" -"ХОРВАТИЯ","РЕСПУБЛИКА ХОРВАТИЯ","CROATIA","HR" -"ГАИТИ","РЕСПУБЛИКА ГАИТИ","HAITI","HT" -"ВЕНГРИЯ","ВЕНГЕРСКАЯ РЕСПУБЛИКА","HUNGARY","HU" -"ИНДОНЕЗИЯ","РЕСПУБЛИКА ИНДОНЕЗИЯ","INDONESIA","ID" -"ИРЛАНДИЯ","ИРЛАНДИЯ","IRELAND","IE" -"ИЗРАИЛЬ","ГОСУДАРСТВО ИЗРАИЛЬ","ISRAEL","IL" -"О-В МЭН","ОСТРОВ МЭН","ISLE OF MAN","IM" -"ИНДИЯ","РЕСПУБЛИКА ИНДИЯ","INDIA","IN" -"БРИТ.ТЕР.В ИНД.ОК","БРИТАНСКАЯ ТЕРРИТОРИЯ В ИНДИЙСКОМ ОКЕАНЕ (БРИТ.)","BRITISH INDIAN OCEAN TERRITORY","IO" -"ИРАК","ИРАКСКАЯ РЕСПУБЛИКА","IRAQ","IQ" -"ИРАН","ИСЛАМСКАЯ РЕСПУБЛИКА ИРАН (ИРИ)","IRAN","IR" -"ИСЛАНДИЯ","РЕСПУБЛИКА ИСЛАНДИЯ","ICELAND","IS" -"ИТАЛИЯ","ИТАЛЬЯНСКАЯ РЕСПУБЛИКА","ITALY","IT" -"ЯМАЙКА","ЯМАЙКА","JAMAICA","JM" -"ИОРДАНИЯ","ИОРДАНСКОЕ ХАШИМИТСКОЕ КОРОЛЕВСТВО","JORDAN","JO" -"ЯПОНИЯ","ЯПОНИЯ","JAPAN","JP" -"ДЖОНСТОН АТОЛЛ","ДЖОНСТОН АТОЛЛ","JOHNSTON ISLAND","JT" -"КЕНИЯ","РЕСПУБЛИКА КЕНИЯ","KENYA","KE" -"КЫРГЫЗСТАН","РЕСПУБЛИКА КЫРГЫЗСТАН","KYRGYZSTAN","KG" -"КАМБОДЖА","ГОСУДАРСТВО КАМБОДЖА","CAMBODIA","KH" -"КИРИБАТИ","РЕСПУБЛИКА КИРИБАТИ","KIRIBATI","KI" -"КОМОРСКИЕ О-ВА","ФЕДЕРАЛЬНАЯ ИСЛАМСКАЯ РЕСПУБЛИКА КОМОРСКИЕ ОСТРОВА","COMOROS","KM" -"СЕНТ-КИТС И НЕВИС","ФЕДЕРАЦИЯ СЕНТ-КИТС (СЕНТ-КРИСТОФЕР) И НЕВИС","SAINT KITTS AND NEVIS","KN" -"КОРЕЯ (КНДР)","КОРЕЙСКАЯ НАРОДНО-ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА","KOREA, DEMOCRATIC PEOPLE`S REPUBLIC OF","KP" -"КОРЕЯ РЕСП.","РЕСПУБЛИКА КОРЕЯ","KOREA,REPUBLIC OF","KR" -"КУВЕЙТ","ГОСУДАРСТВО КУВЕЙТ","KUWAIT","KW" -"КАЙМАН","ОСТРОВА КАЙМАН","CAYMAN ISLANDS","KY" -"КАЗАХСТАН","РЕСПУБЛИКА КАЗАХСТАН","KAZAKHSTAN","KZ" -"ЛАОС","ЛАОССКАЯ НАРОДНО-ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА","LAO PEOPLE'S DEMOCRATIC REPUBLIC","LA" -"ЛИВАН","ЛИВАНСКАЯ РЕСПУБЛИКА","LEBANON","LB" -"СЕНТ-ЛЮСИЯ","СЕНТ-ЛЮСИЯ","SAINT LUCIA","LC" -"ЛИХТЕНШТЕЙН","КНЯЖЕСТВО ЛИХТЕНШТЕЙН","LIECHTENSTEIN","LI" -"ШРИ-ЛАНКА","ДЕМОКРАТИЧЕСКАЯ СОЦИАЛИСТИЧЕСКАЯ РЕСПУБЛИКА ШРИ-ЛАНКА","SRI LANKA","LK" -"ЛИБЕРИЯ","РЕСПУБЛИКА ЛИБЕРИЯ","LIBERIA","LR" -"ЛЕСОТО","КОРОЛЕВСТВО ЛЕСОТО","LESOTHO","LS" -"ЛИТВА","ЛИТОВСКАЯ РЕСПУБЛИКА","LITHUANIA","LT" -"ЛЮКСЕМБУРГ","ВЕЛИКОЕ ГЕРЦОГСТВО ЛЮКСЕМБУРГ","LUXEMBOURG","LU" -"ЛАТВИЯ","ЛАТВИЙСКАЯ РЕСПУБЛИКА","LATVIA","LV" -"ЛИВИЯ","СОЦИАЛИСТИЧЕСКАЯ НАРОДНАЯ ЛИВИЙСКАЯ АРАБСКАЯ ДЖАМАХИРИЯ","LIBYAN ARAB JAMAHIRIYA","LY" -"МАРОККО","КОРОЛЕВСТВО МАРОККО","MOROCCO","MA" -"МОНАКО","КНЯЖЕСТВО МОНАКО","MONACO","MC" -"МОЛДОВА","РЕСПУБЛИКА МОЛДОВА","MOLDOVA, REPUBLIC OF","MD" -"МАДАГАСКАР","ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА МАДАГАСКАР","MADAGASCAR","MG" -"МАРШАЛЛОВЫ О-ВА","МАРШАЛЛОВЫ ОСТРОВА (США)","MARSHALL ISLANDS","MH" -"О-ВА МИДУЭЙ","ОСТРОВА МИДУЭЙ","MIDWAY ISLANDS","MI" -"МАКЕДОНИЯ","МАКЕДОНИЯ","MACEDONIA","MK" -"МАЛИ","РЕСПУБЛИКА МАЛИ","MALI","ML" -"МОНГОЛИЯ","МОНГОЛИЯ","MONGOLIA","MN" -"АОМЫНЬ(МАКАО)","АОМЫНЬ","MACAU","MO" -"МАРИАНСКИЕ О-ВА","СОДРУЖЕСТВО СЕВЕРНЫХ МАРИАНСКИХ ОСТРОВОВ","NORTHERN MARIANA ISLANDS","MP" -"МАРТИНИКА","МАРТИНИКА (ФР.)","MARTINIQUE","MQ" -"МАВРИТАНИЯ","ИСЛАМСКАЯ РЕСПУБЛИКА МАВРИТАНИЯ","MAURITANIA","MR" -"МОНТСЕРРАТ","МОНТСЕРРАТ (БРИТ.)","MONTSERRAT","MS" -"МАЛЬТА","РЕСПУБЛИКА МАЛЬТА","MALTA","MT" -"МАВРИКИЙ","МАВРИКИЙ","MAURITIUS","MU" -"МАЛЬДИВЫ","МАЛЬДИВСКАЯ РЕСПУБЛИКА","MALDIVES","MV" -"МАЛАВИ","РЕСПУБЛИКА МАЛАВИ","MALAWI","MW" -"МЕКСИКА","МЕКСИКАНСКИЕ СОЕДИНЕННЫЕ ШТАТЫ","MEXICO","MX" -"МАЛАЙЗИЯ","МАЛАЙЗИЯ","MALAYSIA","MY" -"МОЗАМБИК","НАРОДНАЯ РЕСПУБЛИКА МОЗАМБИК (НРМ)","MOZAMBIQUE","MZ" -"НАМИБИЯ","НАМИБИЯ","NAMIBIA","NA" -"НОВ.КАЛЕДОНИЯ","НОВАЯ КАЛЕДОНИЯ (ФР.)","NEW CALEDONIA","NC" -"НИГЕР","РЕСПУБЛИКА НИГЕР","NIGER","NE" -"НОРФОЛК","НОРФОЛК (АВСТРАЛ.)","NORFOLK ISLAND","NF" -"НИГЕРИЯ","ФЕДЕРАТИВНАЯ РЕСПУБЛИКА НИГЕРИЯ","NIGERIA","NG" -"НИКАРАГУА","РЕСПУБЛИКА НИКАРАГУА","NICARAGUA","NI" -"НИДЕРЛАНДЫ","КОРОЛЕВСТВО НИДЕРЛАНДЫ","NETHERLANDS","NL" -"НОРВЕГИЯ","КОРОЛЕВСТВО НОРВЕГИЯ","NORWAY","NO" -"НЕПАЛ","КОРОЛЕВСТВО НЕПАЛ","NEPAL","NP" -"НАУРУ","РЕСПУБЛИКА НАУРУ","NAURU","NR" -"НИУЭ","НИУЭ (Н.ЗЕЛ.)","NIUE","NU" -"НОВАЯ ЗЕЛАНДИЯ","НОВАЯ ЗЕЛАНДИЯ","NEW ZEALAND","NZ" -"ОМАН","СУЛТАНАТ ОМАН","OMAN","OM" -"ПАНАМА","РЕСПУБЛИКА ПАНАМА","PANAMA","PA" -"ПЕРУ","РЕСПУБЛИКА ПЕРУ","PERU","PE" -"ФР. ПОЛИНЕЗИЯ","ФРАНЦУЗСКАЯ ПОЛИНЕЗИЯ (ФР.)","FRENCH POLYNESIA","PF" -"ПАПУА-НОВ.ГВИНЕЯ","ПАПУА-НОВАЯ ГВИНЕЯ","PAPUA NEW GUINEA","PG" -"ФИЛИППИНЫ","РЕСПУБЛИКА ФИЛИППИНЫ","PHILIPPINES","PH" -"ПАКИСТАН","ИСЛАМСКАЯ РЕСПУБЛИКА ПАКИСТАН","PAKISTAN","PK" -"ПОЛЬША","ПОЛЬСКАЯ РЕСПУБЛИКА","POLAND","PL" -"С-ПЬЕР И МИКЕЛОН","СЕН-ПЬЕР И МИКЕЛОН (ФР.)","SAINT PIERRE AND MIQUELON","PM" -"ПИТКЭРН","ПИТКЭРН (БРИТ.)","PITCAIRN","PN" -"ПУЭРТО-РИКО","ПУЭРТО-РИКО (США)","PUERTO RICO","PR" -"ПОРТУГАЛИЯ","ПОРТУГАЛЬСКАЯ РЕСПУБЛИКА","PORTUGAL","PT" -"ПАЛАУ","РЕСПУБЛИКА ПАЛАУ (БЕЛАУ)","PACIFIC ISLANDS (PALAU)","PW" -"ПАРАГВАЙ","РЕСПУБЛИКА ПАРАГВАЙ","PARAGUAY","PY" -"КАТАР","ГОСУДАРСТВО КАТАР","QATAR","QA" -"РЕЮНЬОН","РЕЮНЬОН (ФР.)","REUNION","RE" -"РУМЫНИЯ","РЕСПУБЛИКА РУМЫНИЯ","Romania","RO" -"РОССИЯ","РОССИЙСКАЯ ФЕДЕРАЦИЯ","RUSSIAN FEDERATION","RU" -"РУАНДА","РУАНДИЙСКАЯ РЕСПУБЛИКА","RWANDA","RW" -"САУДОВСКАЯ АРАВИЯ","КОРОЛЕВСТВО САУДОВСКАЯ АРАВИЯ","SAUDI ARABIA","SA" -"СОЛОМОНОВЫ О-ВА","СОЛОМОНОВЫ ОСТРОВА","SOLOMON ISLANDS","SB" -"СЕЙШЕЛЬСКИЕ О-ВА","РЕСПУБЛИКА СЕЙШЕЛЬСКИЕ ОСТРОВА","SEYCHELLES","SC" -"СУДАН","РЕСПУБЛИКА СУДАН","SUDAN","SD" -"ШВЕЦИЯ","КОРОЛЕВСТВО ШВЕЦИЯ","SWEDEN","SE" -"СИНГАПУР","РЕСПУБЛИКА СИНГАПУР","SINGAPORE","SG" -"О-В СВЯТОЙ ЕЛЕНЫ","ОСТРОВ СВЯТОЙ ЕЛЕНЫ (БРИТ.)","ST. HELENA","SH" -"СЛОВЕНИЯ","РЕСПУБЛИКА СЛОВЕНИЯ","SLOVENIA","SI" -"ШПИЦБЕРГЕН О-ВА","ШПИЦБЕРГЕН И ЯН-МАЙЕН (НОРВ.)","SVALBARD AND JAN MAYEN ISLANDS","SJ" -"СЛОВАКИЯ","СЛОВАЦКАЯ РЕСПУБЛИКА","SLOVAKIA","SK" -"СЬЕРРА-ЛЕОНЕ","РЕСПУБЛИКА СЬЕРРА-ЛЕОНЕ","SIERRA LEONE","SL" -"САН-МАРИНО","РЕСПУБЛИКА САН-МАРИНО","SAN MARINO","SM" -"СЕНЕГАЛ","РЕСПУБЛИКА СЕНЕГАЛ","SENEGAL","SN" -"СОМАЛИ","СОМАЛИЙСКАЯ ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА","SOMALIA","SO" -"СУРИНАМ","РЕСПУБЛИКА СУРИНАМ","SURINAME","SR" -"САН-ТОМЕ И ПРИНС.","ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА САН-ТОМЕ И ПРИНСИПИ","SAN TOME AND PRINCIPE","ST" -"САЛЬВАДОР","РЕСПУБЛИКА ЭЛЬ-САЛЬВАДОР","EL SALVADOR","SV" -"СИРИЯ","СИРИЙСКАЯ АРАБСКАЯ РЕСПУБЛИКА","SYRIA","SY" -"СВАЗИЛЕНД","КОРОЛЕВСТВО СВАЗИЛЕНД","SWAZILAND","SZ" -"ТЕРКС И КАЙКОС","ТЕРКС И КАЙКОС (БРИТ.)","TURKS AND CAICOS ISLANDS","TC" -"ЧАД","РЕСПУБЛИКА ЧАД","CHAD","TD" -"ФР.ЮЖНЫЕ ТЕРИТОР.","ФРАНЦУЗСКИЕ ЮЖНЫЕ ТЕРРИТОРИИ (ФР.)","FRENCH SOUTHERN TERRITORIES","TF" -"ТОГО","ТОГОЛЕЗСКАЯ РЕСПУБЛИКА","TOGO","TG" -"ТАИЛАНД","КОРОЛЕВСТВО ТАИЛАНД","THAILAND","TH" -"ТАДЖИКИСТАН","РЕСПУБЛИКА ТАДЖИКИСТАН","TAJIKISTAN","TJ" -"ТОКЕЛАУ (ЮНИОН)","ТОКЕЛАУ (ЮНИОН)(Н.ЗЕЛ.)","TOKELAU","TK" -"ТУРКМЕНИСТАН","ТУРКМЕНИСТАН","TURKMENISTAN","TM" -"ТУНИС","ТУНИССКАЯ РЕСПУБЛИКА","TUNISIA","TN" -"ТОНГА","КОРОЛЕВСТВО ТОНГА","TONGA","TO" -"ВОСТОЧНЫЙ ТИМОР","ВОСТОЧНЫЙ ТИМОР","EAST TIMOR","TP" -"ТУРЦИЯ","ТУРЕЦКАЯ РЕСПУБЛИКА","TURKEY","TR" -"ТРИНИДАД И ТОБАГО","РЕСПУБЛИКА ТРИНИДАД И ТОБАГО","TRINIDAD AND TOBAGO","TT" -"ТУВАЛУ","ТУВАЛУ","TUVALU","TV" -"ТАЙВАНЬ","ТАЙВАНЬ (В СОСТАВЕ КИТАЯ)","TAIWAN,PROVINCE OF CHINA","TW" -"ТАНЗАНИЯ","ОБЪЕДИНЕННАЯ РЕСПУБЛИКА ТАНЗАНИЯ (ОРТ)","TANZANIA","TZ" -"УКРАИНА","УКРАИНА","UKRAINE","UA" -"УГАНДА","РЕСПУБЛИКА УГАНДА","UGANDA","UG" -"МАЛЫЕ ТИХООК.О-ВА","МАЛЫЕ ТИХООКЕАНСКИЕ ОТДАЛЕННЫЕ ОСТРОВА (США)","UNITED STATES MINOR OUTLYING ISLANDS","UM" -"США","СОЕДИНЕННЫЕ ШТАТЫ АМЕРИКИ","UNITED STATES","US" -"УРУГВАЙ","ВОСТОЧНАЯ РЕСПУБЛИКА УРУГВАЙ","URUGUAY","UY" -"УЗБЕКИСТАН","РЕСПУБЛИКА УЗБЕКИСТАН","UZBEKISTAN","UZ" -"ВАТИКАН","ГОСУДАРСТВО-ГОРОД ВАТИКАН","VATICAN (HOLY SEE)","VA" -"С.ВИНСЕНТ.ГРЕНАД.","СЕНТ-ВИНСЕНТ И ГРЕНАДИНЫ","SAINT VINCENT AND THE GRENADINES","VC" -"ВЕНЕСУЭЛА","РЕСПУБЛИКА ВЕНЕСУЭЛА","VENEZUELA","VE" -"ВИРГИН.О-ВА(БРИТ)","БРИТАНСКИЕ ВИРГИНСКИЕ ОСТРОВА","VIRGIN ISLANDS","VG" -"ВИРГИН.О-ВА (США)","ВИРГИНСКИЕ ОСТРОВА","VIRGIN ISLANDS (U.S.)","VI" -"ВЬЕТНАМ","НАРОДНАЯ РЕСПУБЛИКА ВЬЕТНАМ","VIET NAM","VN" -"ВАНУАТУ","РЕСПУБЛИКА ВАНУАТУ","VANUATU","VU" -"УОЛЛИС И ФУТУНА","ОСТРОВА УОЛЛИС И ФУТУНА","WALLIS AND FUTUNA ISLANDS","WF" -"О-В УЭЙК","ОСТРОВ УЭЙК","WAKE ISLAND","WK" -"ЗАПАДНОЕ САМОА","ЗАПАДНОЕ САМОА","SAMOA","WS" -"ЙЕМЕН","РЕСПУБЛИКА ЙЕМЕН","YEMEN","YE" -"ЮГОСЛАВИЯ","СОЮЗНАЯ РЕСПУБЛИКА ЮГОСЛАВИЯ","YUGOSLAVIA","YU" -"ЮЖНО-АФР.РЕСПУБЛ.","ЮЖНО-АФРИКАНСКАЯ РЕСПУБЛИКА (ЮАР)","SOUTH AFRICA","ZA" -"ЗАМБИЯ","РЕСПУБЛИКА ЗАМБИЯ","ZAMBIA","ZM" -"ЗАИР","РЕСПУБЛИКА ЗАИР","ZAIRE","ZR" -"ЗИМБАБВЕ","РЕСПУБЛИКА ЗИМБАБВЕ","ZIMBABWE","ZW" -"МЬЯНМА","СОЮЗ МЬЯНМА","MYANMAR (BURMA)","MM" -"МАЙОТТА","МАЙОТТА","","YT" -"КОНГО","ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА КОНГО","","CD" -"ЭЛАНДСКИЕ О-ВА","ЭЛАНДСКИЕ ОСТРОВА","","AX" -"ПАЛЕСТИНА ОКУП.","ОКУПИРОВАННАЯ ПАЛЕСТИНСКАЯ ТЕРРИТОРИЯ","","PS" -"ТИМОР-ЛЕСТЕ","ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА ТИМОР-ЛЕСТЕ","","TL" -"ЧЕРНОГОРИЯ","РЕСПУБЛИКА ЧЕРНОГОРИЯ","","ME" -"МЕЖДУНАРОДНЫЕ ОРГ","МЕЖДУНАРОДНЫЕ ОРГАНИЗАЦИИ","INTERNATIONAL ORGANIZATIONS","XN" -"ДЖЕРСИ","ДЖЕРСИ","JERSEY","JE" -"Кюрасао","Кюрасао","CURACAO","CW" -"ГЕРНСИ","ГЕРНСИ","","GG" -"ДРУГАЯ СТРАНА","ДРУГАЯ СТРАНА","OTHER COUNTRY","OC" -"АБХАЗИЯ","Республика Абхазия","","AB" -"СЕРБИЯ","РЕСПУБЛИКА СЕРБИЯ","SERBIA","RS" -"СТРАНА НЕ ОПР.","СТРАНА НЕ ОПРЕДЕЛЕНА","NOT DEFINE","--" -"АНДОРРА","КНЯЖЕСТВО АНДОРРА","ANDORRA","AD" -"ОБЪЕД.РАБ.ЭМИРАТ","ОБЪЕДИНЕННЫЕ АРАБСКИЕ ЭМИРАТЫ (ОАЭ)","UNITED ARAB EMIRATES","AE" -"АФГАНИСТАН","ИСЛАМСКОЕ ГОСУДАРСТВО АФГАНИСТАН","AFGHANISTAN","AF" -"АНТИГУА.БАРБ","АНТИГУА И БАРБУДА","ANTIGUA AND BARBUDA","AG" -"АНГИЛЬЯ","АНГИЛЬЯ (БРИТ.)","ANGUILLA","AI" -"АЛБАНИЯ","РЕСПУБЛИКА АЛБАНИЯ","ALBANIA","AL" -"АРМЕНИЯ","РЕСПУБЛИКА АРМЕНИЯ","ARMENIA","AM" -"АНТИЛЬСКИЕ О-ВА","НИДЕРЛАНДСКИЕ АНТИЛЬСКИЕ ОСТРОВА","NETHERLANDS ANTILLES","AN" -"АНГОЛА","НАРОДНАЯ РЕСПУБЛИКА АНГОЛА","ANGOLA","AO" -"АНТАРКТИКА","АНТАРКТИКА","ANTARCTICA","AQ" -"АРГЕНТИНА","АРГЕНТИНСКАЯ РЕСПУБЛИКА","ARGENTINA","AR" -"ВОСТ.САМОА (США)","АМЕРИКАНСКОЕ САМОА","AMERICAN (EASTERN) SAMOA","AS" -"АВСТРИЯ","АВСТРИЙСКАЯ РЕСПУБЛИКА","AUSTRIA","AT" -"АВСТРАЛИЯ","АВСТРАЛИЯ","AUSTRALIA","AU" -"АРУБА","ОСТРОВ АРУБА","ARUBA","AW" -"АЗЕРБАЙДЖАН","АЗЕРБАЙДЖАНСКАЯ РЕСПУБЛИКА","AZERBAIJAN","AZ" -"БОСНИЯ И ГЕРЦОГ.","БОСНИЯ И ГЕРЦОГОВИНА","BOSNIA AND HERZEGOWINA","BA" -"БАРБАДОС","БАРБАДОС","BARBADOS","BB" -"БАНГЛАДЕШ","НАРОДНАЯ РЕСПУБЛИКА БАНГЛАДЕШ","BANGLADESH","BD" -"БЕЛЬГИЯ","КОРОЛЕВСТВО БЕЛЬГИЯ","BELGIUM","BE" -"БУРКИНА-ФАСО","БУРКИНА-ФАСО","BURKINA FASO","BF" -"БОЛГАРИЯ","РЕСПУБЛИКА БОЛГАРИЯ","BULGARIA","BG" -"БАХРЕЙН","ГОСУДАРСТВО БАХРЕЙН","BAHRAIN","BH" -"БУРУНДИ","РЕСПУБЛИКА БУРУНДИ","BURUNDI","BI" -"БЕНИН","НАРОДНАЯ РЕСПУБЛИКА БЕНИН","BENIN","BJ" -"БЕРМУДСКИЕ О-ВА","БЕРМУДСКИЕ ОСТРОВА","BERMUDA","BM" -"БРУНЕЙ","БРУНЕЙ-ДАРУССАЛАМ","BRUNEL","BN" -"БОЛИВИЯ","РЕСПУБЛИКА БОЛИВИЯ","BOLIVIA","BO" -"БРАЗИЛИЯ","ФЕДЕРАТИВНАЯ РЕСПУБЛИКА БРАЗИЛИЯ","BRAZIL","BR" -"БАГАМСКИЕ О-ВА","СОДРУЖЕСТВО БАГАМСКИХ ОСТРОВОВ","BAHAMAS","BS" -"БУТАН","КОРОЛЕВСТВО БУТАН","BHUTAN","BT" -"БУВЕ","ОСТРОВ БУВЕ","BOUVET ISLAND","BV" -"БОТСВАНА","РЕСПУБЛИКА БОТСВАНА","BOTSWANA","BW" -"БЕЛАРУСЬ","РЕСПУБЛИКА БЕЛАРУСЬ","BELARUS","BY" -"БЕЛИЗ","БЕЛИЗ","BELIZE","BZ" -"КАНАДА","КАНАДА","CANADA","CA" -"КОКОСОВЫЕ О-ВА","КОКОСОВЫЕ (КИЛИНГ) ОСТРОВА (В СОСТАВЕ АВСТРАЛИИ)","COCOS (KEELING) ISLANDS","CC" -"ЦЕНТР.АФР.РЕСПУБ.","ЦЕНТРАЛЬНОАФРИКАНСКАЯ РЕСПУБЛИКА (ЦАР)","CENTRAL AFRICAN REPUBLIC","CF" -"КОНГО","НАРОДНАЯ РЕСПУБЛИКА КОНГО (НРК)","CONGO","CG" -"ШВЕЙЦАРИЯ","ШВЕЙЦАРСКАЯ КОНФЕДЕРАЦИЯ","SWITZERLAND","CH" -"КОТ-Д'ИВУАР","РЕСПУБЛИКА КОТ-Д'ИВУАР","COTE D'IVOIRE","CI" -"О-ВА КУКА","ОСТРОВА КУКА (Н.ЗЕЛ.)","COOK ISLANDS","CK" -"ЧИЛИ","РЕСПУБЛИКА ЧИЛИ","CHILE","CL" -"КАМЕРУН","РЕСПУБЛИКА КАМЕРУН","CAMEROON","CM" -"КИТАЙ","КИТАЙСКАЯ НАРОДНАЯ РЕСПУБЛИКА (КНР)","CHINA","CN" -"КОЛУМБИЯ","РЕСПУБЛИКА КОЛУМБИЯ","COLOMBIA","CO" -"КОСТА-РИКА","РЕСПУБЛИКА КОСТА-РИКА","COSTA RICA","CR" -"КУБА","РЕСПУБЛИКА КУБА","CUBA","CU" -"КАБО-ВЕРДЕ","РЕСПУБЛИКА КАБО-ВЕРДЕ","CAPE VERDE","CV" -"О-В РОЖДЕСТВА","ОСТРОВ РОЖДЕСТВА (АВСТРАЛ.)","CHRISTMAS ISLAND (AUSTRALIA)","CX" -"КИПР","РЕСПУБЛИКА КИПР","CYPRUS","CY" -"ЧЕХИЯ","ЧЕШСКАЯ РЕСПУБЛИКА","CZECH REPUBLIC","CZ" -"ГЕРМАНИЯ","ФЕДЕРАТИВНАЯ РЕСПУБЛИКА ГЕРМАНИЯ","GERMANY","DE" -"ДЖИБУТИ","РЕСПУБЛИКА ДЖИБУТИ","DJIBOUTI","DJ" -"ДАНИЯ","КОРОЛЕВСТВО ДАНИЯ","DENMARK","DK" -"ДОМИНИКА","СОДРУЖЕСТВО ДОМИНИКИ","DOMINICA","DM" -"ДОМИНИКАНСК.РЕСП.","ДОМИНИКАНСКАЯ РЕСПУБЛИКА","DOMINICAN REPUBLIC","DO" -"АЛЖИР","АЛЖИРСКАЯ НАРОДНАЯ ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА","ALGERIA","DZ" -"ЭКВАДОР","РЕСПУБЛИКА ЭКВАДОР","ECUADOR","EC" -"ЭСТОНИЯ","ЭСТОНСКАЯ РЕСПУБЛИКА","ESTONIA","EE" -"ЕГИПЕТ","АРАБСКАЯ РЕСПУБЛИКА ЕГИПЕТ (АРЕ)","EGYPT","EG" -"ЗАПАДНАЯ САХАРА","ЗАПАДНАЯ САХАРА","WESTERN SAHARA","EH" -"ЭРИТРЕЯ","ЭРИТРЕЯ","ERITREA","ER" -"ИСПАНИЯ","КОРОЛЕВСТВО ИСПАНИЯ","SPAIN","ES" -"ЭФИОПИЯ","ЭФИОПИЯ","ETHIOPIA","ET" -"ФИНЛЯНДИЯ","ФИНЛЯНДСКАЯ РЕСПУБЛИКА","FINLAND","FI" -"ФИДЖИ","РЕСПУБЛИКА ФИДЖИ","FIJI","FJ" +"Сокращенное наименование", "Полное наименование на русском языке", "Полное наименование на английском языке", "Код страны 2-х буквенный" +"ФОЛКЛЕНДСКИЕ О-ВА", "ФОЛКЛЕНДСКИЕ (МАЛЬВИНСКИЕ) ОСТРОВА (СПОРН.БРИТ.АРГ.)", "FALKLAND ISLANDS (MALVINAS)", "FK" +"МИКРОНЕЗИЯ", "ФЕДЕРАТИВНЫЕ ШТАТЫ МИКРОНЕЗИИ", "MICRONESIA", "FM" +"ФАРЕРСКИЕ О-ВА", "ФАРЕРСКИЕ ОСТРОВА (В СОСТАВЕ ДАНИИ)", "FAROE ISLANDS", "FO" +"ФРАНЦИЯ", "ФРАНЦУЗСКАЯ РЕСПУБЛИКА", "FRANCE", "FR" +"ГАБОН", "ГАБОНСКАЯ РЕСПУБЛИКА", "GABON", "GA" +"ВЕЛИКОБРИТАНИЯ", "СОЕДИНЕННОЕ КОРОЛЕВСТВО ВЕЛИКОБРИТАНИИИ СЕВЕРНОЙ ИРЛАНДИИ", "GREAT BRITAIN", "GB" +"ГРЕНАДА", "ГРЕНАДА", "GRENADA", "GD" +"ГРУЗИЯ", "РЕСПУБЛИКА ГРУЗИЯ", "GEORGIA", "GE" +"ГВИАНА", "ГВИАНА (ФР.)", "FRENCH GUIANA", "GF" +"ГАНА", "РЕСПУБЛИКА ГАНА", "GHANA", "GH" +"ГИБРАЛТАР", "ГИБРАЛТАР (БРИТ.)", "GIBRALTAR", "GI" +"ГРЕНЛАНДИЯ", "ГРЕНЛАНДИЯ (В СОСТАВЕ ДАНИИ)", "GREENLAND", "GL" +"ГАМБИЯ", "РЕСПУБЛИКА ГАМБИЯ", "GAMBIA", "GM" +"ГВИНЕЯ", "ГВИНЕЙСКАЯ РЕСПУБЛИКА", "GUINEA", "GN" +"ГВАДЕЛУПА", "ГВАДЕЛУПА (ФР.)", "GUADELOUPE", "GP" +"ЭКВАТОР. ГВИНЕЯ", "РЕСПУБЛИКА ЭКВАТОРИАЛЬНАЯ ГВИНЕЯ", "EQUATORIAL GUINEA", "GQ" +"ГРЕЦИЯ", "ГРЕЧЕСКАЯ РЕСПУБЛИКА", "GREECE", "GR" +"Ю.ДЖ.И САНДВ.О-ВА", "ЮЖНАЯ ДЖОРДЖИЯ И ЮЖНЫЕ САНДВИЧЕВЫ", "", "GS" +"ГВАТЕМАЛА", "РЕСПУБЛИКА ГВАТЕМАЛА", "GUATEMALA", "GT" +"ГУАМ", "ГУАМ (США)", "GUAM", "GU" +"ГВИНЕЯ-БИСАУ", "РЕСПУБЛИКА ГВИНЕЯ-БИСАУ", "GUINEA-BISSAU", "GW" +"ГАЙАНА", "КООПЕРАТИВНАЯ РЕСПУБЛИКА ГАЙАНА", "GUYANA", "GY" +"СЯНГАН (ГОНКОНГ)", "СЯНГАН (ГОНКОНГ)(БРИТ.)", "HONG KONG", "HK" +"ХЕРД И МАКДОНАЛЬД", "ХЕРД И МАКДОНАЛЬД (В СОСТАВЕ АВСТРАЛИИ)", "HEARD AND MC DONALD ISLANDS", "HM" +"ГОНДУРАС", "РЕСПУБЛИКА ГОНДУРАС", "HONDURAS", "HN" +"ХОРВАТИЯ", "РЕСПУБЛИКА ХОРВАТИЯ", "CROATIA", "HR" +"ГАИТИ", "РЕСПУБЛИКА ГАИТИ", "HAITI", "HT" +"ВЕНГРИЯ", "ВЕНГЕРСКАЯ РЕСПУБЛИКА", "HUNGARY", "HU" +"ИНДОНЕЗИЯ", "РЕСПУБЛИКА ИНДОНЕЗИЯ", "INDONESIA", "ID" +"ИРЛАНДИЯ", "ИРЛАНДИЯ", "IRELAND", "IE" +"ИЗРАИЛЬ", "ГОСУДАРСТВО ИЗРАИЛЬ", "ISRAEL", "IL" +"О-В МЭН", "ОСТРОВ МЭН", "ISLE OF MAN", "IM" +"ИНДИЯ", "РЕСПУБЛИКА ИНДИЯ", "INDIA", "IN" +"БРИТ.ТЕР.В ИНД.ОК", "БРИТАНСКАЯ ТЕРРИТОРИЯ В ИНДИЙСКОМ ОКЕАНЕ (БРИТ.)", "BRITISH INDIAN OCEAN TERRITORY", "IO" +"ИРАК", "ИРАКСКАЯ РЕСПУБЛИКА", "IRAQ", "IQ" +"ИРАН", "ИСЛАМСКАЯ РЕСПУБЛИКА ИРАН (ИРИ)", "IRAN", "IR" +"ИСЛАНДИЯ", "РЕСПУБЛИКА ИСЛАНДИЯ", "ICELAND", "IS" +"ИТАЛИЯ", "ИТАЛЬЯНСКАЯ РЕСПУБЛИКА", "ITALY", "IT" +"ЯМАЙКА", "ЯМАЙКА", "JAMAICA", "JM" +"ИОРДАНИЯ", "ИОРДАНСКОЕ ХАШИМИТСКОЕ КОРОЛЕВСТВО", "JORDAN", "JO" +"ЯПОНИЯ", "ЯПОНИЯ", "JAPAN", "JP" +"ДЖОНСТОН АТОЛЛ", "ДЖОНСТОН АТОЛЛ", "JOHNSTON ISLAND", "JT" +"КЕНИЯ", "РЕСПУБЛИКА КЕНИЯ", "KENYA", "KE" +"КЫРГЫЗСТАН", "РЕСПУБЛИКА КЫРГЫЗСТАН", "KYRGYZSTAN", "KG" +"КАМБОДЖА", "ГОСУДАРСТВО КАМБОДЖА", "CAMBODIA", "KH" +"КИРИБАТИ", "РЕСПУБЛИКА КИРИБАТИ", "KIRIBATI", "KI" +"КОМОРСКИЕ О-ВА", "ФЕДЕРАЛЬНАЯ ИСЛАМСКАЯ РЕСПУБЛИКА КОМОРСКИЕ ОСТРОВА", "COMOROS", "KM" +"СЕНТ-КИТС И НЕВИС", "ФЕДЕРАЦИЯ СЕНТ-КИТС (СЕНТ-КРИСТОФЕР) И НЕВИС", "SAINT KITTS AND NEVIS", "KN" +"КОРЕЯ (КНДР)", "КОРЕЙСКАЯ НАРОДНО-ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА", "KOREA, DEMOCRATIC PEOPLE`S REPUBLIC OF", "KP" +"КОРЕЯ РЕСП.", "РЕСПУБЛИКА КОРЕЯ", "KOREA,REPUBLIC OF", "KR" +"КУВЕЙТ", "ГОСУДАРСТВО КУВЕЙТ", "KUWAIT", "KW" +"КАЙМАН", "ОСТРОВА КАЙМАН", "CAYMAN ISLANDS", "KY" +"КАЗАХСТАН", "РЕСПУБЛИКА КАЗАХСТАН", "KAZAKHSTAN", "KZ" +"ЛАОС", "ЛАОССКАЯ НАРОДНО-ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА", "LAO PEOPLE'S DEMOCRATIC REPUBLIC", "LA" +"ЛИВАН", "ЛИВАНСКАЯ РЕСПУБЛИКА", "LEBANON", "LB" +"СЕНТ-ЛЮСИЯ", "СЕНТ-ЛЮСИЯ", "SAINT LUCIA", "LC" +"ЛИХТЕНШТЕЙН", "КНЯЖЕСТВО ЛИХТЕНШТЕЙН", "LIECHTENSTEIN", "LI" +"ШРИ-ЛАНКА", "ДЕМОКРАТИЧЕСКАЯ СОЦИАЛИСТИЧЕСКАЯ РЕСПУБЛИКА ШРИ-ЛАНКА", "SRI LANKA", "LK" +"ЛИБЕРИЯ", "РЕСПУБЛИКА ЛИБЕРИЯ", "LIBERIA", "LR" +"ЛЕСОТО", "КОРОЛЕВСТВО ЛЕСОТО", "LESOTHO", "LS" +"ЛИТВА", "ЛИТОВСКАЯ РЕСПУБЛИКА", "LITHUANIA", "LT" +"ЛЮКСЕМБУРГ", "ВЕЛИКОЕ ГЕРЦОГСТВО ЛЮКСЕМБУРГ", "LUXEMBOURG", "LU" +"ЛАТВИЯ", "ЛАТВИЙСКАЯ РЕСПУБЛИКА", "LATVIA", "LV" +"ЛИВИЯ", "СОЦИАЛИСТИЧЕСКАЯ НАРОДНАЯ ЛИВИЙСКАЯ АРАБСКАЯ ДЖАМАХИРИЯ", "LIBYAN ARAB JAMAHIRIYA", "LY" +"МАРОККО", "КОРОЛЕВСТВО МАРОККО", "MOROCCO", "MA" +"МОНАКО", "КНЯЖЕСТВО МОНАКО", "MONACO", "MC" +"МОЛДОВА", "РЕСПУБЛИКА МОЛДОВА", "MOLDOVA, REPUBLIC OF", "MD" +"МАДАГАСКАР", "ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА МАДАГАСКАР", "MADAGASCAR", "MG" +"МАРШАЛЛОВЫ О-ВА", "МАРШАЛЛОВЫ ОСТРОВА (США)", "MARSHALL ISLANDS", "MH" +"О-ВА МИДУЭЙ", "ОСТРОВА МИДУЭЙ", "MIDWAY ISLANDS", "MI" +"МАКЕДОНИЯ", "МАКЕДОНИЯ", "MACEDONIA", "MK" +"МАЛИ", "РЕСПУБЛИКА МАЛИ", "MALI", "ML" +"МОНГОЛИЯ", "МОНГОЛИЯ", "MONGOLIA", "MN" +"АОМЫНЬ(МАКАО)", "АОМЫНЬ", "MACAU", "MO" +"МАРИАНСКИЕ О-ВА", "СОДРУЖЕСТВО СЕВЕРНЫХ МАРИАНСКИХ ОСТРОВОВ", "NORTHERN MARIANA ISLANDS", "MP" +"МАРТИНИКА", "МАРТИНИКА (ФР.)", "MARTINIQUE", "MQ" +"МАВРИТАНИЯ", "ИСЛАМСКАЯ РЕСПУБЛИКА МАВРИТАНИЯ", "MAURITANIA", "MR" +"МОНТСЕРРАТ", "МОНТСЕРРАТ (БРИТ.)", "MONTSERRAT", "MS" +"МАЛЬТА", "РЕСПУБЛИКА МАЛЬТА", "MALTA", "MT" +"МАВРИКИЙ", "МАВРИКИЙ", "MAURITIUS", "MU" +"МАЛЬДИВЫ", "МАЛЬДИВСКАЯ РЕСПУБЛИКА", "MALDIVES", "MV" +"МАЛАВИ", "РЕСПУБЛИКА МАЛАВИ", "MALAWI", "MW" +"МЕКСИКА", "МЕКСИКАНСКИЕ СОЕДИНЕННЫЕ ШТАТЫ", "MEXICO", "MX" +"МАЛАЙЗИЯ", "МАЛАЙЗИЯ", "MALAYSIA", "MY" +"МОЗАМБИК", "НАРОДНАЯ РЕСПУБЛИКА МОЗАМБИК (НРМ)", "MOZAMBIQUE", "MZ" +"НАМИБИЯ", "НАМИБИЯ", "NAMIBIA", "NA" +"НОВ.КАЛЕДОНИЯ", "НОВАЯ КАЛЕДОНИЯ (ФР.)", "NEW CALEDONIA", "NC" +"НИГЕР", "РЕСПУБЛИКА НИГЕР", "NIGER", "NE" +"НОРФОЛК", "НОРФОЛК (АВСТРАЛ.)", "NORFOLK ISLAND", "NF" +"НИГЕРИЯ", "ФЕДЕРАТИВНАЯ РЕСПУБЛИКА НИГЕРИЯ", "NIGERIA", "NG" +"НИКАРАГУА", "РЕСПУБЛИКА НИКАРАГУА", "NICARAGUA", "NI" +"НИДЕРЛАНДЫ", "КОРОЛЕВСТВО НИДЕРЛАНДЫ", "NETHERLANDS", "NL" +"НОРВЕГИЯ", "КОРОЛЕВСТВО НОРВЕГИЯ", "NORWAY", "NO" +"НЕПАЛ", "КОРОЛЕВСТВО НЕПАЛ", "NEPAL", "NP" +"НАУРУ", "РЕСПУБЛИКА НАУРУ", "NAURU", "NR" +"НИУЭ", "НИУЭ (Н.ЗЕЛ.)", "NIUE", "NU" +"НОВАЯ ЗЕЛАНДИЯ", "НОВАЯ ЗЕЛАНДИЯ", "NEW ZEALAND", "NZ" +"ОМАН", "СУЛТАНАТ ОМАН", "OMAN", "OM" +"ПАНАМА", "РЕСПУБЛИКА ПАНАМА", "PANAMA", "PA" +"ПЕРУ", "РЕСПУБЛИКА ПЕРУ", "PERU", "PE" +"ФР. ПОЛИНЕЗИЯ", "ФРАНЦУЗСКАЯ ПОЛИНЕЗИЯ (ФР.)", "FRENCH POLYNESIA", "PF" +"ПАПУА-НОВ.ГВИНЕЯ", "ПАПУА-НОВАЯ ГВИНЕЯ", "PAPUA NEW GUINEA", "PG" +"ФИЛИППИНЫ", "РЕСПУБЛИКА ФИЛИППИНЫ", "PHILIPPINES", "PH" +"ПАКИСТАН", "ИСЛАМСКАЯ РЕСПУБЛИКА ПАКИСТАН", "PAKISTAN", "PK" +"ПОЛЬША", "ПОЛЬСКАЯ РЕСПУБЛИКА", "POLAND", "PL" +"С-ПЬЕР И МИКЕЛОН", "СЕН-ПЬЕР И МИКЕЛОН (ФР.)", "SAINT PIERRE AND MIQUELON", "PM" +"ПИТКЭРН", "ПИТКЭРН (БРИТ.)", "PITCAIRN", "PN" +"ПУЭРТО-РИКО", "ПУЭРТО-РИКО (США)", "PUERTO RICO", "PR" +"ПОРТУГАЛИЯ", "ПОРТУГАЛЬСКАЯ РЕСПУБЛИКА", "PORTUGAL", "PT" +"ПАЛАУ", "РЕСПУБЛИКА ПАЛАУ (БЕЛАУ)", "PACIFIC ISLANDS (PALAU)", "PW" +"ПАРАГВАЙ", "РЕСПУБЛИКА ПАРАГВАЙ", "PARAGUAY", "PY" +"КАТАР", "ГОСУДАРСТВО КАТАР", "QATAR", "QA" +"РЕЮНЬОН", "РЕЮНЬОН (ФР.)", "REUNION", "RE" +"РУМЫНИЯ", "РЕСПУБЛИКА РУМЫНИЯ", "Romania", "RO" +"РОССИЯ", "РОССИЙСКАЯ ФЕДЕРАЦИЯ", "RUSSIAN FEDERATION", "RU" +"РУАНДА", "РУАНДИЙСКАЯ РЕСПУБЛИКА", "RWANDA", "RW" +"САУДОВСКАЯ АРАВИЯ", "КОРОЛЕВСТВО САУДОВСКАЯ АРАВИЯ", "SAUDI ARABIA", "SA" +"СОЛОМОНОВЫ О-ВА", "СОЛОМОНОВЫ ОСТРОВА", "SOLOMON ISLANDS", "SB" +"СЕЙШЕЛЬСКИЕ О-ВА", "РЕСПУБЛИКА СЕЙШЕЛЬСКИЕ ОСТРОВА", "SEYCHELLES", "SC" +"СУДАН", "РЕСПУБЛИКА СУДАН", "SUDAN", "SD" +"ШВЕЦИЯ", "КОРОЛЕВСТВО ШВЕЦИЯ", "SWEDEN", "SE" +"СИНГАПУР", "РЕСПУБЛИКА СИНГАПУР", "SINGAPORE", "SG" +"О-В СВЯТОЙ ЕЛЕНЫ", "ОСТРОВ СВЯТОЙ ЕЛЕНЫ (БРИТ.)", "ST. HELENA", "SH" +"СЛОВЕНИЯ", "РЕСПУБЛИКА СЛОВЕНИЯ", "SLOVENIA", "SI" +"ШПИЦБЕРГЕН О-ВА", "ШПИЦБЕРГЕН И ЯН-МАЙЕН (НОРВ.)", "SVALBARD AND JAN MAYEN ISLANDS", "SJ" +"СЛОВАКИЯ", "СЛОВАЦКАЯ РЕСПУБЛИКА", "SLOVAKIA", "SK" +"СЬЕРРА-ЛЕОНЕ", "РЕСПУБЛИКА СЬЕРРА-ЛЕОНЕ", "SIERRA LEONE", "SL" +"САН-МАРИНО", "РЕСПУБЛИКА САН-МАРИНО", "SAN MARINO", "SM" +"СЕНЕГАЛ", "РЕСПУБЛИКА СЕНЕГАЛ", "SENEGAL", "SN" +"СОМАЛИ", "СОМАЛИЙСКАЯ ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА", "SOMALIA", "SO" +"СУРИНАМ", "РЕСПУБЛИКА СУРИНАМ", "SURINAME", "SR" +"САН-ТОМЕ И ПРИНС.", "ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА САН-ТОМЕ И ПРИНСИПИ", "SAN TOME AND PRINCIPE", "ST" +"САЛЬВАДОР", "РЕСПУБЛИКА ЭЛЬ-САЛЬВАДОР", "EL SALVADOR", "SV" +"СИРИЯ", "СИРИЙСКАЯ АРАБСКАЯ РЕСПУБЛИКА", "SYRIA", "SY" +"СВАЗИЛЕНД", "КОРОЛЕВСТВО СВАЗИЛЕНД", "SWAZILAND", "SZ" +"ТЕРКС И КАЙКОС", "ТЕРКС И КАЙКОС (БРИТ.)", "TURKS AND CAICOS ISLANDS", "TC" +"ЧАД", "РЕСПУБЛИКА ЧАД", "CHAD", "TD" +"ФР.ЮЖНЫЕ ТЕРИТОР.", "ФРАНЦУЗСКИЕ ЮЖНЫЕ ТЕРРИТОРИИ (ФР.)", "FRENCH SOUTHERN TERRITORIES", "TF" +"ТОГО", "ТОГОЛЕЗСКАЯ РЕСПУБЛИКА", "TOGO", "TG" +"ТАИЛАНД", "КОРОЛЕВСТВО ТАИЛАНД", "THAILAND", "TH" +"ТАДЖИКИСТАН", "РЕСПУБЛИКА ТАДЖИКИСТАН", "TAJIKISTAN", "TJ" +"ТОКЕЛАУ (ЮНИОН)", "ТОКЕЛАУ (ЮНИОН)(Н.ЗЕЛ.)", "TOKELAU", "TK" +"ТУРКМЕНИСТАН", "ТУРКМЕНИСТАН", "TURKMENISTAN", "TM" +"ТУНИС", "ТУНИССКАЯ РЕСПУБЛИКА", "TUNISIA", "TN" +"ТОНГА", "КОРОЛЕВСТВО ТОНГА", "TONGA", "TO" +"ВОСТОЧНЫЙ ТИМОР", "ВОСТОЧНЫЙ ТИМОР", "EAST TIMOR", "TP" +"ТУРЦИЯ", "ТУРЕЦКАЯ РЕСПУБЛИКА", "TURKEY", "TR" +"ТРИНИДАД И ТОБАГО", "РЕСПУБЛИКА ТРИНИДАД И ТОБАГО", "TRINIDAD AND TOBAGO", "TT" +"ТУВАЛУ", "ТУВАЛУ", "TUVALU", "TV" +"ТАЙВАНЬ", "ТАЙВАНЬ (В СОСТАВЕ КИТАЯ)", "TAIWAN,PROVINCE OF CHINA", "TW" +"ТАНЗАНИЯ", "ОБЪЕДИНЕННАЯ РЕСПУБЛИКА ТАНЗАНИЯ (ОРТ)", "TANZANIA", "TZ" +"УКРАИНА", "УКРАИНА", "UKRAINE", "UA" +"УГАНДА", "РЕСПУБЛИКА УГАНДА", "UGANDA", "UG" +"МАЛЫЕ ТИХООК.О-ВА", "МАЛЫЕ ТИХООКЕАНСКИЕ ОТДАЛЕННЫЕ ОСТРОВА (США)", "UNITED STATES MINOR OUTLYING ISLANDS", "UM" +"США", "СОЕДИНЕННЫЕ ШТАТЫ АМЕРИКИ", "UNITED STATES", "US" +"УРУГВАЙ", "ВОСТОЧНАЯ РЕСПУБЛИКА УРУГВАЙ", "URUGUAY", "UY" +"УЗБЕКИСТАН", "РЕСПУБЛИКА УЗБЕКИСТАН", "UZBEKISTAN", "UZ" +"ВАТИКАН", "ГОСУДАРСТВО-ГОРОД ВАТИКАН", "VATICAN (HOLY SEE)", "VA" +"С.ВИНСЕНТ.ГРЕНАД.", "СЕНТ-ВИНСЕНТ И ГРЕНАДИНЫ", "SAINT VINCENT AND THE GRENADINES", "VC" +"ВЕНЕСУЭЛА", "РЕСПУБЛИКА ВЕНЕСУЭЛА", "VENEZUELA", "VE" +"ВИРГИН.О-ВА(БРИТ)", "БРИТАНСКИЕ ВИРГИНСКИЕ ОСТРОВА", "VIRGIN ISLANDS", "VG" +"ВИРГИН.О-ВА (США)", "ВИРГИНСКИЕ ОСТРОВА", "VIRGIN ISLANDS (U.S.)", "VI" +"ВЬЕТНАМ", "НАРОДНАЯ РЕСПУБЛИКА ВЬЕТНАМ", "VIET NAM", "VN" +"ВАНУАТУ", "РЕСПУБЛИКА ВАНУАТУ", "VANUATU", "VU" +"УОЛЛИС И ФУТУНА", "ОСТРОВА УОЛЛИС И ФУТУНА", "WALLIS AND FUTUNA ISLANDS", "WF" +"О-В УЭЙК", "ОСТРОВ УЭЙК", "WAKE ISLAND", "WK" +"ЗАПАДНОЕ САМОА", "ЗАПАДНОЕ САМОА", "SAMOA", "WS" +"ЙЕМЕН", "РЕСПУБЛИКА ЙЕМЕН", "YEMEN", "YE" +"ЮГОСЛАВИЯ", "СОЮЗНАЯ РЕСПУБЛИКА ЮГОСЛАВИЯ", "YUGOSLAVIA", "YU" +"ЮЖНО-АФР.РЕСПУБЛ.", "ЮЖНО-АФРИКАНСКАЯ РЕСПУБЛИКА (ЮАР)", "SOUTH AFRICA", "ZA" +"ЗАМБИЯ", "РЕСПУБЛИКА ЗАМБИЯ", "ZAMBIA", "ZM" +"ЗАИР", "РЕСПУБЛИКА ЗАИР", "ZAIRE", "ZR" +"ЗИМБАБВЕ", "РЕСПУБЛИКА ЗИМБАБВЕ", "ZIMBABWE", "ZW" +"МЬЯНМА", "СОЮЗ МЬЯНМА", "MYANMAR (BURMA)", "MM" +"МАЙОТТА", "МАЙОТТА", "", "YT" +"КОНГО", "ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА КОНГО", "", "CD" +"ЭЛАНДСКИЕ О-ВА", "ЭЛАНДСКИЕ ОСТРОВА", "", "AX" +"ПАЛЕСТИНА ОКУП.", "ОКУПИРОВАННАЯ ПАЛЕСТИНСКАЯ ТЕРРИТОРИЯ", "", "PS" +"ТИМОР-ЛЕСТЕ", "ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА ТИМОР-ЛЕСТЕ", "", "TL" +"ЧЕРНОГОРИЯ", "РЕСПУБЛИКА ЧЕРНОГОРИЯ", "", "ME" +"МЕЖДУНАРОДНЫЕ ОРГ", "МЕЖДУНАРОДНЫЕ ОРГАНИЗАЦИИ", "INTERNATIONAL ORGANIZATIONS", "XN" +"ДЖЕРСИ", "ДЖЕРСИ", "JERSEY", "JE" +"Кюрасао", "Кюрасао", "CURACAO", "CW" +"ГЕРНСИ", "ГЕРНСИ", "", "GG" +"ДРУГАЯ СТРАНА", "ДРУГАЯ СТРАНА", "OTHER COUNTRY", "OC" +"АБХАЗИЯ", "Республика Абхазия", "", "AB" +"СЕРБИЯ", "РЕСПУБЛИКА СЕРБИЯ", "SERBIA", "RS" +"СТРАНА НЕ ОПР.", "СТРАНА НЕ ОПРЕДЕЛЕНА", "NOT DEFINE", "--" +"АНДОРРА", "КНЯЖЕСТВО АНДОРРА", "ANDORRA", "AD" +"ОБЪЕД.РАБ.ЭМИРАТ", "ОБЪЕДИНЕННЫЕ АРАБСКИЕ ЭМИРАТЫ (ОАЭ)", "UNITED ARAB EMIRATES", "AE" +"АФГАНИСТАН", "ИСЛАМСКОЕ ГОСУДАРСТВО АФГАНИСТАН", "AFGHANISTAN", "AF" +"АНТИГУА.БАРБ", "АНТИГУА И БАРБУДА", "ANTIGUA AND BARBUDA", "AG" +"АНГИЛЬЯ", "АНГИЛЬЯ (БРИТ.)", "ANGUILLA", "AI" +"АЛБАНИЯ", "РЕСПУБЛИКА АЛБАНИЯ", "ALBANIA", "AL" +"АРМЕНИЯ", "РЕСПУБЛИКА АРМЕНИЯ", "ARMENIA", "AM" +"АНТИЛЬСКИЕ О-ВА", "НИДЕРЛАНДСКИЕ АНТИЛЬСКИЕ ОСТРОВА", "NETHERLANDS ANTILLES", "AN" +"АНГОЛА", "НАРОДНАЯ РЕСПУБЛИКА АНГОЛА", "ANGOLA", "AO" +"АНТАРКТИКА", "АНТАРКТИКА", "ANTARCTICA", "AQ" +"АРГЕНТИНА", "АРГЕНТИНСКАЯ РЕСПУБЛИКА", "ARGENTINA", "AR" +"ВОСТ.САМОА (США)", "АМЕРИКАНСКОЕ САМОА", "AMERICAN (EASTERN) SAMOA", "AS" +"АВСТРИЯ", "АВСТРИЙСКАЯ РЕСПУБЛИКА", "AUSTRIA", "AT" +"АВСТРАЛИЯ", "АВСТРАЛИЯ", "AUSTRALIA", "AU" +"АРУБА", "ОСТРОВ АРУБА", "ARUBA", "AW" +"АЗЕРБАЙДЖАН", "АЗЕРБАЙДЖАНСКАЯ РЕСПУБЛИКА", "AZERBAIJAN", "AZ" +"БОСНИЯ И ГЕРЦОГ.", "БОСНИЯ И ГЕРЦОГОВИНА", "BOSNIA AND HERZEGOWINA", "BA" +"БАРБАДОС", "БАРБАДОС", "BARBADOS", "BB" +"БАНГЛАДЕШ", "НАРОДНАЯ РЕСПУБЛИКА БАНГЛАДЕШ", "BANGLADESH", "BD" +"БЕЛЬГИЯ", "КОРОЛЕВСТВО БЕЛЬГИЯ", "BELGIUM", "BE" +"БУРКИНА-ФАСО", "БУРКИНА-ФАСО", "BURKINA FASO", "BF" +"БОЛГАРИЯ", "РЕСПУБЛИКА БОЛГАРИЯ", "BULGARIA", "BG" +"БАХРЕЙН", "ГОСУДАРСТВО БАХРЕЙН", "BAHRAIN", "BH" +"БУРУНДИ", "РЕСПУБЛИКА БУРУНДИ", "BURUNDI", "BI" +"БЕНИН", "НАРОДНАЯ РЕСПУБЛИКА БЕНИН", "BENIN", "BJ" +"БЕРМУДСКИЕ О-ВА", "БЕРМУДСКИЕ ОСТРОВА", "BERMUDA", "BM" +"БРУНЕЙ", "БРУНЕЙ-ДАРУССАЛАМ", "BRUNEL", "BN" +"БОЛИВИЯ", "РЕСПУБЛИКА БОЛИВИЯ", "BOLIVIA", "BO" +"БРАЗИЛИЯ", "ФЕДЕРАТИВНАЯ РЕСПУБЛИКА БРАЗИЛИЯ", "BRAZIL", "BR" +"БАГАМСКИЕ О-ВА", "СОДРУЖЕСТВО БАГАМСКИХ ОСТРОВОВ", "BAHAMAS", "BS" +"БУТАН", "КОРОЛЕВСТВО БУТАН", "BHUTAN", "BT" +"БУВЕ", "ОСТРОВ БУВЕ", "BOUVET ISLAND", "BV" +"БОТСВАНА", "РЕСПУБЛИКА БОТСВАНА", "BOTSWANA", "BW" +"БЕЛАРУСЬ", "РЕСПУБЛИКА БЕЛАРУСЬ", "BELARUS", "BY" +"БЕЛИЗ", "БЕЛИЗ", "BELIZE", "BZ" +"КАНАДА", "КАНАДА", "CANADA", "CA" +"КОКОСОВЫЕ О-ВА", "КОКОСОВЫЕ (КИЛИНГ) ОСТРОВА (В СОСТАВЕ АВСТРАЛИИ)", "COCOS (KEELING) ISLANDS", "CC" +"ЦЕНТР.АФР.РЕСПУБ.", "ЦЕНТРАЛЬНОАФРИКАНСКАЯ РЕСПУБЛИКА (ЦАР)", "CENTRAL AFRICAN REPUBLIC", "CF" +"КОНГО", "НАРОДНАЯ РЕСПУБЛИКА КОНГО (НРК)", "CONGO", "CG" +"ШВЕЙЦАРИЯ", "ШВЕЙЦАРСКАЯ КОНФЕДЕРАЦИЯ", "SWITZERLAND", "CH" +"КОТ-Д'ИВУАР", "РЕСПУБЛИКА КОТ-Д'ИВУАР", "COTE D'IVOIRE", "CI" +"О-ВА КУКА", "ОСТРОВА КУКА (Н.ЗЕЛ.)", "COOK ISLANDS", "CK" +"ЧИЛИ", "РЕСПУБЛИКА ЧИЛИ", "CHILE", "CL" +"КАМЕРУН", "РЕСПУБЛИКА КАМЕРУН", "CAMEROON", "CM" +"КИТАЙ", "КИТАЙСКАЯ НАРОДНАЯ РЕСПУБЛИКА (КНР)", "CHINA", "CN" +"КОЛУМБИЯ", "РЕСПУБЛИКА КОЛУМБИЯ", "COLOMBIA", "CO" +"КОСТА-РИКА", "РЕСПУБЛИКА КОСТА-РИКА", "COSTA RICA", "CR" +"КУБА", "РЕСПУБЛИКА КУБА", "CUBA", "CU" +"КАБО-ВЕРДЕ", "РЕСПУБЛИКА КАБО-ВЕРДЕ", "CAPE VERDE", "CV" +"О-В РОЖДЕСТВА", "ОСТРОВ РОЖДЕСТВА (АВСТРАЛ.)", "CHRISTMAS ISLAND (AUSTRALIA)", "CX" +"КИПР", "РЕСПУБЛИКА КИПР", "CYPRUS", "CY" +"ЧЕХИЯ", "ЧЕШСКАЯ РЕСПУБЛИКА", "CZECH REPUBLIC", "CZ" +"ГЕРМАНИЯ", "ФЕДЕРАТИВНАЯ РЕСПУБЛИКА ГЕРМАНИЯ", "GERMANY", "DE" +"ДЖИБУТИ", "РЕСПУБЛИКА ДЖИБУТИ", "DJIBOUTI", "DJ" +"ДАНИЯ", "КОРОЛЕВСТВО ДАНИЯ", "DENMARK", "DK" +"ДОМИНИКА", "СОДРУЖЕСТВО ДОМИНИКИ", "DOMINICA", "DM" +"ДОМИНИКАНСК.РЕСП.", "ДОМИНИКАНСКАЯ РЕСПУБЛИКА", "DOMINICAN REPUBLIC", "DO" +"АЛЖИР", "АЛЖИРСКАЯ НАРОДНАЯ ДЕМОКРАТИЧЕСКАЯ РЕСПУБЛИКА", "ALGERIA", "DZ" +"ЭКВАДОР", "РЕСПУБЛИКА ЭКВАДОР", "ECUADOR", "EC" +"ЭСТОНИЯ", "ЭСТОНСКАЯ РЕСПУБЛИКА", "ESTONIA", "EE" +"ЕГИПЕТ", "АРАБСКАЯ РЕСПУБЛИКА ЕГИПЕТ (АРЕ)", "EGYPT", "EG" +"ЗАПАДНАЯ САХАРА", "ЗАПАДНАЯ САХАРА", "WESTERN SAHARA", "EH" +"ЭРИТРЕЯ", "ЭРИТРЕЯ", "ERITREA", "ER" +"ИСПАНИЯ", "КОРОЛЕВСТВО ИСПАНИЯ", "SPAIN", "ES" +"ЭФИОПИЯ", "ЭФИОПИЯ", "ETHIOPIA", "ET" +"ФИНЛЯНДИЯ", "ФИНЛЯНДСКАЯ РЕСПУБЛИКА", "FINLAND", "FI" +"ФИДЖИ", "РЕСПУБЛИКА ФИДЖИ", "FIJI", "FJ" diff --git a/factfinder/src/geocoder.py b/factfinder/src/geocoder.py index f065a28..2d9bcc2 100644 --- a/factfinder/src/geocoder.py +++ b/factfinder/src/geocoder.py @@ -4,7 +4,7 @@ In this scenario texts are comments in social networks (e.g. Vkontakte). Thus the model was trained on the corpus of comments on Russian language. """ -import numpy as np +import numpy as np import re import warnings from typing import List, Optional @@ -28,19 +28,16 @@ from natasha import ( Segmenter, MorphVocab, - NewsEmbedding, NewsMorphTagger, NewsSyntaxParser, NewsNERTagger, - PER, NamesExtractor, DatesExtractor, MoneyExtractor, AddrExtractor, - - Doc + Doc, ) segmenter = Segmenter() @@ -239,9 +236,20 @@ class Geocoder: dir_path = os.path.dirname(os.path.realpath(__file__)) global_crs: int = 4326 - exceptions = pd.merge(pd.read_csv(os.path.join(dir_path, "exceptions_countries.csv"), encoding="utf-8", sep=",") - ,pd.read_csv(os.path.join(dir_path, "exсeptions_city.csv"), encoding="utf-8", sep=","), - on='Сокращенное наименование', how='outer') + exceptions = pd.merge( + pd.read_csv( + os.path.join(dir_path, "exceptions_countries.csv"), + encoding="utf-8", + sep=",", + ), + pd.read_csv( + os.path.join(dir_path, "exсeptions_city.csv"), + encoding="utf-8", + sep=",", + ), + on="Сокращенное наименование", + how="outer", + ) def __init__( self, @@ -283,17 +291,18 @@ def extract_ner_street(self, text: str) -> pd.Series: return pd.Series([res, score]) else: return pd.Series([None, None]) - except IndexError: return pd.Series([None, None]) - + # Блок с Наташей - def get_ner_address_natasha(row, exceptions, text_col): #input: string, list, series... output: string + def get_ner_address_natasha( + row, exceptions, text_col + ): # input: string, list, series... output: string if row["Street"] == None or row["Street"] == np.nan: i = row[text_col] location_final = [] - i = re.sub(r'\[.*?\]', '', i) + i = re.sub(r"\[.*?\]", "", i) doc = Doc(i) doc.segment(segmenter) doc.tag_morph(morph_tagger) @@ -301,9 +310,14 @@ def get_ner_address_natasha(row, exceptions, text_col): #input: string, list, se doc.tag_ner(ner_tagger) for span in doc.spans: span.normalize(morph_vocab) - location = list(filter(lambda x: x.type == 'LOC', doc.spans)) + location = list(filter(lambda x: x.type == "LOC", doc.spans)) for span in location: - if span.normal.lower() not in exceptions['Сокращенное наименование'].str.lower().values: + if ( + span.normal.lower() + not in exceptions["Сокращенное наименование"] + .str.lower() + .values + ): location_final.append(span) location_final = [(span.text) for span in location_final] if not location_final: @@ -311,7 +325,6 @@ def get_ner_address_natasha(row, exceptions, text_col): #input: string, list, se return location_final[0] else: return row["Street"] - @staticmethod def get_stem(street_names_df: pd.DataFrame) -> pd.DataFrame: @@ -415,8 +428,12 @@ def get_street( df[["Street", "Score"]] = df[text_column].progress_apply( lambda t: self.extract_ner_street(t) ) - df["Street"] = df[[text_column,"Street"]].progress_apply( - lambda row: Geocoder.get_ner_address_natasha(row, self.exceptions, text_column), axis=1) + df["Street"] = df[[text_column, "Street"]].progress_apply( + lambda row: Geocoder.get_ner_address_natasha( + row, self.exceptions, text_column + ), + axis=1, + ) df = df[df.Street.notna()] df = df[df["Street"].str.contains("[а-яА-Я]")] diff --git a/factfinder/src/test.ipynb b/factfinder/src/test.ipynb new file mode 100644 index 0000000..c12cf15 --- /dev/null +++ b/factfinder/src/test.ipynb @@ -0,0 +1,30 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def get_city_data(city_name):\n", + " api = overpy.Overpass()\n", + " query = f\"\"\"\n", + " area[name=\"{city_name}\"]->.searchArea;\n", + " (node(area.searchArea)[\"place\"=\"city\"];\n", + " way(area.searchArea)[\"place\"=\"city\"];\n", + " relation(area.searchArea)[\"place\"=\"city\"];);\n", + " out center;\n", + " \"\"\"\n", + " result = api.query(query)\n", + " return result" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/pyproject.toml b/pyproject.toml index 342593c..51d27e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,6 +36,7 @@ autodocsumm = "^0.2.11" flake8 = "^6.0.0" isort = "^5.12.0" black = "^23.1.0" +pylint = "^3.0.2" [tool.poetry.group.test.dependencies] pytest = "^7.4.3" diff --git a/tests/test_events_modelling.py b/tests/test_events_modelling.py index a232087..f9eb38d 100644 --- a/tests/test_events_modelling.py +++ b/tests/test_events_modelling.py @@ -8,23 +8,27 @@ path_to_population = "data/raw/population.geojson" path_to_data = "data/processed/messages.geojson" + @pytest.fixture def gdf(): gdf = gpd.read_file(path_to_data) gdf = gdf.head(6) return gdf + def test_event_detection(gdf): expected_name = "0_фурштатская_штукатурного слоя_слоя_отслоение" expected_risk = 0.405 expected_messages = [4, 5, 3, 2] event_model = EventDetection() messages, events, connections = event_model.run( - gdf, path_to_population, 'Санкт-Петербург', 32636, min_event_size=3 - ) - event_name = events.iloc[0]['name'] - event_risk = events.iloc[0]['risk'].round(3) - event_messages = [int(mid) for mid in events.iloc[0]['message_ids'].split(', ')] + gdf, path_to_population, "Санкт-Петербург", 32636, min_event_size=3 + ) + event_name = events.iloc[0]["name"] + event_risk = events.iloc[0]["risk"].round(3) + event_messages = [ + int(mid) for mid in events.iloc[0]["message_ids"].split(", ") + ] assert event_name == expected_name assert event_risk == expected_risk - assert all(mid in event_messages for mid in expected_messages) \ No newline at end of file + assert all(mid in event_messages for mid in expected_messages) diff --git a/tests/test_location.py b/tests/test_location.py index e6dc047..4d456d8 100644 --- a/tests/test_location.py +++ b/tests/test_location.py @@ -16,16 +16,13 @@ # result = Location().query(input_address) # assert result.address == geocode_result + @pytest.mark.parametrize( "input_address,geocode_result", [ - ( - 'возле дома на Итальянской 17 постоянно мусорят!!!', - 'Итальянской 17' - ), + ("возле дома на Итальянской 17 постоянно мусорят!!!", "Итальянской 17"), ], ) - def test_geolocator(input_address, geocode_result): result = Geocoder().extract_ner_street(input_address) - assert result.loc[0] == geocode_result \ No newline at end of file + assert result.loc[0] == geocode_result