LINUX.ORG.RU
ФорумTalks

[птнц]Генератор тем для лора


0

4

Скрипт для greasemonkey

// ==UserScript==
// @name           35=5@0B>@ :0?G
// @namespace      linux.org.ru
// @include        http://www.linux.org.ru/forum/*
// ==/UserScript==

DeliriumGen = new (function() {
  var len = 6;
  //
  var vowels = ["а","е","ё","и","о","у","ы","э","ю","я"];
  var consonants = ["б","в","г","д","ж","з","й","к","л","м","н","п","р","с","т","ф","х","ц","ч","ш","щ"];
  function getRandom(arr) {
	with(Math) {
	  return arr[floor(random() * arr.length)];
	}	
  }
  this.getDelirium = function () {
	var res = "";
	for( var  i = 0; i< len/2; i++) {
       res += getRandom(consonants) + getRandom(vowels);
    }
    return res;
  }
})();


var titleNode = document.getElementById("title");
titleNode.value = DeliriumGen.getDelirium();

генерирует уникальные по смыслу темы для ответов, еще на них можно гадать. Идея взята с капчи школьного портала.

★★☆

дёжуйю

Вроде работает.

GotF ★★★★★
()

его нужно доработать до того чтоб он умел согласные по две или по одной случайным образом выбирать, и гласные но гораздо реже, и чттоб и с гласной последовательности могли начинаться, но как бы на «э» не заканчиваться

Liteblackk
()

Эх, напомнил

Был такой бот асечный mudasan, чудные хокку генерировал на основе введённого текста. Интересно, где автор. Лор наполнился бы более глубокомысленными комментариями.

kraftello ★★★★★
()

Я-то думал - генератор тем для танго и наконец-то от белок хоть какая-то польза... ну конечно :)

jcd ★★★★★
()

Белка, оффтоп, конечно, но всё же. Как ты относишься к пейтону? Книг каких можешь посоветовать?

Lighting ★★★★★
()
Ответ на: комментарий от Lighting

нащыхы

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

А с чего ты вообще решил что я знаю питон?

wfrr ★★☆
() автор топика

Блин! Хорошая штука. Но. Велосипеды наше все! *ушел писать свой генератор, с шахматами и поэтэссами*

Zhbert ★★★★★
()

Не хватает возможности задать вероятности выпадения определённых (хотя бы двухбуквенных) последовательностей. Позволило бы более осмысленные слова и даже целые фразы генерить.

Sadler ★★★
()
Ответ на: комментарий от wfrr

> нужно накропать статистику встречаемости букв в руском езыке

Я такое уже когда-то делал. Берём текст достаточно большой и пишем софтину, которая будет считать все последовательности. А ещё так можно сделать «албанский» генератор :)

Sadler ★★★
()
Ответ на: комментарий от Liteblackk

гмич

DeliriumGen = new (function() {
	var len = Math.random () * 8;
	//
	var vowels = ["а","е","ё","и","о","у","ы","э","ю","я"];
	var consonants = ["б","в","г","д","ж","з","й","к","л","м","н","п","р","с","т","ф","х","ц","ч","ш","щ"];
	function getRandom(arr) {
		with(Math) {
			return arr[floor(random() * arr.length)];
		}   
	}
	this.getDelirium = function () {
		var res = "";
		for( var  i = 0; i< len; i++) {
		var letter = (Math.random () * 101) > 30 ? consonants : vowels;
			res += getRandom(letter);
		}
		return res;
	}
})();


var titleNode = document.getElementById("title");
titleNode.value = DeliriumGen.getDelirium();

наслаждайся.

Rastafarra ★★★★
()

эйш

какая потрясающе-тортово бесполезная мудота.

thanx :)

Rastafarra ★★★★
()
Ответ на: комментарий от Sadler

оягитл

Держи

// ==UserScript==
// @name           35=5@0B>@ :0?G
// @namespace      linux.org.ru
// @include        http://www.linux.org.ru/forum/*
// ==/UserScript==

