Как стать автором
Обновить
40
0
Юрий Бабуров @buriy

Web, AI, Deep Learning, Python

Отправить сообщение

1) ну я бы сказал что Lucene с его сегментами медленный, и LSM базы получше будут, но на 220к запросов в секунду я конечно не тестировал.
2) а так в целом всё это напоминает наивный байесовский подход, потому что все фичи независимые друг от друга и не коррелируют друг с другом.
3) для массовой фильтрации писем технология хорошая, но что если конкретному пользователю надо больше писем помечать как спам (не из-за редкости, а из-за въедливости и раздражительности)? Будете его разметку игнорировать, потому что глобально большинство спама не такое? Или же у вас ещё есть мини-байес для этого конкретного пользователя для донастройки?

а я всё равно не понял, где там циклы. максимум -- поиск по индексу там должен быть, с ним 100к небольших объектов сериализовать должно быть реально за секунду.

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

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

У человека в гиппокампе тоже предположительно происходит нейрогенез (только исследовать его сложно даже на приматах. поэтому я вставляю "предположительно").
https://en.wikipedia.org/wiki/Adult_neurogenesis

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

>Новые нейроны у взрослых людей не появляются, разве что у раковых больных.
Ваши знания устарели минимум на 20 лет, новые нейроны появляются, 700 новых нейронов образуется в гиппокампе в день, ещё есть несколько зон поменьше с нейрогенезом.
Вот скажем первая попавшаяся статья: https://rtvi.com/news/oni-vosstanavlivayutsya-chto-uchenye-uznali-pro-nervnye-kletki/

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

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

Статью можно свести к тому, что вместо

class Configuration:
    def __init__(self, filepath):
        self.filepath = filepath
        self._initialize()

следует использовать

class Configuration:
    def __init__(self, filepath=None):
        self.filepath = filepath
        if filepath:
            self._initialize_with_filepath()

Но это меняет контракт класса, и теперь возможно сделать конфигурацию без пути.

Контракт класса определяется архитектором, если он считает, что конфигурация без пути не должна существовать, то значит так оно и есть. А вариант "класс может иметь любое внутреннее состояние" (в т.ч. недопустимое с точки зрения бизнес логики) приводит потом к трудноуловимым ошибкам в дебаге.
Например, мы заложились на то, что путь у конфигурации всегда есть, а потом словим NoneType error при попытке по этому пути обратиться.
Или же потом присвоим объекту filepath, забыв сделать инициализацию.
Получится глупо и больно.
Так что не надо такой категоричности.

Переранжировка -- это когда мы берём результаты теста, и наихудшему даём значение 1, следующему -- значение 2, дальше 3, 4, и так далее до 100.
Если человек 5, а не 100, то чисел на всех не хватает, поэтому они берут равноудалённые точки на прямой линии от 0 до 100, например, если у них 4 когорты, то одной когорте они приписали значение 15, второй 40, третьей 65, четвёртой 90 ( то есть, 10 + 25*n ).

Давайте лучше опишу так, что вы сможете пересказать своим друзьям, которые не знают, что такое коэффициент корреляции и линейная регрессия.

1) Набираем 5 человек в группу. Тестируем их с помощью 100-балльного теста, получив результаты 30, 40, 50, 60, 70 (неважно в каком порядке, важно лишь, что результаты теста распределяются не от 0 до 100 равномерно, а блже к среднему).

2) Теперь допустим эти люди назвали оценки своих тестов, ошибившись на 2 балла в обе стороны равномерно, ну скажем: 32, 41, 49, 59, 71 .

3) Теперь эти два профессора зачем-то теперь переранжировали результаты тестов по 100-балльной шкале от 0 до 100, получив в нашем примере цифры 10, 30, 50, 70, 90 .

4) Теперь они вычитают переранжированные результаты тестов и собственную оценку результатов тестов этими людьми. В данном примере получается, что тот, кто оценил себя на 32 балла, получил на самом деле 10 баллов на тесте (на самом деле -- на переранжированном тесте!), то есть, накрутил себе 22 балла! А тот, кто набрал 90 баллов (опять же на переранжированном тесте!) -- оценил себя на 71 балл, а набрал 90 баллов, то есть, наоборот, на 19 баллов оценил себя хуже. И такой результат статистически значимый, и выглядит как почти прямая наклонная линия.

