Замена слова в тесте на синоним.

Статус
В этой теме нельзя размещать новые ответы.
...можно попробывать такой код:
PHP:
<?php
$s = "шел иван по дороге  и  жевал бублики.";// строка, в которой нужно произвести замену
$slova=array("иван","мария");// тут все слова, к которым будут синонимы
$sinon=array("ванька","машка");// тут синонимы. Важно, чтобы каждому слову соответствовал синоним
// т.е. одинаковое количество элементов в массивах $slova и $sinon
$ns=str_replace($slova,$sinon,$s); // новая строка
echo $ns;
?>

Проверять наличие и замену каждого слова из 100000-й базы синонимов в исходном тексте очень накладно, чем искать каждое слово исходного текста в проиндексированной базе синонимов. Потому что исходный ткст обычно содержит гораздо меньше слов - 500-2000.

 
pavel012007
А если синонимы идут не 2х словные а больше

пример
малехонький|малехонького:малехонькому:малехоньким:малехоньком:малехонькие:малехоньких:малехонькими:малехонькая:малехонькой:малехонькою:малехонькую:малехонькое:малехонько
малец|мальца:мальцу:мальце:мальцы:мальцам:мальцами:мальцах
малина|малины:малине:малину:малиной:малиною
 
в соседней темы "скрипты" - есть синонимайзер на php, 2х режимный автомат и полуавтомат, где текст после обработки позволяет для каждого синонимизированного слова выбрать необходимый синоним из выпадающего списка
смотрите реализацию там
 
в соседней темы "скрипты" - есть синонимайзер на php, 2х режимный автомат и полуавтомат, где текст после обработки позволяет для каждого синонимизированного слова выбрать необходимый синоним из выпадающего списка
смотрите реализацию там

Соседняя тема это где, если поточнее? Перерыл несколько десятков топиков, но не нашел темы.
 
pavel012007
А если синонимы идут не 2х словные а больше

пример
малехонький|малехонького:малехонькому:малехоньким:малехоньком:малехонькие:малехоньких:малехонькими:малехонькая:малехонькой:малехонькою:малехонькую:малехонькое:малехонько
малец|мальца:мальцу:мальце:мальцы:мальцам:мальцами:мальцах
малина|малины:малине:малину:малиной:малиною

Вообще приведенный пример похож не на синонимы, а на слова в разных падежах, в единственном числе. Если б это было базой хотя бы существительных, прилагательных, числительных, причастий, в которой слово сначала идёт во всех падежах в единственном числе, затем во всех падежах во множественном, то её можно подключить к скрипту предыдущего моего поста для более качественной синонимизации. Преобразовывать такую базу почти не нужно, только в текстовом редакторе заменить "|" на ":".
 
По моему лучше использовать функции для работы с регулярными выражениями - preg_replace и подобные
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху