Старый 10.03.2010, 00:58   #1
Новичок
 
Регистрация: 25.01.2010
Сообщений: 84
Вес репутации: 0
Zakat70 не любят в этих краяхZakat70 не любят в этих краяхZakat70 не любят в этих краяхZakat70 не любят в этих краях
По умолчанию Ищу скрипт для синонимайзера

Короче есть база, миллионов на 10 словосочетаний. Ищу скрипт для синонимайзера, может где скачать бесплатно мона.
Если на форуме есть программеры, то согласен поменяться-вы мне скрипт, я вам базу.
Zakat70 вне форума   Ответить с цитированием
Старый 10.03.2010, 01:00   #2
Эксперт
 
Аватар для Nazar
 
Регистрация: 02.10.2008
Адрес: Украина 603 549 км²
Сообщений: 1,569
Вес репутации: 261
Nazar - прекрасное будущееNazar - прекрасное будущееNazar - прекрасное будущееNazar - прекрасное будущееNazar - прекрасное будущееNazar - прекрасное будущееNazar - прекрасное будущееNazar - прекрасное будущееNazar - прекрасное будущееNazar - прекрасное будущееNazar - прекрасное будущее
Отправить сообщение для Nazar с помощью ICQ
По умолчанию

а вот так сложно http://www.google.com/search?query=%...%80&from=opera
__________________
подпись куда-то делась.
Nazar вне форума   Ответить с цитированием
Старый 10.03.2010, 01:01   #3
Эксперт
 
Аватар для Anadonam
 
Регистрация: 29.10.2009
Адрес: Вологда and SSHA
Сообщений: 3,896
Вес репутации: 352
Anadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущее
Отправить сообщение для Anadonam с помощью ICQ
По умолчанию

Zakat70, да еслиб глянуть.. чего там и в каком виде..
типа стоит ли заморачиваться .. коль писать так надж чтоб слова склонял правильно ...

но если честно небольшой интерес есть и идейки.. стану в очередь, типа согласно репутации )..
Anadonam вне форума   Ответить с цитированием
Старый 10.03.2010, 11:29   #4
Новичок
 
Регистрация: 25.01.2010
Сообщений: 84
Вес репутации: 0
Zakat70 не любят в этих краяхZakat70 не любят в этих краяхZakat70 не любят в этих краяхZakat70 не любят в этих краях
По умолчанию

Товарищ Назар, то что вы мне привели ссылку, это хорошо, но там предлагают купить скрипт, а покупать шило в мешке, как то не очень хоч-ся.
По идее тот скрипт сам по себе прост, я чтото похождее в С делал.
Анадонам
Хорошо, а в каком виде вы хотите получить базу?
Zakat70 вне форума   Ответить с цитированием
Старый 12.03.2010, 10:24   #5
Новичок
 
Регистрация: 16.03.2009
Сообщений: 19
Вес репутации: 0
Oleg_Ci скоро станет известен
По умолчанию

Наипростейший скрипт, собственного изобретения, работает быстро:
Цитата:
<?php
class sinonim{

var $sin; // массив синонимов

// конструктор читаем файл синонимов
function sinonim($filename=""){

if($filename=="") $filename = $_SERVER['DOCUMENT_ROOT']."/data/sinonim.txt";
$file = file($filename);
$this->sin = array();


for ($i=0; $i<count($file); $i++) {
$tt = $file[$i];
list($word,$value) = explode(":",trim($tt));
$this->sin[$word][] = $value; // массив синонимов
} // end for

} // end fun get_sin

// вернуть синоним слова
function get($str){

// если слово есть возвращаем синоним
if(array_key_exists($str, $this->sin)){
$rand = rand(0,count($this->sin[$str])-1);
return $this->sin[$str][$rand];
}
// если такого слова нет
else{
return false;
}
} // end fun get_sin
}
?>
пример файла синонимов
Цитата:
АБЗАЦ:ОТСТУП
АБЗАЦА:ОТСТУПА
АБЗАЦАМ:ОТСТУПАМ
А если программа (.exe) нужна, то смотри smartrewriterpro, он бесплатным с недавнего времени стал.

Добавлено через 31 минуту
подкрутил функции
Цитата:

class sinonim{

var $sin; // массив синонимов

// конструктор читаем файл синонимов
function sinonim($filename=""){

if($filename=="") $filename = $_SERVER['DOCUMENT_ROOT']."/sinonim.txt";
$file = file($filename);
$this->sin = array();


for ($i=0; $i<count($file); $i++) {
$tt = $file[$i];
list($word,$value) = explode(":",trim($tt));
$this->sin[$word][] = $value; // массив синонимов
} // end for

} // end fun get_sin

// вернуть синоним слова
function get($str){

// если слово есть возвращаем синоним
if(array_key_exists($str, $this->sin)){
$rand = rand(0,count($this->sin[$str])-1);
return $this->sin[$str][$rand];
}
// если такого слова нет
else{
return false;
}
} // end fun get_sin

// синонимизируем текст
function sin($str){
$str = strtoupper($str);
$ar = explode(" ", $str);
$res = "";
for($i=0; $i<count($ar); $i++){
$len = strlen($ar[$i]);
$word = "";
$raz = "";
$flag = true;

for($a=0; $a<$len; $a++)
if($this->find_ch($ar[$i][$a]) && $flag){
$word .= $ar[$i][$a];
}
else{
$flag = false;
$raz .= $ar[$i][$a];
}

$r = $this->get($word);
if($r) $res .= $r.$raz." ";
else $res .= $word.$raz." ";
}
return $res;
} // end fun sin

// $c - это символ русский или нет
function find_ch($c, $ch="ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁйцукенгшщзхъ фывапролджэячсмитьбюё"){
//$ch = "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁйцукенгшщзхъфыва пролджэячсмитьбюё";
$i;
$len = 67;
for($i=0; $i<$len && $ch[$i] != $c; $i++);
if($i<$len){
//print $c;
return true; // символ русский
}
else{
//print "<span style='color:red;'>$c</span>";
return false;
}
}// end fun find_ch

}




