Небольшой опрос. Идеальный дорген/генератор сайтов/лендингов etc

AESCBC192
На сайте с 11.06.2016
Offline
51
#201

пример текста в ветке есть, но сейчас уже другой алгоритм на подходе.

по скорости - если алгоритм проявит себя как рабочий можно реализовать на c++ / gcc это даст скорость.

---------- Добавлено 15.09.2016 в 23:48 ----------

Кто просил Ципф без лемы по Morphy ?

<?php


class ZipfFreqAnalise {

public $str;
private $N;

public function __construct( )
{
$M = new CMorphy( );
}

public function __destruct( )
{

}

public function LoadAnalizedStr( $str )
{
$this->str = trim( $str );
$this->str = preg_replace("|[.,-;:]+|i"," ",$this->str);
}

public function EtalonMatrix( )
{
return array(
0 => 0.025185185185185 ,
1 => 0.013333333333333 ,
2 => 0.008461538461536 ,
3 => 0.006666666666667 ,
4 => 0.005185185185185 ,
5 => 0.004444444444444 ,
6 => 0.003703703703704 ,
7 => 0.003703703703704 ,
8 => 0.002962962962963 ,
9 => 0.002962962962963 ,
10 => 0.002962962962963 ,
11 => 0.002222222222222 ,
12 => 0.002222222222222 ,
13 => 0.002222222222222 ,
14 => 0.002222222222222 ,
15 => 0.001481481481482 ,
16 => 0.001481481481482 ,
17 => 0.001481481481482 ,
18 => 0.001481481481482 ,
19 => 0.001481481481482 ,
);

}

public function WordsToArray( )
{
var_dump( $this->str );

$array_words = array( );
$tok = strtok($this->str, " \t\n");

while($tok) {
$array_words[] = $tok;
$tok = strtok(" \t\n");
}

$F = array( );

foreach ( $array_words as $i => $w )
{
if ( strlen( $w ) > 6 )
{
$F[] = $w;
}
}
$array_words = $F;

return $array_words;
}

function RMS( $values, $round = 4 )
{
$sum = 0;

foreach ( $values as $val )
{
$sum += pow( $val, 2 );
}

$rms = pow( ( $sum / count( $values ) ), 0.5 );
$rms = round( $rms, $round );

return $rms;
}

public function PointCompare( )
{
$F = array_count_values( $this->WordsToArray( ) );

$AF = array( );

$i = 0;
foreach ( $F as $j => $n )
{
$AF[$i] = $n;
$i++;
}

arsort( $AF );

foreach ( $AF as $j => $n )
{
$AF[$j] = $n / count($F);
}

$AFcompared = array_shift( array_chunk( $AF, count( $this->EtalonMatrix( ) ) ) );

$E = $this->EtalonMatrix( );
$R = array();
foreach ( $AFcompared as $i => $fq )
{
$d = (abs($E[$i] - $fq) / $E[$i]);
$R[] = $this->RMS( array($E[$i], $d) );
}

$res = round( 1 / $this->RMS( $R ), 2 ) * 100;


return $res;
}
}

правда без лемы погрешность ~300%, так что пример чисто ознакомительный.

AESCBC192
На сайте с 11.06.2016
Offline
51
#202

Новый алгоритм, собирает мозаику из релевантных предложений тематических статей. Пример работы:



Фома
На сайте с 10.11.2006
Offline
600
#203
AESCBC192:
Новый алгоритм, собирает мозаику из релевантных предложений тематических статей. Пример работы

А покаж тот же алгоритм в чём нибудь более приземлённом. Ну, к примеру "Ремонт кондиционеров".

