2012-10-25 43 views
9

Tôi trích xuất các câu nhân quả từ các báo cáo tai nạn trên mặt nước. Tôi đang sử dụng NLTK như một công cụ ở đây. Tôi tự tạo ngữ pháp regExp bằng cách lấy 20 cấu trúc câu nguyên nhân [xem ví dụ bên dưới]. Ngữ pháp xây dựng là loạiTrích xuất câu nguyên nhân Sử dụng python NLTK

grammar = r'''Cause: {<DT|IN|JJ>?<NN.*|PRP|EX><VBD><NN.*|PRP|VBD>?<.*>+<VBD|VBN>?<.*>+}''' 

Bây giờ ngữ pháp có 100% thu hồi trên tập kiểm tra (tôi đã xây dựng bộ dữ liệu đồ chơi của riêng tôi với 50 nguyên nhân và 50 câu nhân quả không) nhưng độ chính xác thấp. Tôi muốn hỏi về:

  1. Cách huấn luyện NLTK tự động xây dựng ngữ pháp regexp cho giải nén các loại câu cụ thể.
  2. Có bất kỳ ai từng cố gắng trích xuất các câu nguyên nhân. Ví dụ câu nhân quả là:

    • Có điều kiện vệ sinh nghèo trong làng, do đó, cô đã vấn đề sức khỏe.

    • Nước không tinh khiết trong làng của cô ấy, Vì lý do này, cô ấy bị từ ký sinh trùng.

    • Cô ấy có vấn đề về sức khỏe do vệ sinh kém trong làng. Tôi chỉ muốn trích xuất các loại câu trên từ một văn bản lớn .

Trả lời

6

Đã có một cuộc thảo luận ngắn với tác giả của cuốn sách: "Python Xử Lý Văn Bản với NLTK 2,0 Cookbook", Mr.Jacob Perkins. Anh ta nói, "ngữ pháp tổng quát cho câu là khá khó. Thay vào đó, tôi sẽ xem bạn có thể tìm thấy các mẫu thẻ phổ biến hay không và sử dụng chúng. Nhưng về cơ bản bạn phân loại theo kết hợp regexp. Phân tích thường được sử dụng để trích xuất các cụm từ trong một câu, hoặc để tạo ra các phân tích cú pháp sâu của một câu, nhưng bạn chỉ đang cố gắng xác định/trích xuất các câu, đó là lý do tại sao tôi nghĩ phân loại là một cách tiếp cận tốt hơn nhiều. có thể là đáng kể. " lấy ý kiến ​​của ông tôi đã xem xét các câu nhân quả tôi có và tôi phát hiện ra rằng những câu này có các từ như

consequently 
as a result 
Therefore 
as a consequence 
For this reason 
For all these reasons 
Thus 
because 
since 
because of 
on account of 
due to 
for the reason 
so, that 

Những từ này là nguyên nhân và kết quả của câu. Và bây giờ bằng cách sử dụng các kết nối này rất dễ dàng để trích xuất các câu nguyên nhân.

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