$str = "Короче есть база, миллионов на 10 словосочетаний. Ищу скрипт для синонимайзера, может где скачать бесплатно мона. Если на форуме есть программеры, то согласен поменяться-вы мне скрипт, я вам базу.";

$sin = new sinonim();
$text = $sin->sin($str);
print "Было:<br>$str<br>Стало:<br>$text<br><br>";

Последний раз редактировалось Oleg_Ci; 12.03.2010 в 10:24. Причина: Добавлено сообщение
Oleg_Ci вне форума   Ответить с цитированием
Старый 12.03.2010, 10:47   #6
Мастер
 
Регистрация: 14.04.2008
Сообщений: 553
Вес репутации: 208
V I P - как роза среди колючекV I P - как роза среди колючекV I P - как роза среди колючек
По умолчанию

мозг)
зачетно, хоть и на работоспособность не проверял

Добавлено через 11 минут
Oleg_Ci,

Цитата:
Было:
Короче есть база, миллионов на 10 словосочетаний. Ищу скрипт для синонимайзера, может где скачать бесплатно мона. Если на форуме есть программеры, то согласен поменяться-вы мне скрипт, я вам базу.
Стало:
КОРОЧЕ ЕСТЬ БАЗА, МИЛЛИОНОВ НА 10 СЛОВОСОЧЕТАНИЙ. ИЩУ СКРИПТ ДЛЯ СИНОНИМАЙЗЕРА, МОЖЕТ ГДЕ СКАЧАТЬ БЕСПЛАТНО МОНА. ЕСЛИ НА ФОРУМЕ ЕСТЬ ПРОГРАММЕРЫ, ТО СОГЛАСЕН ПОМЕНЯТЬСЯ-ВЫ МНЕ СКРИПТ, Я ВАМ БАЗУ.
__________________
Нет подписи

Последний раз редактировалось V I P; 12.03.2010 в 10:47. Причина: Добавлено сообщение
V I P вне форума   Ответить с цитированием
Старый 12.03.2010, 11:31   #7
Новичок
 
Регистрация: 16.03.2009
Сообщений: 19
Вес репутации: 0
Oleg_Ci скоро станет известен
По умолчанию

V I P, у тебя че-то замен на синонимы нет.
С моей базой синонимов
Цитата:
Было:
Короче есть база, миллионов на 10 словосочетаний. Ищу скрипт для синонимайзера, может где скачать бесплатно мона. Если на форуме есть программеры, то согласен поменяться-вы мне скрипт, я вам базу.
Стало:
КРАТКОВРЕМЕННЕЕ ЕСТЬ БАЗА, МИЛЛИОНОВ НА 10 СЛОВОСОЧЕТАНИЙ. ШАРЮ СКРИПТ ДЛЯ СИНОНИМАЙЗЕРА, МОЖЕТ ГДЕ СКАЧАТЬ ДАРОМ МОНА. ЕСЛИ НА ФОРУМЕ ЕСТЬ ПРОГРАММЕРЫ, ТО СОГЛАСЕН ОБМЕНЯТЬСЯ-ВЫ МНЕ СКРИПТ, Я ВАМ БАЗУ.
Oleg_Ci вне форума   Ответить с цитированием
Старый 12.03.2010, 11:35   #8
Мастер
 
Регистрация: 14.04.2008
Сообщений: 553
Вес репутации: 208
V I P - как роза среди колючекV I P - как роза среди колючекV I P - как роза среди колючек
По умолчанию

Oleg_Ci, заработало, только если в базе синонимов регистр - верхний
КОРОЧЕ:КРАТКОВРЕМЕННЕЕ

Вариант: "Короче" - уже не катит
__________________
Нет подписи
V I P вне форума   Ответить с цитированием
Старый 12.03.2010, 11:53   #9
Новичок
 
Регистрация: 16.03.2009
Сообщений: 19
Вес репутации: 0
Oleg_Ci скоро станет известен
По умолчанию

Вполне возможно в конструкторе класса надо заменить
Цитата:
$tt = $file[$i];
На:
$tt = strtoupper($file[$i]);
Добавлено через 53 секунды
а ты уже нашел ошибку

Добавлено через 1 минуту
Да класс примитивный, и не запоминает в каком регистре были буквы в перевоночальном тексте, надо его дорабатывать

Последний раз редактировалось Oleg_Ci; 12.03.2010 в 11:53. Причина: Добавлено сообщение
Oleg_Ci вне форума   Ответить с цитированием
Старый 12.03.2010, 11:55   #10
Эксперт
 
Аватар для MonAmur
 
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 608
MonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущее
По умолчанию

Oleg_Ci, а если в базе так:
являться:проявляться,показываться,обнаруживаться,о ткрываться,быть
MonAmur вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 00:47.