Mallet là một gói phần mềm dựa trên Java để thống kê xử lý ngôn ngữ tự nhiên, phân loại tài liệu, phân cụm, mô hình chủ đề, khai thác thông tin, và học các ứng dụng máy tính khác vào văn bản. Mallet bao gồm các công cụ tinh vi để phân loại tài liệu: chương trình hiệu quả cho chuyển đổi văn bản thành tính năng, một loạt các thuật toán (bao gồm cả Naïve Bayes, Maximum Entropy, và Decision Trees), và tiêu chuẩn để đánh giá hiệu suất phân lớp sử dụng nhiều số liệu thường được sử dụng.Ngoài phân loại, Mallet gồm các công cụ cho trình tự gắn thẻ cho các ứng dụng như: khai thác tên thực thể từ văn bản. Thuật toán bao gồm Hidden Markov Models, Models Maximum Entropy Markov, và Conditional Random Fields. Những phương pháp này được thực hiện trong một hệ thống mở rộng cho máy biến đổi trạng thái hạn chế.Mô hình chủ đề rất hữu ích cho việc phân tích các bộ sưu tập lớn các văn bản không có nhãn. Bộ công cụ Mallet mô hình chủ đề chứa hiệu quả cao, triển khai lấy mẫu dựa trên phương pháp lấy mẫu của Latent Dirichlet Allocation, Pachinko Allocation, và Hierarchical LDA. Nhiều thuật toán trong Mallet phụ thuộc vào tối ưu hóa số. Mallet bao gồm thực thi có hiệu quả của bộ nhớ hạn chế BFGS, trong số nhiều phương pháp tối ưu hóa khác. Ngoài các ứng dụng học máy tinh vi, Mallet bao gồm thói quen cho chuyển tài liệu văn bản thành các thể hiện số mà sau đó có thể được xử lý một cách hiệu quả. Quá trình này được thực hiện thông qua một hệ thống linh hoạt của Pipe, trong đó xử lý các nhiệm vụ riêng biệt như tokenizing chuỗi, loại bỏ stopwords, và chuyển đổi dữ liệu vào vectơ đếm.Một gói addon tới Mallet, gọi GRMM, có hỗ trợ đối cho kết luận trong các mô hình đồ họa nói chung và đào tạo của CRFs với cấu trúc đồ họa tùy ý.
Khoa CNTT – Trường Đại Học Điện Lực LỜI CÁM ƠN Để hoàn thành tập cuối kì môn học máy, nhóm em xin tỏ lòng biết ơn sâu sắc đến cô giáo T.S Nguyễn Thị Thu Hà tận tình hướng dẫn nhóm em suốt trình làm Nhóm em xin chân thành cảm ơn thầy cô khoa Công nghệ thông tin trường Đại học Điện Lực tận tình giúp đỡ, truyền đạt kiến thức , tạo điều kiện để em hoàn thành tập cuối kì tốt Với vốn kiến thức tiếp thu trình học tập không tảng cho trình làm mà hành trang quý báu để em bước vào đời cách vững tự tin Trong trình học tập làm bài, chúng em có chỗ sai sót em mong thầy cô bỏ qua Cuối cùng, em xin chúc thầy dồi sức khỏe, hạnh phúc thành công nghiệp cao quý – nghiệp giáo dục Nhóm em xin chân thành cảm ơn! Sinh viên thực hiện: Lưu Tú Anh Lê Tuấn Anh Khoa CNTT – Trường Đại Học Điện Lực Khoa CNTT – Trường Đại Học Điện Lực MỤC LỤC LỜI CÁM ƠN MỤC LỤC CHƯƠNG 1: LÝ THUYẾT 1.1 Giới thiệu mã nguồn mở Mallet 1.1.1 Tổng quan 1.1.2 Sử dụng 1.1.3 Các chức 1.1.4 Một số API Mallet 1.2 Phân loại (Classification) 3.1 Xác định đào tạo kiểm thử Sets 3.2 Lựa chọn phương pháp phân loại CHƯƠNG 2: THỰC HÀNH VÀ CÀI ĐẶT 2.1 Giao diện 2.2 Một số mã code sử dụng chương trình a Chạy CMD b Chuyển file sang định dạng Mallet Khoa CNTT – Trường Đại Học Điện Lực c.Chạy code huấn luyện chủ đề 2.3 Thực nghiệm Khoa CNTT – Trường Đại Học Điện Lực CHƯƠNG 1: LÝ THUYẾT 1.1 Giới thiệu mã nguồn mở Mallet 1.1.1 Tổng quan Mallet gói phần mềm dựa Java để thống kê xử lý ngôn ngữ tự nhiên, phân loại tài liệu, phân cụm, mô hình chủ đề, khai thác thông tin, học ứng dụng máy tính khác vào văn Mallet bao gồm công cụ tinh vi để phân loại tài liệu: chương trình hiệu cho chuyển đổi văn thành "tính năng", loạt thuật toán (bao gồm Naïve Bayes, Maximum Entropy, Decision Trees), tiêu chuẩn để đánh giá hiệu suất phân lớp sử dụng nhiều số liệu thường sử dụng Ngoài phân loại, Mallet gồm công cụ cho trình tự gắn thẻ cho ứng dụng như: khai thác tên thực thể từ văn Thuật toán bao gồm Hidden Markov Models, Models Maximum Entropy Markov, Conditional Random Fields Những phương pháp thực hệ thống mở rộng cho máy biến đổi trạng thái hạn chế Mô hình chủ đề hữu ích cho việc phân tích sưu tập lớn văn nhãn Bộ công cụ Mallet mô hình chủ đề chứa hiệu cao, triển khai lấy mẫu dựa phương pháp lấy mẫu Latent Dirichlet Allocation, Pachinko Allocation, Hierarchical LDA Khoa CNTT – Trường Đại Học Điện Lực Nhiều thuật toán Mallet phụ thuộc vào tối ưu hóa số Mallet bao gồm thực thi có hiệu nhớ hạn chế BFGS, số nhiều phương pháp tối ưu hóa khác Ngoài ứng dụng học máy tinh vi, Mallet bao gồm thói quen cho chuyển tài liệu văn thành thể số mà sau xử lý cách hiệu Quá trình thực thông qua hệ thống linh hoạt "Pipe", xử lý nhiệm vụ riêng biệt tokenizing chuỗi, loại bỏ stopwords, chuyển đổi liệu vào vectơ đếm Một gói add-on tới Mallet, gọi GRMM, có hỗ trợ đối cho kết luận mô hình đồ họa nói chung đào tạo CRFs với cấu trúc đồ họa tùy ý 1.1.2 Sử dụng ● Trước sử dụng Mallet ta phải tải cài đặt ứng dụng khác Download : http://mallet.cs.umass.edu/download.php Hướng dẫn cài dặt : http://programminghistorian.org/lessons/topic-modeling-and-mallet ● Để sử dụng Mallet ta có cách : Cách : Sử dụng Command line win, chạy CMD.exe Cách : Xây dựng chương trình sử dụng ngôn ngữ Java, add thư viện Mallet, sử dụng API Mallet dược xây dựng 1.1.3 Các chức ● Import data Khoa CNTT – Trường Đại Học Điện Lực Có hai phương pháp để nhập liệu sang định dạng Mallet, thứ nguồn liệu bao gồm nhiều tập tin riêng biệt, thứ hai liệu chứa tập tin nhất, với thể dòng Một trường hợp cho file : chuyển liệu sang dịnh dạng mallet bin/mallet import-dir input sample-data/web/* output web.mallet Mallet sử dụng tên thư mục nhãn tên file tên ví dụ Một file, trường hợp cho dòng : Giả sử liệu định dạng sau: [URL] [ngôn ngữ] [text trang ] Chạy command line : bin/mallet import-file input /data/web/data.txt output web.mallet Các mã thông báo dòng (khoảng trắng phân cách, với dấu phẩy tùy chọn) trở thành tên trường hợp, mã thông báo thứ hai trở thành nhãn hiệu, tất văn bổ sung vào dòng hiểu chuỗi thẻ từ ● Phân loại tài liệu (Document Classification) Phân loại thuật toán để phân biệt vị trí cố định lớp, chẳng hạn "spam" "không phải spam", dựa ví dụ đào tạo nhãn Mallet bao gồm việc triển khai số thuật toán phân loại, bao gồm Naïve Bayes, Maximum Entropy, định Ngoài ra, Mallet cung cấp công cụ để đánh giá phân loại Khoa CNTT – Trường Đại Học Điện Lực Đào tạo phân lớp: Để đào tạo phân lớp vào tập tin liệu Mallet gọi training.mallet, sử dụng lệnh : bin/mallet train-classifier input training.mallet output-classifier my.classifier Lựa chọn thuật toán: Thuật toán phân loại Naïve Bayes mặc định Để chọn thuật toán khác, sử dụng trainer lựa chọn : bin/mallet train-classifier input training.mallet output-classifier my.classifier \ trainer MaxEnt Các thuật toán hỗ trợ bao gồm Maxent, NaiveBayes, C45, DecisionTree Đánh giá (Evaluation): Không phân lớp hoàn hảo, điều quan trọng phải biết liệu phân lớp cho kết tốt liệu không sử dụng đào tạo Để chia tập trường dán nhãn vào danh sách đào tạo thử nghiệm, bạn sử dụng lệnh này: bin/mallet train-classifier input labeled.mallet training-portion 0.9 Lựa chọn báo cáo (Reporting options) : Khoa CNTT – Trường Đại Học Điện Lực Để báo cáo xác cho liệu huấn luyện F1 cho nhãn lớp " sports " liệu thử nghiệm, sử dụng lệnh: bin/mallet train-classifier input labeled.mallet training-portion 0.9 \ report train:accuracy test:f1:sports Phân chia ngẫu nhiên phức tạp / Cross-validation: Thực nhiều chia tách thử nghiệm / đào tạo cung cấp nhìn tốt hiệu suất phân lớp Để sử dụng 10 ngẫu nhiên 90:10 phân chia, sử dụng tùy chọn: training-portion 0.9 num-trials 10 Để sử dụng 10 lần qua xác nhận sử dụng cross-validation 10 So sánh nhiều thuật toán: Có thể để đào tạo nhiều phân lớp cho thử nghiệm, đơn giản cung cấp nhiều trainer lựa chọn: bin/mallet train-classifier input labeled.mallet training-portion 0.9 \ trainer MaxEnt trainer NaiveBayes Áp dụng phân lớp lưu tới liệu gán nhãn : Sử dụng Csv2Classify (for one-instance-per-line data) or Text2Classify (for one-instance-per-file data) bin/mallet classify-file input data output - classifier classifier Khoa CNTT – Trường Đại Học Điện Lực bin/mallet classify-dir input datadir output - classifier classifier ● Làm việc với trình tự (Working with sequences) Mallet bao gồm việc triển khai sử dụng rộng rãi thuật toán chuỗi bao gồm mô hình Markov ẩn (HMMs) chuỗi tuyến tính ngẫu nhiên lĩnh vực có điều kiện (CRFs) Các thuật toán hỗ trợ ứng dụng phát gen công nhận tên thực thể SimpleTagger SimpleTagger giao diện dòng lệnh cho lớp Mallet Conditional Random Field (CRF) Dưới ví dụ đơn giản cho thấy việc sử dụng SimpleTagger để gán cho chuỗi văn Tập tin đầu vào bạn phải định dạng sau: Bill CAPITALIZED noun slept non-noun here LOWERCASE STOPWORD non-noun Đó là, dòng đại diện cho thẻ, có định dạng: feature1 feature2 featuren nhãn Sau đó, bạn đào tạo CRF sử dụng SimpleTagger (trên dòng): hough@gobur:~/tagger-test$ java -cp 10 Khoa CNTT – Trường Đại Học Điện Lực cc.mallet.util.resources.wn cc.mallet.util.search cc.mallet.util.tests JUnit tests tiện ích hỗn hợp 21 Khoa CNTT – Trường Đại Học Điện Lực 1.2 Phân loại (Classification) Khi danh sách vectơ Tính tạo Mallet có thể thực phân loại Trong cách sử dụng điển hình, chia vectơ tính vào huấn luyện tập kiểm trabộ Một phân loại thu thập số liệu thống kê từ tập huấn luyện lấy thông số nội từ thống kê Bộ phân loại sau áp dụng thông số để phân loại tập hợp kiểm chứng đầu phân loại vectors2classify input data.vectors training-portion 0.6 num-trials Sẽ kết ba thử nghiệm, tách tàu thử nghiệm ngẫu nhiên, 60% tài liệu sử dụng để đào tạo, 40% để thử nghiệm Sản lượng bình thường vectors2classify bao gồm độ xác, độ lệch chuẩn sai số chuẩn cho liệu thử nghiệm đào tạo và, ma trận nhầm lẫn Ví dụ, lệnh vectors2classify input news2.vectors trainer NaiveBayes training-portion 0.6 num-trials sẽ, cho danh sách dụ xây dựng từ ba talk.politics lớp học, in sau: Trial Trial Trial Trial Trial 0 0 Training NaiveBayesTrainer with 1800 instances Training NaiveBayesTrainer finished Trainer NaiveBayesTrainer training data accuracy= 0.9533333333333334 Trainer NaiveBayesTrainer Test Data Confusion Matrix 22 Khoa CNTT – Trường Đại Học Điện Lực Confusion Matrix, row=true, column=predicted label |total guns 382 18 |400 mideast 12 365 30 |407 misc 47 20 326 |393 accuracy=0.8941666666666667 Trial Trainer NaiveBayesTrainer test data accuracy= 0.8941666666666667 Trial Trial Training NaiveBayesTrainer with 1800 instances Trial Training NaiveBayesTrainer finished Trial Trainer NaiveBayesTrainer training data accuracy= 0.9505555555555556 Trial Trainer NaiveBayesTrainer Test Data Confusion Matrix Confusion Matrix, row=true, column=predicted accuracy=0.9025 label |total guns 372 17 |389 mideast 376 19 |400 misc 58 18 335 |411 Trial Trainer NaiveBayesTrainer test data accuracy= 0.9025 NaiveBayesTrainer Summary train accuracy mean = 0.9519444444444445 stddev = 0.001388888888888884 stderr = 9.82092751647979E-4 Summary test accuracy mean = 0.8983333333333333 stddev = 0.004166666666666652 stderr = 0.002946278254943937 Việc lựa chọn thống kê đào tạo định với chọn Báo cáo mặc định tàu xác report tùy report: đào tạo nhầm lẫn: kiểm tra độ xác: , mà in ma trận nhầm lẫn xác cho thử nghiệm đào tạo giá trị trung bình, độ lệch chuẩn, sai số chuẩn độ xác tất thử nghiệm Dạng tổng quát lựa chọn báo cáo tập liệu: cặp số liệu thống kê, nơi tập liệu danh sách trường hợp báo cáo 23 Khoa CNTT – Trường Đại Học Điện Lực tàu , xác nhận kiểm tra thống kê thông tin mong muốn danh sách thẩm nhầm lẫn , xác , f1 , thô Trên thử nghiệm, danh sách dụ đầu vào partioned thành đào tạo, thử nghiệm xác nhận thiết lập Đối với bộ, kết hợp số liệu thống kê xuất Các f1 thống kê báo cáo nhãn, với quy định sau dấu "=" sau: vectors2classify input news2.vectors trainer NaiveBayes training-portion 0.6 report train:f1=mideast tạo dòng sau đầu /home/mccallum/20_newsgroups/talk.politics.misc/178939 misc misc:0.98 mideast:0.015 guns:0.005 Kết phân loại nguyên liệu, lựa chọn với raw thống kê, in loạt dòng văn mà nhìn này: /home/mccallum/20_newsgroups/talk.politics.misc/178939 misc misc:0.98 mideast:0.015 guns:0.005 Đó là, tập tin thử nghiệm dòng, bao gồm lĩnh vực sau đây: directory/filename TrueClass TopPredictedClass:score1 2ndPredictedClass:score2 Chúng ta thấy (mặc định) đầu từ vectors2classify input news2.vectors trainer NaiveBayes training-portion 0.6 num-trials giống như: vectors2classify input news2.vectors trainer NaiveBayes training-portion 0.6 num-trials report train:confusion train:accuracy test:accuracy 24 Khoa CNTT – Trường Đại Học Điện Lực Lưu ý nhiều tùy chọn quy định đơn report tùy chọn Nhiều tùy chọn report định với tác dụng tương tự Các ví dụ tương tự với nhiều report tùy chọn vectors2classify input news2.vectors trainer NaiveBayes training-portion 0.6 num-trials report train:confusion report train:accuracy 3.1 Xác định đào tạo kiểm thử Sets Trong trường hợp văn thử nghiệm bao gồm tài liệu đào tạo phần danh sách vector, tập huấn luyện xác định với -training-phần tùy chọn Ví dụ, vectors2classify training-file train.vectors testing-file test.vectors Sẽ sử dụng tạo số giả ngẫu nhiên để chọn 0,6 tài liệu danh sách vector đặc trưng đặt chúng vào tập huấn luyện, sau đặt tài liệu lại tập kiểm tra Giá trị mặc định cho training-phần 1.0, tài liệu đặt tập kiểm tra Một phần vector đặt để xác nhận Phần xác nhận quy định với tùy chọn validation-phần Ví dụ, vectors2vectors input news2.vectors training-portion training-file train.vectors testing-file test.vectors 25 Khoa CNTT – Trường Đại Học Điện Lực Sẽ sử dụng 0,6 vectơ tính cho đào tạo, 0,3 để thử nghiệm, 0,1 để xác nhận Mặc dù tập xác nhận có sẵn cho phân loại Mallet, không số phân loại Mallet đủ tinh vi để sử dụng 3.1.1 Tạo Phân loại vector từ tập tin riêng biệt Bạn phân loại tập tin chuyển đổi sang vector thời điểm khác so với liệu huấn luyện Phần 2.1 mô tả cách để tạo tập tin để họ có đường ống xử lý tương tự từ điển tương thích để sử dụng nhiệm vụ phân loại tương tự Để sử dụng tập tin riêng biệt cho đào tạo thử nghiệm (và xác nhận), sử dụng validation-file training-file , testing-file , tùy chọn thay input tùy chọn Ví dụ, vectors2classify training-file train.vectors testing-file test.vectors Sẽ đào tạo phân loại mặc định với vectơ train.vectors phân loại vectơ test.vectors Một phương pháp tạo tập tin vector riêng tách tập tin vector Các vectors2vectors chương trình hỗ trợ chế chia tìm thấy trongvectors2classify Ví dụ, vectors2vectors input news2.vectors training-portion training-file train.vectors testing-file test.vectors 26 Khoa CNTT – Trường Đại Học Điện Lực Sẽ ngẫu nhiên chia vectơ news2.vectors vào tập tin đào tạo tập tin thử nghiệm, tỷ lệ quy định, tương thích (sử dụng đường ống từ điển) để phân loại 3.2 Lựa chọn phương pháp phân loại Mallet hỗ trợ phương pháp phân loại khác nhau, (và mã làm cho dễ dàng để bổ sung thêm) Mặc định Naive Bayes, tối đa Entropy, định, vỗ có sẵn Đây quy định với tùy chọn trainer theo sau tên huấn luyện viên: NaiveBayes, Maxent, sàng lọc Ví dụ, vectors2classify input news2.vectors trainer MaxEnt training-portion 0.7 Sẽ sử dụng tối đa Entropy để phân loại Hơn huấn luyện viên quy định thời điểm, mà gây tất giảng viên quy định để đào tạo liệu Ví dụ vectors2classify input news2.vectors trainer NaiveBayes trainer MaxEnt training-portion 0.7 Sẽ phân loại liệu chia lửa / thử nghiệm tương tự sử dụng Naive Bayes Maximum Entropy phân loại Nội để vồ, giảng viên phân loại lớp học riêng biệt; phân loại tạo từ lớp huấn luyện viên tương ứng sau đào tạo Các trainer lựa chọn thực xác định constructor huấn luyện viên để chạy Khi ngoặc xuất lập luận để trainer "mới" thêm vào phía trước đối số "Trainer ()" nối thêm vào đối số (nếu chưa có) để 27 Khoa CNTT – Trường Đại Học Điện Lực tạo gọi constructor Ví dụ, quy định cụ thể trainer NaiveBayes giống quy định cụ thể trainer "NaiveBayesTrainer ()" (Dấu ngoặc kép Lưu ý cần thiết để bảo vệ ( 's) từ vỏ) Người dùng định gọi constructor trực tiếp đối số để trainer Rõ ràng định nhà xây dựng (với trước "mới" dấu "Trainer") thường sử dụng xác định đối số cho huấn luyện viên Ví dụ, vectors2classify input news2.vectors trainer "new MaxEntTrainer(0.01)" training-portion 0.6 Sẽ đào tạo cách sử dụng phân loại Maximum Entropy khởi tạo với phương sai trước gaussian 0,01 28 Khoa CNTT – Trường Đại Học Điện Lực CHƯƠNG 2: THỰC HÀNH VÀ CÀI ĐẶT Với đề tài giao, chúng em lựa chọn ngôn ngữ để cài đặt cho chương trình Visual Studio 2013 với giao diện dễ sử dụng đạt mong muốn đạt đề tài mà nhóm vạch Với việc sử dụng Visual Studio làm: - Tạo giao diện người sử dụng: Giao diện người sử dụng có lẽ thành phần quan trọng ứng dụng Đối với người sử dụng, giao diện ứng dụng; họ không cần quan tâm đến thành phần mã thực thi bên Ứng dụng ta có phổ biến hay không phụ thuộc vào giao diện - Sử dụng điều khiển chuẩn Visual studio : Sử dụng điều khiển để lấy thông tin mã người sử dụng nhập vào để hiển thị kết xuất hình Ví dụ: hộp văn bản, nút lệnh, hộp danh sách - Lập trình với đối tượng: Những đối tượng thành phần để lập trình Visual Studio Đối tượng form, điều khiển, sở liệu - Lập trình với phần hợp thành: Khi cần sử dụng khả tính toán Microsoft Excel, định dạng tài liệu sử dụng công cụ Microsoft Word, lưu trữ xử lý liệu dùng Microsoft Jet Tất điều thực cách xây dựng 29 Khoa CNTT – Trường Đại Học Điện Lực ứng dụng sử dụng thành phần ActiveX Tuy nhiên người sử dụng tạo ActiveX riêng - Đáp ứng kiện phím chuột: Sử dụng phím nóng, rê thả chuột tính OLE - Làm việc với văn đồ hoạ: Xử lý văn bản, chèn hình theo ý muốn - Gỡ rối quản lý lỗi - Xử lý ổ đĩa thư mục file: Qua phương thức cũ lệnh Open, Write# tập hợp công cụ FSO (File System Object) 30 Khoa CNTT – Trường Đại Học Điện Lực 2.1 Giao diện Hình : Giao diện chương trình 2.2 Một số mã code sử dụng chương trình a Chạy CMD Process process = new Process(); string commands = "/c C:\\mallet-2.0.8RC3/bin/mallet import-file input " + pathFileInput + " output " 31 Khoa CNTT – Trường Đại Học Điện Lực + fileMellet + " keep-sequence remove-stopwords"; commands += "&C:\\mallet-2.0.8RC3/bin/mallet train-topics input " + fileMellet + " num-topics " + mStrNumber + " output-state " + pathFolderOutput + "/" + fileName + ".gz"; commands += " output-topic-keys " + pathFolderOutput + "/" + fileNameKey + " output-doc-topics " + pathFolderOutput + "/" + fileNameCompos; process.StartInfo.CreateNoWindow = true; process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; process.StartInfo.WorkingDirectory = @"C:\Windows\System32"; process.StartInfo.FileName = "CMD.exe"; process.StartInfo.Arguments = commands; process.Start(); process.WaitForExit(); b Chuyển file sang định dạng Mallet string commands = "/c C:\\mallet-2.0.8RC3/bin/mallet import-file pathFileInput + " output " + fileName.mallet + " keep-sequence remove-stopwords"; input " + commands += "&C:\\mallet-2.0.8RC3/bin/mallet train-topics input + fileMellet + " num-topics " + mStrNumber + " output-state " pathFolderOutput + "/" + fileName + ".gz"; " + c.Chạy code huấn luyện chủ đề 2.3 Thực nghiệm Kết thực nghiệm 32 Khoa CNTT – Trường Đại Học Điện Lực Hình : Kết 33 Khoa CNTT – Trường Đại Học Điện Lực Hình : Danh sánh tập từ chủ đề Trong danh sách tập từ chủ đề : + Thông số thứ : số thứ tự chủ đề + Thông số thứ : tham số Dirichle + Thông số thứ : Từ khóa chủ đề dược đào tạo 34 Khoa CNTT – Trường Đại Học Điện Lực Hình : Thành phần phân bổ tập từ chủ đề Bảng kết cho biết phân chia theo tỷ lệ phần trăm chủ đề 35 [...]... nghiệm về Cảm biến, bao gồm cc .mallet. fst.tests cả điều kiện Random Fields (CRFs) cc .mallet. grmm.examples cc .mallet. grmm.inference cc .mallet. grmm.inference.gbp cc .mallet. grmm.learning cc .mallet. grmm.learning.extract cc .mallet. grmm.learning.templates cc .mallet. grmm.test cc .mallet. grmm.types cc .mallet. grmm.util Classes cho việc tìm kiếm tối đa của cc .mallet. optimize một hàm cc .mallet. optimize.tests JUnit... cc .mallet. classify.tui tài liệu Phân cụm không có giám sát của các cc .mallet. cluster đối tượng trong một InstanceList cc .mallet. cluster.clustering_scorer cc .mallet. cluster.evaluate 17 Khoa CNTT – Trường Đại Học Điện Lực cc .mallet. cluster.evaluate.tests cc .mallet. cluster.examples cc .mallet. cluster.iterator cc .mallet. cluster.iterator.tests cc .mallet. cluster.neighbor_evaluator cc .mallet. cluster.tui cc .mallet. cluster.util... cc .mallet. cluster.tui cc .mallet. cluster.util cc .mallet. examples cc .mallet. extract Chưa thực hiện cc .mallet. extract.pipe cc .mallet. extract.test Chuyển dịch, bao gồm cả điều kiện cc .mallet. fst Random Fields (CRFs) cc .mallet. fst.confidence cc .mallet. fst.semi_supervised cc .mallet. fst.semi_supervised.constraints cc .mallet. fst.semi_supervised.pr cc .mallet. fst.semi_supervised.pr.constraint s cc .mallet. fst.semi_supervised.tui... Đại Học Điện Lực "/home/hough /mallet/ class:/home/hough /mallet/ lib /mallet- deps.jar" cc .mallet. fst.SimpleTagger train true model-file nouncrf sample Điều này giả định rằng Mallet đã được cài đặt và được xây dựng trong / home / hough / mallet Lưu ý rằng thư mục Mallet được xây dựng (/ home / hough / mallet / class) và các tập tin Mallet jar cần thiết (/home/hough /mallet/ mallet-deps.jar) trong lasspath... cc .mallet. share.mccallum.ner Đặt tên thực thể nhận dạng Tiện ích mà hiện nay bao gồm một cc .mallet. share.upenn trang dòng lệnh cho việc phân loại theo Maxent cc .mallet. share.upenn.ner cc .mallet. share.weili.ner cc .mallet. share.weili.ner.enron cc .mallet. topics cc .mallet. topics.tui Mallet loại cơ bản, bao gồm cả cc .mallet. types FeatureVector, Instance, Label, vv JUnit tests cho nhiều loại Mallet cơ cc .mallet. types.tests... chuyên dụng cc .mallet. pipe tùy vào các trường hợp Classes tạo ra các trường hợp từ các cc .mallet. pipe.iterator loại khác nhau của các đầu vào hoặc cấu trúc dữ liệu cc .mallet. pipe.iterator.tests 19 Khoa CNTT – Trường Đại Học Điện Lực cc .mallet. pipe.tests JUnit tests for pipes cc .mallet. pipe.tsf TokenSequenceFeature Pipes JUnit tests for TokenSequenceFeature cc .mallet. pipe.tsf.tests Pipes cc .mallet. share.casutton.ner... trong Mallet Packages Classes cho đào tạo và phân loại các cc .mallet. classify trường hợp cc .mallet. classify.constraints.ge cc .mallet. classify.constraints.pr Classes cho tính toán và hiển thị chất lượng của một thử nghiệm phân loại, cc .mallet. classify.evaluate bao gồm cả tính chính xác, độ chính xác, và ma trận nhầm lẫn Lớp ví dụ cho thấy làm thế nào để sử cc .mallet. classify.examples dụng phân loại cc .mallet. classify.tests... "/home/hough /mallet/ class:/home/hough /mallet/ lib /mallet- deps.jar" 11 Khoa CNTT – Trường Đại Học Điện Lực cc .mallet. fst.SimpleTagger model-file nouncrf stest trong đó sản xuất ra như sau: Number of predicates: 5 noun CAPITAL Al non-noun slept non-noun here Để sử dụng đào tạo đa luồng CRF, xác định số lượng của thread với threads: hough@gobur:~/tagger-test$ java -cp "/home/hough /mallet/ class:/home/hough /mallet/ lib /mallet- deps.jar"... "/home/hough /mallet/ class:/home/hough /mallet/ lib /mallet- deps.jar" cc .mallet. fst.SimpleTagger train true model-file nouncrf threads 8 sample Một danh sách tất cả các tùy chọn có sẵn với SimpleTagger có thể thu được bằng cách xác định help lựa chọn: hough@gobur:~/tagger-test$ java -cp "/home/hough /mallet/ class:/home/hough /mallet/ lib /mallet- deps.jar" 12 Khoa CNTT – Trường Đại Học Điện Lực cc .mallet. fst.SimpleTagger help... process.StartInfo.Arguments = commands; process.Start(); process.WaitForExit(); b Chuyển file sang định dạng Mallet string commands = "/c C:\ \mallet- 2.0.8RC3/bin /mallet import-file pathFileInput + " output " + fileName .mallet + " keep-sequence remove-stopwords"; input " + commands += "&C:\ \mallet- 2.0.8RC3/bin /mallet train-topics input + fileMellet + " num-topics " + mStrNumber + " output-state " pathFolderOutput