2013-04-07 35 views
16

Công việc của tôi đang lên kế hoạch sử dụng cụm UIMA để chạy tài liệu thông qua trích xuất các thực thể được đặt tên và những gì không. Như tôi đã hiểu, UIMA có rất ít thành phần NLP được đóng gói cùng với nó. Tôi đã thử nghiệm GATE một thời gian và khá thoải mái với nó. Nó không ok trên văn bản bình thường, nhưng khi chúng tôi chạy nó thông qua một số dữ liệu thử nghiệm đại diện, độ chính xác giảm xuống. Dữ liệu văn bản mà chúng tôi có nội bộ đôi khi là tất cả các chữ cái, đôi khi là tất cả chữ thường hoặc kết hợp cả hai trong cùng một tài liệu. Ngay cả khi sử dụng tất cả các quy tắc mũ của ANNIE, độ chính xác vẫn còn nhiều để được mong muốn. Gần đây tôi đã nghe nói về Stanford NLP và OpenNLP nhưng chưa có thời gian để đào tạo và kiểm tra chúng một cách rộng rãi. Làm thế nào để hai so sánh về độ chính xác với ANNIE? Họ có làm việc với UIMA như GATE không?Độ chính xác: ANNIE so với Stanford NLP so với OpenNLP với UIMA

Xin cảm ơn trước.

+1

ANNIE dựa trên quy tắc. Tôi đoán là Stanford NLP và OpenNLP nên hoạt động tốt hơn vì chúng dựa trên ML. –

Trả lời

18

Không thể/hợp lý để đưa ra ước tính chung về hiệu suất của các hệ thống này. Như bạn đã nói, trên dữ liệu thử nghiệm của bạn, độ chính xác giảm. Đó là vì nhiều lý do, một là các đặc điểm ngôn ngữ của các tài liệu của bạn, một là các đặc điểm của các chú thích mà bạn đang mong đợi để xem. Afaik cho mọi nhiệm vụ NER có các nguyên tắc chú thích tương tự nhưng vẫn khác nhau.

Sau những gì đã nói, về câu hỏi của bạn:

ANNIE là mã nguồn mở hệ thống NER chỉ miễn phí dựa trên luật lệ trong Java tôi có thể tìm thấy. Nó được viết cho các bài báo và tôi đoán được điều chỉnh cho nhiệm vụ MUC 6. Nó là tốt cho bằng chứng về khái niệm, nhưng nhận được một chút lỗi thời. Ưu điểm chính là bạn có thể bắt đầu cải thiện nó mà không cần bất kỳ kiến ​​thức nào trong học máy, nlp, cũng có thể là một java nhỏ. Chỉ cần học tiếng Nhật và cho nó một shot.

OpenNLP, Stanford NLP, vv theo mặc định với các mô hình cho các bài báo và thực hiện (chỉ xem kết quả, không bao giờ thử nghiệm chúng trên một kho lớn) tốt hơn ANNIE. Tôi thích trình phân tích cú pháp Stanford tốt hơn OpenNLP, một lần nữa chỉ xem xét các tài liệu, chủ yếu là các bài báo.

Không biết tài liệu của bạn trông như thế nào tôi thực sự không thể nói nhiều hơn nữa. Bạn nên quyết định xem dữ liệu của mình có phù hợp với quy tắc hay không, bạn đi theo cách học máy và sử dụng trình phân tích cú pháp OpenNLP hoặc Stanford hoặc Illinois tagger hoặc bất kỳ thứ gì. Trình phân tích cú pháp Stanford có vẻ phù hợp hơn khi chỉ đổ dữ liệu, đào tạo và tạo kết quả của bạn, trong khi OpenNLP có vẻ phù hợp hơn để thử các thuật toán khác nhau, chơi với các tham số, v.v.

Đối với tranh chấp GATE trên UIMA, tôi đã thử cả hai và tìm thấy nhiều hơn cộng đồng virus và tài liệu tốt hơn cho GATE. Xin lỗi vì đã đưa ra ý kiến ​​cá nhân :)

5

Chỉ để hồ sơ trả lời góc UIMA: Đối với cả Stanford NLP và OpenNLP, có bao bì tuyệt vời như các công cụ phân tích UIMA có sẵn thông qua DKPro Core project.

3

Tôi muốn thêm một ghi chú khác. UIMA và GATE là hai khung công tác để tạo ra các ứng dụng Xử lý ngôn ngữ tự nhiên (NLP). Tuy nhiên, Name Entity Recognition (NER) là một thành phần NLP cơ bản và bạn có thể tìm thấy việc thực thi NER, độc lập với UIMA và GATE. Tin tốt là bạn thường có thể tìm thấy một trình bao bọc cho một NER phong nha trong UIMA và GATE.Để làm cho nó rõ ràng chúng ta hãy xem ví dụ này:

Nó là như nhau cho các thành phần Stanford NER.

Trở lại câu hỏi của bạn, trang web này liệt kê các trạng thái của ners nghệ thuật: http://www.aclweb.org/aclwiki/index.php?title=Named_Entity_Recognition_(State_of_the_art)

Ví dụ, trong cuộc thi này MUC-7, tham gia tốt nhất tên LTG có kết quả với độ chính xác của 93,39%.

http://www.aclweb.org/aclwiki/index.php?title=MUC-7_(State_of_the_art)

Lưu ý rằng nếu bạn muốn sử dụng như một tình trạng đang thực hiện, bạn có thể có một số vấn đề với giấy phép của họ.