Phpmorphy неправильно ищет леммы и корни

prog90

Новичок
Вот исходная строка
Ключевые слова (в профессиональных кругах копирайтеров – ключевики, ключи) используются для оптимизации контента сайта под определённые поисковые запросы.

Вот результат работы phpmorphy (текст программы ниже):

Результат phpmorphy:

getBaseForm:
Получить начальную форму (Получить нормализованные слова)

array(
'слова' => '',
'сайта' => '',
'профессиональных' => '',
'поисковые' => '',
'под' => '',
'оптимизации' => '',
'определ' => '',
'нные' => '',
'кругах' => '',
'копирайтеров' => '',
'контента' => '',
'ключи' => '',
'ключевики' => '',
'используются' => '',
'запросы' => '',
'для' => '',
'в' => '',
'Ключевые' => '',
)

getPseudoRoot:
получить корень слова
array(
'слова' => '',
'сайта' => '',
'профессиональных' => '',
'поисковые' => '',
'под' => '',
'оптимизации' => '',
'определ' => '',
'нные' => '',
'кругах' => '',
'копирайтеров' => '',
'контента' => '',
'ключи' => '',
'ключевики' => '',
'используются' => '',
'запросы' => '',
'для' => '',
'в' => '',
'Ключевые' => '',
)

getAllForms:
Получить все словоформы
array(
'слова' => '',
'сайта' => '',
'профессиональных' => '',
'поисковые' => '',
'под' => '',
'оптимизации' => '',
'определ' => '',
'нные' => '',
'кругах' => '',
'копирайтеров' => '',
'контента' => '',
'ключи' => '',
'ключевики' => '',
'используются' => '',
'запросы' => '',
'для' => '',
'в' => '',
'Ключевые' => '',
)


Вот текст программы (взята отсюда http://htmlweb.ru/php/example/sklonjator.php):
PHP:
<?php
  $str = "Ключевые слова (в профессиональных кругах копирайтеров – ключевики, ключи) используются для оптимизации контента сайта под определённые поисковые запросы.";

  
  $words = $str;
  
  
   $path='C:/WebServers/';

   $words=preg_split('/[^a-zA-Zа-яА-Я0-9]+/', $words, -1, PREG_SPLIT_NO_EMPTY);

   echo "Результат phpmorphy:";
    // подключаем библиотеку phpmorphy
    $morphy=$path.'phpmorphy/';
    require_once($morphy.'src/common.php');
    $opts = array(
        // PHPMORPHY_STORAGE_FILE - использовать файл
        // PHPMORPHY_STORAGE_SHM - загружать словать в общую память(нужно расширение shmop)
        // PHPMORPHY_STORAGE_MEM - загружать словать в общую память при каждой инициализации phpmorphy
        'storage' => PHPMORPHY_STORAGE_FILE,
        'predict_by_suffix' => true,
        'predict_by_db' => true,
        'graminfo_as_text' => true,
    );
    $morphy = new phpMorphy($morphy.'dicts', 'ru_RU', $opts);


    foreach($words as $i=>$word)
    $words[$i]=iconv('windows-1251', $morphy->getEncoding(), strtoupper($word)); // в utf-8

    $awords=$morphy->getBaseForm($words);
        echo "<br> <br>\ngetBaseForm:<br>Получить начальную форму (Получить нормализованные слова)<br>".arr2str($awords);

    $awords=$morphy->getPseudoRoot($words);
        echo "<br> <br>\ngetPseudoRoot:<br>получить корень слова<br>".arr2str($awords);

    // Получить все словоформы
    $awords = $morphy->getAllForms($words);
        echo "<br> <br>\ngetAllForms:<br>Получить все словоформы<br>".arr2str($awords);



// функция вывода массива с преобразованием из utf-8 в windows-1251
function arr2str($arr,$level=0){
    $str = "array(<br>\n";
    foreach ($arr as $key => $val) {
        if (is_array($val)) {
           $str.=str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$level)."'".iconv( 'utf-8', 'windows-1251',$key)."' => " .
        arr2str($val,$level+1) . ",<br>\n";
        }else {
           $str.=str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$level)."'".iconv( 'utf-8', 'windows-1251',$key)."' => '<b>" .
        str_replace("'", "\'", iconv( 'utf-8', 'windows-1251',$val)) . "</b>',<br>\n";
        }
}
return $str . str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$level).")";
}
Вот список файлов в папке dicts (словари) (в phpmorphy):
Содержимое папки C:\WebServers\phpmorphy\dicts

11.08.2012 11:27 <DIR> .
11.08.2012 11:27 <DIR> ..
21.11.2009 18:20 9 881 226 common_aut.ru_ru.bin
21.11.2009 18:20 86 409 gramtab.ru_ru.bin
21.11.2009 18:20 114 875 gramtab_txt.ru_ru.bin
21.11.2009 18:20 1 551 300 morph_data.ru_ru.bin
21.11.2009 18:20 751 820 morph_data_ancodes_cache.ru_ru.bin
21.11.2009 18:20 12 155 morph_data_ancodes_map.ru_ru.bin
21.11.2009 18:20 731 morph_data_header_cache.ru_ru.bin
21.11.2009 18:20 26 options.ru_ru.ini
21.11.2009 18:20 2 176 151 predict_aut.ru_ru.bin
04.04.2007 01:30 73 __put_dicts_here__
10 файлов 14 574 766 байт
2 папок 84 283 244 544 байт свободно
 

WMix

герр M:)ller
Партнер клуба
в профессиональных кругах Информатиков, таких вопросов не задают!
 

WMix

герр M:)ller
Партнер клуба
истину грю тебе... почитай, разберись, подумай, найди проблему, а после если совсем туго задай конкрктно вопрос!

ничего не работает? пиши прямо на ХаТыМыЛиВЕБ.ру
 
Сверху