API Trình Đọc Bài Kiểm Tra Trắc Nghiệm Python Mã Nguồn Mở

API Trình Đọc Bài Kiểm Tra Trắc Nghiệm Python miễn phí, cho phép các nhà phát triển phần mềm tạo các tờ đề thi, máy quét và phần mềm xử lý thông qua API Python.

Open-MCR Library là gì?

Đã tạo ra một gói Python mạnh mẽ có tên Open-MCR để việc triển khai Mạng Nơ-ron Hồi tiếp Đa kênh (MCRNNs) trở nên dễ dàng hơn. Dự án mã nguồn mở này, do lập trình viên tài năng Ian San tạo ra, cung cấp cho các nhà học thuật và nhà phát triển một khung làm việc đa năng và hiệu quả cho các nhiệm vụ như nhận dạng giọng nói, phân tích video và các ứng dụng chuỗi thời gian khác nhau. Sử dụng nó trong các dự án của bạn có thể mang lại các dự đoán mô hình đáng tin cậy và chính xác hơn, cuối cùng sẽ giúp máy học cải thiện trong nhiều lĩnh vực. Thư viện Open-MCR được tạo ra với mục tiêu dễ sử dụng. Thư viện này có thể tiếp cận được cho cả người mới bắt đầu và các chuyên gia giàu kinh nghiệm nhờ tài liệu và các ví dụ toàn diện.

Trong học máy, Phân loại đa lớp (MCC) là một nhiệm vụ phổ biến, trong đó mục tiêu là phân loại một đầu vào từ một loạt các lớp đã được xác định trước. Bằng cách thêm tùy chọn từ chối, Open-MCR tiến một bước xa hơn và cho phép mô hình không tạo ra dự đoán trong những trường hợp không rõ ràng. Điều này cải thiện hiệu suất tổng thể và đặc biệt hữu ích trong các tình huống mức độ tự tin của mô hình thấp. Về cơ bản, Open-MCR xử lý và hiểu đầu vào tuần tự bằng cách tận dụng ưu điểm của cả mạng nơ-ron tích chập và mạng nơ-ron hồi tiếp. Mô hình là một công cụ linh hoạt cho nhiều ứng dụng nhờ thiết kế đa kênh, giúp tăng khả năng nhận diện các mẫu và mối quan hệ phức tạp. Người dùng có thể nhanh chóng tích hợp thư viện vào ứng dụng của mình nhờ việc triển khai đơn giản. Thư viện này được định vị để thúc đẩy đáng kể các lĩnh vực xử lý dữ liệu tuần tự và học sâu khi nó tiếp tục phát triển.

Previous Next

Bắt đầu với Open-MCR

Cách khuyến nghị để cài đặt thư viện Open-MCR là sử dụng pip. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ.

Cài đặt Thư viện Open-MCR qua pip

 pip install open-mcr 

Bạn có thể tải thư viện trực tiếp từ GitHub

Sử dụng cơ chế từ chối trong các ứng dụng Python

Tính năng nổi bật của Open-MCR là cơ chế từ chối, cho phép các mô hình từ chối đưa ra dự đoán khi gặp các trường hợp mơ hồ hoặc khó khăn. Khả năng này rất quan trọng trong các ứng dụng thực tế, nơi việc tránh các dự đoán sai là tối ưu. Dưới đây là một ví dụ cho thấy cách sử dụng cơ chế từ chối chỉ với vài dòng mã. Để sử dụng một cách suôn sẻ, trước tiên hãy Import lớp OpenMCR từ thư viện và khởi tạo nó với mô hình machine learning mà bạn ưa thích. Đặt tham số rejection_threshold để kiểm soát mức độ tin cậy cho việc từ chối.

Cách sử dụng cơ chế từ chối trong các ứng dụng Python?

from openmcr import OpenMCR
from sklearn.ensemble import RandomForestClassifier

# Initialize Open-MCR with a RandomForestClassifier
model = RandomForestClassifier()
mcr_model = OpenMCR(model, rejection_threshold=0.3)

# Train the model
mcr_model.fit(X_train, y_train)

# Make predictions with rejection
predictions = mcr_model.predict(X_test)

Đọc & Trích xuất dữ liệu từ hình ảnh qua API Python

