90% по какому анализатору? 90% чего?) 90% слов уникальных?)
Слишком высокая уникальность это тоже признак того что что-то здесь не то, и в сумме других факторов может отыграть в минус.
ЫЫЫ)
Взял канонический текст "на ноль воды", т.е. мою шуточную биографию десятилетней давности.
Истио выдал 1%. Ну ок, Дима перерабатывал мой словарь стоп-слов, так что ожидаемо. Выкидываем слово "скучный", и получаем ноль.
Забиваем в Адвего, и получаем.... 47%(!!!).
При этом стоп-слово тоже одно.
Гуглю. Оказывается еще шесть лет назад они поменяли алгоритм.
Так что есть вода, а есть водность.
Пробовал подобрать аналогичный текст для Адвего - ад адский. Половина значимых слов у него не значимая, заменять синонимами сложно. В принципе по 20 баксов за килознак я бы взялся). Но конечно поисковик такой текст плохо воспримет, за переспам. А уж человек...
Кстати да.
Я редактором не долго был, но за то время что я там был, добавил из предложки сайтов пять, а то что сам нашел - штук 30-40.
Неее. Оно всё не так работает совершенно.
Я думаю уже поднадоел всем своими байками десятилетней давности, но уж простите, свежее нет. Да и фундаментально оно актуально все еще.
Итак два примера из жизни истио.
Как работает такой параметр как "водность"?
Мы считаем количество слов, считаем количество стопслов среди них, и находим процент.
Что у нас тут является вводными?
Вводными является как минимум список стопслов.
Я брал их от балды.
Ничем математически не определенно.
А можно математически? Можно.
Что такое стопслова?
Это слова, которые встречаются настолько часто, что смысла несут не много.
В противоположность им есть ключевыеСлова. Это слова которые встречаются очень редко, и присутствуют в текстах, которые явно имеют какое-то отношение к этому слову.
Между ними находятся в большом количестве "общие" слова, т.е. те что вроде и не слишком часто, но и не достаточно редко. Часть из них уточняющие в запросах, часть несут информацию только при довольно глубокой семантической разброке.
В целом у нас есть три категории слов, эти категории получены математически, и от них мы уже можем отталкиваться. Так?
Нет, не так.
Что у нас тут явно введено с потолка? Да порог же! Где проходит граница?
От балды граница!
Что можно с ней сделать?
Убрать нафиг границу.
Посудите сами. Если мы считаем "сколько стопслов в тексте", то мы берем каждое слово, проверяем стопслово ли оно, если да, то прибавляем к счетчику стопслов единицу, если нет, то ноль. Но при вычислении "стоповости" этого слова у нас плавная шкала, на которой сложно сделать границу... Так давайте прибавлять не целую единицу, а некое дробное число.
Правда это число должно быть не очень большим, скажем в промежутке от нуля до единицы, и зависимость от частоты слова не должна быть линейной, ведь разница между самыми популярными словами может быть в разы, а от этого их стоповость не особо различается, ну и у самых редких стоповости остаться совсем не должно. Но это решается обычными математическими методами. Допустим логарифмом. Не суть.
Всё?
Нет, не всё.
На сайте "портал продавцов" слово Москва будет стопсловом, а в статье "В Москве сегодня новый мэр" - очень даже ключевым.
Так что нужна тематика.
Плюс вид запроса.
Ведь название бренда на сайте бренда может быть как суперключевиком (витальным), так и стопсловом.
Теперь перейдем к вопросу тематики. И опять истио.
Как работает определение тематики?
Я знаю что плохо. Но как именно она работает?)
Тематику мне подарил один хороший человек, за то что я ему дал большой архив различных библиотек по морфологии, синтаксису, семантике и т.п.
(Ага, это было почти одновременно с тем как Адвего назвали свой клон истио "семантическим анализатором", и я тогда если честно больше возмущался не с того что они меня клонировали, а то что простейшую статистику назвали семантикой. Сейчас ржу за давностью).
Полученных честно, и не очень.
Работает она просто.
Есть набор категорий.
У категорий есть набор слов, с весами.
Веса отражают то как часто это слово встречается в этой категории.
Проходим по всем нашим словам, и если находим такое слово в базе, то добавляем его веса соответствующим тематикам.
На выходе получаем список весов во всех тематиках.
Сортируем по убыванию и выводим тех у кого самый большой вес (вроде две или три, не помню?). Ценна тут только база по сути.
Человек спарсил какой-то размеченный корпус вроде ЯК/ДМОЗ, не помню уже, и по описаниям собрал статистику.
Ну нормализация и нелинейность еще, но то такое, вопрос рабочий.
Когда у нас есть хоть какая-то размеченная база тематик, мы можем определить по ней тематику остальных текстов, и на их основе уточнить базу, потом итеративно, плюс немного ручной работы, и готова уточненная база.
Здесь у нас за скобками остается происхождение вообще списка категорий, а также первичной базы. В начале можно и всякие ЯКи/ДМОЗы использовать (как делали первые поисковики), но тут математика тоже поможет. Строим граф с нечеткими ребрами (не помню как оно называется) вероятностей встречи слов в одном тексте. Потом кластеризуем слова, потом под них кластеризуем тематики текстов. Не буду останавливаться, просто знайте что и это возможно).
Итак вернемся к нашей водности.
Берем текст. Определяем его тематиКИ. Не четко - есть тематика/нет тематики, а с коэффициентом насколько она соответствует.
Далее смотрим частотность каждого слова в каждой тематике, и вычисляем водность текста относительно каждой его тематики.
Далее по желанию можно сложить все эти водности (с учетом веса тематики) и получить общую водность, или использовать только в нужных тематиках, по ситуации.
Аналогично мы можем вычислить "тематическую тошноту"/"тематическую заспамленность", точнее долю ключевых слов в тексте, ну и собственно у каждого слова у нас есть его "тематическая релевантность" и "тематическая стопсловность" (разные параметры, хотя можно и в один свести, в виде нелинейной "ванны", не суть).
Знал ли я о таком алгоритме десять лет назад? Бесспорно.
С него и начинал).
Сложный ли алгоритм? совсем нет.
Почему я не реализовал его, а соорудил вон ту поделку о которой и спустя десять лет споров больше чем пользы?
Все просто - в основе алгоритмов лежит доступность частотностей слов в различных тематиках. Для этого ничего особенного и не нужно. Всего то база данных со всеми текстами из интернета. Т.е. для обычного "студента" невозможно. А для поисковика элементарно.
К чему все эти многабукафф, если мы говорим о ципфе?
Да ципф к текстам это такое же жуткое упрощение.
Даже на классическое распределение по ципфу наложить тематику и нормализовать по глобальной частотности, и будет совсем другая картина.
Но нужна глобальная статистика, так что обходимся кастрированными алгоритмами.
Я вот тоже про закон Ципфа или что-то вроде подумал.
Ну и переспам еще может быть.
Тошнота скорее всего в порядке, но тошнота это плотность самого частотного ключа, а не общая плотность ключей.
Хотя конечно не исключает всяких странностей и ошибок самого яши, но я бы таки на текст сначала грешил).
При прочих равных. Что реально недостижимо)
Пока "все три тестовых" все еще празднуют, так что RokkoJ первый на тест.
Немного на вентилятор.
Мы тут такие все умные, красивые.
Я вон о строгих таипхинтах задумываюсь.
А меж тем библиотеки которые мы используем....
Ну вот глянул свои внешние зависимости из проекта которому таки передвинул минимальную планку с 5.4 на 5.6:
PhpMailer
HTMLPurifier
Adminer (только встраиваю, но не суть)
less.php
Неймспейсы? Какие неймспейсы? Сейчас что 2017 год чтоли? Совместимость в пхп7 есть, но неймспейсы использовать?
Это одни из самых популярных библиотек.
Большинство из коробки композером тянется и все такое. Обновляемые свежие репозитории. PSR в основном соблюдаются, псевдонеймспейсы, все такое)...
Так, бурчу просто)
меня смущает /pro/ в путях.
А вообще бросайте вы этот вдс, возьмите обычный шаред, поставьте автоматически вп из панели (у половины хостеров это есть), и уже в рабочий вп заливайте ваши темы и т.п.
Брать вдс под вордпресс, и не имея нормального админа, да и вообще базовых знаний это плохая идея.
У меня десятилетия опыта работы в поддержке всего и вся, работал с разными серверами и т.п., но вот брать сервер там где можно без этого обойтись - брезгую. Я не имею дела с ними постоянно, и нафиг, нафиг...
Сейчас только разберетесь методом тыка с этой проблемой и вступите в проблемы с безопасностью.
А они там точно есть? Папка точно называется так как нужно?