В принципе, именно key-values данные там и хранятся. Заменить можно, но я лично сомневаюсь, что прирост в скорости будет. По крайней мере не на этом хостинге.
дата создания, категория, номер кластера, конформность/противоречие, уникальность и некоторые другие. Часть из них извлекается из базы, а часть вычисляется на ходу.
Кстати, выяснилось, что русский язык без учета регистра и знаков препинания изменяется примерно на 90%, 10% остается неизменной.
Думаю работать будет. Но при этом увеличивается количество вариантов на каждый последующий элемент. А это значит, что цепочки будут взаимодействовать друг с другом слабее, а это значит, из памяти будет извлекаться значительно меньше «ассоциаций», необходимых для анализа.
Я думаю, что в идеале количество вариантов на последовательность не должна превышать 2. 256-65536 (в случае utf-8) все еще не так много. В качестве костыля ваша идея пойдет, но мне кажется, что надо стремиться к идеалу, как вы думаете?
А категоризация как раз работает на принципе запоминания категории при запоминании цепочки и при вспоминании ее при поиске максимально запомненной цепочки. Дело в том, что каждый источник я помечаю темой, но если вспомненные цепочки говорят, что полученный из источника текст соответствует другой категории, то я его перепомечаю.
Основное время уходит на обращение к БД. 3-4 SQL-запроса на обработку одного символа — я бы сказал немного. Учитывая, что нужно искать максимальную цепочку по каждому символу, а цепочки доходят до 500 символов и более.
Кстати, вы, наверное, думаете, что FirstVDS — это быстрый хостинг?
Я беру последовательность символов. Для ускорения и облегчения анализа я текст несколько готовлю (strtolower, выбрасываю символы) и ввел некоторые легкие ограничения. Например, я анализирую не полную последовательность, а беру текст по предложениям. Для новостного ресурса этого оказывается достаточно.
На текст ~300 байт уходит ~1 сек. Это на FirstVDS-Разгон, где дают максимум 5% процессора при заявленных 400Мгц.
Насчет форумов — не понятно с какой целью его использовать. Чтобы составлять ленту на главной странице? Может быть вы скажете что бы вы хотели получить в результате?
Алгоритм обязательно будет открыт. Только я здесь новичок и могу публиковаться, как выяснилось, только в песочнице, что, конечно, комично и вовсе не вдохновляет.
Если кратко, то идея такая: текст — это последовательность символов. Эта последовательность можно принять как причину и следствие. Например, в тексте «абв» за «а» следует «б», за «б» следует «в».
То есть: а->б->в. Эта последовательность так и запоминается: а->б и б->в.
Если вдруг возникнет противоречие, то оно будет разрешаться. Например, допустим, что алгоритму дадут проанализировать «обг». Соответственно будут цепочки: о->б и б->г. А в сумме:
а->б
о->б
б->в
б->г
Здесь за «б» следуют и «в» и «г». Чтобы решить проблему алгоритм аннулирует зависимости б->в и б->г и запоминает новые:
аб->в
об->г
Ну вот, в общем, основная идея. Дальше остается организовать поиск цепочек и анализировать насколько они противоречат/не противоречат друг другу.
Кстати, выяснилось, что русский язык без учета регистра и знаков препинания изменяется примерно на 90%, 10% остается неизменной.
Я думаю, что в идеале количество вариантов на последовательность не должна превышать 2. 256-65536 (в случае utf-8) все еще не так много. В качестве костыля ваша идея пойдет, но мне кажется, что надо стремиться к идеалу, как вы думаете?
А категоризация как раз работает на принципе запоминания категории при запоминании цепочки и при вспоминании ее при поиске максимально запомненной цепочки. Дело в том, что каждый источник я помечаю темой, но если вспомненные цепочки говорят, что полученный из источника текст соответствует другой категории, то я его перепомечаю.
Основное время уходит на обращение к БД. 3-4 SQL-запроса на обработку одного символа — я бы сказал немного. Учитывая, что нужно искать максимальную цепочку по каждому символу, а цепочки доходят до 500 символов и более.
Кстати, вы, наверное, думаете, что FirstVDS — это быстрый хостинг?
Насчет форумов — не понятно с какой целью его использовать. Чтобы составлять ленту на главной странице? Может быть вы скажете что бы вы хотели получить в результате?
Если кратко, то идея такая: текст — это последовательность символов. Эта последовательность можно принять как причину и следствие. Например, в тексте «абв» за «а» следует «б», за «б» следует «в».
То есть: а->б->в. Эта последовательность так и запоминается: а->б и б->в.
Если вдруг возникнет противоречие, то оно будет разрешаться. Например, допустим, что алгоритму дадут проанализировать «обг». Соответственно будут цепочки: о->б и б->г. А в сумме:
а->б
о->б
б->в
б->г
Здесь за «б» следуют и «в» и «г». Чтобы решить проблему алгоритм аннулирует зависимости б->в и б->г и запоминает новые:
аб->в
об->г
Ну вот, в общем, основная идея. Дальше остается организовать поиск цепочек и анализировать насколько они противоречат/не противоречат друг другу.