Bộ thư viện JVNTextPro

Một phần của tài liệu Nghiên cứu độ đo tương đồng văn bản trong tiếng việt và ứng dụng hỗ trợ đánh giá việc sao chép bài điện tử (Trang 34)

a) Tổng quan về JVNTextPro

JVnTextPro là một công cụ mã nguồn mở chạy trên nền Java, dựa trên các mô hình Conditional Random Fields và Maximum Entropy (Maxent) ứng dụng cho việc Xử lý ngôn ngữ tự nhiên trong Tiếng Việt. Công cụ này bao gồm một số bước thực hiện (hoặc công cụ hỗ trợ xử lý vấn đề) cho việc xử lý Tiếng Việt và xử lý thiết kế trong các dòng thông tin được xuất ra từ 1 bước được sử dụng cho bước kế tiếp.

Nó dựa vào việc người sử dụng xử lý dữ liệu của toàn bộ dòng thông tin hay chỉ sử dụng một vài bước hỗ trợ trong các bước này. Đây là 2 phương thức để chỉ sử dụng một vài bước trong toàn bộ tiến trình:

Tạo đối tượng JVnTextPro và định nghĩa chúng để xử lý các tùy chọn (chỉ khởi tạo công cụ hỗ trợ cần thiết).

Tạo và gọi trực tiếp các công cụ hỗ trợ (JvnSegmenter,…).

Chú ý rằng đầu vào của mỗi công cụ hỗ trợ phải được định dạng chính xác để chắc chắn rằng nó hoạt động bình thường. JvnTextPro được xây dựng trên Java (version 6.0). Chúng ta cần môi trường Java Runtime Enviroment để làm việc với công cụ.

b) Quy trình thực hiện của JVNTextPro

Đây là hàm tiền xử lý căn bản của JvnTextPro. Nó phân chia các đoạn văn bản thành các câu riêng biệt. Chú ý rằng đôi khi, dấu chấm có ký hiệu “.” không thực sự biểu hiện cho việc kết thúc một câu. Nhược điểm của việc phân tách câu hầu hết có một cách hiểu khái niệm khá mơ hồ về việc đánh dấu việc kết thúc câu.

Mặc định rằng, trước mỗi một đoạn văn bản nó được chia thành các câu, chúng ta sẽ chuyển đổi văn bản từ Composite Unicode sang Unicode (nếu cần thiết).

Dòng lệnh: Giả sử bạn đang sử dụng một thư mục nằm ngoài cùng của JvnTextPro, bạn có thể thực hiện tách câu cho các tệp tin trong thư mục mẫu sử dụng câu lệnh dưới đây:

Chúng ta cũng có thể thay thế “-inputfile samples\input1.txt” bằng “-inputdir samples”. Trong trường hợp này, công cụ sẽ lấy toàn bộ các tệp tin đuôi “.txt” làm tệp tin đầu vào. Đầu ra của việc tách câu là một tập tin (nếu -inputfile được sử dụng) hoặc bộ tập tin đuôi “.sent” (nếu -inputdir được sử dụng).

• Phân tách từng câu theo dấu câu có trong câu - Sentence Tokenization. Trong những kiểu viết thông thường, phần lớn dấu câu sẽ gắn liền với từ trước đó. Bước Sentence Tokenization được dùng để tách chúng ra và làm sạch dữ liệu đầu vào để cho các bước xử lý kế tiếp.

Ví dụ:

- Đầu ra & đầu vào: Câu “Kể cả khi trời mưa, chúng tôi sẽ vẫn đi học.” chuyển thành “Kể cả khi trời mưa , chúng tôi vẫn sẽ đi học”. Chú ý rằng có khoảng trắng trước dấu phẩy trong câu.

- Dòng lệnh: Giả sử người dùng chọn một thư mục nằm phía ngoài cùng của JvnTextPro, họ có thể thực hiện tách dấu câu cho tệp tin ở thư mục mẫu theo dòng lệnh sau:

- Chúng ta cũng có thể thay thế “-inputfile samples\input1.txt.sent” bằng “- inputdir samples”. Trong trường hợp này, công cụ sẽ lấy toàn bộ tập tin “.sent” làm

dữ liệu đầu vào. Đầu ra của câu được tách sẽ là một tập tin (nếu -inputfile được sử dụng) hoặc một bộ tập tin “.tkn” (nếu –inputdir được sử dụng).

• Phân tách từng từ - Word Segmentation.

