Генерация текста для доровея.

Тема в разделе "Вопросы новичков", создана пользователем k2651, 9 апр 2009.

Статус темы:
Закрыта.
  1. k2651

    k2651

    Регистр.:
    21 дек 2008
    Сообщения:
    169
    Симпатии:
    103
    Хочу попробовать написать свою функцию генерации текста для RB.
    Текст собираюсь делать под ру траф.
    От сюда несколько вопросов.
    1. Генерацию текстовки думаю делать по синтаксису предложений русского языка. Т.е. схематично Подлежащее, сказуемое, деепричастный оброт, и т.д. и т.п. С соблюдением времен, подежей и чисел. (подруга на филфаке учиться, обещала помочь).
    Читает ли ЯША предложения? Определяет-ли синтаксис? Правильность построения предложений?
    Стоит ли над этим заморачиваться или может что попроще сделать?
    2. Где можно подчерпнуть инфы по данной теме?
     
  2. ko-yg

    ko-yg

    Регистр.:
    12 ноя 2008
    Сообщения:
    519
    Симпатии:
    161
    1) мое имхо - не читает, ибо тексты генеренные батоном в индекс пролезают нормально, возможно он и анализирует синтаксис, но не глубоко.
    2) инфы конкретно об алогоритме анализа текста пс? это шутка? ;)
    достоверной инфы нигде не найдешь по этой теме - всё только мнения, бубны и домыслы - реально знают только яндуксоиды )
     
  3. k2651

    k2651

    Регистр.:
    21 дек 2008
    Сообщения:
    169
    Симпатии:
    103
    Нет, ты не так понял. Я имею ввиду машинный разбор русского текста на части речи.
     
  4. Piranha

    Piranha

    Регистр.:
    1 дек 2008
    Сообщения:
    534
    Симпатии:
    69
    не читает, или если даже и читает то тратит на это достаточное время, а вот если сможешь сделать такой генератор, считай обеспечен до конца жизни, ибо даже не на продажу а под свои нужды сможеть прикрутить под любое направление, только я могу на вскидку 5-10 тем привести где можно использовать такой уник и не только для ЯШИ :ay:
     
  5. SolutionFix

    SolutionFix 17 лет програмлю ;)

    Регистр.:
    20 ноя 2006
    Сообщения:
    272
    Симпатии:
    318
    Просто сделать такой генератор относительно несложно. Даже могу поделиться как,
    ибо уже реализовано ;)

    Так вот, для работы нам понадобится:
    1. ЛЮБОЙ исходный текст, спарсенный из любого источника. Тематика и так далее значения не имеют, нужно чтобы он был грамматически верным.
    2. Специфический словарь, в котором для каждого слова описано
    - род
    - ед/мн число
    - часть речи (глагол/местоимение/предлог....)
    - время (настоящее, прошедшее, будущее - для глаголов)
    - некоторые другие параметры, все влом перечислять.

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

    Все. Текст грамматически верен, уникален, но абсолютно бессмыслен.

    PS Другой вопрос, написать ОСМЫСЛЕННЫЙ грамматически верный текст. Такая задача, могу вас уверить, не будет решена еще не один десяток лет - можете спать спокойно и даже не браться за нее.
     
    bigbug и Piranha нравится это.
  6. k2651

    k2651

    Регистр.:
    21 дек 2008
    Сообщения:
    169
    Симпатии:
    103
    Определять вхождение слова в такую базу ИМХО будет затратно по времени и ресурсам.
    Поэтому для себя я поставил задачу немного шире.
    1. Определить части речи, по признакам. Дабы машина сама их разбирала и добавляла в нужн. массив. К примеру глаголы можно определить как все слова (или с большой вероятностью) с окончанием -ься, тся. Прилагательные с суфиксами и окнчаниями -анный, -енный и т.д. У времен тоже есть свои признаки. Естественно я привел простейшие решения.
    Предлоги, местоимения, имена собственные конечно придется создавать вручную.
    Генерацию думал сделать по схемам, хотя и этот вариант можно рассмотреть.
    Текст естественно получится безсмысленным, но для доровея многого не надо, главное чтоб ПС скушали.

    Всё это реализовать трудозатратно. Поэтому и спрашивал
    _______________________________________________________________
    P.s. To SolutionFix Hide=200 для меня великовато. Если хотел помочь, то хоть в профиль бы глянул. ;)
    ________________________________________________________________
     
  7. tigga

    tigga Писатель

    Регистр.:
    19 мар 2009
    Сообщения:
    4
    Симпатии:
    0
    Перейти по ссылке вам для морфологического разбора)

    Перейти по ссылке вам первая пища для размышлений

    Добавлено через 5 минут
    Вы будете словарь собирать с год... Даже если взять за основу словарь Зализняка, в котором содержиться порядка 45% слов(и их словоформ) упоминаемых в прессе, то все равно не получится) Не забывайте что ключи начинаются от двухсложных, и учитывая точные вхождения, вы проведете одну замену на 1кб текста
     
  8. SolutionFix

    SolutionFix 17 лет програмлю ;)

    Регистр.:
    20 ноя 2006
    Сообщения:
    272
    Симпатии:
    318
    Это почему же? Это ОДНА операцияя выборки из базы по сложному индексу! Милисекунды + ОДНА строчка!!
    Другой вопрос, как совершенно правильно сказано, что
    Это да.

    Уж куда сложнее и ненадежней
    Это немалый труд, найти все закономерности. Я например на такой програмистский подвиг - написать шестьсот строк select не готов :)

    В действительности, когда словарь формируется из текста параллельно самой замене, проставить в словаре параметры не так и сложно. Всего используется в живой речи около 3-4k слов, и в среднем 3 формы на слово. Это два-три дня посидеть и мышкой проставить (прощелкать) параметры из предлагаемых.

    "вы проведете одну замену на 1кб текста" - нет, где-то каждое седьмое предложение получается таким образом обработать. Но грамматически верного текста ж в интернете дох^w очень много, правда? Меня вполне устраивает такой выход.

    О, добрались до сути! А это Вам решать. Если задача стоит написать дорген и его продавать, то однозначно такой алКогоритм генерации был бы "фишкой" доргена. Если Вы эксперементируете с дорами - то наверно не стоит, лезут же у людей и так они, зачем искать лучшее от хорошего. Если Вы попробовали и убедились что доры с таким алгоритмом лезут лучше и/или живут дольше, тогда тсссс. Быстренько клепаем тысячи доров и едем отдыхать на остров. На свой, только что купленный :) .
     
  9. wal

    wal Постоялец

    Регистр.:
    24 мар 2008
    Сообщения:
    89
    Симпатии:
    30
    уже давно реализовано и отлично работает

    http://forum.searchengines.ru/showthread.php?p=2991267 - тут можно поглядеть...

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