Раз речь зашла о сравнении двух приложений, давайте сравнивать по всем параметрам. И, для примера, я в Европе бываю чаще, чем в Ульяновске. Для меня это важно.
Сильно от задачи зависит. Вот вам мысленный эксперимент:
Нужно написать индекс для какой-то кастомной базы данных. Одному разработчику даем несколько попыток, второму — время и книжку Кормена по структурам и алгоритмам.
Справедливо. Такие инструменты есть. Соглашусь что nltk не часто используется, хотя штука полезная.
Но, несколько моментов: на счет качества, на счет скорости и на счет легкости вхождения.
Когда битва начинается за проценты качества nltk не помогает, а больше мешает. К примеру таггер я банально переписал, используя liblinear, потому что из коробки (и даже после перетренировки) он давал очень плохой результат на данных из твиттера.
Далее, некотоыре моменты сделаны откровенно неоптимально. Возможно, я кое-чего недоглядел, но вычисление того-же tf-idf происходило экстремально долго. Пришлось переписать (правда, кода на 10 строк с numpy). Кроме того, нешустро работали и классификаторы на более-менее приличных объемах. Было еще несколько моментов, где пришлось отказаться от nltk.
Про легкость вхождения. Здесь вы правы. Я когда-то читал nltk book. Изложение простое, лаконичное. Но тут есть проблема — оно слишком поверхностное. Так как рано или поздно вам понадобятся знания как именно устроен тот или иной классификатор, что такое энтропия и перплексия, как работаю парсеры и регекспы, и т.п.
Резюмируя, скажу что это отличный пакет для обучения. Начинаешь быстро понимать, как это все работает вместе. Но для реальной работы скорее понадобятся другие, более оптимальные инструмены.
Забыл добавить. Конечно же, важен корпус. У нас была целая система маркирования и отряд американских студентов. Был, кстати, забавный случай, когда несколько студентов жили в одной комнате и тупо копировали данные маркировки друг у друга (одни и те же данные должны были быть маркированны несколькими людьми). Мы это дело вычислили и настучали им по шапке :).
Немножко личного опыта по классификации англоязычных твитеровских сообщений:
— svm с линейным ядром, наивный байес, логист. регрессия давали значительно меньшую точность
— очень важно выбрать правильные фичи, остановились на 1-2-3 граммах
— TF-IDF не дала сильного прироста
— предварительная нормализация важна, особенно для такой помойки как твиттер
— важны знаки препинания
— как сказал ffriend, в реальном приложении скорее всего будет набор классификаторов. Важно правильно составить композицию
А как на счет unsupervised подхода? Мне кажется он идеально подойдет для выделения и взвешивания фич. Вы пробовали это?
> По тесту Тьюринга — пока других формальных критериев такой же мощности у нас нет.
Формальных? Можете записать тест Тьюринга в какой-нибудь формальной системе? Сомневаюсь.
Относительно всех этих критериев. Это критерий чего? Вы хотите сделать оценку, на сколько данная программа является true AI? Вроде estimate(siri) = 0.4 of true AI? Зачем это вообще нужно?
На счет машины Геделя. Я почитаю позже подробней. Но пока все равно не ясно зачем вы ее сюда притянули. Оптимизирующийся солвер — он к чему тут? Кстати, у этой «модной» концепции в википедии всего одна строка.
Автор, вы могли бы написать то же, только формально? Или хотя бы дать формальное определение машины Геделя?
Из статьи я не понял, к чему вообще противопоставление Геделя и Тьюринга. На сколько я помню, Тьюринг использовал идеи Геделя для демонстрации невычислимости. Что такое ИИ по Геделю и по Тьюрингу?
На счет теста Тьюринга. Не надоело его пихать во все места? Думаю Тьюринг бы долго смеялся, узнав что из простого мысленного эксперимента выстроили религию. Почитайте, что Норвиг об этом пишет.
В книжке есть немного про теорию информации и энтропию. Но о чем еще писать в учебнике, как не о практическом приложении? Покажите мне как использовать колмогоровскую сложность для решения моих практических задач классификации — охотно буду ее использовать.
На сколько я знаю, Воронцов в своих лекциях использует понятие алгоритм и поиск в пространстве алгоритмов явно. Но опять же, все сводится к стандартным методам, или эвристикам, если хотите. (кстати, Воронцов использует «урезанную» аксиоматику Колмогорова. Забавная штука, правда сильно не вникал)
Задам делетантский вопрос, т.к. не спец в теоретическом cs. Под поиском алгоритма, вы, грубо говоря, предлагаете перебрать все машины тьюринга до нахождения нужного алгоритма? :)
Зря вы так, никто ничего не скрывает. В той же книжке Бишопа подробно описана проблема переобучения и приводятся примеры, когда имеет смысл использовать байесовский prior, и как его испльзовать.
Что же касается поиска в пространстве алгоритмов — так все понимают, что в этом и есть проблема: как искать и где. А проблема определения закономерного-случайного до сих пор не определена. Буквально вчера смотрел хорошую лекцию Ширяева на эту тему.
Вообще, статья хорошая, спасибо. Наконец-то не псевдонаучный бред, а что-то по делу. Хотя, я чувствую умельцы по части сильного ИИ скоро подтянутся и начнут неистово комментить :).
Недавно был в Ирландии по работе. Встретился со знакомой. Она «разнорабочая», в основном убирает номера в отелях. Ей платят 14 евро в час. На сколько я знаю, это больше чем получает в среднем «высоквалифициорованный дефицитный ИТ-персонал» в люксофте. Забавно.
Да уж, сформировали имидж. Хотя, по другому я думаю не могут — сама суть бизнеса такая.
Это начиналось как работорговля — берем людей по ставке X/час, продаем по 10X/час. Но потом они пошли дальше — ввели продажу людей оптом + сервис «персональный раб». Назвали это выделенными центрами. Очень удобно — никаких рисков, главное чтоб народ недорогой был в наличии.
Занятно, что за столько времени они так и не отошли от этого — за всю историю ни одного серьезного продукта. Работорговля в чистом виде :).
Сейчас получаю в 9 раз больше, чем получал когда-то в Люксофте. И стало как-то глубоко все равно на соц.пакет, комнаты для релакса и прочие морковки для мотивации. А на счет уверенности, не забыли ли дубниский филиал, который сильно подсократили когда кризис припер? И куда-то вдруг исчезла и корпоративная культура, и командный дух, и лояльность :).
Вообще, я могу говорить на эти темы много. К примеру, знаю приблизительно как speech recognition сделан у гугла и ньюанса. Мой босс недавно общался с основателем siri, его бывшим коллегой. Хотели запускать с ними пилотный проект.
А все же, почему нейрон, отвечающий за конкретный образ или структуру должен обязательно появиться? Я не специалист в нейронных сетях, но есть ощущение что он совсем не обязан возникнуть. Более того, вполне возможно что это не один нейрон, а какая-то группа (реализующая функцию распознавания лиц/котов). Поясните плз.
О, это уже интересно. Так собственно как этот объезд препятствий происходит? Картинка считывается с камеры? Или там дальномер какой-то стоит? Как это потом обрабатывается, какие модели? Спасибо.
Нужно написать индекс для какой-то кастомной базы данных. Одному разработчику даем несколько попыток, второму — время и книжку Кормена по структурам и алгоритмам.
Я уверен, что последний справится лучше.
Но, несколько моментов: на счет качества, на счет скорости и на счет легкости вхождения.
Когда битва начинается за проценты качества nltk не помогает, а больше мешает. К примеру таггер я банально переписал, используя liblinear, потому что из коробки (и даже после перетренировки) он давал очень плохой результат на данных из твиттера.
Далее, некотоыре моменты сделаны откровенно неоптимально. Возможно, я кое-чего недоглядел, но вычисление того-же tf-idf происходило экстремально долго. Пришлось переписать (правда, кода на 10 строк с numpy). Кроме того, нешустро работали и классификаторы на более-менее приличных объемах. Было еще несколько моментов, где пришлось отказаться от nltk.
Про легкость вхождения. Здесь вы правы. Я когда-то читал nltk book. Изложение простое, лаконичное. Но тут есть проблема — оно слишком поверхностное. Так как рано или поздно вам понадобятся знания как именно устроен тот или иной классификатор, что такое энтропия и перплексия, как работаю парсеры и регекспы, и т.п.
Резюмируя, скажу что это отличный пакет для обучения. Начинаешь быстро понимать, как это все работает вместе. Но для реальной работы скорее понадобятся другие, более оптимальные инструмены.
С Freeling не работал, так что здесь молчу.
Жду появления чего-то вроде kaggle.com. Это может сильно подхлестнуть интерес к биоинформатике.
Немножко личного опыта по классификации англоязычных твитеровских сообщений:
— svm с линейным ядром, наивный байес, логист. регрессия давали значительно меньшую точность
— очень важно выбрать правильные фичи, остановились на 1-2-3 граммах
— TF-IDF не дала сильного прироста
— предварительная нормализация важна, особенно для такой помойки как твиттер
— важны знаки препинания
— как сказал ffriend, в реальном приложении скорее всего будет набор классификаторов. Важно правильно составить композицию
А как на счет unsupervised подхода? Мне кажется он идеально подойдет для выделения и взвешивания фич. Вы пробовали это?
Формальных? Можете записать тест Тьюринга в какой-нибудь формальной системе? Сомневаюсь.
Относительно всех этих критериев. Это критерий чего? Вы хотите сделать оценку, на сколько данная программа является true AI? Вроде estimate(siri) = 0.4 of true AI? Зачем это вообще нужно?
На счет машины Геделя. Я почитаю позже подробней. Но пока все равно не ясно зачем вы ее сюда притянули. Оптимизирующийся солвер — он к чему тут? Кстати, у этой «модной» концепции в википедии всего одна строка.
Из статьи я не понял, к чему вообще противопоставление Геделя и Тьюринга. На сколько я помню, Тьюринг использовал идеи Геделя для демонстрации невычислимости. Что такое ИИ по Геделю и по Тьюрингу?
На счет теста Тьюринга. Не надоело его пихать во все места? Думаю Тьюринг бы долго смеялся, узнав что из простого мысленного эксперимента выстроили религию. Почитайте, что Норвиг об этом пишет.
На сколько я знаю, Воронцов в своих лекциях использует понятие алгоритм и поиск в пространстве алгоритмов явно. Но опять же, все сводится к стандартным методам, или эвристикам, если хотите. (кстати, Воронцов использует «урезанную» аксиоматику Колмогорова. Забавная штука, правда сильно не вникал)
Задам делетантский вопрос, т.к. не спец в теоретическом cs. Под поиском алгоритма, вы, грубо говоря, предлагаете перебрать все машины тьюринга до нахождения нужного алгоритма? :)
Что же касается поиска в пространстве алгоритмов — так все понимают, что в этом и есть проблема: как искать и где. А проблема определения закономерного-случайного до сих пор не определена. Буквально вчера смотрел хорошую лекцию Ширяева на эту тему.
Вообще, статья хорошая, спасибо. Наконец-то не псевдонаучный бред, а что-то по делу. Хотя, я чувствую умельцы по части сильного ИИ скоро подтянутся и начнут неистово комментить :).
ps на статью Соломонова можете ссылочку скинуть?
Это начиналось как работорговля — берем людей по ставке X/час, продаем по 10X/час. Но потом они пошли дальше — ввели продажу людей оптом + сервис «персональный раб». Назвали это выделенными центрами. Очень удобно — никаких рисков, главное чтоб народ недорогой был в наличии.
Занятно, что за столько времени они так и не отошли от этого — за всю историю ни одного серьезного продукта. Работорговля в чистом виде :).
Успехов вам!
Вообще, я могу говорить на эти темы много. К примеру, знаю приблизительно как speech recognition сделан у гугла и ньюанса. Мой босс недавно общался с основателем siri, его бывшим коллегой. Хотели запускать с ними пилотный проект.
Кроме того, что siri — это приобретенная компания.