Концепция CMS

Главные вкладки

Аватар пользователя newcontinent newcontinent 8 мая 2005 в 11:14

Мудрилла-мудриллла, соображалла, рассуждаллла... лалала про идиотизм построения нюки
Так что ход рассуждений зафиксировала
И пришла к выводу, что в принципе, всё это уже почти реализовано в drupal!
Есть, конечно, некотрые непонятки:
Например нафик мне этот UTF-8 Так что в phpmysqladmin одни черти Sad
Извиняет наличие своего модуля для работы с базой. Здорово извиняет! Smile и впечатляет.
Несколько удручает почему комментарии рассматриваются иначе,
чем статья, соосбщение, страница и тд то есть - есть таблица node и comments
Бывают комменты посодержательней предмета комментирования.
Та ктчо думаю, что это концептуальная непонятка.
Название нелицеприятное для уха drupal-truppal Неприятно звучит. Это ж не все сообразят про капельку, а про труп услышит большинство.

Во всё остальном это просто - мечта!
Совершенно чудесная система.
Про выбор типа шаблона! Это вообще Классс!
Менюшки, левые, верхние отлично, быстро, легко - и главное понятно!
Но конечно настоящий брилиант и настоящий шедевр програмской Мысли. Это Таксономия!!!
Отличная идея отделения дерева с типами от содержания
Ведь самое главное в сети текст-содержание,
а как его назвать - страница, топик, книга, объявление, рецензия это ерунда. Это касается и графики конечно.

Достаточно посмотреть на путаницу в терминах у нюк
там вам форумы, и рецензии, иновости, и страницы и даже никому не понятный контент.
А по сути это одно и тоже.
Вот это настоящая революционная система.
Внутри скриптики еще не очень просмотреллла Smile но снаружи КОНЦЕПТУАЛЬНО!!

Комментарии

Аватар пользователя kiev1 kiev1 7 мая 2005 в 21:58

внутри еще красивее и utf8 это не недостаток а достоинство - ведь сколько раньше было глюков из за дурацкой путаницы в перекодировках то из масдая в кои8 то из кои в дос - а после того как в линуксах прижились utf8 локали - с русским просто проблем нет.

Аватар пользователя newcontinent newcontinent 7 мая 2005 в 22:51

Кодировка это конечно дело привычки. Просто не нашла на локале в phpMyAdmin но phpMyAdmin это тоже своего рода разврат Smile
Вопрос в том что эта привцычка общая и многочисленная. А против стаи трудно возражать.
И кстати что будет если я ее просто переделаю windows-1251 ?

Аватар пользователя kiev1 kiev1 7 мая 2005 в 22:54

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

Аватар пользователя newcontinent newcontinent 8 мая 2005 в 14:04

КАк это съел!??
С какой это стати ваш фильтр жрёт мои сообщения!? Не кормите? Вы его чтоли. Sad

То есть вы считаете, что у него были основания посчитать мой текст спамом. если так то избавляйтесь от него поскорее.
То есть вы так изощренно меня в спаме обвиняете!!!
Наверно у вас для это есть основания.
Или так просто. Кого захотели того и обвинили. И сожрали.

Вообщем не хотите не объясняйтесь. Вы не обязаны. Никому и ни чем не обязаны.

Вообще можно просто сказать что мол пошла вон отсюда!
Не подходишь ты нам, потому что не нравишься!
А мы тут самае, самые крутые. Самые умные и всё знаем.
И шутить умеем не по ХАМСКИ.
И на всяких нам плевать... ну дальше сами продолжите. По вкусу. Sad

Вот так и напишите. Smile

serpuhov.com

Аватар пользователя Nick Nick 8 мая 2005 в 14:24

