Кстати, для русского очень полезно создавать фичи на основе морф. характеристик.
Я не уверен, что MaltParser это делает. В русском POS-тег(если так можно назвать) составной, а не атомарный.
Скажем если использовать признак падежа, то можно улучшить модель за счет согласования падежей.
Да легко. Проблемы обычно в другом. Например «Моих друзей звали Иван и Петр». имена моих друзей Иван и Петр. Или Петр и Иван звали(окликали) моих друзей?
В СинТагРусе нет фиктивной вершины.
Вершина предложения — слово «съешьте», от него идет сочинительная связь к «да».
Другой такой пример «Я купил овощи, фрукты и хлеб».
будет купил -> овощи -> фрукты -> и -> хлеб. Это в том числе связано с моделью языка.
У «купить» есть актант, который отвечает на вопрос что — купить [объект]. В этом случае [объект] — это фактически группа «овощи, фрукты и хлеб», которая обозначается вот так с соответвующими именами связей.
Тут хорошо бы еще сказать, что для того, чтобы все это заработало, необходим POS-теггер и лемматизация, соответствующая корпусу. Работать с неразрешенной морфологической омонимией MaltParser не умеет. Да, еще нужна и морфология в формате морф.данных СинТагРуса — ковертация из АОТ проходит не так гладко, насколько я понимаю.
Ну и для тех, кто не очень в теме: создание корпуса — ОЧЕНЬ дорогая процедура.
СинТагРус размечается с 2003 года, сейчас в нем ок. 49 тыс. предложений. Первоначальная разметка делается автоматически и дает ок. 80% правильных связей. Потом структуры корректируются двумя независимым лингвистами. Когда корпус становится достаточно большим, то уже надо следить за единообразием разметки.
Я прекрасно понимаю причины, по которым эти проблемы существуют.
Я б не стал сравнивать C++ и Common Lisp.
Вообще, ему бы значительно лучше чувствовалось, если бы он работал на lisp-машинах.
Просто при наличии актуального стандарта возрастает переносимость кода. Да, во многих lisp-средах сейчас есть многопоточность. Но у всех она разная, и для этого нужны дополнительные обертки, которые приводят к общему знаменателю.
Сейчас, на мой взгляд, уже проще освоить clojure и писать под jvm, чем изучать common lisp.
Код на clojure хоть из java вызвать можно, а common lisp с этим некоторые проблемы.
Кроме того, стандарт несколько устарел за более чем 10 лет. Например, в CL нет нормальных хеш-таблиц для объектов. Да, есть hash-table и функции вроде make-hash-table, но как туда задать собственную функцию проверки равенства?
Ну и банально — стандартные функции проверки равенства не расширяются на объекты. Надо городить свой огород например создавая generic-функцию object-equalp
Я бы не был очень категоричен в отношении различных dnsbl. Их можно использовать как дополнительные индикаторы — как это сделано в SpamAssassin.
Во всяком случае, полезно оставлять abuse@domain открытым для жалоб. Тогда при желании можно добавить в белые списки тех, кто вдруг оказался в dnsbl, но при этом пользоваться их преимуществами.
У нас по статистике получается ложное срабатывание в 4-6 случаях на 10 тыс. писем, отсеянных по dnsbl
С домофоном наверное не самый удачный пример. Например в моем доме плата за домофон составляет 60 р/мес. Сооветственно комиссия составляет 50% от этой суммы.
Ну да, диссер защищается по формальным параметрам. Сейчас он рассматривается как квалификационная работа, что Иванов Иван Иваныч может проводить научные исследования. Так же как диплом — Иванов И.И. может быть инженером.
Ну и еще раз, да. Научная работа и защита диссертации абсолютно ортогональные виды деятельности.
Проблема в написании правил :)
Я не уверен, что MaltParser это делает. В русском POS-тег(если так можно назвать) составной, а не атомарный.
Скажем если использовать признак падежа, то можно улучшить модель за счет согласования падежей.
В СинТагРусе нет фиктивной вершины.
Вершина предложения — слово «съешьте», от него идет сочинительная связь к «да».
Другой такой пример «Я купил овощи, фрукты и хлеб».
будет купил -> овощи -> фрукты -> и -> хлеб. Это в том числе связано с моделью языка.
У «купить» есть актант, который отвечает на вопрос что — купить [объект]. В этом случае [объект] — это фактически группа «овощи, фрукты и хлеб», которая обозначается вот так с соответвующими именами связей.
подкорпус НКРЯ со снятой морфологической омонимией — ок. 8 млн. словоформ.
Ну и для тех, кто не очень в теме: создание корпуса — ОЧЕНЬ дорогая процедура.
СинТагРус размечается с 2003 года, сейчас в нем ок. 49 тыс. предложений. Первоначальная разметка делается автоматически и дает ок. 80% правильных связей. Потом структуры корректируются двумя независимым лингвистами. Когда корпус становится достаточно большим, то уже надо следить за единообразием разметки.
1. :hash-function не является стандартным ключом
2. :test по стандарту может быть только eq, eql, equal, или equalp
Т.е. если так делать, то могут возникнуть потенциальные грабли с переносимостью на другие реализации.
Я б не стал сравнивать C++ и Common Lisp.
Вообще, ему бы значительно лучше чувствовалось, если бы он работал на lisp-машинах.
Просто при наличии актуального стандарта возрастает переносимость кода. Да, во многих lisp-средах сейчас есть многопоточность. Но у всех она разная, и для этого нужны дополнительные обертки, которые приводят к общему знаменателю.
Сейчас, на мой взгляд, уже проще освоить clojure и писать под jvm, чем изучать common lisp.
Код на clojure хоть из java вызвать можно, а common lisp с этим некоторые проблемы.
Кроме того, стандарт несколько устарел за более чем 10 лет. Например, в CL нет нормальных хеш-таблиц для объектов. Да, есть hash-table и функции вроде make-hash-table, но как туда задать собственную функцию проверки равенства?
Ну и банально — стандартные функции проверки равенства не расширяются на объекты. Надо городить свой огород например создавая generic-функцию object-equalp
Во всяком случае, полезно оставлять abuse@domain открытым для жалоб. Тогда при желании можно добавить в белые списки тех, кто вдруг оказался в dnsbl, но при этом пользоваться их преимуществами.
У нас по статистике получается ложное срабатывание в 4-6 случаях на 10 тыс. писем, отсеянных по dnsbl
Так и в программировании/разработке необходимость придерживаться стандартов не означает отсутствия творчества.
Кроме того, забивать гвозди тоже определенное искусство.
Но если нужна ссылка то вот: www.gazeta.ru/news/science/2010/08/06/n_1530465.shtml
Ну да, диссер защищается по формальным параметрам. Сейчас он рассматривается как квалификационная работа, что Иванов Иван Иваныч может проводить научные исследования. Так же как диплом — Иванов И.И. может быть инженером.
Ну и еще раз, да. Научная работа и защита диссертации абсолютно ортогональные виды деятельности.
Т.е. защищается только каждый третий-четвертый.