5) Делаем вывод: те люди, что хуже сдают тест -- накручивают себе результаты, а те, что лучше сдают тест -- занижают свои результаты. Причём весьма сильно. Видите же какой большой наклон у линии?

6) ... (стыдное немое молчание в зрительском зале, потому что ни один психолог, который читал их работу, за 17 лет с 1999 по 2016 год не заметил этот хитрый математический трюк! А математики, видимо, эту работу и не читали вовсе)

7) Профит!

Автор и имел в виду hashmap, просто имейте в виду, что в разных языках названия немного отличаются.

А сохранение в формате .mhtml тоже запретили что ли?

Можно ещё немного усовершенствовать систему, если элементов ещё больше:
(Считаем, что у вас также 100к элементов для сортировки)
Черный штрих = (N / 1000) % 100 -- два первых разряда
Голубой штрих = (N / 100) % 10 + 0.05 # смещение, чтобы штрихи не были на одной высоте. -- третий разряд.

Вообще, так мы кодируем обычно и кодируем расстояние и время (часовая и минутная стрелка), вы просто перевели номер в расстояние.

А какой результат по скорости выдаёт openpyxl в режиме read-only?
Помню, было неидеально, но достаточно шустро и работало из коробки.
Давайте ваш тестовый файл, протестируем.

Я бы просил лучше автоматическую (или хотя бы по кнопке) сортировку комментариев по плюсам (скажем, комментариев только первого уровня. Второй уровень внутри первого иногда тоже было бы неплохо сортировать, но тогда часть комментариев будет непонятна, т.к. есть зависимости по времени).
Не всегда хочется читать все комментарии, но некоторые наиболее полезные комментарии хотелось бы прочитать сразу после прочтения статьи.
И если спрашиваете конкретную формулу, то прикольной является формула def comment_score(pluses, minuses): base=pluses-minuses; return base >= 0 ? base : -base/2 , т.к. часто за сильно заминусованным комментарием вторым уровнем встречается полезный заплюсованный.

потому что это два разных сайта vast.ai и clore.ai :)

Избавились и от устаревших и некорректно работающих функций, классов и методов. В первую очередь, это ... gzip.GzipFile ...

https://docs.python.org/3.12/library/gzip.html#gzip.GzipFile
Живее всех живых. Параметр у него один поменялся редко используемый только.

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

Не совсем так, уточню немного. Дело не в размере и сложности литографии, дело в орг сложности техпроцесса.

Современный чип делается полгода (не считая роста кристаллов), и имет десятки крупных стадий и сотни мелких подпроцессов (пару десятков раз наносятся разные вещества + происходит травление). И все эти стадии должны пройти без ошибок, или с с выходом около 99%, иначе всё, начинай заново.

Как раз "Интервью с рабочим завода по производству электронных микросхем" 1985 года демонстрирует то, что проблема была именно в невозможности организовать сложный и качественный процесс (видимо, без хороших капиталистических стимулов и без качественной работы смежников): КПД на каждой стадии составлял меньше 60%, в результате процессы больше 2-3 стадий было невозможно организовать.

Вот только если поменять порядок функций в правом варианте и чуть-чуть изменить использование переменных, код станет не сильно отличаться от левого варианта.
Тяжело скакать по функциям, когда они написаны в рандомном порядке, а расположите их одинаково, поставьте все управляющие конструкции внизу -- и проблем не будет.
(Спагетти код -- это плохо, но не потому, что кусочки слишком маленькие -- это вывод, к которому пришёл автор -- а потому что они перемешаны!)
А, соответственно, в левом коде есть обратная проблема: как только куски кода станут больше, ваша монолитная функция превратится в кашу, и, чтобы перескочить с одной части логики на другую, вам придётся читать весь код функции!

1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Chief Technology Officer (CTO)
Lead