Python chuyển đổi tiếng Nga sang tiếng Anh

Gần đây tôi đã hoàn thành việc thu thập các quyết định từ hàng nghìn vụ án của tòa án Nga; . Tổng cộng, kho văn bản tôi đã thu thập bao gồm 85 triệu ký tự. Mục tiêu của tôi là dịch những tài liệu này sang tiếng Anh, để các trợ lý nghiên cứu đại học có thể hỗ trợ mã hóa kết quả của những trường hợp này. Bản dịch của con người những văn bản này sẽ rất tốn kém về thời gian và nguồn lực, vì vậy tôi đã chuyển sang dịch máy

Các dịch vụ dịch thuật của Google, AWS hoặc Microsoft có giá khoảng 1.500 đô la Mỹ—không tệ, với quy mô của dự án, nhưng đủ để thuyết phục tôi dành thời gian xem xét việc thực hiện bản dịch máy thủ công, thủ công của riêng mình. Hóa ra làm như vậy tương đối đơn giản bằng cách sử dụng các mô hình dựng sẵn do tập thể Hugging Face phát triển. Tôi tự coi mình là một lập trình viên khá giỏi về R và là một người hoàn toàn mới làm quen với Python, nhưng tôi vẫn có thể ghép một chương trình dịch thực hiện công việc. Hướng dẫn này nhằm giúp đỡ bất kỳ ai khác ở vị trí tương tự [cũng như là một lời nhắc nhở cho bản thân tương lai của tôi]

Tiền xử lý dữ liệu

Một trở ngại đáng kể đối với loại dịch máy homebrew này là hầu hết các kiểu máy bán sẵn đều bị giới hạn về số lượng văn bản mà chúng có thể dịch cùng một lúc — đại loại như 500 mã thông báo cùng một lúc, bao gồm các từ, chữ số và dấu chấm câu. Để giải quyết vấn đề này, trước tiên tôi phải chia các văn bản dài của mình thành các đoạn mà máy có thể phân tích được. Tôi đã làm điều này bằng cách gọi spacyR để cắt văn bản thành các câu riêng lẻ. Các câu từ mỗi văn bản sau đó được lưu dưới dạng. json để nhập vào Python sau. Để chạy tập lệnh này, bạn sẽ cần các gói

for[i in 1:nrow[data_full]]{
  if[is.na[data_full$decision.text[i]]==TRUE] next
  
  sentence_list 

Chủ Đề