pechkin: (Default)
pechkin ([personal profile] pechkin) wrote2005-10-05 09:20 pm

(no subject)

Опять затерло с работой. Сроки на подходе, а движения ноль. Нарастает внутренняя паника. Что делать, что делать?

Кто-нибудь имел опыт с парсингом натурального, но в какой-то мере структурированного языка на предмет выявления содержания беседы? Как это делают нормальные, ученые люди?

[identity profile] uchood.livejournal.com 2005-10-05 06:34 pm (UTC)(link)
парсинг именно натурального языка на предмет выяснения темы беседы? а ИИ в конвертике не надо? )
ЗЫ самое простое без погружения в смысл на самом дее: выделить все словоформы - отстемить их(желательно со словарем) - убрать не смысловые слова-связки. а дальше сидеть и думать - какие основы к какой области относятся и не относятси ли случаем к какаой-нибудь одной теме. )

[identity profile] uchood.livejournal.com 2005-10-05 06:42 pm (UTC)(link)
те до темы беседы за последние 7 лет я так и не добрался на самом деле.

[identity profile] pechkin.livejournal.com 2005-10-07 11:19 am (UTC)(link)
Нет особой необходимости, язык английский, точнее, жаргон, с устойчивыми сокращениями и конструкциями, флексий совсем немного, нужно просто понимать, что именно они хотят сказать, и как они могут это сделать...

Построил машину Тюринга, которая лазает по тексту и проверяет его... но конечного желаемого результата что-то еще в бинокль не видно, а сроку поставлено недели две.

[identity profile] ivga.livejournal.com 2005-10-05 09:29 pm (UTC)(link)
забавно)
захожу к Вам по рекомендации Джима о "наших людях в Израиле" - и первым делом вижу пост по теме моего несостоявшегося дисера)

[identity profile] pechkin.livejournal.com 2005-10-07 11:19 am (UTC)(link)
И где-нибудь можно ознакомиться с материалами? Или попросить курсик лекций в частном порядке?

[identity profile] ex-amato756.livejournal.com 2005-10-06 08:37 am (UTC)(link)
Даешь постановку задачи!

[identity profile] pechkin.livejournal.com 2005-10-07 11:29 am (UTC)(link)
Даю.

Есть международные валютные торги. Они проводятся по телефону и через интернет. Брокеры переговариваются между собой -- или переписываются, и так заключают сделки. Моя задача: написать мордуль, который, прочитывая такую переписку, выдает параметры сделок, в ней заключенных, буде таковые имеются.

Сделки выглядят примерно так:

# EUR 0.5 EUR
0102
** CHEZI> 01
# TO CONFIRM AT 1.2101 I SELL 500000 EUR
# VAL 18JUL2005
# STANDARD INSTRUCTIONS
# ** THANKS VM FRDS %%%%%%%%%%
TO CONFIRM 500000 AGREED AT 1.2101 I BUY EUR
VAL 18JUL2005
MY EUR TO %%%%%%
# THANKS AND BYE
#
#INTERRUPT#

#END REMOTE#


или так:

EURXXX
# OPTION DESK> HIHI GA PLS
FX OPTIONS> HI CAN I HOLS STRADDLE AT 1.2130 IN 10 PER PLS
# W SELL 10 EUR AT 1.2130?
I HOLD STRADDLE
# I SEE THAT WHAT DO U XXX?
30 SECS
SELL
# TO CONFIRM YOU SELL 10 EUR AT 1.2130
ALL AGREED TKS BIBBIFN
#
# #END LOCAL#
#


У меня есть корпус из примерно полутора тысяч разговоров, на которых я тренирую свою хреновину.

В принципе в мире существует продукт фирмы Reuters, который разбирает эти разговоры и определяет параметры сделок. Его написал коллектив, возглавляемый доктором наук с 14 годами опыта в NLP и т.п. Сколько времени они его писали, я не знаю. Передо мной поставлена задача сделать продукт, который будет разбирать то, чего не разбирает продукт Рейтерс (иначе, говорят, на фига, можно купить и у Рейтерс), дает не меньше 97% правильных разборов, и закончить разработку надо в конце октября, а потом дебаггинг.

Пишем на перле.

Веревку и мыло не предлагать.

[identity profile] ex-amato756.livejournal.com 2005-10-10 06:20 am (UTC)(link)
Извини, был без почты.

