Видобування інформації

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Витягування інформації)
Перейти до навігації Перейти до пошуку

Видобуток інформації (ВІ, англ. information extraction, IE, рос. извлечение информации) — завдання автоматичного видобутку структурованої інформації з неструктурованих та/або напівструктурованих[en] машиночитаних[en] документів та інших джерел в електронному вигляді. У більшості випадків ця діяльність стосується обробки текстів людською мовою за допомогою обробки природної мови (ОПМ, англ. NLP). Останні дії в мультимедіа обробці документів, такі як автоматична анотація та вилучення вмісту із зображень / аудіо / відео / документів, можуть розглядатися як видобуток інформації.

Через складність задачі сучасні підходи до витягування інформації зосереджені на вузько обмежених галузях. Прикладом може слугувати витягування з новинної стрічки звітів про корпоративні злиття, наприклад, позначених формальним відношенням:

ЗлиттяМіж(компанія1, компанія2, дата)

З новин:

«Вчора компанія „Смартленд“ придбала у держави готель „Дніпро“.»

Загальна мета ВІ — дозволити обчислювати раніше неструктуровані дані. Конкретніша мета — за допомогою логічних міркувань[en] робити висновки на основі логічного змісту вхідних даних. Структуровані дані — це семантично чітко визначені дані з обраного цільового домену, що інтерпретуються щодо категорії та контексту.

Витягування інформації — це частина загальної великої задачі, яка має справу з розробкою автоматичних методів управління текстом, окрім його передачі, зберігання та відображення. В межах інформаційного пошуку (ІП)[1] розроблено автоматичні методи, як правило, статистичного характеру, для індексування та класифікування великих масивів документів. Іншим додатковим підходом є підхід до обробки природної мови (ОПМ), який розв'язав проблему моделювання обробки людської мови, беручи до уваги розмір завдання. Що стосується складності, ВІ має справу із завданнями між ІП та ОПМ. Що стосується вводу, ВІ припускає існування набору документів, в яких кожен документ створений за шаблоном, тобто описує одну або кілька сутностей, подій способом, подібним до того, що і в інших документах, але з різними деталями. Як приклад, розгляньмо групу статей з новин про латиноамериканський тероризм. Кожна стаття заснована на одному або декількох терористичних актах. Ми також визначаємо для будь-якої задачі шаблон ВІ, який є фреймом (або набором фреймів) для зберігання інформації, що міститься в одному документі. Для прикладу тероризму шаблон повинен містити слоти, що відповідають винуватцю, жертві та зброї, яка використовувалася для здійснення теракту, а також дату, коли сталася подія. Система ВІ для цієї проблеми вимагає «розуміння» статті про атаку лише для того, щоб знайти дані, що відповідають слотам у цьому шаблоні.

Історія[ред. | ред. код]

Витягування інформації бере свій початок з кінця 1970-х років, коли тільки починали розробляти методи ОПМ[2]. Однією з перших комерційних систем у середини 80-х років була компанія JASPER, створена для агенції Рейтер компанією Carnegie Group Inc з метою надання фінансових новин у реальному часі фінансовим трейдерам[3].

Починаючи з 1987 року, розвиток ВІ стимулювала низка конференцій «Message Understanding Conference[en]» (MUC). MUC — це конференції-змагання[4], їх було присвячено таким питанням:

  • MUC-1 (1987), MUC-2 (1989): Військово-морські операції.
  • MUC-3 (1991), MUC-4 (1992): Тероризм в латиноамериканських країнах.
  • MUC-5 (1993): Венчурні операції в галузі мікроелектроніки.
  • MUC-6 (1995): Новинні статті про зміни в управлінні компаніями.
  • MUC-7 (1998): Звіти про запуски супутників.

Сучасне значення[ред. | ред. код]

Сучасне значення ВІ стосується зростаючого обсягу інформації, доступної в неструктурованій формі. Тім Бернерс-Лі, винахідник всесвітньої мережі, називає теперішній Інтернет мережею документів[5] і виступає за те, щоби більша частина вмісту була доступною у вигляді семантичної павутини[6]. Поки це не станеться, Інтернет буде здебільшого складатися з неструктурованих документів, у яких відсутні семантичні метадані. Знання, що містяться в цих документах, можна зробити доступнішими для машинної обробки за допомогою перетворення в реляційну базу даних або розмітки за допомогою тегів XML. Інтелектуальний агент, який стежить за стрічкою новин, вимагає від ВІ перетворення неструктурованих даних у щось, що можливо обґрунтувати. Типовим застосуванням ВІ є сканування набору документів, написаних природною мовою, та заповнення бази даних отриманою інформацією.[7]

Задачі та підзадачі[ред. | ред. код]

