Ответы пользователя по тегу JavaScript
  • Есть ли сервис или библиотека для составления предложений из слов?

    smart
    @smart
    вы меня знаете
    Все зависит от того, какую конечную задачу Вы хотите решить.

    Конечно, подобные алгоритмы и библиотеки есть - начиная от примитивных развлекалок: martynov.info/textgen (просто составляет куски фраз в случайном порядке - см код в исходнике страницы), до сложнейших научных работ www.siggen.org (это сайт группы компьютерных лингвистов).

    Если хочется покопаться в теме NLG (natural language generation), начать стоит с алгоритмов генерации на основе цепей Маркова (неплохое объяснение основ - www.manhunter.ru/webmaster/358_generator_teksta_na... и сетей Байеса.

    Если собираетесь глубоко погрузиться в эту тему, не обойдетесь без KPML - www.fb10.uni-bremen.de/anglistik/langpro/kpml/READ...

    www.nlg-wiki.org/systems - вот тут большой перечень разных систем для NLG. В частности, нашлась какая-то (похоже, заброшенная) система "Душка" - https://code.google.com/p/mindforth/wiki/RussMan

    Возвращаясь к исходному вопросу про js-библиотеку - сам на js глубоко заниматься генерацией не пробовал, но нашел таких штуки:

    https://github.com/NaturalNode/natural - библиотека (довольно низкоуровневая) для работы с натуральным языком (заявлена поддержка русского)

    rednoise.org/rita - библиотека для работы с натуральным языком с приличной базой данных слов, синонимов и т.п. (только английский)
    Ответ написан
    2 комментария
  • Как повысить знания в области архитектуры веб проектов?

    smart
    @smart
    вы меня знаете
    Учитесь на ошибках - своих и чужих. Как правильно сказали рядом, практика - это главное. Проектируйте системы - свои, чужие - лучше реальные, но можно и вымышленные.

    Очень полезно начать с рассуждений "как бы я спроектировал поиск Яндекса, почту Mail.Ru, френдленту ВКонтакте". Продумайте архитектуру - а потом расскажите свое видение разработчикам этих систем и спросите, как на самом деле сделано у них и почему (вот увидите, многие с удовольствием ответят).

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

    Ну а еще про "чужие ошибки" - многие проекты с удовольствием рассказывают в интернете и на конференциях. Читайте их статьи, смотрите доклады - в интернете доступны записи с многих технологических конференций:
    https://techforum.mail.ru/video/
    https://tech.yandex.ru/events/yac/
    ritconf.ru/archive и www.highload.ru - тут видеозаписей нет, но есть слайды почти всех презентаций

    В общем, в сети как обычно большой и интересный объем информации, многое из которого представляет ценный опыт.
    Ответ написан
    2 комментария