russiannames
ist eine Python 3 -Bibliothek, die sich der Analyse russischer Namen, Nachnamen und Midnames widmet, das Geschlecht der Person nach Fullname und wie der Name geschrieben wird. Es verwendet MongoDB als Backend zur Beschleunigung des Namens Parsing.
Die Dokumentation wird automatisch erstellt und finden Sie unter https://russiannames.readthedocs.org/en/latest/
Um die Python Library zu installieren, verwenden Sie pip install russiannames
python setup.py install
Um Datenbank zu verwenden, benötigen Sie MongoDB -Instanz. Packen Sie db_data_bson.zip Datei von https://github.com/datacoon/russiannames/blob/master/data/bson/db_dump_bson.zip auspacken
names
mongorestore
Datenbank mit Namen zur Identifizierung verwendet
Detaillierte Datenbankstatistiken nach Geschlecht und Sammlung
Sammlung | gesamt | Männer | Frauen | universell oder nicht identifiziert |
---|---|---|---|---|
Namen | 32134 | 19297 | 8278 | 1196 |
Midnames | 48274 | 30114 | 16143 | 0 |
Nachnamen | 375274 | 124662 | 111534 | 38827 |
Unterstützt 12 Formate von russischen Namensschreibstil
Format | Beispiel | Beschreibung |
---|---|---|
F | Ольг und | Nur Vorname |
S | Петров | Nur Nachname |
Fs | О Сидорова | Erster Brief mit Vorname und vollständiger Nachname |
sf | Николаев с. | Voller Nachname und erster Nachname -Brief |
sf | Абраkunft семен | Voller Nachname und Voller Vorname |
fs | Соня камилина | Vollständiger Vorname und vollständiger Nachname |
fm | Иван петрович | Vollständiger Vorname und vollständiger Middlenname |
SFM | М.д.м. | Erste Nachname, Vorname, Middlename |
Fms | А.н. Еорова | Erste Buchstaben des ersten und zweiten Vornamens und der vollständigen Möbel |
SFM | Николаенко сbr. | Voller Nachname und erste Buchstaben von First and Middle Names |
SFM | Петракова зинаида м. | Voller Nachname, Vorname und erster Buchstaben mit zweiter Vorname |
SFM | Казаков ринат артурович | Vollständiger Name als Nachname, Vorname und zweiten Vornamen |
fms | Светлана аwor | Vollständiger Name als Vorname, zweiter Vorname und Familienname |
Unterstützt Namen mit der Identifizierung der ethnischen Ethnics
9 ethnische Typen in Namen, Nachnamen und zweiten Namen unterstützt
Schlüssel | Name (en) | Name (RUS) |
---|---|---|
Araber | Arabisch | Аабское |
Arm | Armenisch | Арkunft |
Geor | georgisch | Грузинское |
Keim | Deutsch | Немецкие |
griechisch | griechisch | Геческие |
Jude | Jude | Еврейские |
Polsk | Polieren | Польские |
Slav | Slawisch (Russisch) | Славяgaliert |
tur | Turkisch | Asiers |
Parsen Namen und Rückgaben: Format, Nachname, Vorname, zweiter Vorname, analysiert (wahr/falsch) und Geschlecht
>>> 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}
Das Geschlechtsfeld könnte einen der folgenden Werte haben:
Parses Nachname, Vorname und zweiten Vornamen und versucht, die ethische Zugehörigkeit der Person zu identifizieren
>>> from russiannames.parser import NamesParser
>>> parser = NamesParser()
>>> parser.classify('Нигматуллин', 'Ринат', 'Ахметович')
{'ethnics': ['tur'], 'gender': 'm'}
>>> parser.classify('Алексеева', 'Ольга', 'Ивановна')
{'ethnics': ['slav'], 'gender': 'f'}