40 lines
1.8 KiB
PHP
Executable File
40 lines
1.8 KiB
PHP
Executable File
<?php
|
||
// aiassist/ner.php
|
||
|
||
/**
|
||
* Функция извлечения ключевых данных из текста.
|
||
* В реальной реализации здесь можно вызвать Python-скрипт через shell_exec или REST API.
|
||
*/
|
||
|
||
/**
|
||
* Извлекает ключевые данные (истец, ответчик, суть спора) из текста с использованием Python‑скрипта на Natasha.
|
||
*
|
||
* @param string $text Исходный текст для анализа.
|
||
* @return array Ассоциативный массив с ключами 'истец', 'ответчик' и 'суть_спора'.
|
||
*/
|
||
function extractCaseDetails2($text) {
|
||
// Экранируем текст для безопасной передачи в командной строке
|
||
$escapedText = escapeshellarg($text);
|
||
|
||
// Определяем путь к Python-скрипту (предполагается, что он лежит в той же директории)
|
||
$scriptPath = __DIR__ . '/ner_extraction.py';
|
||
|
||
// Формируем команду для вызова Python-скрипта
|
||
$command = "python3 " . escapeshellarg($scriptPath) . " " . $escapedText;
|
||
$output = shell_exec($command);
|
||
|
||
// Преобразуем вывод (JSON) в ассоциативный массив
|
||
$result = json_decode($output, true);
|
||
if (!$result) {
|
||
// Если произошла ошибка, возвращаем значения по умолчанию
|
||
return [
|
||
'истец' => 'Не определено',
|
||
'ответчик' => 'Не определено',
|
||
'суть_спора' => 'Не определено'
|
||
];
|
||
}
|
||
return $result;
|
||
}
|
||
?>
|
||
|