Что ты хочешь получить в результате?
Фразу типа "X договорился с Y купить Z по A"?
Тогда можно сделать так:
"Выкусывать" адреса дилеров и клиентов (самому сохранять в базу или есть уже). Выкусывать название валют и акций (должен быть справочник).
Оставшийся спам Trim'ить, выкидавая hi, good buy и пр.

А потом заменять синонимичные конструкции (типа buy, do buy,i'll buy и пр).
Еще можно и опечатки пробовать исправлять.
Эту часть я бы попробовал сделать на прологе, там просто подобные правила пишутся.

Но ты уже сделал, судя по посту выше. :)

Yuri.Kudryavcev@gmail.com

[identity profile] pechkin.livejournal.com 2005-10-10 09:34 pm (UTC)(link)
Охти мне...

Сделал так: написал машинку Тюринга, которая бегает туда-сюда по ленте символов, заменяя одни символы на другие по правилам, близким к языку regexpов, но чуть ширше (скажем, сеты поддерживаем); в принципе, машинка язык не ограничивает, как по теории и должно быть. Потом эту ленту разбиваю на "мессаджи": запрос курса, в котором описывается желаемая сделка -- ответ с другой стороны -- соглашение или несоглашение -- в случае соглашения подтверждение сделки (может не быть, может быть с обеих сторон) -- банковские реквизиты, куда слать деньги. Если первых трех мессаджей не обнаружено -- сделка не состоялась, имеем дело с обычной болтовней.

Интересно, как сделали настоящие программисты в Рейтерс?..

[identity profile] ex-amato756.livejournal.com 2005-10-11 06:16 am (UTC)(link)
А у тебя нет примера тех 3% что у них не работают?

Письма трейдерами пишутся или генерируются спец программой? В первом случае рискуем получить опечатки и пр, что не будет распознано.

Я просто предлагал использовать пролог для приведения "мессаджей" в унифицированный вид, используя лог вывод конструкций.

В рейтерс могли тренировать нейросеть на болтовню.

[identity profile] pechkin.livejournal.com 2005-10-11 09:26 pm (UTC)(link)
Письма именно что пишутся. Опечаток там до одного места. И слова, написанные слитно, и слова, разбитые строкой. Но этого я как раз не боюсь, aspell довольно неплохо их берет. Словарный запас-то небольшой, слов 100 где-то всего нас интересует. И они пользуются макросами. Правда, каждый своими.

Тут как: если человек может понять, о чем речь, то он и машину может научить. В прынцыпе. С какой-то вероятностью и с каким-то процентом ошибки, желательно небольшим.

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

Рейтерс нейросетями не пользуется. Они не преминули бы об этом написать. http://www.rcp.co.uk/finance/pdf/FXandMM_May04.pdf -- вон у них чего.

[identity profile] ex-luch.livejournal.com 2005-10-09 03:03 pm (UTC)(link)
Ничего дельного предложить не могу, к сожалению, кроме http://acl.ldc.upenn.edu/ - вдруг там что-нибудь да найдется?

[identity profile] cryinstone.livejournal.com 2005-10-11 12:18 am (UTC)(link)
Мужыкъ, интересная у тебя работа! (не шутка)
Правда, в НЛП я не силен... сорри.

[identity profile] pechkin.livejournal.com 2005-10-11 09:20 pm (UTC)(link)
Да понимаешь, какая штука -- и я не силен.

Делаю не по науке, а как-то по-русски так: половину на авось, половину методом тыка. С одной стороны, если уж заработает, то будет работать железно, никаких там fuzzy logic, это мы не проходили, это нам не задавали. С другой стороны, каждый день еду на работу с мыслью: а вдруг вот именно сегодня упрусь в стену лбом, и выяснится, что детерминизма больше нет, а нужно вот именно то, чего я не умею, не знаю и не понимаю.

[identity profile] cryinstone.livejournal.com 2005-10-12 08:26 am (UTC)(link)
А если заняться self-education в этой области - обзавестись умными книжками и статьями?

Ты же наверняка не хочешь вернуться к тупой работе типа Синтека (каких в нашей области 90 %) !

[identity profile] pechkin.livejournal.com 2005-10-12 10:58 am (UTC)(link)
Не удалось пока найти, с чего начать. Что-нибудь такое прочитать, чтобы понять, а то все начинается с уровня, значительно превышающего мой. Да и времени не особо есть; впрочем, эту проблему я бы как-нибудь решил.