Là sinh viên của ngôn ngữ học tính toán, tôi thường xuyên thực hiện các thí nghiệm học máy ở nơi tôi phải chuẩn bị dữ liệu đào tạo từ tất cả các nguồn tài nguyên khác nhau như văn bản thô hoặc chú thích văn bản hoặc ngân hàng cây cú pháp. Đối với mỗi nhiệm vụ mới và mỗi thử nghiệm mới, tôi viết chương trình (thông thường bằng Python và đôi khi Java) để trích xuất các tính năng và giá trị tôi cần và chuyển đổi dữ liệu từ định dạng này sang định dạng khác. Điều này thường dẫn đến một số lượng rất lớn các tệp rất lớn và một số lượng rất lớn các chương trình nhỏ xử lý chúng để có được đầu vào cho một số khung học máy (như các tệp arff cho Weka).Các khuôn khổ chung để chuẩn bị dữ liệu đào tạo?
Một cần phải được tổ chức cực kỳ tốt để đối phó với điều đó và chương trình với sự cẩn thận không bỏ lỡ bất kỳ đặc thù quan trọng, ngoại lệ hoặc lỗi trong tấn dữ liệu. Nhiều nguyên tắc thiết kế phần mềm tốt như các mẫu thiết kế hay mô hình tái cấu trúc không sử dụng lớn cho các nhiệm vụ này bởi vì những thứ như bảo mật, bảo trì hoặc tính bền vững không có tầm quan trọng thực sự - một khi chương trình xử lý thành công dữ liệu không cần nữa. Điều này đã đi xa đến mức tôi thậm chí còn ngừng làm phiền về việc sử dụng các lớp hoặc các chức năng ở tất cả trong mã Python và chương trình của tôi theo một cách thủ tục đơn giản. Thử nghiệm tiếp theo sẽ yêu cầu các tập dữ liệu khác nhau với các đặc điểm độc đáo và ở định dạng khác để chuẩn bị của chúng có thể sẽ được lập trình ngay từ đầu. Kinh nghiệm của tôi cho đến nay là nó không phải là bất thường để dành 80-90% thời gian của một dự án về nhiệm vụ chuẩn bị dữ liệu đào tạo. Giờ và ngày chỉ bằng cách suy nghĩ về cách chuyển từ định dạng dữ liệu này sang định dạng dữ liệu khác. Đôi khi, điều này có thể trở nên khá bực bội.
Vâng, bạn có thể đoán rằng tôi đang phóng đại một chút, với mục đích thậm chí, nhưng tôi tích cực bạn hiểu những gì tôi đang cố gắng để nói. Câu hỏi của tôi, thực sự, là:
Có bất kỳ khung công tác chung, kiến trúc, thực tiễn tốt nhất nào để tiếp cận các tác vụ này không? Tôi viết được bao nhiêu mã mà tôi có thể sử dụng lại cho thiết kế tối ưu?
Dựa trên kinh nghiệm học tập của tôi, tôi không coi đó là cường điệu chút nào. : P – ealdent