JvnSegmenter là công cụ mã nguồn mở dựa trên nền tảng Java có thể phân tách từ Tiếng Việt. Các mẫu phân tách trong công cụ này được phân lọc, lựa chọn trong hơn 8000 mẫu câu trong Tiếng Việt sử dụng phương pháp lựa chọn ngẫu nhiên có điều kiên (FlexCRFs).

Ví dụ:

- Input: Học sinh học sinh học - Output: Học_sinh học sinh_học - Dòng lệnh:

Chúng ta cũng có thể thay thế “-inputsamples\input1.txt” bằng “-inputdir sample”. Trong trường hợp này, công cụ sẽ lấy toàn bộ các tập tin có định dạng “.tkn” làm dữ liệu đầu vào. Kết quả của việc phân tách sẽ là một tập tin (nếu sử dụng -inputfile) hoặc một tập hợp các tập tin định dạng “.wesg” (nếu sử dụng - inputdir).

• Phân loại các từ loai – Part of Speech Tagging (POS Tagging)

JvnTagger là một công cụ dành cho việc phân loại loại từ trong Tiếng Việt dựa trên phương pháp lựa chọn ngẫu nhiên có điều kiện (Conditional Random Fields (CRFs)) và Entropy cực đại (Maximum Entropy). JvnTagger đưuọc xây dựng như là một phần của dự án quốc gia “Xây dựng nguồn tài nguyên và công cụ cho việc xử lý ngôn ngữ Tiếng Việt và từ loại” (VLSP) được thực hiện trong 2 năm (từ 2007 đến 2009). Dữ liệu được duyệt bao gồm từ 10.000 đến 20.000 câu từ ngân hàng phân cấp từ Tiếng Việt, cái mà sau đó được định danh là VTB - 10000 và VTB - 20000. Xác nhận chéo 5 lần với CRFs trên VTB-10.000 cho thấy rằng chúng tôi có thể đạt được kết quả của 93,45% của giải pháp F1. Các thí nghiệm với Maxent trên VTB - 20.000 sử dụng xác nhận chéo 10 lần hiển thị các kết quả tốt nhất của 93,32% của giải pháp F1.

Chú ý: Các nhãn dán tích hợp vào các luồng dữ liệu trong JVnTextPro là Maxent Tagger.

Ví dụ: Học sinh học sinh học.

- Input: Đoạn văn bản với các từ đã được tách: Học_sinh học sinh_học - Output: Văn bản với các từ được chú thích với các nhãn dán POS (nhãn dán phân loại từ loại): Học_sinh/N học/V sinh_học/N.

- Dòng lệnh:

Giả sử chúng ta ở trong thư mục nằm ngoài JvnTagger, chúng ra có thể thiết lập các thông số phía trên như dưới đây:

[classpath] = bin:lib/lbfgs.jar (hoặc bin;lib\lbfgs.jar trong hệ điều hành Windows).

[tagger] = crfs hoặc maxent.

[modeldir] = thư mục chứa các mẫu của crfs (maxent) nếu nhãn dán được thiết lập cho crfs (maxent).

[inputfile/inputdir] = đường dẫn tới tệp tin (thư mục) chứa dữ liệu để được xử lý.

Chúng ta cũng có thể thay thế “-inputfile sample\input1.txt” bằng “-inputdir samples”. Trong trường hợp này, công cụ này sẽ lấy toàn bộ tập tin có định dạng “.wseg” làm dữ liệu đầu vào. Kết quả của việc tách câu là một tập tin (nếu sử dụng tập tin -inputfile) hoặc một bộ tập tin định dạng “.pos” (nếu sử dụng -inputdir).

Nhãn dán và chú thích: 1. N: Noun (danh từ)

2. Np: Personal Noun (danh từ riêng) 3. Nc: Classification Noun (danh từ chỉ

loại)

4. Nu: Unit Noun (danh từ đơn vị) 5. V: Verb (động từ) 6. A: Adjective (tính từ) 7. P: Pronoun (đại từ) 8. L: attribute (định từ) 9. M: Numeral (số từ) 12. C: Conjucntion (liên từ) 13. I: Interjection (thán từ)

14. T: Particle, modal practicle (trợ từ, tiểu từ)

15. B: Words from foreign

countries (Từ mượn tiếng nước ngoài ví dụ: Internet, ….) 16. Y: abbreviation (từ viết tắt) 17. X: un- known (các từ không

11. E: Preposition (giới từ)

Một phần của tài liệu Nghiên cứu độ đo tương đồng văn bản trong tiếng việt và ứng dụng hỗ trợ đánh giá việc sao chép bài điện tử (Trang 34)

Tải bản đầy đủ (PDF)

(45 trang)