micros/splitname

适用于Laravel 10及更高版本,允许您将西班牙语姓名分为四个主要部分

v1.0.14 2023-04-03 02:47 UTC

This package is auto-updated.

Last update: 2024-10-03 06:09:42 UTC


README

此库适用于Laravel 10及以上版本,允许您将西班牙语姓名分为四个主要部分

  • 中间名
  • 姓氏
  • 其他姓氏

此外,此库试图识别性别(女性或男性)

此库使用其内部术语字典和自己的规则定义。它可以通过使用学习新术语,这意味着使用越多,库越准确。

系统无法学习新规则(只有新术语),但这是一个正在开发的功能。

请注意,如果库在许多项目中使用,具有独立安装,由于数据库不同,您将无法从学习能力中受益。您应手动同步数据库之间新学习到的术语。

建议多次运行系统对数据库进行分类,以便让系统学习新术语,从而提高准确性。

系统可以处理未知姓名和姓氏,但没有使用非西班牙语姓名进行测试。

请在自己的风险下使用,并仔细阅读许可证。

描述

此库适用于Laravel 10及以上版本,允许您将西班牙语姓名分为其四个基本组成部分

  • 其他名
  • 姓氏
  • 其他姓氏

此外,该库试图检测与姓名相对应的性别(女性或男性)。

该库使用自己的名称和规则字典,并且能够通过使用学习新术语,这意味着使用越多,系统越精确。

目前,系统无法学习新规则(仅新术语),但这是一个正在开发的功能。

请注意,如果使用此库在多个项目中,具有独立的安装,由于数据库不同,您将无法从自动学习功能中受益。您可以手动将新学习到的名称在不同数据库之间导出,但这尚未自动化。

建议多次在相同的姓名集合上运行系统,以便系统可以学习新名称,从而提高分类的准确性。

系统可以处理未知姓名和姓氏,但尚未对外国姓名进行测试。

请自行承担风险使用。许可证允许您在任何项目中使用它,但您必须为作者提供信用。

安装/安装

composer require micros/splitname

php artisan migrate

如何使用/使用方法

use Micros\Splitname\SplitName;

$splitter = new SplitName();

$tests = [
    'Leonardo Forero Sandoval',
    'Díaz Duran, Adriana',
    'José Francisco de San Martín y Matorras.',
    'Manuel José Joaquín del Corazón de Jesús Belgrano.',
    'Cornelio Judas Tadeo de Saavedra y Rodríguez.',
    'Bernardino de la Trinidad González de Rivadavia y Rodríguez de Rivadavia.',
    'Francisco José de Paula Santander Omaña',
    'Simón José Antonio de la Santísima Trinidad Bolívar Ponte y Palacios Blanco',
    'delcy gomez viuda de rodriguez',
    'Carmen Herrera García Vda. de López',
];

foreach ($tests as $test) {
    $parts = $splitter->split($test)['classified'];
    dump($parts);
}

$splitter->process();