2009-07-16 30 views
9

Có ai tìm thấy một cách đơn giản, nhưng hiệu quả để trích xuất các tham chiếu ngày từ văn bản? Tôi đã thực hiện một số tiền hợp lý để tìm kiếm các công cụ trích xuất thời gian, nhưng không có nhiều thứ ở đó. Có một vài giấy trắng, nhưng nó dường như rơi vào một tập hợp con của toàn bộ ngữ nghĩa web ngữ nghĩa nhưng không được chú ý nhiều.Trích xuất tạm thời (ví dụ: Trích xuất các đối tượng ngày/giờ từ văn bản dạng tự do) - Làm cách nào?

Tôi chỉ đang tìm kiếm thứ gì đó hiệu quả 80%. Không cần phải nắm bắt những thứ như "tháng sau tháng 1 năm 2009", nhưng các thực thể ngày phổ biến cơ bản sẽ tốt đẹp.

Tôi đang mở cho tất cả các đề xuất, thậm chí là các biểu thức chính quy ưa thích.

Hỏa hoạn!

(và cảm ơn - Henry)

Trả lời

1

Một cách tôi đã làm là chỉ cần tìm bất kỳ thứ gì có 4 số và chuyển đổi thành số. Nếu số lượng nằm trong phạm vi năm bạn quan tâm, bạn có thể có một năm bạn có thể sử dụng. Nếu bạn quan tâm đến bất kỳ tháng và ngày phù hợp nào, bạn có thể kiểm tra các từ liền kề để xem chúng có phải là tên tháng hoặc số từ 1 đến 31 không. Tôi tin chắc điều này sẽ đáp ứng yêu cầu 80% của bạn.

Regex trong nhiều năm: [0-9] {4} - bạn sẽ cần phải chuyển đổi thành một số và xem trong phạm vi năm bạn xem là hợp lệ.

Regex trong nhiều tháng: Tháng Một | Tháng Một | Tháng Hai | Tháng Hai ... vv cho mỗi tháng

Regex cho ngày của tháng: [0-9] {1,2} - bạn sẽ cần phải chuyển đổi sang một số và xem liệu đó có phải là 1-31

+0

tôi hiện trích xuất năm sử dụng một regex đơn giản =>/\ b ((19 | 20) \ d \ d) \ b/(chỉ muốn tập trung vào những năm bắt đầu với 19 và 20 để hạn chế những mặt tích cực sai); bước tiếp theo là tìm tháng, nhưng vẫn chưa tìm được cách để xử lý nhiều ngày trong cùng một câu – henry74

-3

Tôi đang để trống cách tìm những gì để nạp, nhưng this library sẽ phân tích một loạt các ngày và có thể được sử dụng làm "đây là ngày thực " chức năng. (Tiết lộ đầy đủ, tôi là tác giả của lib mà)

+0

Có vẻ như thư viện yêu cầu bạn gửi theo các điều khoản ngày thực tế. Tôi đang tìm một cái gì đó cho phép bạn ăn nó câu và có nó trích xuất các ngày/thời gian thực thể. – henry74

3
  1. Nếu mục tiêu biểu dương trong dữ liệu của bạn chỉ ở định dạng hạn chế, sử dụng biểu thức chính quy và cách tiếp cận lặp đi lặp lại để tinh chỉnh hệ thống của bạn

  2. Nếu không , sử dụng Stanford NLP toolkit, SUTime, mà có thể là một kill quá nhưng chắc chắn đáp ứng nhu cầu của bạn

Các vấn đề liên quan