Плюс у меня была кардинально противоположная ситуация, когда не хотели брать меня (в со-кодеры), но явно этого не объявляли. Причём окончательно я это понял через неделю переговоров по электронной почте — после собеседования, когда вместо вопросов по Си пошли вопросы по архитектуре процессора («какой байт записывается первым, старший или младший?») и вердикта «Си Вы не знаете» — мне было очень хреново.
Затем получился первый нюанс: мы с моим оценщиком разошлись в некоторых вопросах, он порекомендовал книгу где это описывается, я там нашёл доказательства не его но моей версии, ответ по электронке был «не важно, всё равно Вы Си не знаете» — я приободрился.
Второй нюанс вышел, когда какое-то время спустя мне пришлось разгребать его код, ругаясь и матерясь прилюдно и громко — те требования которые он оглашал (стабильная работа программы) у него не вполне выполнялись.
Ну, и естественно — он до сих пор без со-кодера/напарника.
Если мне кажется («я вижу»), что человек вроде бы не подходит, то:
1. это моё (субъективное) мнение, тесты могут показать другое.
2. тесты — объяснение для начальства «почему это я всех обоих кандидатов отшил? (тем более если они согласны работать за минимум?) а мы чтоб их найти туеву хучу денег заплатили!»
По моему маленькому опыту вспоминаю, что чем солиднее фирма и прибыльней работа — тем короче и проще были собеседование и тесты.
… А когда принимал на работу — основное значение имели опыт работы кандидата, причём в личных проектах; и результат этих проектов.
И если во время собеседования видишь, что чел не подходит — ну тогда засаживаешь его за тесты, и покидаешь его заради чего поинтереснее. :)
А у нас пантонные цвета (на не CMYK-овскую печать) подбирал дальтоник. Путём опроса окружающих «ну вот эти цвета совпадают, а?» Должность человеку такая досталась после 90-ых.
«Цель — достичь момента, когда вы планируете на 5 лет вперёд» — я не знаю, как у них в америках на родине автора, но имхо в моей жизни можно было что-то планировать до 1990-ых; потом реальность предвосхищала любые прогнозы (отчасти по этой причине Стругацкие перестали писать фантастику; ну… не это главная причина).
Про планирование: меня бесит вопрос на собеседованиях «кем вы себя видите через 5 лет?» ибо самый логичный ответ амбициозного соискателя работодателю-начальнику — «я себя вижу на вашем месте».
Если сейчас вы реализовали ваши планы пятилетней давности — возможно вы работаете сейчас по технологии пятилетней давности — о которых узнали пять лет назад? ;)
Не думаю, что многие из моих сверстников предполагали куда их вывезет жизнь и как их поставит; что тихоня станет полицейским, бандит — охранником, душа компании снаркоманится (а другой сбомжится), крутой уйдёт в дизайн, рохля получит чин в армии, а музыкант пойдёт торговать авто — имхо они «выбрали» то в чём были не сильны; но вроде это у них получается.
Ай, ну и плюс от трети до половины из них оказались за границей, и наверное навсегда — при окончании школы если кто об этом и мечтал, то думаю всерьёз не планировал. И… многие из тех кто там оказались — этого не планировали, думаю.
Целиком и полностью согласен с седьмым пунктом. К сожалению бизнес-Учителя по жизни, слышал, некоторые находят только после 40.
Плюс крайне мала вероятность, что человек старше тебя будет более сведущ в новых темах.
Хотел бы добавить от себя пункт: не забывать радоваться жизни (во всех её сферах). И… в 20 лет я наверное знал, но не придавал значения информации, что пик сексуальной активности приходится на возраст от 20 до 30 лет. Всё.
Вначале хотел спросить, в чём ценность этого поста, что у него такой зашкаливающий рейтинг.
Потом подумал, что пост о долгих фанатичных стараниях одинокого человека, ценой которых (вуаля!) ИИ нету, но есть известность («в некоторых (виртуальных) кругах») и высокий рейтинг. На хабре.
С чем мы себя и поздравляем.
По теме «распознания речи»: недавно заметил, что мне очень сложно понимать не родную речь, если говорящий не диктор, говорит на своём родном так как он привык и тем более если говорит по телефону на заранее не известную мне тему.
Ну… это просто надо самому пережить, чтоб не ставить завышенных требований к «интелектуальным системам» :)
Имхо, «понимать» (не текст, разумеется (и тем более не его настроение и эмоции) а слово, термин, определение) есть способность:
1. Иметь связи между другими определениями (и оценивать разницу между ними), причем связи с описанием (определением) какого типа эта связь; определение/описанием типа связи/связки/линка должно быть описано в рамках системы и по ее правилам.
2. "Применять" — иметь базу информации или возможность ее расчитать/спрогнозировать — по теме/на предмет: как изменится ситуация с термином/определением при применении к нему какого-то действия: как изменятся его аттрибуты, связи с другими объектами или способы его применения/взаимодействия.
3. и «Планировать» — то есть создавать виртуальную модель из графа предположений и/или изменений объектов/терминов после их взаимодействия или применения к ним каких-то модификаторов.
… Как простейший пример — если написать программу, которая будет не калькулятором, но сможет быть научена складывать (а может еще и вычитать) объекты и уметь выводить их сумму в десятичной форме — тогда по моему пониманию она будет их «понимать» — объекты, их количество и (возможные) взаимодействия между ними.
Прелесть отличия от жестко спрограммированного калькулятора в том, что такая система теоретически может развиваться дальше; но возникают вопросы (и «ножницы»): насколько сильно ей можно «помочь» в начале (вмешавшись в «самоформирование ее личности»), и (с другой стороны) — как сильно ей можно позволять заблуждаться в своих предположениях — как далеко разрешить ей заходить, используя (наверняка напрасно) время и память.
Там описано общение двух людей; имхо ошибка таких сравнений в том, что они рассматривают комп как человека, а потом ставят вопрос как этим двум людям договорится.
Для меня там не описано:
1. В каком виде должны хранится образы/объекты (чтобы их использовать и чтобы между ними протягивать «полезные» (термин ввожу не определяя его) ассоциации); и как их использовать.
2. Какова цель и подцели системы — просто слово «общение» — это не конкретно и эфимерно настолько, что не подлежит серьезному рассмотрению.
3. Как сделать систему, чтобы ее деятельность и/или результат на каком-то уровне детализации напоминал человеческую — это уже на мой взгляд чуть конкретнее, но без точного указания «на каком уровне и как машина должна давать результаты схожие с человеком» — это все еще не серьезное требование, а болтовня.
Имхо вы хотите от логического устройства «чего-то» человеческого, но даже требования не описываете понятным ему языком (логики+математики).
… А зачем компьютерам понимать текст, предназначеный человеку?
Текст, интересный (и скорей всего понятный) только некоторой группе людей? — Вы хотите, чтобы компьютер «правильно» (то есть так же, как автор текста и как Вы) понимал любой текст? То есть заранее имел те же опыт и знания, что и автор любого текста?… Плюс чтоб еще у него была ожидаемая реакция на текст (эмоция), то есть такая же, как и у тестирующих? Не меньше и, пардон, не больше? (вдруг он сделает какие-то обобщающие выводы, которые не только будут обидны для тех кто восхищался тестируемым текстом, но и будут непонятны самим проверяющим? — например выдаст данные о комплексах и прочем подсознательном проверяющих, на основе того текста, что они ему подсунули чтоб попроверять его)
Другой «оттенок» моего вопроса — а для чего это нужно самому компьютеру (программе, которая этим вынуждена заниматься)? ;)
Чтобы алгоритм (например понимания текста) работал и (само-)совершенствовался — для него имхо нужны примеры, мощный комп, и… цель. Конкретно и точно сформулрованная.… Насколько я понял, порогом понимания предыдущего текста было «определить, в каких отношениях находится автор с девушкой» — для этого «компьютеру» необходимо держать в голове все возможные данные по поводу объектов «автор» и «девушка»; то есть иметь в виду, что у этих двух объектов может быть в планах (я даже не знаю, конечный ли это был бы список), в том числе на счет друг-друга, и как эти два объекта могут взаимодействовать; и только после этого (имея «опыт» всех возможных варианов их поведения), система могла бы сделать вывод, который, думаю, пришел в голову большинству читателей только после «подсказки» автора… и то при условии, что система знает, что тема близких личных отношений считается у (данных, думаю не у всех) людей юмором, а значит, этот вариант отношений имеет заостренное внимание, а значит объекты «автор» и «абстрактная девушка» не просто так потолок разглядывали.
На мой скромный взгляд, чтобы оценивать исскуственно созданную информационную систему — нужно ставить точную и конретную систему оценок.
… Иначе выглядит как с одним «специалистом», который требовал чтоб программа работала так: ты ей входные данные «на бамажке» перед монитором показываешь, а она их воспринимает, перерабатывает как надо, и с другими людьми согласовывает… исходя из их личных вкусов.
Компьютеры лучше нас справляются с тем, подо что они «заточенны» — там, цифры посчитать, или количество символов.
Люди лучше компов справляются с тем, подо что они «заточенны» — обработка зрительной информации, управление движения телом. Ну и — обработка и передача абстрактных и эмоциональных знаний; имхо.
> Продолжаете ли развивать литовскую версию
— Нет, не вижу смысла. После ее выкладывания пришло только одно письмо (через год после «презентации») от секретарши какой-то фирмы: «мы готовы купить вашу программу, если она будет дешевле чем у конкурентов» — то есть за 30 евро, и то после того как она будет доведена до ума — а я не представляю, сколько лет на это понадобится потратить.
Надо бы ее сделать более открытой, как русскую; тогда стала бы видна краткая запись словаря; но все руки не доходят (находятся «более важные» дела).
> и почему в русской версии отказались от разбиения?
— Чтобы не возится с ним — ради экономии времени; чтобы поскорей представить программу интересующимся. Все равно, думаю, многие будут сравнивать ее с лучшими спеллчекерами, а она не может с ними равняться — ни по скорости, ни по полноте словаря, ни по эффективности его сжатия/оптимизации.
Мне бы английскую версию закончить (уж очень интересно, почему у моей программки (до презентации сдесь) треть скачиваний приходилось на Испанию); и начать бы следующую версию, в которой (я надеюсь) не будет «жесткости» теперешней версии.
> А в не думали пойти немного дальше?
— Тут уже предлагали много различных направлений; куда на этот раз?
> Не просто хранить атрибуты, но и разбивать слова на составные части — корень, суффикс, окончание? Вероятно, при некотором везении, можно существенно сжать словарь.
— А, это все было реализовано в предыдущих версиях для литовского языка. Только там без суффикса было: окончание (из шаблона склонения), приставки («не» для прилагательных и куча для глаголов) и основная часть (корень + возможные суффиксы).
> Как только встретилось новое слово — тут же предложить пользователю анализ этого слова и ввод атрибутов.
— … А это было в моей курсовой 2001 года «автоматический переводчик с английского на литовский»; пока я решил оставить этот модуль «на потом» — помю что он сожрал неожиданно много проектного времени (так что сам переводчик в срок закончить не удалось).
> то люди бы повнимательнее посмотрели на Ваш продукт
— Я уверен, что в мире постоянно появляется огромное количество более достойных программ, которым почему-то уделяется недостаточное (тем более по мнению создателей) внимане; как не стараются их авторы и что они только не предпринимают.
{ TranslateMessage(&msg); DispatchMessage(&msg); } я вроде «был отключивши», ибо такой код делал возможным закрыть программу во время распознания, и она ломалась, потому что при закрытии clean-up запускался неуведомив ядро.
> Немного поигрался со словарём и фразой…
— Несовершенство шаблона в Вашей версии программы: попробуйте разобраться как работает шаблон, затем попробуйте модифицировать его так, чтобы то предложение подпадало под него; а затем самое сложное: попробовать другие примеры предложений и разъяснить программе, которые из них не подходят под это новое правило, и почему.
… Так, постепенно доходит и проясняется: второй вариант есть простейшая конструкция «сказуемое (Передать) + дополнение (другой текст комп...)», а Вы хотите, чтоб был распознан вариант «сказуемое (Передать) + дополнение (что?-текст) + что-то еще от сказуемого (кому? чему?-компьютерной программе)» — в таком случае придется описать программе разницу, с какими глаголами и после каких дополнений можно ставить вот это вот "что-то еще от сказуемого", и что может быть в его роли. Чтобы не появлялись варианты типа «вижу текст компьютерной программе».
> можно просто так получить помощь в разработке, проверку в различных условиях, выявление скрытых багов. Пополнение словаря и шаблонов, в конце концов, чтоб мощности хватало.
— Ок, для этого имхо идеально подходит выложенная (бесплатная) программка; а код для чего выкладывать?
На мой взгляд точка зрения зависит от человека и от его позиции…
Есть программеры, которые пишут что-то в свое свободное время: одни из них за деньги, другие бесплатно и еще и код выкладывают.
У программ есть бывают пользователи (программеры и не обязательно): естествено, они хотят получить чем получше и бесплатно; думаю, у пользователей и у разработчиков скорей всего бывает разное мнение об одной и той же программе, разная точка зрения на то как оно работает и как оно должно работать. :)
… Имхо для абстрактного человека больше вероятность, что он будет «за» свободный код, если этот человек доктор наук, да уже и с сыном, да еще и со взрослым и зарабатывающим; а если этот человек — нищий программер на съемной квартире и без перспектив (семьи, недвижимости и более лучшей жизни), то идея «пописать еще» в свободное время «на благо всего человечества» думаю будет не так близка его сердцу, как для состоявшегося доктора наук. С уважением.
Мне тоже не ясно, что делать программисту с этой программой. Ибо она для демонстрации а не для «промышленного» использования.
Имхо ей нужна помощь тех редких лингвистов, которые бы смогли расширить ее шаблон предложения.
Файл словаря имхо имеет сруктуру достаточно простую для его наполнения другими программами; правда возможность описывать все формы слова указывая в словаре только одну его форму и его склонение — для русского языка не подключена; поэтому есть неудобство в том, что надо описывать все 12-25-36 форм для гнезда одного слова.
Я надеюсь, что система меток, на которую я мечтаю перевести программу, позволит изящноэлегантно решить и проблему со склонениями… и проблему синтеза/слияния синтаксического анализа с фонетическим; например когда в шаблоне для синтаксического анализа можно будет указать, что если следующее слово начинается с определенных букв, то предлог вместо «с» должен быть «со».
Уважаемий Либерман Лидер-ман, Вы знаете — почему-то жалко. Ну, как бы это объяснить, чтоб не выглядеть негодяем: я думаю редко люди раздают то, на что потратили года 4 жизни; например заработанную за 4 года зарплату, а?
Дамы и господа, партизаны и партизанки, товарисчи и комрады. Программа не может работать полноценно. Для этого ей не хватает мощности шаблона и словаря. Поэтому делать ее библиотечной (чтоб ею пользовались другие программы) я не вижу смысла.
Выкладывать исходники… я бы пока этого не хотел; а Вы не могли бы мне объяснить, дремучему, а зачем могут быть нужны исходники этой программы?
> Разумеется, я не переписывал программу в system32. Судя по всему, это проблема Firefox, если программа запускается из «Списка загрузки».
— Ну… я привык не доверяться списку загрузки, а лично указывать что куда записать при скачивании; описаную Вами ситуацию я просто не проверял.
> А что с литовским языком?
— Имхо он ближе к русскому, чем к английскому — (почти) 6 падежей, два рода (почти), два числа; примерно те же части речи.
Но конструкция предложения несколько отличается от русского.
> Распознавание 5% процентов — это уже интересно.
— Просто где-то в 2005 я нашел свободный словарь для проекта iSpell, предназначенный для спеллинга литовского языка; я им воспользовался ибо там можно было выудить не только форму слова, но и ее атрибуты (род, число, падеж, лицо) — а именно это необходимо для проверки согласования.
А дальше — цитирую: «Внимание! Литовская версия программы правильно распознаёт менее 5% предложений — из-за неполноты словаря программы (80,000 гнёзд слов) и из-за несовершенства шаблона предложения.»
> Кстати, а в эстонском и латвийском языках шаблоны идентичны литовским?
— Этого я не знаю.
Повторяю: слышал, что шаблон предложения создавался для русского языка какими-то российскими институтами => фирмами. Какова ситауция с эстонским, латвийским и литовским языками — я просто не знаю; занимался ли кто-то созданием для них шаблонов.
Плюс, попробовав это, я острее понимаю, что: набрать базу предложений, распознать каждое в дерево, и на основе анализа деревьев создать универсальное (дерево, и прогнать все по новой) — это три большие разницы.… То есть, имхо, это самый сложный путь «распиливания» бюджета лингвистического иститута — я уверен, что таких немало, но мало кто на такое пойдет.
> Фраза из Маяковского… Дала восхитительные результаты…
— Цитирую: «В русской версии процент распознания мизерный, словарь состоит всего из… форм слов для 4 существительных, 3 прилагательных, 4 глаголов, 3 наречий». Защищая порядочность программы, могу предположить, что она просто подобрала ближайшие слова из словаря; безо всякого злого умыслу.
… И опять-таки, такой фразы я просто не тестировал…
> А вот на таком предложении программа уходит в бесконечный цикл: — Время распознания (всех возможных вариантов предложения) остается приемлимым, если в предложении за одно распознание разрешено менять форму максимум для двух существительных (для остальных частей речи такое ограничение не обязательно — их другие формы не пораждают такого дикого количества вариантов начальной фразы).
Возможно у Вас были «разрешены другие формы слова» (чекбоксом) для всех 8 имен существительных в предложении; хотя словарь состоит всего из 4 имен существительных.
На мой взгляд в той ситуации было бы правильнее вручную добавить недостающие слова в словарь (по 12-48 форм для каждого слова) и усовершенствовать шаблон (хотя я бы не рискнул улучшать шаблон, тем более для Маяковского; учитывая мои потуги последних месяцев — дай бог простое английское предложение осилить).
Неполнота, неуместность, плохой стиль, исправления, синтаксические исправления — все это «неправильность». Я выбрал «плохость стиля».
Вспомнил. Мультик назывался «Лило и Стич», там было использовано это слово.
Кроме того, фраза «плохость стиля» сама по себе является примером плохого стиля ;)
Плюс у меня была кардинально противоположная ситуация, когда не хотели брать меня (в со-кодеры), но явно этого не объявляли. Причём окончательно я это понял через неделю переговоров по электронной почте — после собеседования, когда вместо вопросов по Си пошли вопросы по архитектуре процессора («какой байт записывается первым, старший или младший?») и вердикта «Си Вы не знаете» — мне было очень хреново.
Затем получился первый нюанс: мы с моим оценщиком разошлись в некоторых вопросах, он порекомендовал книгу где это описывается, я там нашёл доказательства не его но моей версии, ответ по электронке был «не важно, всё равно Вы Си не знаете» — я приободрился.
Второй нюанс вышел, когда какое-то время спустя мне пришлось разгребать его код, ругаясь и матерясь прилюдно и громко — те требования которые он оглашал (стабильная работа программы) у него не вполне выполнялись.
Ну, и естественно — он до сих пор без со-кодера/напарника.
1. это моё (субъективное) мнение, тесты могут показать другое.
2. тесты — объяснение для начальства «почему это я всех обоих кандидатов отшил? (тем более если они согласны работать за минимум?) а мы чтоб их найти туеву хучу денег заплатили!»
… А когда принимал на работу — основное значение имели опыт работы кандидата, причём в личных проектах; и результат этих проектов.
И если во время собеседования видишь, что чел не подходит — ну тогда засаживаешь его за тесты, и покидаешь его заради чего поинтереснее. :)
«Я звиняюся», Вы не указали мою статью (возможно не увидев её по моей вине), тоже про синтаксический анализ предложений: habrahabr.ru/post/126675/
у них в америкахна родине автора, но имхо в моей жизни можно было что-то планировать до 1990-ых; потом реальность предвосхищала любые прогнозы (отчасти по этой причине Стругацкие перестали писать фантастику; ну… не это главная причина).Про планирование: меня бесит вопрос на собеседованиях «кем вы себя видите через 5 лет?» ибо самый логичный ответ амбициозного соискателя работодателю-начальнику — «я себя вижу на вашем месте».
Если сейчас вы реализовали ваши планы пятилетней давности — возможно вы работаете сейчас по технологии пятилетней давности — о которых узнали пять лет назад? ;)
Не думаю, что многие из моих сверстников предполагали куда их вывезет жизнь и как их поставит; что тихоня станет полицейским, бандит — охранником, душа компании снаркоманится (а другой сбомжится), крутой уйдёт в дизайн, рохля получит чин в армии, а музыкант пойдёт торговать авто — имхо они «выбрали» то в чём были не сильны; но вроде это у них получается.
Ай, ну и плюс от трети до половины из них оказались за границей, и наверное навсегда — при окончании школы если кто об этом и мечтал, то думаю всерьёз не планировал. И… многие из тех кто там оказались — этого не планировали, думаю.
Целиком и полностью согласен с седьмым пунктом. К сожалению бизнес-Учителя по жизни, слышал, некоторые находят только после 40.
Плюс крайне мала вероятность, что человек старше тебя будет более сведущ в новых темах.
Хотел бы добавить от себя пункт: не забывать радоваться жизни (во всех её сферах). И… в 20 лет я наверное знал, но не придавал значения информации, что пик сексуальной активности приходится на возраст от 20 до 30 лет. Всё.
Потом подумал, что пост о долгих фанатичных стараниях одинокого человека, ценой которых (вуаля!) ИИ нету, но есть известность («в некоторых (виртуальных) кругах») и высокий рейтинг. На хабре.
С чем мы себя и поздравляем.
По теме «распознания речи»: недавно заметил, что мне очень сложно понимать не родную речь, если говорящий не диктор, говорит на своём родном так как он привык и тем более если говорит по телефону на заранее не известную мне тему.
Ну… это просто надо самому пережить, чтоб не ставить завышенных требований к «интелектуальным системам» :)
1. Иметь связи между другими определениями (и оценивать разницу между ними), причем связи с описанием (определением) какого типа эта связь; определение/описанием типа связи/связки/линка должно быть описано в рамках системы и по ее правилам.
2. "Применять" — иметь базу информации или возможность ее расчитать/спрогнозировать — по теме/на предмет: как изменится ситуация с термином/определением при применении к нему какого-то действия: как изменятся его аттрибуты, связи с другими объектами или способы его применения/взаимодействия.
3. и «Планировать» — то есть создавать виртуальную модель из графа предположений и/или изменений объектов/терминов после их взаимодействия или применения к ним каких-то модификаторов.
… Как простейший пример — если написать программу, которая будет не калькулятором, но сможет быть научена складывать (а может еще и вычитать) объекты и уметь выводить их сумму в десятичной форме — тогда по моему пониманию она будет их «понимать» — объекты, их количество и (возможные) взаимодействия между ними.
Прелесть отличия от жестко спрограммированного калькулятора в том, что такая система теоретически может развиваться дальше; но возникают вопросы (и «ножницы»): насколько сильно ей можно «помочь» в начале (вмешавшись в «самоформирование ее личности»), и (с другой стороны) — как сильно ей можно позволять заблуждаться в своих предположениях — как далеко разрешить ей заходить, используя (наверняка напрасно) время и память.
Для меня там не описано:
1. В каком виде должны хранится образы/объекты (чтобы их использовать и чтобы между ними протягивать «полезные» (термин ввожу не определяя его) ассоциации); и как их использовать.
2. Какова цель и подцели системы — просто слово «общение» — это не конкретно и эфимерно настолько, что не подлежит серьезному рассмотрению.
3. Как сделать систему, чтобы ее деятельность и/или результат на каком-то уровне детализации напоминал человеческую — это уже на мой взгляд чуть конкретнее, но без точного указания «на каком уровне и как машина должна давать результаты схожие с человеком» — это все еще не серьезное требование, а болтовня.
Имхо вы хотите от логического устройства «чего-то» человеческого, но даже требования не описываете понятным ему языком (логики+математики).
Текст, интересный (и скорей всего понятный) только некоторой группе людей? — Вы хотите, чтобы компьютер «правильно» (то есть так же, как автор текста и как Вы) понимал любой текст? То есть заранее имел те же опыт и знания, что и автор любого текста?… Плюс чтоб еще у него была ожидаемая реакция на текст (эмоция), то есть такая же, как и у тестирующих? Не меньше и, пардон, не больше? (вдруг он сделает какие-то обобщающие выводы, которые не только будут обидны для тех кто восхищался тестируемым текстом, но и будут непонятны самим проверяющим? — например выдаст данные о комплексах и прочем подсознательном проверяющих, на основе того текста, что они ему подсунули чтоб попроверять его)
Другой «оттенок» моего вопроса — а для чего это нужно самому компьютеру (программе, которая этим вынуждена заниматься)? ;)
Чтобы алгоритм (например понимания текста) работал и (само-)совершенствовался — для него имхо нужны примеры, мощный комп, и… цель. Конкретно и точно сформулрованная.… Насколько я понял, порогом понимания предыдущего текста было «определить, в каких отношениях находится автор с девушкой» — для этого «компьютеру» необходимо держать в голове все возможные данные по поводу объектов «автор» и «девушка»; то есть иметь в виду, что у этих двух объектов может быть в планах (я даже не знаю, конечный ли это был бы список), в том числе на счет друг-друга, и как эти два объекта могут взаимодействовать; и только после этого (имея «опыт» всех возможных варианов их поведения), система могла бы сделать вывод, который, думаю, пришел в голову большинству читателей только после «подсказки» автора… и то при условии, что система знает, что тема близких личных отношений считается у (данных, думаю не у всех) людей юмором, а значит, этот вариант отношений имеет заостренное внимание, а значит объекты «автор» и «абстрактная девушка» не просто так потолок разглядывали.
На мой скромный взгляд, чтобы оценивать исскуственно созданную информационную систему — нужно ставить точную и конретную систему оценок.
… Иначе выглядит как с одним «специалистом», который требовал чтоб программа работала так: ты ей входные данные «на бамажке» перед монитором показываешь, а она их воспринимает, перерабатывает как надо, и с другими людьми согласовывает… исходя из их личных вкусов.
Компьютеры лучше нас справляются с тем, подо что они «заточенны» — там, цифры посчитать, или количество символов.
Люди лучше компов справляются с тем, подо что они «заточенны» — обработка зрительной информации, управление движения телом. Ну и — обработка и передача абстрактных и эмоциональных знаний; имхо.
> Продолжаете ли развивать литовскую версию
— Нет, не вижу смысла. После ее выкладывания пришло только одно письмо (через год после «презентации») от секретарши какой-то фирмы: «мы готовы купить вашу программу, если она будет дешевле чем у конкурентов» — то есть за 30 евро, и то после того как она будет доведена до ума — а я не представляю, сколько лет на это понадобится потратить.
Надо бы ее сделать более открытой, как русскую; тогда стала бы видна краткая запись словаря; но все руки не доходят (находятся «более важные» дела).
> и почему в русской версии отказались от разбиения?
— Чтобы не возится с ним — ради экономии времени; чтобы поскорей представить программу интересующимся. Все равно, думаю, многие будут сравнивать ее с лучшими спеллчекерами, а она не может с ними равняться — ни по скорости, ни по полноте словаря, ни по эффективности его сжатия/оптимизации.
Мне бы английскую версию закончить (уж очень интересно, почему у моей программки (до презентации сдесь) треть скачиваний приходилось на Испанию); и начать бы следующую версию, в которой (я надеюсь) не будет «жесткости» теперешней версии.
— Тут уже предлагали много различных направлений; куда на этот раз?
> Не просто хранить атрибуты, но и разбивать слова на составные части — корень, суффикс, окончание? Вероятно, при некотором везении, можно существенно сжать словарь.
— А, это все было реализовано в предыдущих версиях для литовского языка. Только там без суффикса было: окончание (из шаблона склонения), приставки («не» для прилагательных и куча для глаголов) и основная часть (корень + возможные суффиксы).
> Как только встретилось новое слово — тут же предложить пользователю анализ этого слова и ввод атрибутов.
— … А это было в моей курсовой 2001 года «автоматический переводчик с английского на литовский»; пока я решил оставить этот модуль «на потом» — помю что он сожрал неожиданно много проектного времени (так что сам переводчик в срок закончить не удалось).
> то люди бы повнимательнее посмотрели на Ваш продукт
— Я уверен, что в мире постоянно появляется огромное количество более достойных программ, которым почему-то уделяется недостаточное (тем более по мнению создателей) внимане; как не стараются их авторы и что они только не предпринимают.
{ TranslateMessage(&msg); DispatchMessage(&msg); } я вроде «был отключивши», ибо такой код делал возможным закрыть программу во время распознания, и она ломалась, потому что при закрытии clean-up запускался неуведомив ядро.
> Немного поигрался со словарём и фразой…
— Несовершенство шаблона в Вашей версии программы: попробуйте разобраться как работает шаблон, затем попробуйте модифицировать его так, чтобы то предложение подпадало под него; а затем самое сложное: попробовать другие примеры предложений и разъяснить программе, которые из них не подходят под это новое правило, и почему.
… Так, постепенно доходит и проясняется: второй вариант есть простейшая конструкция «сказуемое (Передать) + дополнение (другой текст комп...)», а Вы хотите, чтоб был распознан вариант «сказуемое (Передать) + дополнение (что?-текст) + что-то еще от сказуемого (кому? чему?-компьютерной программе)» — в таком случае придется описать программе разницу, с какими глаголами и после каких дополнений можно ставить вот это вот "что-то еще от сказуемого", и что может быть в его роли. Чтобы не появлялись варианты типа «вижу текст компьютерной программе».
— Ок, для этого имхо идеально подходит выложенная (бесплатная) программка; а код для чего выкладывать?
На мой взгляд точка зрения зависит от человека и от его позиции…
Есть программеры, которые пишут что-то в свое свободное время: одни из них за деньги, другие бесплатно и еще и код выкладывают.
У программ
естьбывают пользователи (программеры и не обязательно): естествено, они хотят получить чем получше и бесплатно; думаю, у пользователей и у разработчиков скорей всего бывает разное мнение об одной и той же программе, разная точка зрения на то как оно работает и как оно должно работать. :)… Имхо для абстрактного человека больше вероятность, что он будет «за» свободный код, если этот человек доктор наук, да уже и с сыном, да еще и со взрослым и зарабатывающим; а если этот человек — нищий программер на съемной квартире и без перспектив (семьи, недвижимости и более лучшей жизни), то идея «пописать еще» в свободное время «на благо всего человечества» думаю будет не так близка его сердцу, как для состоявшегося доктора наук. С уважением.
Имхо ей нужна помощь тех редких лингвистов, которые бы смогли расширить ее шаблон предложения.
Файл словаря имхо имеет сруктуру достаточно простую для его наполнения другими программами; правда возможность описывать все формы слова указывая в словаре только одну его форму и его склонение — для русского языка не подключена; поэтому есть неудобство в том, что надо описывать все 12-25-36 форм для гнезда одного слова.
Я надеюсь, что система меток, на которую я мечтаю перевести программу, позволит
изящноэлегантнорешить и проблему со склонениями… и проблему синтеза/слияния синтаксического анализа с фонетическим; например когда в шаблоне для синтаксического анализа можно будет указать, что если следующее слово начинается с определенных букв, то предлог вместо «с» должен быть «со».ЛиберманЛидер-ман, Вы знаете — почему-то жалко. Ну, как бы это объяснить, чтоб не выглядеть негодяем: я думаю редко люди раздают то, на что потратили года 4 жизни; например заработанную за 4 года зарплату, а?Дамы и господа,
партизаны и партизанки,товарисчи и комрады. Программа не может работать полноценно. Для этого ей не хватает мощности шаблона и словаря. Поэтому делать ее библиотечной (чтоб ею пользовались другие программы) я не вижу смысла.Выкладывать исходники… я бы пока этого не хотел; а Вы не могли бы мне объяснить, дремучему, а зачем могут быть нужны исходники этой программы?
— Ну… я привык не доверяться списку загрузки, а лично указывать что куда записать при скачивании; описаную Вами ситуацию я просто не проверял.
> А что с литовским языком?
— Имхо он ближе к русскому, чем к английскому — (почти) 6 падежей, два рода (почти), два числа; примерно те же части речи.
Но конструкция предложения несколько отличается от русского.
> Распознавание 5% процентов — это уже интересно.
— Просто где-то в 2005 я нашел свободный словарь для проекта iSpell, предназначенный для спеллинга литовского языка; я им воспользовался ибо там можно было выудить не только форму слова, но и ее атрибуты (род, число, падеж, лицо) — а именно это необходимо для проверки согласования.
А дальше — цитирую: «Внимание! Литовская версия программы правильно распознаёт менее 5% предложений — из-за неполноты словаря программы (80,000 гнёзд слов) и из-за несовершенства шаблона предложения.»
> Кстати, а в эстонском и латвийском языках шаблоны идентичны литовским?
— Этого я не знаю.
Повторяю: слышал, что шаблон предложения создавался для русского языка какими-то российскими институтами => фирмами. Какова ситауция с эстонским, латвийским и литовским языками — я просто не знаю; занимался ли кто-то созданием для них шаблонов.
Плюс, попробовав это, я острее понимаю, что: набрать базу предложений, распознать каждое в дерево, и на основе анализа деревьев создать универсальное (дерево, и прогнать все по новой) — это три большие разницы.… То есть, имхо, это самый сложный путь «распиливания» бюджета лингвистического иститута — я уверен, что таких немало, но мало кто на такое пойдет.
> Фраза из Маяковского… Дала восхитительные результаты…
— Цитирую: «В русской версии процент распознания мизерный, словарь состоит всего из… форм слов для 4 существительных, 3 прилагательных, 4 глаголов, 3 наречий». Защищая порядочность программы, могу предположить, что она просто подобрала ближайшие слова из словаря; безо всякого злого умыслу.
… И опять-таки, такой фразы я просто не тестировал…
> А вот на таком предложении программа уходит в бесконечный цикл:
— Время распознания (всех возможных вариантов предложения) остается приемлимым, если в предложении за одно распознание разрешено менять форму максимум для двух существительных (для остальных частей речи такое ограничение не обязательно — их другие формы не пораждают такого дикого количества вариантов начальной фразы).
Возможно у Вас были «разрешены другие формы слова» (чекбоксом) для всех 8 имен существительных в предложении; хотя словарь состоит всего из 4 имен существительных.
На мой взгляд в той ситуации было бы правильнее вручную добавить недостающие слова в словарь (по 12-48 форм для каждого слова) и усовершенствовать шаблон (хотя я бы не рискнул улучшать шаблон, тем более для Маяковского; учитывая мои потуги последних месяцев — дай бог простое английское предложение осилить).
Вспомнил. Мультик назывался «Лило и Стич», там было использовано это слово.
Кроме того, фраза «плохость стиля» сама по себе является примером плохого стиля ;)