<<< Back

При переходе системы по паттернам возникает их задвоение


Sas (2018-10-27 17:14:37):

добавлю еще баг сюда же
если использовать в паттерне "Use morphology"
с таким шаблоном \s(.+)(час.?\s|мин.?\s)(.+)
то фраза:"через одну минуту выключи свет на кухне"
превращается в одном их matches в КАПС
"Запомнила, что через 1 минуту надо выполнить: ВЫКЛЮЧИТЬ СВЕТ НА КУХНЯ"

(0)
 
SergeJey (2018-10-29 10:38:15):

А если строчку
$history=context_get_history().' '.$history;
заменить на
$history=context_get_history();
как будет себя вести?

признаться я этот функционал несколько лет назад делал и уже точно не помню всех тонкостей.
про капс -- библиотека приведения к базовым словоформам почему-то так устроена, что выдаёт их в капсе. но оно влияет на распознавание? его же можно без учета регистра использовать вроде как.

(0)
 
Sas (2018-10-29 14:53:57):

Вечером попробую.
Да с капсом ничего страшного, но иногда оно вываливает такое:
@@@ВЫКЛЮЧИТЬ СВЕТ НА КУХНЯ@@@ВЫКЛЮЧИТЬ СВЕТ НА КУХНЯ@@@ВЫКЛЮЧИТЬ СВЕТ НА КУХНЯ@@@
Но возможно эта бага как раз задвоения и после правки уйдет.

(0)
 
Sas (2018-11-02 00:51:09):

Протестировал.
$history=context_get_history();
так все равно задваивает, а без этого куска все работает ок

сама функция context_get_history() в файле lib/context.inc.php

function context_get_history()
{
$user_id = context_getuser();

$sqlQuery = "SELECT ID, ACTIVE_CONTEXT_ID, ACTIVE_CONTEXT_EXTERNAL, ACTIVE_CONTEXT_HISTORY
FROM users
WHERE ID = '" . (int)$user_id . "'";
...
$user = SQLSelectOne($sqlQuery);

if ($user['ACTIVE_CONTEXT_ID'])
return $user['ACTIVE_CONTEXT_HISTORY'];

return '';
}

(0)
 

Please login to leave comments. Join us!