Застосування витягування інформації до тексту пов'язане з проблемою спрощення тексту та метою створення структурованого уявлення про інформацію, що є у тексті. Загальна мета полягає в тому, щоби створити легший машиночитний текст для обробки речень. До типових завдання та підзадач ВІ належать:

  • Заповнення шаблону: Витягування фіксованого набору полів з документа, наприклад, витягнути дані про винних, жертв, час, тощо з газетної статті про теракт.
    • Витягування події: Дано документ, виводиться нуль або більше шаблонів подій. Наприклад, у газетній статті можливо описати декілька терактів.
  • Заповнення бази знань: Заповнити базу фактів з набору документів. Зазвичай база даних має форму триплетів (сутність1, відношення, сутність2), наприклад (Барак Обама, подружжя, Мішель Обама)
    • Розпізнавання іменованих сутностей: розпізнавання відомих імен сутностей (людей або організацій), топонімів, часових виразів та певних типів числових виразів, використовуючи наявні знання про домен або інформацію, витягнуту з інших речень.[8] Зазвичай завдання розпізнавання включає присвоєння унікального ідентифікатора витягнутій сутності. Простішим завданням є виявлення іменованих сутностей, яке спрямоване на виявлення сутностей, без жодних знань про екземпляри сутності. Наприклад, під час обробки речення «М. Сміт любить риболовлю», іменоване виявлення сутності означало б виявлення того, що фраза «М. Сміт» дійсно стосується людини, але без обов'язкового володіння (або використання) будь-яких знань про певного М. Сміта, який є (або «може бути») конкретною особою, про яку йдеться у цьому реченні.
    • Кореферентний пошук: виявлення кореферентності та анафоричних зв'язків між текстовими сутностями. У завданнях ВІ це, як правило, обмежується пошуком зв'язків між раніше витягнутими іменованими сутностями. Наприклад, «Новокраматорський машинобудівний завод» та «НКМЗ» це один і той же об'єкт реального світу. Якщо взяти два речення «М. Сміт любить риболовлю. Але він не любить їздити на велосипеді», було б корисно виявити, що «він» це раніше виявлена особа «М. Сміт».
    • Видобуток відносин[en]: виявлення відносин між суб'єктами,[8] таких як:
      • ОСОБА працює на ОРГАНІЗАЦІЮ (витягнуто із речення «Микола працює на НКМЗ.»)
      • ОСОБА знаходиться в ЛОКАЦІЇ (витягнуто із речення «Микола знаходиться у Краматорську»)
  • Напівструктурований витяг інформації, який може стосуватися будь-якого ВІ, який намагається відновити якусь інформаційну структуру, яка була втрачена в результаті публікації, наприклад:
    • Витягування таблиці: пошук та витягування таблиць з документів.[9][10]
    • Витягування інформації з таблиці: структуроване витягування інформації з таблиць. Це — складніше завдання, ніж витягування таблиці, оскільки витягування таблиці — це лише перший крок, тоді як розуміння ролей комірок, рядків, стовпців, зв'язування інформації всередині таблиці та розуміння інформації, поданої в таблиці, є додатковою задачею, що є необхідною для витягування інформації з таблиці.[9][11][10]
    • Витягування коментарів: витягування коментарів із фактичного змісту статті з метою відновлення зв'язку з автором кожного речення.
  • Мовний та словниковий аналіз
  • Витягування звуку
    • Витягування музики на основі шаблону: пошук відповідної характеристики в звуковому сигналі.[12] Наприклад, часові індекси появи перкуторних звуків можуть витягувати для того, щоби представити важливу ритмічну складову музичного твору.

Зверніть увагу, що цей перелік не є вичерпним, і що точний зміст діяльності ВІ не є загальновизнаним. Багато підходів поєднують в собі кілька підзавдань ВІ для досягнення ширшої мети. У ВІ часто використовують машинне навчання, статистичний аналіз та/або обробку природної мови.

Використання у всесвітній павутини[ред. | ред. код]

ВІ було у центрі уваги конференцій MUC. Однак розповсюдження Інтернету посилило потребу в розробці систем ВІ, які допомагають людям впоратися з величезною кількістю даних, доступних в Інтернеті. Системи ВІ з онлайн-тексту повинні відповідати вимогам низької вартості, гнучкості у розробці та легкої адаптації до нових доменів. Системи MUC не відповідають цим критеріям. Понад те, лінгвістичний аналіз, проведений для неструктурованого тексту, не використовує теги HTML/XML та формати макетів, які доступні в онлайн-текстах. Як результат, для ВІ в Інтернеті було розроблено інші підходи з використанням обгорток[en], які є набором дуже точних правил, що витягують вміст певної сторінки. Ручна розробка обгортки виявилася важким завданням, що вимагає високого рівня знань. Для автоматичного запровадження таких правил використовували методи машинного навчання, керованого або некерованого.

Підходи[ред. | ред. код]

Наразі широко прийнято такі стандартні підходи:

