Войти

Показать полную графическую версию : Универсальный разбор текста


pva
25-01-2014, 20:40
Всем привет! Накидайте мыслей, ссылок по задаче (если не трудно):
Задача: дана строка.
Нужно найти имена, адреса, e-mail, www, телефоны, другие объекты, которые в ней упоминаются.
Текст может содержать мусор (комментарии), нужно их тоже сложить в отдельную строку.

lxa85
25-01-2014, 21:57
Поиск по словарю - имена.
Поиск по шаблону - www, email, телефоны
pva, расскажи о задаче несколько больше. Сейчас она очень большая и очень универсальная.
Откуда текст, надо ли определять его область (терминологическую базу), сколько времени/ресурсов надо, какой нужен результат (для чего и куда его девать)
Как пример сходу Автоматизация семантического анализа текста технического задания (http://www.dissercat.com/content/avtomatizatsiya-semanticheskogo-analiza-teksta-tekhnicheskogo-zadaniya)
Копая дальше диссертации и их литобзоры, за недельку другую можно обрасти неплохой теоретической частью, упиваясь достижениями науки. Я в свое время тихо фигел от наличия стандартизированных тестов, разработок и т.д. и т.п.
----
Диссертации в РГБ - Расширенный поиск - специальность 05.13 (Информатика, вычислительная техника и управление) Поиск по слову "Текст".

Методы автоматической предобработки текста проектной документации с использованием информации о сочетаемости слов : автореферат дис. ... кандидата технических наук : 05.13.12 / Литвинов Максим Игоревич; [Место защиты: Моск. гос. ин-т электроники и математики]

Создание открытой системы автоматизированной обработки текста и инструментальных средств его анализа : автореферат дис. ... кандидата технических наук : 05.13.17 / Полицына Екатерина Валерьевна; [Место защиты: Воронеж. гос. ун-т]

Разработка и исследование моделей и информационной технологии семантико-синтаксического анализа русскоязычного текста : автореферат дис. ... кандидата технических наук : 05.13.18, 05.13.01 / Бледнов Андрей Михайлович; [Место защиты: Ижев. гос. техн. ун-т]

Семантические словари в автоматической обработке текста : По материалам системы ДИАЛИНГ : диссертация ... кандидата технических наук : 05.13.17

Синтаксические методы контекстной обработки в задачах распознавания текста : автореферат дис. ... кандидата технических наук : 05.13.01 / Шоломов Дмитрий Львович; [Место защиты: Ин-т систем. анализа РАН]

Автоматизация семантического анализа текста технического задания : диссертация ... кандидата технических наук : 05.13.12 / Орлова Юлия Александровна; [Место защиты: Волгогр. гос. техн. ун-т]

pva
26-01-2014, 11:51
lxa85, есть где-нибудь эти диссертации в открытом доступе?

Задача не большая, как может показаться.
Есть форма ввода с текстовыми полями, например:

S/N прибора: <вводится номер>
Контакты владельца: <вводится текст>

Данные вводит (возможно копипастит) человек с повышенными секретарскими навыками порчи текста. Нужно найти в базе данных человека по указанным ФИО, контактному телефону, icq, e-mail адресу и т.д.. Если такого человека не известно, то предложить добавить его, заполнив уже введённые данные (ФИО, телефон, icq и т.д.).

Делал первые робкие шаги: регулярное выражение выдирает из текста только телефоны - получился довольно сложный парсер (особенно если учитывать разные варианты форматирования межгора и внутренних номеров). Причём не всегда их можно отличить от icq.

Iska
26-01-2014, 12:47
Если такого человека не известно, то предложить добавить его »
pva, использовать ИИ в данном деле крайне чревато добавлением дубликатов. Здесь в любом случае нужно хотя бы одно поле, однозначно определяющее контакт среди прочих.

Делать же просто разбор с показом подходящих значений для выбора и предлагать право окончательного решения оператору — вполне допустимо.

Я правильно понимаю, что для поиска предполагается ввод любого из перечисленного именно в одно поле, затем попытка разбора введённого текста и последующий поиск, так?

lxa85
26-01-2014, 13:55
pva, полный текст диссертаций в открытом доступе вряд ли. Если только обратиться непосредственно к авторам. Их адреса можно поискать по публикациям, я думаю они не откажут.
Из размышлений - может попробовать алгоритмы нечеткой логики?
Нечёткий поиск в тексте и словаре (http://habrahabr.ru/post/114997/)
Сети Хемминга (http://www.basegroup.ru/download/demoprg/hamming/)
Нечеткий поиск (http://algolist.manual.ru/search/fsearch/)

Так же как вариант — задать множественный поиск по словарю с точным совпадением и выдать результат в несколько колонок. Как например в англо-русских словарях. Слово + возможные переводы.
До дела еще не дошло, это пока всё те же рассуждения в слух.
Iska, как ты тире ставишь? :)

Дальнейшая мысль. Т.к. алгоритмы нечеткой логики применяются в поисковых машинах, то может взглянуть на них? Например mnogosearch - бесплатная поисковая машина (http://www.mnogosearch.org/doc/ru/index-ru.html) (первая, что попалась)
А вообще, если разработка позволяет этот фокус - взять поисковые машины яндекса или гугла? (Из того же бреда в слух)
На счет нейросеток, как вариант ИИ не знаю. Знаю, что с ними работают, обучают, но у меня такой практики нет, советовать сложно.

Iska
26-01-2014, 16:04
Iska, как ты тире ставишь? :) »
«Alt+0151». Раньше пользовал свою раскладку c Microsoft Keyboard Layout Creator, но к ней привыкаешь — а на чужих машинах без установленной раскладки начинаешь путаешься, раздражает.

Под Firefox можно ещё пользовать Дополнение CustomBB для браузера Firefox, общаемся на форумах (http://www.script-coding.com/CustomBB.html).

pva
26-01-2014, 18:45
любого из перечисленного именно в одно поле »
Совершенно верно! Например:

123-45-56 ext.123
123-45-56 Иванов Сидор
8 495 123 45 56 Иванов Сидор главный инженер
8 (495) 123 4556 Сидор

В идеале после ввода программа должна найти или добавить человека. В принципе можно задать уточняющие вопросы, мол: "это вот этот, да?". И если откажется, то добавить нового.
Причём нужно догадаться, что:

123456 - это номер телефона,
123 - это внутренний номер
Иванов Сидор - это ФИО (тут согласен что поможет словарь)
главный инженер - это комментарий (заменить последовательные пробелы одним)

И соответственно уметь форматировать номер, ФИО, комментарий.

Общими словами, я пытаюсь эксплуатировать навязанные но понятные такого класса пользователям правила работы в социальных сетях (или поисковых машинах).




© OSzone.net 2001-2012