Зберігання природних мов, що зберігаються, аналізує дані


12

Нещодавно я почав експериментувати з обробкою природних мов (NLP) за допомогою CoreNLP Стенфорда , і мені цікаво, які є стандартні способи зберігання даних, розібраних у NLP, для чогось на зразок програми для видобутку тексту?

Один із способів, на який я думав, може бути цікавим - зберігати дітей як список суміжності та добре використовувати рекурсивні запити (Postgres підтримує це, і я виявив, що це працює дуже добре).

Але я припускаю, що, мабуть, існує багато стандартних способів зробити це залежно від того, який аналіз робиться, які були прийняті людьми, які працюють у цій галузі протягом багатьох років. Отже, які є стандартні стратегії збереження для аналізуваних даних NLP і як вони використовуються?

Відповіді:


3

Я колись працював з інструментарієм NLP і стикався з описаною вами проблемою. Я думаю, що існує (принаймні) два підходи:

  • (неявний підхід), використовуйте запам'ятовування

    У мовах програмування, де функції - це об'єкти першокласного класу (наприклад, Lua, Python або Perl 1 ), автоматичне запам'ятовування може бути реалізовано шляхом заміни (під час виконання) функції на її обчислене значення, як тільки значення буде обчислено для заданої набір параметрів.

    Це був підхід, який я застосував, і його можна було швидко реалізувати; Недолік цього полягав у тому, що певні більші структури даних зберігатимуться на диску, і хоча завантаження було на порядок швидше, ніж перерахунок, воно все-таки потребувало свого часу.

  • (явно), використовуйте деяку базу даних, будь то реляційну чи документоорієнтовану, щоб зберігати всі результати, які можуть вас хвилювати в майбутньому. Це вимагає більшої уваги на початку, але окупається в довгостроковій перспективі.

Можливо, цікавить:


Редагувати: Ще одна річ, яку я останнім часом використовую для багатоступеневих довготривалих обчислень, - це робочий процес, якого налічується десятки . Мова йде не насправді про наполегливість, але наполегливість - це крок у процесі роботи. Я намагаюся для цього Луїджі , і це, наприклад, з допоміжними класами Hadoop і Postgres, які можуть усунути багато кодового коду.


2

Хорошою стратегією є використання хорошої бази даних зменшення / карти, яка також відома, як база даних NOSQL, як MongoDB або CouchDB.
База даних тез дозволяє створювати прості кодовані правила, на яких відображаються терміни та суміжності, і прості кодовані правила для зменшення (також "групової") інформації.

Ви можете почати тут:
http://www.mongodb.org/
http://wiki.apache.org/couchdb/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.