Аренда апартаментов на Тенерифе (http://las-americas.ru/).
AESCBC192
На сайте с 11.06.2016
Offline
51
#204


* бренднейм -> звездочки чтобы не поднимать страницу по нецелевому запросу.

A
На сайте с 13.08.2015
Offline
63
#205

Все это хорошо, но, по-моему, будет явный переспам ключевика. Тут нам на помощь приходит пресловутая "сущность кеев"🤪

Короче, надо синонимайзер встраивать.

AESCBC192
На сайте с 11.06.2016
Offline
51
#206

Лучше разбавить предложениями, которые алгоритм посчитал иррелевантными, то есть без вхождения ключа в любой форме. Чем и занимаюсь..

Синонимайз палится по тому же Ципфу, только на более широкой выборке. Ну какова вероятность встречи в тексте слова "сущность", да еще и столько раз, это же сразу видно что распрделения завалены, синонимайз не вариант, однозначно.

T2
На сайте с 24.02.2008
Offline
151
#207

надо удалить из предлож всё между запятых, для уникализации , создать предлож с запятыми.

чтоб не было переспама достаточно контролировать число вхождений слов из ключа,

на вскидку- кол-во слова ключа =половине кол-ва всех уникальных слов в тексте,

тогда получится на грани переспама, если меньше то не будет трафика по конкурентным ключам.

насчёт ципфы- я просил, без морфологиии

разбить на слова (слова обрезать до 4 знаков, меньше 3 не принимать во внимание)

подсчитать сколько раз появляется в тексте каждое слово

и отсортировать по количеству вхождений слова в тексте, 20( можно и первых двух) самых часто появляющиеся слова сохранить вместе с числом количества вхождений этого слова в тексте

Партнёрка VPN, выплаты 16% - https://c.vpn.how/?p=5442
AESCBC192
На сайте с 11.06.2016
Offline
51
#208
tanir23:
слова обрезать до 4 знаков

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

половина количества уникальных слов - это переспам сильный. процента 2-4% нужно.

---------- Добавлено 16.09.2016 в 10:29 ----------

"Разбавленный" нейтральными предложениями вариант:



---------- Добавлено 16.09.2016 в 10:35 ----------

Пример с удвоенным количеством иррелевантных предложений:

Рассмотрим подробнее структуру искусственных нейронных сетей (НС) и их применение в конкретных задачах. Следует отметить, что прогнозирование возможно только тогда, когда предыдущие изменения действительно в какой-то степени предопределяют будущие. Доказана обобщённая аппроксимационная теорема: с помощью линейных операций и каскадного соединения можно из произвольного нелинейного элемента получить устройство, вычисляющее любую непрерывную функцию с некоторой наперёд заданной точностью. В процессе обучения веса синапсов настраиваются таким образом, чтобы узлы решетки «располагались» в местах локальных сгущений данных, то есть описывали кластерную структуру облака данных, с другой стороны, связи между нейронами соответствуют отношениям соседства между соответствующими кластерами в пространстве признаков. Проводится следующее преобразование — выстраивается в ряд курс за сегодня, вчера, за позавчера. Например, прогнозирование котировок акций на основе котировок за прошлую неделю может оказаться успешным (а может и не оказаться), тогда как прогнозирование результатов завтрашней лотереи на основе данных за последние 50 лет почти наверняка не даст никаких результатов. В этом случае можно использовать многослойный перцептрон или сеть Ворда. В этой области приложений самым лучшим образом зарекомендовали себя так называемые нейронные сети – самообучающиеся системы, имитирующие деятельность человеческого мозга. Таким образом, если на проверочных данных ошибка уменьшается, то сеть действительно выполняет обобщение. Выбирать тип сети следует, исходя из постановки задачи и имеющихся данных для обучения. Это явление называется переобучением сети или оверфиттингом. Но тут возник вопрос у программиста - а где собственно прогнозируемое окно? если Result вычисляется используя Index0 для тестового массива, то в этом масиве уже есть фактические данные , а прогнозируемое окно на 24 свечи вперед, означает что этих фактических данных еще нет, а прогнозируемое окно уже должно показать что "будет". Ведь в известных результатах базы на этапе обучения есть только номер победителя. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Нейронные сети в простом варианте Кохонена не могут быть огромными, поэтому их делят на гиперслои (гиперколонки) и ядра (микроколонки). Обучающие данные подаются сети для обучения, а проверочные используются для расчета ошибки сети (проверочные данные никогда для обучения сети не применяются).
T2
На сайте с 24.02.2008
Offline
151
#209
AESCBC192:
остальное все в примере есть.

как говорится смотрю в книгу вижу фигу

AESCBC192
На сайте с 11.06.2016
Offline
51
#210
tanir23:
как говорится смотрю в книгу вижу фигу

ок, допилию немного позже..

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