Xử lý ngôn ngữ tự nhiên bền bỉ


12

Gần đây tôi đã bắt đầu thử nghiệm xử lý ngôn ngữ tự nhiên (NLP) bằng CoreNLP của Stanford và tôi tự hỏi một số cách tiêu chuẩn để lưu trữ dữ liệu được phân tích cú pháp NLP cho một cái gì đó như ứng dụng khai thác văn bản là gì?

Một cách tôi nghĩ có thể thú vị là lưu trữ trẻ em dưới dạng danh sách kề và sử dụng tốt các truy vấn đệ quy (Postgres hỗ trợ điều này và tôi thấy nó hoạt động rất tốt).

Nhưng tôi cho rằng có lẽ có nhiều cách tiêu chuẩn để làm điều này tùy thuộc vào loại phân tích nào đang được thực hiện đã được áp dụng bởi những người làm việc trong lĩnh vực này trong nhiều năm qua. Vì vậy, các chiến lược kiên trì tiêu chuẩn cho dữ liệu được phân tích cú pháp NLP là gì và chúng được sử dụng như thế nào?

Câu trả lời:


3

Tôi đã từng làm việc với bộ công cụ NLP và gặp vấn đề bạn mô tả. Tôi nghĩ có (ít nhất) hai cách tiếp cận:

  • (cách tiếp cận ngầm), sử dụng ghi nhớ

    Trong các ngôn ngữ lập trình nơi các hàm là các đối tượng hạng nhất (như Lua, Python hoặc Perl 1 ), có thể thực hiện ghi nhớ tự động bằng cách thay thế (tại thời gian chạy) một hàm với giá trị được tính của nó sau khi giá trị được tính cho một giá trị đã cho thiết lập các tham số.

    Đây là cách tiếp cận tôi đã sử dụng và nó có thể được thực hiện nhanh chóng; Hạn chế là, một số cấu trúc dữ liệu lớn hơn sẽ được duy trì trên đĩa và trong khi tải là các đơn đặt hàng có cường độ nhanh hơn so với tính toán lại, nó vẫn mất thời gian.

  • (rõ ràng), sử dụng một số cơ sở dữ liệu, có thể là quan hệ hoặc định hướng tài liệu, để lưu trữ tất cả các kết quả bạn có thể quan tâm trong tương lai. Điều này đòi hỏi sự chú ý nhiều hơn vào lúc đầu, nhưng sẽ được đền đáp trong thời gian dài hơn.

Có thể quan tâm:


Chỉnh sửa: Một thứ khác mà tôi đã sử dụng gần đây cho các tính toán chạy dài nhiều bước là một khung công việc, trong đó có hàng tá . Nó không thực sự là về sự kiên trì, nhưng sự kiên trì là một bước trong quy trình làm việc. Tôi đang thử luigi cho điều đó và nó xuất hiện, ví dụ như với các lớp trợ giúp của Hadoop và Postgres, có thể loại bỏ rất nhiều mã soạn sẵn.


2

Một chiến lược tốt là sử dụng cơ sở dữ liệu đặc trưng Giảm / Bản đồ tốt, còn được biết như cơ sở dữ liệu NOSQL, như MongoDB hoặc CouchDB.
Cơ sở dữ liệu của luận án cho phép tạo ra các quy tắc được mã hóa đơn giản trong đó các điều khoản và phụ thuộc ánh xạ và các quy tắc được mã hóa đơn giản để giảm thông tin (cũng là "nhóm").

Bạn có thể bắt đầu ở đây:
http://www.mongodb.org/
http://wiki.apache.org/couchdb/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.