Из списка слов сделать MAX кол-во словосочетаний? - Форум успешных вебмастеров - GoFuckBiz.com - Страница 2
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.2486
BTC/USD69147.7541
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 12.11.2014, 20:39
Start Post: Из списка слов сделать MAX кол-во словосочетаний? 
  #11
rip86
Senior Member
 
Аватар для rip86
 
Регистрация: 18.01.2010
Адрес: ЮГ
Сообщений: 332
Бабло: $70422
По умолчанию

Я вообще не кодер ... даже такой простой скрипт не могу сделать ))

Может кто поможет. Готовые решения, думаю, должны быть.

Есть, скажем, 1000 кеев (фраз) построчно. Нужно это все смиксовать.
То есть из 1000 должно получиться 499500 словосочетаний. После смешивания ВСЕГО со ВСЕМ ))

То есть, имеем:

Key1
Key1
Key3
Key4
Key5
...
Key1000



Нужно:

Key1 + Key2
Key1 + Key3
Key1 + Key4
...
Key1 + Key1000

Key2 + Key3
Key2 + Key4
Key2 + Key5
...
Key2 + Key1000

Key3 + Key4
Key3 + Key5
Key3 + Key6
...
Key3 + Key1000


И вместо знака "+" тоже слово. Например, союз "и".
rip86 вне форума  
Старый 12.11.2014, 23:46   #12
rip86
Senior Member
 
Аватар для rip86
 
Регистрация: 18.01.2010
Адрес: ЮГ
Сообщений: 332
Бабло: $70422
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Sultan Посмотреть сообщение
а тут косяк
в первом варианте скрипта не правильно миксит
PHP код:
<?
ignore_user_abort
(true);
ini_set('memory_limit''500M');
set_time_limit(0);
$phrases=file("kwds.txt"FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES); // kwds.txt ключевики
$separator=' и '// разделитель
foreach($phrases as $phrase1){
foreach(
$phrases as $phrase2){
if(
$phrase1==$phrase2) continue;
file_put_contents("kwds.mix"$phrase1.$separator.$phrase2."\r\n"FILE_APPEND LOCK_EX);  // kwds.mix готовые ключевики
}
}
?>
обрати внимание на кодировку в которой сохранен скрипт и исходные запросы если с русскими работаешь
Отлично, спасибо.

Только зеркальные дубли остаются такого типа Key1 + Key2 и Key2 + Key1 ...
rip86 вне форума  
Старый 13.11.2014, 00:03   #13
Sultan
Шучу на половину
 
Аватар для Sultan
 
Регистрация: 23.01.2011
Сообщений: 5,834
Бабло: $1167860
По умолчанию

rip86, внимание на 0, исправил
PHP код:
<? 
ignore_user_abort
(true); 
ini_set('memory_limit''500M'); 
set_time_limit(0); 
$phrases=file("kwds.txt"FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES); 
$phrases_tmp=$phrases;
// kwds.txt ключевики 
$separator=' и '// разделитель 
foreach($phrases as $phrase1){ 
foreach(
$phrases_tmp as $phrase2){ 
if(
$phrase1==$phrase2) continue; 
file_put_contents("kwds.mix"$phrase1.$separator.$phrase2."\r\n"FILE_APPEND LOCK_EX);  // kwds.mix готовые ключевики 

$key array_search($phrase1$phrases_tmp);
if(
$key!==false) unset($phrases_tmp[$key]);

?>
Sultan вне форума  
Старый 13.11.2014, 00:17   #14
rip86
Senior Member
 
Аватар для rip86
 
Регистрация: 18.01.2010
Адрес: ЮГ
Сообщений: 332
Бабло: $70422
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Sultan Посмотреть сообщение
rip86, внимание на 0, исправил
Не совсем понял, на какой "ноль" внимание...
Но скрипт теперь в полной мере исполняет задуманное! радости ))
rip86 вне форума  
Старый 13.11.2014, 00:29   #16
sim0n
zenno.pro
 
Аватар для sim0n
 
Регистрация: 29.05.2014
Сообщений: 961
Бабло: $138858
По умолчанию

Цитата:
Сообщение от Maximus325 Посмотреть сообщение
А может есть у кого скрипт чистки от стоп слов?
http://newox.ru/kwk.php
хавает большие файлы
sim0n вне форума  
Старый 13.11.2014, 00:56   #17
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

Цитата:
Сообщение от Maximus325
А может есть у кого скрипт чистки от стоп слов?
grep -v -f stop.txt keys.txt > result.txt
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 13.11.2014, 00:59   #18
digg
$400
 
Аватар для digg
 
Регистрация: 17.05.2009
Сообщений: 14,038
Бабло: $1904670
Отправить сообщение для digg с помощью ICQ
По умолчанию

Цитата:
Сообщение от Maximus325 Посмотреть сообщение
А может есть у кого скрипт чистки от стоп слов?
для каждой ниши свои стоп слова
а стандартные типа
PHP код:
a
about
above
according
across
actually
after
afterwards
again
against
ai
all
almost
alone
along
already
also 
это фонарь

PHP код:
foreach($words as $w){
    
$here 0;
    foreach(
$stopwords as $v){
        if(
strcmp(trim($w),trim($v))==0){
            
$here 1;
        }
    }
    if(
$here == 0){
        
// это не стоп слово
    
}

digg вне форума  
Старый 15.11.2014, 03:37   #19
Maximus325
Технодаун
 
Регистрация: 11.05.2007
Сообщений: 10,384
Бабло: $1503235
По умолчанию

Цитата:
Сообщение от Sultan Посмотреть сообщение
Maximus325,
PHP код:
<?
ignore_user_abort
(true);
ini_set('memory_limit''500M');
set_time_limit(0);
$phrases=file("kwds.txt"FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES); // kwds.txt ключевики
$blacklist=file("blacklist.txt"FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES); // blacklist.txt плохие
foreach($phrases as $phrase1){
foreach(
$blacklist as $phrase2){
if(
stristr($phrase1$phrase2)) unset($phrase1); break;
}
if(
$phrase1file_put_contents("kwds.mix"$phrase1."\r\n"FILE_APPEND LOCK_EX);  // kwds.mix готовые ключевики
}
?>
Не пашет, не удаляет все почему то

Цитата:
Сообщение от sim0n Посмотреть сообщение
http://newox.ru/kwk.php
хавает большие файлы
Это не скрипт, софт не интересует как класс.

Цитата:
Сообщение от digg Посмотреть сообщение
для каждой ниши свои стоп слова
а стандартные типа
PHP код:
a
about
above
according
across
actually
after
afterwards
again
against
ai
all
almost
alone
along
already
also 
это фонарь

PHP код:
foreach($words as $w){
    
$here 0;
    foreach(
$stopwords as $v){
        if(
strcmp(trim($w),trim($v))==0){
            
$here 1;
        }
    }
    if(
$here == 0){
        
// это не стоп слово
    
}

Непонятно нихуя)

Цитата:
Сообщение от chesser Посмотреть сообщение
grep -v -f stop.txt keys.txt > result.txt
Отлично, спасибо большое!
Maximus325 вне форума