Pull to refresh

Comments 13

В ближайшее время постараюсь сделать онлайн-версию для тестирования
У меня для проверки есть фраза, на которой ломаются 100% чат-ботов:
«Не говори мне на завтра погоду в Питере»
UFO just landed and posted this here
Что-то мне подсказывает, что «не» не стоит заносить в стоп-слова…
Да, действительно. Приведенный выше список не окончательный и требует редактирования
А мне — что стоит даже склеивать с прошлым и последующим токеном (впрочем, если данных достаточно — можно заюзать биграммы, а не делать это явно) — или, возможно, инвертировать значение соответсвующей им фичи.

Это все (склеивать или инвертировать) — явное прописывание правил. До определенного момента работает, а потом упирается в предел. Причем упирается очень быстро, намного раньше, чем будет достигнут уровень Сири.

Ну, ясное дело. Но думаю, тут мы раньше упрёмся в невозможность обучить таким правилам неявно на доступной выборке. Или ошибаюсь? (пока не вглядывался в датасет, да).

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

А прогонять через нейронку.
текст будет более связный.
При создании программы преобразования текста на ЕЯ при возникновении проблемы
есть возможность использовать эту же программу для ее решения, т.к. на ЕЯ можно описать что угодно.
При таком подходе проблемы будут все более узкими и поэтому когда-нибудь закончатся.
Например, автор начал с РВ, но возникла проблема их ручного ввода.
Так может вместо бесполезных разговоров сначала научить программу создавать эти РВ
из диалога на ЕЯ, хотя бы даже введя нужные для этого РВ вручную.
А «именованные сущности» в РВ уже есть: (?<name> ...)
Еще в РВ привлекает то, что они служат для обработки текста, сами являясь текстом.
Т.е. предполагают самоприменимость, однородность, бутстрапность.
Я сильно подозреваю, что при наличии достаточной ловкости ума, используя РВ,
ИИ можно написать вообще в сотню строк кода.
Лучше вместо Стеммера Портера использовать Snowball, а еще лучше лемматизатор. Точность намного выше. У себя для .NET использую вот этот, обернутый в WebAPI, развернутые в оперативной памяти словари занимают примерно 300Мб.
Когда требуется оффлайн вычисления, понижаю точность, используя эту реализацию Snowball.
Sign up to leave a comment.

Articles