Для ВІ існує багато інших підходів, наприклад, гібридні підходи, що поєднують деякі стандартні підходи, перелічені вище.

Безкоштовне або відкрите програмне забезпечення та послуги[ред. | ред. код]

  • Загальна архітектура для текстової інженерії (англ. General Architecture for Text Engineering) постачається в комплекті з безкоштовною системою витягування інформації Apache OpenNLP.
  • Apache OpenNLP — це набір інструментів машинного навчання Java для обробки природної мови.
  • OpenCalais[en] — це автоматична вебслужба витягування інформації від Thomson Reuters (безкоштовна обмежена версія)
  • DBpedia Spotlight — це інструмент з відкритим кодом у Java/Scala (і безкоштовна вебслужба), який можливо використовувати для розпізнавання іменованих сутностей та імен.
  • Natural Language Toolkit — це набір бібліотек та програм для символьної та статистичної обробки природних мов (ОПМ) для мови програмування Python.
  • Див. також втілення умовного випадкового поля

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. FREITAG, DAYNE. Machine Learning for Information Extraction in Informal Domains (PDF). 2000 Kluwer Academic Publishers. Printed in the Netherlands. Архів оригіналу (PDF) за 22 жовтня 2020. Процитовано 29 травня 2021.
  2. Andersen, Peggy M.; Hayes, Philip J.; Huettner, Alison K.; Schmandt, Linda M.; Nirenburg, Irene B.; Weinstein, Steven P. (1992). Automatic Extraction of Facts from Press Releases to Generate News Stories. Proceedings of the third conference on Applied natural language processing -. с. 170—177. CiteSeerX 10.1.1.14.7943. doi:10.3115/974499.974531. S2CID 14746386. Архів оригіналу за 21 серпня 2020. Процитовано 29 травня 2021.
  3. Cowie, Jim; Wilks, Yorick (1996). Information Extraction (PDF). с. 3. CiteSeerX 10.1.1.61.6480. S2CID 10237124. Архів оригіналу (PDF) за 20 лютого 2019.
  4. Marco Costantino, Paolo Coletti, Information Extraction in Finance, Wit Press, 2008. ISBN 978-1-84564-146-7
  5. Linked Data - The Story So Far (PDF). Архів оригіналу (PDF) за 12 березня 2019. Процитовано 29 травня 2021.
  6. Tim Berners-Lee on the next Web. Архів оригіналу за 10 квітня 2011. Процитовано 29 травня 2021.
  7. R. K. Srihari, W. Li, C. Niu and T. Cornell, «InfoXtract: A Customizable Intermediate Level Information Extraction Engine», Journal of Natural Language Engineering,[недоступне посилання з 01.09.2020] Cambridge U. Press, 14(1), 2008, pp.33-69.
  8. а б Dat Quoc Nguyen and Karin Verspoor (2019). End-to-end neural relation extraction using deep biaffine attention. Proceedings of the 41st European Conference on Information Retrieval (ECIR). arXiv:1812.11275. doi:10.1007/978-3-030-15712-8_47.
  9. а б Milosevic N, Gregson C, Hernandez R, Nenadic G (February 2019). A framework for information extraction from tables in biomedical literature. International Journal on Document Analysis and Recognition (IJDAR). 22 (1): 55—78. arXiv:1902.10031. Bibcode:2019arXiv190210031M. doi:10.1007/s10032-019-00317-0. S2CID 62880746.
  10. а б Milosevic, Nikola (2018). A multi-layered approach to information extraction from tables in biomedical documents (PDF) (PhD). University of Manchester. Архів оригіналу (PDF) за 11 березня 2022. Процитовано 29 травня 2021.
  11. Milosevic N, Gregson C, Hernandez R, Nenadic G (June 2016). Disentangling the structure of tables in scientific literature. 21st International Conference on Applications of Natural Language to Information Systems. Lecture Notes in Computer Science. 21: 162—174. doi:10.1007/978-3-319-41754-7_14. ISBN 978-3-319-41753-0. Архів оригіналу за 2 червня 2021. Процитовано 29 травня 2021.
  12. A.Zils, F.Pachet, O.Delerue and F. Gouyon, Automatic Extraction of Drum Tracks from Polyphonic Music Signals [Архівовано 29 серпня 2017 у Wayback Machine.], Proceedings of WedelMusic, Darmstadt, Germany, 2002.
  13. Peng, F.; McCallum, A. (2006). Information extraction from research papers using conditional random fields☆. Information Processing & Management. 42 (4): 963. doi:10.1016/j.ipm.2005.09.002.
  14. Shimizu, Nobuyuki; Hass, Andrew (2006). Extracting Frame-based Knowledge Representation from Route Instructions (PDF). Архів оригіналу (PDF) за 1 вересня 2006. Процитовано 27 березня 2010.