![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Ребята,помогите,пожалуйста,набросать программку для извлечения фактов из текста. Например, "Андрей Васильев,директор торговой сети Евроопт заключил сделку с крупными поставщиками из России". Из этого должно быть извлечено:
Имя: Андрей Васильев Должность: Директор Организация:Евроопт |
#2
|
||||
|
||||
![]() На форму надо кинуть баттон и мемо
Код:
uses StrUtils; procedure TForm1.Button1Click(Sender: TObject); var i, b: integer; s,st: string; sl : TStrings; begin Memo1.Clear; st:= 'Андрей Васильев,директор торговой сети Евроопт заключил сделку ' + 'с крупными поставщиками из России'; b:= pos(',', st); Memo1.Lines.Add(Copy(st,1,b-1)); s:= Copy(st, b+1, Length(st)); Memo1.Lines.Add('Должность: '+Copy(s, 1, pos(' ', s))); sl:= TStringList.Create; sl.Delimiter:= ' '; sl.DelimitedText:=s; for i:=0 to sl.Count-1 do for b:=1 to length(sl.Strings[i]) do if sl.Strings[i][b] in ['А'..'Я'] then begin Memo1.Lines.Add('Организация:'+sl.Strings[i]); exit; end; sl.Free; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
![]() Э нет коллега, тут не все так просто. Нет явных указаний на начало и конец объектов в тексте. Тут нужен довольно сложный анализ шаблонов.
Программа должна понимать, что Андрей Васильев это один объект а не два отдельных. Что фраза "директор торговой сети Евроопт" включает как название организации, так и должность первого объекта. И т.д. и тому подобное. Подобные системы семантического анализа текста стоят бешеных денег и на коленке не пишутся. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
![]() Здесь уж дело принципа, увж. коллега Страдалецъ. Каков вопрос, таков ответ.
Оно работает по предложенной схеме: первая привязка - запятая после имени, дальше первое слово после запятой - должность имярека, потом организация - это первое слово из строки начинающееся с заглавной буквы, всё соблюдено ![]() Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
||||
|
||||
![]() Ну вот вам тогда другой текст, где как вы говорите все соблюдено.
Красный Петух, здание гостинницы в центре Лондона давно обветшало и требовало ремонта. И что вы тут в итоге получите по вашей схеме? Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |