All streams
Search
Write a publication
Pull to refresh
20
0
Максим Рожков @luksian

User

Send message
я имел ввиду, что в текстах русского языка средняя длина выстраиваемых последовательностей составляет около 10 символов.
Сейчас размер базы с индексами >1,7Гб. Из них данные занимают порядка 1Гб. Прирост размера около 200Мб/день.
В принципе, именно key-values данные там и хранятся. Заменить можно, но я лично сомневаюсь, что прирост в скорости будет. По крайней мере не на этом хостинге.
дата создания, категория, номер кластера, конформность/противоречие, уникальность и некоторые другие. Часть из них извлекается из базы, а часть вычисляется на ходу.

Кстати, выяснилось, что русский язык без учета регистра и знаков препинания изменяется примерно на 90%, 10% остается неизменной.
Думаю работать будет. Но при этом увеличивается количество вариантов на каждый последующий элемент. А это значит, что цепочки будут взаимодействовать друг с другом слабее, а это значит, из памяти будет извлекаться значительно меньше «ассоциаций», необходимых для анализа.

Я думаю, что в идеале количество вариантов на последовательность не должна превышать 2. 256-65536 (в случае utf-8) все еще не так много. В качестве костыля ваша идея пойдет, но мне кажется, что надо стремиться к идеалу, как вы думаете?

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

Основное время уходит на обращение к БД. 3-4 SQL-запроса на обработку одного символа — я бы сказал немного. Учитывая, что нужно искать максимальную цепочку по каждому символу, а цепочки доходят до 500 символов и более.

Кстати, вы, наверное, думаете, что FirstVDS — это быстрый хостинг?
Я беру последовательность символов. Для ускорения и облегчения анализа я текст несколько готовлю (strtolower, выбрасываю символы) и ввел некоторые легкие ограничения. Например, я анализирую не полную последовательность, а беру текст по предложениям. Для новостного ресурса этого оказывается достаточно.
да, полный анализ текста. При этом производится около 1-2 тыс SQL-запросов.
На текст ~300 байт уходит ~1 сек. Это на FirstVDS-Разгон, где дают максимум 5% процессора при заявленных 400Мгц.

Насчет форумов — не понятно с какой целью его использовать. Чтобы составлять ленту на главной странице? Может быть вы скажете что бы вы хотели получить в результате?
Алгоритм обязательно будет открыт. Только я здесь новичок и могу публиковаться, как выяснилось, только в песочнице, что, конечно, комично и вовсе не вдохновляет.

Если кратко, то идея такая: текст — это последовательность символов. Эта последовательность можно принять как причину и следствие. Например, в тексте «абв» за «а» следует «б», за «б» следует «в».

То есть: а->б->в. Эта последовательность так и запоминается: а->б и б->в.

Если вдруг возникнет противоречие, то оно будет разрешаться. Например, допустим, что алгоритму дадут проанализировать «обг». Соответственно будут цепочки: о->б и б->г. А в сумме:

а->б
о->б
б->в
б->г

Здесь за «б» следуют и «в» и «г». Чтобы решить проблему алгоритм аннулирует зависимости б->в и б->г и запоминает новые:

аб->в
об->г

Ну вот, в общем, основная идея. Дальше остается организовать поиск цепочек и анализировать насколько они противоречат/не противоречат друг другу.
Я тоже занимаюсь автоматическим анализом текстов. У меня есть кое какие результаты, если интересно можете почитать о них здесь.

Information

Rating
Does not participate
Location
Россия
Registered
Activity