russiannames
adalah perpustakaan Python 3 yang didedikasikan untuk parse nama -nama Rusia, nama keluarga, dan pertengahan nama, mengidentifikasi gender orang dengan nama penuh dan bagaimana nama ditulis. Ini menggunakan MongoDB sebagai backend untuk mempercepat nama parsing.
Dokumentasi dibangun secara otomatis dan dapat ditemukan di https://russiannames.readthedocs.org/en/latest/
Untuk menginstal Python Library Gunakan pip install russiannames
Via Pip atau python setup.py install
Untuk menggunakan database, Anda memerlukan instance MongoDB. Buka DB_DATA_BSON.zip file dari https://github.com/datacoon/russiannames/blob/master/data/bson/db_dump_bson.zip
dan gunakan perintah mongorestore
untuk mengembalikan database names
dengan 3 koleksi: nama, nama keluarga dan tengah nama
Database nama yang digunakan untuk identifikasi
Statistik basis data terperinci berdasarkan jenis kelamin dan pengumpulan
koleksi | total | laki -laki | wanita | universal atau tidak dikenal |
---|---|---|---|---|
nama | 32134 | 19297 | 8278 | 1196 |
tengah nama | 48274 | 30114 | 16143 | 0 |
nama keluarga | 375274 | 124662 | 111534 | 38827 |
Mendukung 12 format gaya penulisan nama lengkap Rusia
Format | Contoh | Keterangan |
---|---|---|
F | Ольг | Hanya nama depan |
S | Петров | hanya nama keluarga |
FS | О Сидорова | Surat pertama nama depan dan nama keluarga lengkap |
sf | Никола A с. | Nama keluarga lengkap dan huruf pertama dari nama keluarga |
sf | Абрамов семен | Nama keluarga lengkap dan nama depan lengkap |
FS | Соня камиуллина | Nama depan lengkap dan nama keluarga lengkap |
fm | И петрович | Nama depan lengkap dan nama tengah lengkap |
SFM | М.д.м. | Surat Pertama Nama Keluarga, Nama Depan, Middlename |
FMS | A.C. Еорова | Huruf pertama nama pertama dan tengah dan furname lengkap |
SFM | Николаенко с.п. | Nama keluarga penuh dan huruf pertama nama pertama dan tengah |
SFM | Петракова зинаида м. | Nama keluarga lengkap, nama depan dan huruf pertama nama tengah |
SFM | Казаков ринат а Agustusович | Nama lengkap sebagai nama keluarga, nama depan dan nama tengah |
FMS | Светлан dari ахипов to Волкова | Nama lengkap sebagai nama depan, nama tengah dan nama keluarga |
Mendukung nama dengan identifikasi etnis berikut
9 Jenis etnis dalam nama, nama keluarga dan nama tengah didukung
kunci | Nama (en) | Nama (RUS) |
---|---|---|
Arab | Arab | Аабское |
lengan | Armenia | А янское |
Geor | Georgia | Грзинско 19 |
kuman | Jerman | Немецкие |
orang yunani | Orang yunani | Геческие |
Yahudi | Yahudi | Еврейские |
Polsk | Polandia | Польские |
orang Slavia | Slavia (Rusia) | Слав £KANKAN |
Tur | Turki | Ю юские (юркоязычные) |
Parses Nama dan Pengembalian: Format, Nama Keluarga, Nama Depan, Nama Tengah, Parsed (Benar/Salah) dan Jenis Kelamin
>>> from russiannames.parser import NamesParser
>>> parser = NamesParser()
>>> parser.parse('Нигматуллин Ринат Ахметович')
{'format': 'sfm', 'sn': 'Нигматуллин', 'fn': 'Ринат', 'mn': 'Ахметович', 'gender': 'm', 'text': 'Нигматуллин Ринат Ахметович', 'parsed': True}
>>> parser.parse('Петрова C.Я.')
{'format': 'sFM', 'sn': 'Петрова', 'fn_s': 'C', 'mn_s': 'Я', 'gender': 'f', 'text': 'Петрова C.Я.', 'parsed': True}
Bidang gender dapat memiliki salah satu dari nilai berikut:
Nama keluarga parses, nama depan dan nama tengah dan mencoba mengidentifikasi afiliasi etika orang dari orang tersebut
>>> from russiannames.parser import NamesParser
>>> parser = NamesParser()
>>> parser.classify('Нигматуллин', 'Ринат', 'Ахметович')
{'ethnics': ['tur'], 'gender': 'm'}
>>> parser.classify('Алексеева', 'Ольга', 'Ивановна')
{'ethnics': ['slav'], 'gender': 'f'}