russiannames
هي مكتبة Python 3 مخصصة لتحليل الأسماء الروسية والألقاب والأسماء الوسطى ، وتحديد الجنس من قبل FullName وكيف يتم كتابة الاسم. ويستخدم MongoDB كواجهة خلفية لتسريع التحليل.
تم تصميم الوثائق تلقائيًا ويمكن العثور عليها على https://russiannames.readthedocs.org/en/latest/
لتثبيت مكتبة Python استخدم pip install russiannames
عبر PIP أو python setup.py install
لاستخدام قاعدة البيانات ، تحتاج إلى مثيل MongoDB. unpack db_data_bson.zip ملف من https://github.com/datacoon/russiannames/blob/master/data/bson/db_dump_bson.zip
واستخدم أمر mongorestore
لاستعادة قاعدة بيانات names
مع 3 مجموعات: الأسماء والألقاب والأسماء الوسطى
قاعدة بيانات الأسماء المستخدمة لتحديد الهوية
إحصائيات قاعدة بيانات مفصلة حسب الجنس والجمع
مجموعة | المجموع | الذكور | الإناث | عالمي أو مجهول الهوية |
---|---|---|---|---|
أسماء | 32134 | 19297 | 8278 | 1196 |
أسماء الوسطى | 48274 | 30114 | 16143 | 0 |
الألقاب | 375274 | 124662 | 111534 | 38827 |
يدعم 12 تنسيقًا لأسلوب كتابة الأسماء الكاملة الروسية
شكل | مثال | وصف |
---|---|---|
و | ола | الاسم الأول فقط |
ق | петров | اللقب فقط |
FS | о. сидорова | الحرف الأول من الاسم الأول واللقب الكامل |
SF | لا | اللقب الكامل والرسالة الأولى من اللقب |
SF | аравов с | اللقب الكامل والاسم الأول الكامل |
FS | сон каиуина | الاسم الأول الكامل واللقب الكامل |
FM | иван петрович | الاسم الأول الكامل واسم الوسط الكامل |
SFM | м.д. | رسائل اللقب الأولى ، الاسم الأول ، middlename |
FMS | а. еорова | أول رسائل من الاسم الأول والمتوسط والقطاع الكامل |
SFM | николаенко с.. | اللقب الكامل والأحرف الأولى من الأسماء الأولى والمتوسطة |
SFM | петраندية зинаида м. | اللقب الكامل ، الاسم الأول والحرف الأول من الاسم الأوسط |
SFM | казаков ринат артурович | الاسم الكامل كلقب ، الاسم الأول والاسم الأوسط |
FMS | светлана ахиповна вккова | الاسم الكامل كاسم أول ، الاسم الأوسط واللقب |
يدعم الأسماء التي تتبع تحديد الأثنية
9 أنواع عرقية في الأسماء والألقاب والأسماء المتوسطة المدعومة
مفتاح | الاسم (en) | الاسم (روس) |
---|---|---|
عربي | عربي | рсافقة |
ذراع | أرمني | إيه |
جورج | الجورجي | грзинское |
جرثومة | الألمانية | нцецкие |
اليونانية | اليونانية | гресские |
اليهودي | اليهودي | ереййие |
بولسك | بولندي | полекие |
السلاف | السلافية (الروسية) | савнвمس |
تور | تركي | ююрcom (юркозычзычзыче) |
تخفي الأسماء والعوائد: التنسيق ، اللقب ، الاسم الأول ، الاسم الأوسط ، تحليل (صواب/خطأ) والجنس
>>> 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}
يمكن أن يكون لدى مجال الجنس أحد القيم التالية:
اللقب ، الاسم الأول والاسم الأوسط ويحاول تحديد الانتماء الأخلاقي للشخص للشخص
>>> from russiannames.parser import NamesParser
>>> parser = NamesParser()
>>> parser.classify('Нигматуллин', 'Ринат', 'Ахметович')
{'ethnics': ['tur'], 'gender': 'm'}
>>> parser.classify('Алексеева', 'Ольга', 'Ивановна')
{'ethnics': ['slav'], 'gender': 'f'}