2016-06-16 11 views
6

Tôi phát hiện ra các công cụ của stanford-NLP và thấy nó thực sự thú vị. Tôi là một nhà kiểm tra/datascientist Pháp, thích phân tích văn bản và rất thích sử dụng các công cụ của bạn, nhưng NER không có sẵn trong tiếng Pháp là khá khó hiểu với tôi.làm thế nào để đào tạo một NER tiếng Pháp dựa trên stanford-nlp Mô hình trường ngẫu nhiên có điều kiện?

Tôi rất thích làm NER của riêng mình, thậm chí có thể cung cấp nó như là một đóng góp cho gói nếu nó được coi là xứng đáng, vì vậy ... bạn có thể giới thiệu cho tôi về yêu cầu đào tạo CRF cho NER của Pháp dựa trên stanford coreNLP?

Cảm ơn bạn.

Trả lời

7

NB: Tôi không phải là người phát triển các công cụ của Stanford, cũng không phải chuyên gia NLP. Chỉ cần một người dùng lambda cũng cần thông tin như vậy tại một số điểm. Cũng lưu ý rằng một phần của thông tin đưa ra dưới đây là từ FAQ chính thức: http://nlp.stanford.edu/software/crf-faq.shtml#a

Sau đây là các bước tôi đi theo để đào tạo NER của riêng tôi:

  1. Install java8
  2. Tạo một mẫu tàu/kiểm tra . Nó phải mang hình thức của .tsv file với định dạng sau:

    Venez O 
        découvrir O 
        lundi DAY 
        le O 
        nouvel O 
        espace O 
        de O 
        vente O 
        ODHOJS ORGANISATION 
    

    Tùy thuộc vào định dạng ban đầu của văn bản, bạn có thể tạo ra mẫu này với câu lệnh SQL hoặc các công cụ NLP khác. Việc ghi nhãn là phần phức tạp nhất vì tôi không biết các cách khác để tiến hành hơn là làm việc đó bằng tay.

  3. tàu mô hình bằng lệnh này:

    java -cp "stanford-ner.jar:lib/*" -mx4g edu.stanford.nlp.ie.crf.CRFClassifier -prop prop.txt 
    

    nơi prop.txt cũng mô tả here.

    Điều này sẽ tạo mới .jar chứa mô hình mới được đào tạo.

  4. Kiểm tra các màn trình diễn mô hình:

    java -cp "stanford-ner.jar:lib/*" edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier ner-model.ser.gz -testFile test.tsv > test.res 
    

    Các đầu vào test.tsv có định dạng giống nhau hơn so với tập tin train.tsv. Đầu ra trong test.res có thêm cột chứa lớp NER được dự đoán. Các dòng cuối cùng cũng hiển thị tóm tắt về độ chính xác, nhớ lại và F1.

  5. Cuối cùng, bạn có thể sử dụng NER của bạn trên dữ liệu thực tế:

    java -cp "stanford-ner.jar:lib/*" -mx5g edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier ner-model.ser.gz -textFile test.txt -outputFormat inlineXML > test.res 
    

Hy vọng nó giúp.

+1

Merci beaucoup! –

+3

Nếu có ai đang tìm kiếm một tập đoàn tiếng Pháp, đây là một trong số 200.000 mục https://github.com/EuropeanaNewspapers/ner-corpora/blob/master/enp_FR.bnf.bio/enp_FR.bnf.bio Trên i7 với RAM 16 GB và SSD, mất hơn 10 phút để đào tạo – Mihai

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