![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
||||
|
||||
|
Ну вот вам тогда другой текст, где как вы говорите все соблюдено.
Красный Петух, здание гостинницы в центре Лондона давно обветшало и требовало ремонта. И что вы тут в итоге получите по вашей схеме? |