[0.4.1] /RU11072716/ распознавание имени, фамилии

This commit is contained in:
Andriy Chaika 2011-07-27 15:40:37 +03:00
parent b79fcac2c8
commit 3a2d34feae

View File

@ -280,7 +280,7 @@ class NCLNameCaseRu extends NCLNameCaseCore
$this->Rule(604); $this->Rule(604);
return true; return true;
} }
elseif ($this->in($this->Last(1), 'цсршмх')) elseif ($this->in($this->Last(1), 'цсршмхт'))
{ {
$this->wordForms($this->workingWord, array('а', 'у', 'а', 'ом', 'е')); $this->wordForms($this->workingWord, array('а', 'у', 'а', 'ом', 'е'));
$this->Rule(602); $this->Rule(602);
@ -694,6 +694,14 @@ class NCLNameCaseRu extends NCLNameCaseCore
} }
} }
/**
* Сохкращенные ласкательные имена типя Аня Галя и.т.д.
*/
if ($this->Last(1) == 'я' and $this->in($this->Last(3, 1), $this->vowels))
{
$first += 0.5;
}
/** /**
* Не бывает имет с такими предпоследними буквами * Не бывает имет с такими предпоследними буквами
*/ */
@ -831,16 +839,24 @@ class NCLNameCaseRu extends NCLNameCaseCore
$second += 0.4; $second += 0.4;
} }
} }
/**
* Имена типа Николай
*/
if($this->Last(4) == 'олай')
{
$first += 0.6;
}
/** /**
* Фамильные окончания * Фамильные окончания
*/ */
if ($this->in($this->Last(2), array('ов', 'ин', 'ев', 'ёв', 'ый', 'ын', 'ой', 'ук', 'як', 'ца', 'ун', 'ок', 'ая', 'га', 'ёк', 'ив', 'ус', 'ак', 'яр', 'уз', 'ах'))) if ($this->in($this->Last(2), array('ов', 'ин', 'ев', 'ёв', 'ый', 'ын', 'ой', 'ук', 'як', 'ца', 'ун', 'ок', 'ая', 'га', 'ёк', 'ив', 'ус', 'ак', 'яр', 'уз', 'ах', 'ай')))
{ {
$second+=0.4; $second+=0.4;
} }
if ($this->in($this->Last(3), array('ова', 'ева', 'ёва', 'ына', 'шен', 'мей', 'вка', 'шир', 'бан', 'чий', 'гай', 'кий', 'бей', 'чан', 'ган', 'ким', 'кан', 'мар'))) if ($this->in($this->Last(3), array('ова', 'ева', 'ёва', 'ына', 'шен', 'мей', 'вка', 'шир', 'бан', 'чий', 'кий', 'бей', 'чан', 'ган', 'ким', 'кан', 'мар')))
{ {
$second+=0.4; $second+=0.4;
} }