DeliriumGen = new (function() {
  var len = 6;
  //
  var freqs = {
	consonants: {
	  "ф":0.002343170796406,
	  "щ":0.00305394394074396,
	  "п":0.0208708841473782,
	  "ш":0.00378172122729096,
	  "д":0.0228535671289526,
	  "ц":0.00419322146874978,
	  "м":0.0242751134176285,
	  "к":0.0267917264645667,
	  "ж":0.0071451405562395,
	  "л":0.0291008889765546,
	  "х":0.00788652115655373,
	  "в":0.0371200424423389,
	  "й":0.00891017051753807,
	  "р":0.0406296973942852,
	  "ч":0.0103895308897247,
	  "с":0.0423165083014222,
	  "т":0.0482781605599123,
	  "з":0.0114199819075926,
	  "н":0.0526652292498452,
	  "б":0.011787271379308,
	  "г":0.0127599083136652
	},
	vowels: {
	  "ю":0.00505703189296912,
	  "э":0.00261183624330887,
	  "у":0.0175006631615461,
	  "а":0.0551308298701563,
	  "я":0.0150826741394203,
	  "и":0.0609224407065561,
	  "ы":0.0148344136631683,
	  "е":0.0682308210280024,
	  "о":0.082864585813104
	}
  }
  var vowels = [];//["а","е","и","о","у","ы","э","ю","я"];
  var consonants = [];//["б","в","г","д","ж","з","й","к","л","м","н","п","р","с","т","ф","х","ц","ч","ш","щ"];
  //initing
  function init(src, dst) {
	dst.summ = 0;
	var freq = 0;
	for(var letter in src) {
	  freq = src[letter];
	  dst.summ += freq;
	  dst.push({
		letter: letter,
		freq: freq
	  })
	}
  }
  try{
  init(freqs.vowels, vowels);
  init(freqs.consonants, consonants);
  } catch(e) {
	console.error(e);
  }
  //alert(1);
  function getRandom(arr) {
	with(Math) {
	  var r = random() * arr.summ;
	  var i = 0;
	  var min = 0;
	  var l = null;
	  while(min < r) {
		l = arr[i++];
		min += l.freq; 
	  }
	  return l.letter;
	}	
  }
  this.getDelirium = function () {
	var res = "";
	var vcratio = .4 ;
	var cratio = vcratio;
	var arr;
	for( var  i = 0; i< len; i++) {
	  if(Math.random() < cratio) {
		arr = vowels ;
		cratio /= 2;
	  } else {
		arr = consonants;
		cratio *= 2;
	  }
	  res += getRandom(arr);
    }
    return res;
  }
})();

Правдя надо допиливать алгоритм, в частности выбрки символа

wfrr ★★☆
() автор топика
Ответ на: ЩЩююЩюЩюЩю от Liteblackk

гоиыст

ну погугли как туда юзерскрипты прикрутить и все.

wfrr ★★☆
() автор топика

бцгят

кстати. я думаю будет вполне кошерно, если эта бня время от времени будет выдавать «привет, isden!».

Rastafarra ★★★★
()

жёварывяфа

Слушайте, а отличная идея. Все таки белка не только псих...

ostin ★★★★★
()
Ответ на: бцгят от Rastafarra

майюзэколы

еще про шамано что-нибудь...

ostin ★★★★★
()

это такой эдакий libastral_ru.so

запатентовать не забудь

dik-m
()

Кто знает, скажите. В хроме как говорит википедия:

C февраля 2009 года в Google Chrome появилась встроенная поддержка пользовательских JavaScript в формате Greasemonkey. Также доступно для других браузеров на движке Gecko, например, Epiphany.

Но как запустить это в хроме?

lambrianov
()

И в чем прикол? Какой-то несвязанный бред получается. Вот если бы действтительно, хотя бы что-то приближенное к смыслу появлялось. А так можно тем же random обойтись.

Siado ★★★★★
()
Ответ на: комментарий от Siado

преомиближнное к сыслу пявлялось

дак вобщем все на это и расчитано, каждый приделает свои какие-то фичи, так что-нибуть и получится.

Liteblackk
()
Ответ на: комментарий от lambrianov

дакади

хз, я щас из хрома пишу, работает

6.0.472.63 (Сборка для разработчиков 59945) Built on Debian 6.0, running on Debian squeeze/sid
WebKit	534.3
V8	2.2.24
Агент пользователя	Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3
Командная строка	 /usr/lib/chromium-browser/chromium-browser
wfrr ★★☆
() автор топика
Ответ на: комментарий от Sadler

> Не хватает возможности задать вероятности выпадения определённых (хотя бы двухбуквенных) последовательностей.

http://say.mimas.ru/

const86 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.