Thư viện Python mã nguồn mở Open-MCR đã cung cấp hỗ trợ đầy đủ cho việc tải và đọc dữ liệu từ hình ảnh trong các ứng dụng Python. Để xử lý các kỳ thi và đọc phiếu, người dùng đầu tiên cần quét tất cả các phiếu bằng máy quét tiêu chuẩn. Chuyển chúng thành các hình ảnh riêng lẻ và đặt vào một thư mục duy nhất, bao gồm cả đáp án. Ngoài việc đọc các hình ảnh đã quét, nó còn có thể tự động chấm điểm kết quả kỳ thi. Nó thực hiện điều này bằng cách so sánh các đáp án được cung cấp với kết quả đầu ra. Sau khi chương trình hoàn thành xử lý, kết quả sẽ được lưu dưới dạng tệp CSV trong thư mục đầu ra mà bạn đã chọn. Thư viện cũng cung cấp hỗ trợ để trích xuất dữ liệu khi đọc các hình ảnh hơi biến dạng. Với bản phát hành mới nhất, thư viện đã cải thiện thuật toán tìm lưới và cho kết quả tốt hơn với hình ảnh của bạn. Nó thiết lập một lưới dựa trên bốn dấu hiệu góc và sau đó đọc các ô tròn từ các vị trí trong lưới. Ví dụ sau đây cho thấy cách tính kết quả bằng mã Python.

Cách tính kết quả của phiếu trả lời thi bằng API Python?

import csv
import pathlib
import typing as tp

import data_exporting
import grid_info
import list_utils
import math_utils

def score_results(results: data_exporting.OutputSheet,
                  answer_keys: data_exporting.OutputSheet,
                  num_questions: int) -> data_exporting.OutputSheet:
    answers = results.data
    keys = establish_key_dict(answer_keys)
    form_code_column_name = data_exporting.COLUMN_NAMES[
        grid_info.Field.TEST_FORM_CODE]
    form_code_index = list_utils.find_index(answers[0], form_code_column_name)
    answers_start_index = list_utils.find_index(
        answers[0][form_code_index + 1:], "Q1") + form_code_index + 1
    virtual_fields: tp.List[grid_info.RealOrVirtualField] = [
        grid_info.VirtualField.SCORE, grid_info.VirtualField.POINTS
    ]
    columns = results.field_columns + virtual_fields
    scored_results = data_exporting.OutputSheet(columns, num_questions)

    for exam in answers[1:]:  # Skip header row
        fields = {
            k: v
            for k, v in zip(results.field_columns, exam[:answers_start_index])
        }
        form_code = exam[form_code_index]
        try:
            if "*" in keys:
                key = keys["*"]
            else:
                key = keys[form_code]
        except KeyError:
            fields[grid_info.VirtualField.
                   SCORE] = data_exporting.KEY_NOT_FOUND_MESSAGE
            fields[grid_info.VirtualField.
                   POINTS] = data_exporting.KEY_NOT_FOUND_MESSAGE
            scored_answers = []
        else:
            scored_answers = [
                int(actual == correct)
                for actual, correct in zip(exam[answers_start_index:], key)
            ]
            fields[grid_info.VirtualField.SCORE] = str(
                round(math_utils.mean(scored_answers) * 100, 2))
            fields[grid_info.VirtualField.POINTS] = str(sum(scored_answers))
        string_scored_answers = [str(s) for s in scored_answers]
        scored_results.add(fields, string_scored_answers)

    return scored_results

Cải thiện độ chính xác và độ bền

Thư viện mã nguồn mở Open-MCR là một bổ sung có giá trị cho bộ công cụ của các nhà thực hành học máy, những người đang tìm cách nâng cao hiệu suất của các mô hình phân loại đa lớp. Cơ chế từ chối tăng cường độ chính xác tổng thể của các mô hình phân loại đa lớp, đặc biệt trong những tình huống mà các mô hình truyền thống có thể gặp khó khăn. Cơ chế này cũng tăng tính bền vững của mô hình bằng cách ngăn ngừa việc đưa ra các dự đoán không đáng tin cậy, đảm bảo kết quả đáng tin hơn trong các kịch bản thực tế đa dạng.

 Tiếng Việt