Я использую инструмент для анализа языка под названием Freeling.Для идентификации языка я использую команду analyzer
в консоли Linux:
analyzer -f /usr/share/freeling/config/ident.cfg --outlv ident --fidn /usr/share/freeling/common/lang_ident/ident.dat
Когда я выполняю эту команду, она ждет текстовые записи (предложения) и определяет, на каком языке они находятся. Когда я пишустрока текста на испанском языке: «la casa es azul», и я нажимаю клавишу ввода, возвращает ES, что означает, что она написана на испанском языке.Если я пишу «дом синий», он возвращает EN для английского языка.Чтобы прервать его выполнение, нажмите Ctrl + C .
Когда я выполняю эту команду в консоли Linux, первое предложение реагирует на некоторое время, а другое - быстро.
Я использую этот код для выполнения этой команды php, но для возврата результата требуется много секунд:
<?php
$cmd = "analyzer -f /usr/share/freeling/config/ident.cfg --outlv ident --fidn /usr/share/freeling/common/lang_ident/ident.dat";
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("pipe", "w"),
);
$process = proc_open($cmd, $descriptorspec, $pipes);
$oracion[0]="we are the word";
$oracion[1]="somos el mundo";
if (is_resource($process)) {
fwrite($pipes[0], $oracion[0]);
fwrite($pipes[0], $oracion[1]);
fclose($pipes[0]);
while($pdf_content = fgets($pipes[1]))
{
echo $pdf_content . "<br>";
}
fclose($pipes[1]);
$return_value = proc_close($process);
}
?>
Как улучшить время ответа?