Никто не хотел Вас обидеть. Всем свойсвенно ошибваться и spam.module в том числе. Ваше сообщение никак нельзя назвать спамным. Иначе не вернул бы на место ( http://drupal.ru/node/932 - spam.module не удаляет сообщения, а только unpublish их ).

Видите, когда PageRank сайта переваливает за 3, на него начинаются набеги злостных спамеров (это я НЕ про Вас!), которые всюду наровят втиснуть свою рекламу. Поэтому, приходится использовать средства автоматической фильтрации спама. Модуль построен на алгоритме Байеса, что, надо сказать, достаточно эффективно.
На сколько мне известно, это 1й false negative.
Самая прелесть алгоритма, что он умеет "учится". Т.е. я ему указал на ошибку, он пересчитал таблицы вероятностей.

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя newcontinent newcontinent 8 мая 2005 в 19:28

Да. Здорово. Но это я сама везде уже подвох слышу.
Вот до чего доводят беспрестанные поиски смысла в интернете Smile

А после Ваших слов про алгоритм Байеса. Теперь уже по настоящему, без обид ощущаю себя тумбой на празднике жизни DRUPAL! Smile
Уже догадываюсь, что это что ещё замечательное и класное в этой системе. Но боюсь, что недоступно для понимания гуманитарных мозгов.

Могли бы Вы по возможности на пальцах и доходчиво
объяснить что это за алгоритм.
Говорят, что настоящие исьтинные ценности можно объяснить любому.
Пожалуйста!
Впрочем чего же яждала от настоящих Линуксов.
Для меня они выглядят как настощие Лорды среди всяческих бэйсиков и др. обшарпанных windows технологий. Хотя и они тоже могут здорово помутить мой мозг страшными терминами. (вот заодно почитала, как общаются про sapid! Жуть! Sad Ощущаешь себя доисторическим существом среди иноплатенян, обогнавших нас сегодня на столетия. А index.php посмотришь - вроде не очень сложно. А опять почитаешь соразрабтчиков - опять кошмар.

Вообщем в качестве извинений Smile за spam.modul подойдет толковое разъяснение принципа его функционирования. И особенно алгоритма Бейеса. И самообучение.
Я тут как раз со спамом в nuke-модуле Web_Links боролась и нашла довольно простое решение средствами SQL.
Алиса.

Аватар пользователя Nick Nick 8 мая 2005 в 20:35

Алгоритм Байеса, в spam.module используется точно такоже, как и во многих популярных почтовиках. В thunderbird напирмер. Или плагин BaesIt (кажется так?) для TheBat. Также, есть какие-то подобные средства в MS Outlook (не путать с Outlook Express).

Работа алгоритма со стороны пользователя выглядит просто.
Приходит письмо (ну или там сообщение на сайт). На основании ранее накопленой статистики, алг. Байеса складывает его либо в inbox, либо в Junk (ну специальную папку для спама). Если алгоритм ошибся, ему надо об этом сказать. Ошибки бывают 2х видов: false positive (когда плохое письмо положили в inbox) и false negative (когда хорошое письмо положили в Junk).
Со временем (после сообщений этак 200-300), алгоритм начинает достаточно точно ловить спам. Причем, все реализации направлены на то, чтобы ошибки false negative случались как можно реже. Т.е. если плохое письмо свалится к нам в inbox, то мы этот как-нибудь переживем, а вот если хорошее в спам, то это уже значительно хуже... Мы можем его просто не заметить и не прочитать...
Вообщем, с точки зрения пользователя, алгоритм работает абсолютно просто, что является дополнительным плюсом.
.
На самом деле, внутри алгоритм тоже до смешного простой.
Построен он на [url=http://en.wikipedia.org/wiki/Bayes'_theorem]теореме Байеса[/url]. Эта теорема является самыми азами теории вероятности. Придумана Байесом в 17 веке (тогда еще Теория Вероятности, по сути, наукой не являлась, т.к. в ней не было строгой аксиоматики).
Первой заметной статьей, в которой предлагалось применить формулу Байеса для ловли смапа - это статья by P.Graham "[url=http://www.paulgraham.com/spam.html]A Plan For Spam[/url]".
Позже выяснилось, что еще в 1998году подобную идею независимо выдвинули 2 группу: одна из University of Manitoba (Canada) [0] и совместная группа Стэндфорского Универсиета и Microsoft Research [1]. Видимо, в 1998 году эта проблема не была столь острой...

Алгоритм работает примерно так:
Есть 2 таблицы. В одной слова, которые встречались в спаме и сколько раз они встречались, в другой тоже самое для неспама.
Затем, по этим двум, по специальной формуле (по идее, формуле Байеса), строится 3я таблица, в которой считается вероятность того, что письмо, в котором содержится это слово является спамом.
Дальше, когда приходит новое письмо, по результатам 3й таблицы вычисляется вероятность того, что письмо - спам. В подрбности вдаваться не буду, т.к. это все описано достаточно подробно в статьях (ну... там большие статьи, куда мне этим комментом с ними тягаться).

Только... Вот тут всплывает небольшая засада. P.Graham, толи где-то ошибку допустил. Может просто по невнимательности, толи по незнанию Теории Вероятности. И ... Так получилось, что его формулы только издали напоминают оригинальгную формулу Байеса. А... Если взять и пересчитать все руками, то получится все совсем другое...
У двух других групп же формулу вполне правильные.
НО! В чем заключается прелесть статьи Graham`а - это то, что его алгоритм работает эффективнее того, где используются "правильные" формулы. Т.к. он, сделав ошибку, стал учитывать гораздо больше параметров, чем формулы без ошибки. Поэтому, призывают НЕ относится к нему с каким либо презрением (мол... двоечник), а относится как к хорошему удачливому эксперементатору. Все таки не всякому дано так делтаь ошибки, чтобы потом еще и лучше работало... Так что respect!

Также, есть еще так называемый метод Фишера [2]. Фактически, это тот же фильтр Байеса, только предлагается способ учитывать в фильтре дополнительные методы фильтрации... Такие как черные списки ip адресов и т.п. Именно этот метод используется в большинстве server-side смап-фильтров.

Какой алгоритм использует spam.module я не знаю. Но, могу предположить, что это Graham`мовский фильтр.

--
[] [url=http://www.paulgraham.com/spam.html]Paul Graham. ``A Plan for Spam.'' August 2002.[/url]
[0] Patrick Pantel and Dekang Lin. University of Manitoba (Canada). «SpamCop: A Spam Classification & Organization Program». 1998
[1] Mehran Sahami, Susan Dumais, David Heckerman, Eric Horvotz «A Bayesian Approach to Filtering Junk E-Mail» 1998
[2] [url=http://www.linuxjournal.com/article/6467]A Statistical Approach to the Spam Problem
By Gary Robinson[/url]

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя PG PG 9 мая 2005 в 4:23

Quote:
Ошибки бывают 2х видов: false positive (когда плохое письмо положили в inbox) и false negative (когда хорошое письмо положили в Junk).
Со временем (после сообщений этак 200-300), алгоритм начинает достаточно точно ловить спам. Причем, все реализации направлены на то, чтобы ошибки false negative случались как можно реже. Т.е. если плохое письмо свалится к нам в inbox, то мы этот как-нибудь переживем, а вот если хорошее в спам, то это уже значительно хуже… Мы можем его просто не заметить и не прочитать…
В теории игр эти ошибки называются "пропуск цели" и "ложная тревога". Это задачка из довольно обширного класса задач по т.н. "распознаванию образов". Когда нет четкого критерия "подходит/не подходит", а есть куча параметров, которые нужно учитывать в совокупности.

При этом обычно сводят все рассматриваемые параметры к одному итоговому значению через некую формулу. После чего вычисленное по такой формуле значение функции сравнивается с неким пороговым числом и по результатам этого сравнения принимается решение - относится ли рассматриваемый объект (письмо) к определенному классу (рекламные сообщения) или нет.

Очевидно, что уменьшение порогового значения ведет к росту процента "ложных тревог", а увеличение - к росту процента "пропусков цели".
Пороговое значение ("порог срабатывания") обычно подбирается эмпирически, экспериментально, таким образом, чтобы число "пропусков цели" не превышало заданного по условиям задачи. Уменьшить его до нуля нельзя - если оно станет очень малым, сильно вырастет процент "ложных тревог".

Удивительно, но я ни в одной реализации байесовского механизма поиска спама не видел возможности вручную задавать это самое пороговое значение. Между тем, это было бы полезно. Тренировки алгоритма - тренировками, но они сами по себе, а порог срабатывания - сам по себе.

Аватар пользователя newcontinent newcontinent 9 мая 2005 в 10:46

Дорогой Nick! Не знаю как по батюшке. Спасибо вам за доброту и щедрость к бестолковой. Вполне доходчиво! Теперь надо, как нибудь на досуге, разобрать спам-модуль и посмотерть чего у него внутри.
Это доказывает, что толковую и красивую теорию всегда можно изложить понятно и доходчиво для всех.

Аватар пользователя newcontinent newcontinent 9 мая 2005 в 10:47

Интуитивное заявление дилетанта Smile А возможно, что пороговое значение условно - 0 и 1 к которому можно стремиться Smile (где то я это слышала.)
Вот говорили, что если вывезти из Франции 300 ученых людей - то Франция превратится в нацию дэбилов.
А из России уехало и уезжает гораздо больше людей. Но либо не те уезжают, либо с соотношением что-то не то. Smile
А скорее всего Земля наша обладает таким свойством плодить и плодить настоящих! Умниц и умников. Бес конца и без устали. И России никогда не превратиться в нацию бестолочей!

Вот в 2 постах сумели разъяснить суть довольно сложно науч. теории человеку весьма далёкому от науки. И вполне понятно. И определением сопутствующих проблем.
Спасибо! вполне доходчиво.

Осталось посмотреть как всё это реализовано в спам-модуле, в коде.
Ведь там должен быть этот алгоритм Байеса.
А тему можно преименовать в "алгоритм Байеса".

С ПРАЗДНИКОМ! 9 МАЯ!!! ВСЕХ!!.

Аватар пользователя B.X B.X 13 мая 2005 в 2:05

Ничего особенно не будет… не будут работать модули agregator и drupal. Для того, чтобы поменять кодировку надо во всех файлах поменять utf-8 на windows-1251. Ещё надо удалить кэш… да и всё, пожалуй…

PS! А да, если что-то до этого уже было добавлено на сайт (в utf8), то это нужно перекодировать в cp1251.

Аватар пользователя YSV YSV 8 мая 2005 в 12:33

Quote:
По сути, вся функциональность классов уже написана. Например модули: «files», «pages», «spaw» - там и так всё уже есть. Останется только скомпоновать, добавить несколько доп.классов.

Где эти классы?

Удачи!

Аватар пользователя newcontinent newcontinent 8 мая 2005 в 14:03

модуль SPAW довольно изящно построен на классах.
А вообще любой модуль nuke можно легко переписать в класс
Конечно не так прямолинейно как в xoops

Дважды Удачи! Всем нуждающимся в ней.

serpuhov.com

Аватар пользователя axel axel 13 мая 2005 в 1:21

Quote:
Например нафик мне этот UTF-8 Так что в phpmysqladmin одни черти
В phpmysqladmin можно ведь работать с русским в utf-8 - тогда вообще никаких проблем нет.

--
Axel,
www.axel.drupal.ru

Аватар пользователя newcontinent newcontinent 13 мая 2005 в 2:01

Проехали уже со спам фильтром - там уже один важный деятель ЛИЧНО следить собрался.
Притягиваю я их чтоли?

Нужно просто признать, что опциональный выбор кодировки для CMS
это хорошо. Вопрос к опытным исследователям - насколько это сложно.
По идее в хорошо продуманной CMS это должен быть один параметр. И всё.
Никаких религиозных споров о преимуществах той или иной кодировки.
Известная заповедь - "Сомневаешься - отдай выбор клиенту"
Предвижу возражения о совместимости. Не факт, что эта возможность всем нужна.

serpuhov.com