russiannames
é uma biblioteca Python 3 dedicada a nomes russos, sobrenomes e nomes médios, identificar o sexo pessoal por fullname e como o nome é escrito. Ele usa o MongoDB como back-end para acelerar o nome da análise.
A documentação é construída automaticamente e pode ser encontrada em https://russiannames.readthedocs.org/en/latest/
Para instalar a biblioteca Python, use pip install russiannames
via Pip ou python setup.py install
Para usar o banco de dados, você precisa da instância do MongoDB. Despack DB_DATA_BSON.ZIP de https://github.com/datacoon/russiannames/blob/master/data/bson/db_dump_bson.zip
e use o comando mongorestore
para restaurar o banco de dados names
com 3 coleções: nomes, sobrenomes e nomes médios
Banco de dados de nomes usados para identificação
Estatísticas detalhadas do banco de dados por gênero e coleção
coleção | total | machos | mulheres | universal ou não identificado |
---|---|---|---|---|
nomes | 32134 | 19297 | 8278 | 1196 |
nomes médios | 48274 | 30114 | 16143 | 0 |
Sobrenomes | 375274 | 124662 | 111534 | 38827 |
Suporta 12 formatos de nomes russos completos estilo de escrita
Formatar | Exemplo | Descrição |
---|---|---|
f | O | Apenas o primeiro nome |
s | Пет direção | apenas sobrenome |
Fs | O. Иидо sentido | Primeira letra de primeiro nome e sobrenome completo |
sf | Ниоxim с. | Sobrenome total e primeira letra de sobrenome |
sf | Арамом семен | Sobrenome total e primeiro nome completo |
fs | С к камииgre | primeiro nome completo e sobrenome completo |
fm | И и п п п п и | primeiro nome completo e nome intermediário completo |
Sfm | М.д.м. | Primeiras letras de sobrenome, primeiro nome, nome do meio |
Fms | А. ELA | Primeiras letras de primeiro e meio nome e mobiliário completo |
sfm | Organizador. | Sobrenome total e primeiras letras dos nomes do primeiro e médio |
sfm | Етра sentido зинаfiaда. | Sobrenome completo, primeiro nome e primeira letra de nome do meio |
sfm | Казаков р на а а ze mar de março de março | Nome completo como sobrenome, primeiro nome e nome do meio |
fms | С с а хипоéri | Nome completo como primeiro nome, nome do meio e sobrenome |
Suporta nomes com a identificação etnica seguinte
9 tipos étnicos em nomes, sobrenomes e nomes do meio suportados
chave | nome (en) | nome (rus) |
---|---|---|
árabe | árabe | Арбссо |
braço | Armênio | Армtict |
Geor | Georgiano | Грузинское |
germe | Alemão | НÉмциfia |
grego | grego | Г filha |
judeu | judeu | EU TEMPERAÇÃO |
Polsk | polonês | Поtur |
eslavo | Eslavo (russo) | С da janela de janeiro |
tur | Turco | Юююсиие (юююозычные) |
Paresi nomes e retornos: formato, sobrenome, primeiro nome, nome do meio, analisado (verdadeiro/falso) e gênero
>>> 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}
O campo de gênero pode ter um dos seguintes valores:
Sobrenome, primeiro nome e nome do meio e tenta identificar a afiliação ética da pessoa
>>> from russiannames.parser import NamesParser
>>> parser = NamesParser()
>>> parser.classify('Нигматуллин', 'Ринат', 'Ахметович')
{'ethnics': ['tur'], 'gender': 'm'}
>>> parser.classify('Алексеева', 'Ольга', 'Ивановна')
{'ethnics': ['slav'], 'gender': 'f'}