Хорошая статья. В этой статье habrahabr.ru/blogs/algorithm/105450/ я использовал похожий подход.
Но в основе были полукольца. А точнее, конечные автоматы на тропическом и вероятностном полукольцах. В статье об этом не написано, т.к. не решился писать про кольца, моноиды и т.п. Но математика работает красиво.
> В нашем случае тексты были примерно одной и той же длины, в реальных ситуациях частотную матрицу > следует нормализовать. Стандартный способ нормализации матрицы TF-IDF
TF-IDF не столько способ нормализации, сколько способ выделить наиболее значимые в рамках документа слова. Он максимален, если термин часто встречается в документе, и редко — во всем наборе документов.
В остальном хорошая статья на правильную тему.
ps кстати, не в курсе как работать с большим набором терминов? Обычно это проблема для LSA.
Да я вас понял. Просто понятие имеет в особое значение.
А что касается «пренебречь» — то тут согласиться не могу. Сложность алгоритмов вещь злобная. К примеру, если мы решаем задачу коммивояжера с операцией в одну микросекунду (10^(-6)), то для поиска по n городам нам потребуется:
10 — 0,001 секунда
30 — 1073 секунды
50 — 1125899906.8426239 секунд или около 35 лет
Вроде данных и не много, но O(2^n) это тяжело. Тут хоть какие ресурсы бери, все равно сольем. А на счет криптографии: ломать то можно. Но часто это дороже, чем то ради чего ломаешь.
Хороший пост. Но будьте осторожны с заявлениями О(n).
Это предполагает, что n любым (больше определенной константы).
Само собой для бесконечного n вы не наберете процессоров.
Извините за придирку, но это важно.
Так и задачу коммивояжера за линейное время можно решить :).
Как я понял, это реализация стенфордского парсера на плюсах. Точно не уверен, поддерживает ли он Dependency Grammar. Возможно, поддержка есть. Хвалятся скоростью.
А фейсбук много приносит?
Если создатели верят в перспективу и хотят сохранить контроль, пусть так и будет. К тому же не бизнес не всегда создается ради продажи. Иногда он просто интересен сам по себе.
Я видел демки систем. Одна из них — бронирование авиабилетов, другая — справочник по городу. На входе — речь. На выходе — купленный билет или справка.
Но в живую и в реальности я таких фокусов не видел. Может быть, где-то все же есть.
Если интересует как это все может работать и на сколько сложно — гляньте книжку Artificial Intelligence: A Modern Approach. Там довольно подробно обсуждаются проблемы и решения в этой теме.
ps искусственный интеллект это и есть математика )
Обычно, это не мат. моделью называется.
Лингвисты выделяют отдельные ступени, и задействуют их при решении каких-то задач.
К примеру, для поиска синонимов обычно достаточно почистить текст и заюзать морфологию.
Для вытаскивания фактов точно понадобится синтаксис.
А для вашей задачи — полный набор: морфология, синтаксис, семантика, прагматика + спелл-чекер в придачу.
Да, и еще задачу сильного АИ решить, чтоб перед записью уточнил, что за розовую флешку вы имели ввиду :)
Вобщем, сложно это. Сейчас решаются только сильно ограниченные задачи, да и то с ограничениями :).
Не так много, как я думал, но все же.
Я к тому, может, как то статистически это отработать. Идей как это сделать нет, но есть ощущение, что можно. Через тот же machine learning/svm.
Хорошая статья, спасибо.
На счет правил в LanguageTool. Скажите, а сколько их там? Есть ощущение, что их много, и писать их и поддреживать не так просто.
Бррр. Столько мнений.
К оригиналу статьи идут довольно грамотные комментарии специалистов. В статье похоже сделали некорректные выводы. К примеру, системы голосовых команд оценивались на тестах для распознавания связной речи. Получались грустные результаты. Но ведь эти системы и не предназначены для этого.
Но в основе были полукольца. А точнее, конечные автоматы на тропическом и вероятностном полукольцах. В статье об этом не написано, т.к. не решился писать про кольца, моноиды и т.п. Но математика работает красиво.
TF-IDF не столько способ нормализации, сколько способ выделить наиболее значимые в рамках документа слова. Он максимален, если термин часто встречается в документе, и редко — во всем наборе документов.
В остальном хорошая статья на правильную тему.
ps кстати, не в курсе как работать с большим набором терминов? Обычно это проблема для LSA.
А что касается «пренебречь» — то тут согласиться не могу. Сложность алгоритмов вещь злобная. К примеру, если мы решаем задачу коммивояжера с операцией в одну микросекунду (10^(-6)), то для поиска по n городам нам потребуется:
10 — 0,001 секунда
30 — 1073 секунды
50 — 1125899906.8426239 секунд или около 35 лет
Вроде данных и не много, но O(2^n) это тяжело. Тут хоть какие ресурсы бери, все равно сольем. А на счет криптографии: ломать то можно. Но часто это дороже, чем то ради чего ломаешь.
Это предполагает, что n любым (больше определенной константы).
Само собой для бесконечного n вы не наберете процессоров.
Извините за придирку, но это важно.
Так и задачу коммивояжера за линейное время можно решить :).
Как-то в твиттере проскакивал парсер: github.com/wavii/pfp
Как я понял, это реализация стенфордского парсера на плюсах. Точно не уверен, поддерживает ли он Dependency Grammar. Возможно, поддержка есть. Хвалятся скоростью.
Если создатели верят в перспективу и хотят сохранить контроль, пусть так и будет. К тому же не бизнес не всегда создается ради продажи. Иногда он просто интересен сам по себе.
Я видел демки систем. Одна из них — бронирование авиабилетов, другая — справочник по городу. На входе — речь. На выходе — купленный билет или справка.
Но в живую и в реальности я таких фокусов не видел. Может быть, где-то все же есть.
Если интересует как это все может работать и на сколько сложно — гляньте книжку Artificial Intelligence: A Modern Approach. Там довольно подробно обсуждаются проблемы и решения в этой теме.
ps искусственный интеллект это и есть математика )
Лингвисты выделяют отдельные ступени, и задействуют их при решении каких-то задач.
К примеру, для поиска синонимов обычно достаточно почистить текст и заюзать морфологию.
Для вытаскивания фактов точно понадобится синтаксис.
А для вашей задачи — полный набор: морфология, синтаксис, семантика, прагматика + спелл-чекер в придачу.
Да, и еще задачу сильного АИ решить, чтоб перед записью уточнил, что за розовую флешку вы имели ввиду :)
Вобщем, сложно это. Сейчас решаются только сильно ограниченные задачи, да и то с ограничениями :).
Правда, там маловато ошибок.
А в целом, да хороших юзабельных корпусов ошибок на связных текстах не встречал.
Я к тому, может, как то статистически это отработать. Идей как это сделать нет, но есть ощущение, что можно. Через тот же machine learning/svm.
Коль, подойди.
Ждать у моря погоды.
Подался в лингвисты.
На счет правил в LanguageTool. Скажите, а сколько их там? Есть ощущение, что их много, и писать их и поддреживать не так просто.
К оригиналу статьи идут довольно грамотные комментарии специалистов. В статье похоже сделали некорректные выводы. К примеру, системы голосовых команд оценивались на тестах для распознавания связной речи. Получались грустные результаты. Но ведь эти системы и не предназначены для этого.
Так что все далеко не так плохо.
Уже пять лет слышу это слово и все никак не могу привыкнуть.