|
|
|
|
|
для: olejek
(06.03.2008 в 16:08)
| | Неее! На искуственный интелект пока не потяну (я только полторы недели в php), Может через пару недель :)) А вот с контрольной суммой, как то не додумался. И спасибо за помощь | |
|
|
|
|
|
|
|
для: Avatara
(06.03.2008 в 15:44)
| | Что-то тут искусственным интеллектом попахивает!
1 вариант:
Разбираем все предложения в исходном тексте и в том, который сравниваем, по членам предложения(подлежащее, сказуемое, дополнение, обстоятельство, и др.). Составляем связную базу каждых членов(база подлежащих, сказуемых, где Бсказ(i)<->Бподл(i)).
Затем гоним перебором сравнение по базам подлежащих, сказуемых, др. Причем, при сравнении могут работать логические структуры И, ИЛИ, НЕ.
2 вариант:
Есть способ для быстрого определения 100 процентной схожести. Для каждого текста считаются контрольные суммы, например по методу CRC32. И затем по базе уже производить поиск всех текстов с равной контрольной суммой и равной длиной. И уже над этими записями делать дополнительную проверку.
Для анализа текстов на процент меньшей схожести. Я думаю нужно разбивать текст на логические лексемы (слова) И делать словарь, в каких текстах в базе данные лексемы встречаются. Для английского языка это будет практически легко сделать. Для русского намного сложнее: так как иногда форма слова очень сильно изменяется в зависимости от склонений и т.п.
И т.д. и т.п.
Ну как перспективка??
Поищите готовые решения! | |
|
|
|
|
|
|
|
для: mihdan
(06.03.2008 в 11:59)
| | Смысл такой, если вариант:
<?
$text="тоже текст текст это текст"
$sravn="текст это текст текст тоже";
$shodstvo=similar_text($text, $sravn, &$tmp);// Notice: Array to string conversion in
echo ("<br>");
echo ("Сходство"." ".$tmp." "."%");
?>
то при перемешивании слов в строке процент похожести (схожести) 2-х статей уменьшается, если же первый вариант, с разбиением на слова, то схожесть остается 100%. Тоесть сравнение 2-х текстов на оригинальность. Можно конечно ошибку просто закрыть Error_Reporting(E_ALL & ~E_NOTICE); так как результат обработки выдается. Просто хотелось как то убрать ошибку. | |
|
|
|
|
|
|
|
для: Avatara
(06.03.2008 в 05:43)
| | Наверно так
<?
$text="тоже текст текст это текст"
$sravn="текст это текст текст тоже";
$shodstvo=similar_text($text, $sravn, &$tmp);// Notice: Array to string conversion in
echo ("<br>");
echo ("Сходство"." ".$tmp." "."%");
?>
|
Не знаю зачем вам это? Но мне кажется вам пойдет strcasecmp() | |
|
|
|
|
|
|
|
для: Avatara
(06.03.2008 в 05:43)
| | А чего же вы хотели?!
explode возвращает массив, а similar_text принимает в качестве первого и второго параметров строки! | |
|
|
|
|
|
|
| Чо то не соображу
$text="тоже текст текст это текст"
$sravn="текст это текст текст тоже";
$one=explode(" ", $text);
$two=explode(" ", $sravn);
$shodstvo=similar_text($one, $two, &$tmp);// Notice: Array to string conversion in
echo ("<br>");
echo ("Сходство"." ".$tmp." "."%"); | |
|
|
|
|