Bằng cách đọc phần này, bạn sẽ học cách sắp xếp các câu song song từ hai tệp đơn ngữ (các câu được sắp xếp nhưng không được sắp xếp đúng cách). Giả sử bạn có những câu tiếng Anh sau (lấy từ bản dịch tiếng Anh cuốn The Metamorphosis của Franz Kafka) One morning, as Gregor Samsa was waking up from anxious dreams, he discovered that in bed he had been changed into a monstrous verminous bug.He lay on his armour-hard back and saw, as he lifted his head up a little, his brown, arched abdomen divided up into rigid bow-like sections.From this height the blanket, just about ready to slide off completely, could hardly stay in place.His numerous legs, pitifully thin in comparison to the rest of his circumference, flickered helplessly before his eyes."What's happened to me," he thought.It was no dream. và các câu tiếng Ý tương ứng như sau Gregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. Lưu ý rằng cả câu tiếng Anh và tiếng Ý không được căn chỉnh theo từng dòng do bản dịch sử dụng dấu chấm phẩy (;) để kết hợp hai câu thành một Do đó, tập dữ liệu này không thể sử dụng được nếu bạn có ý định đào tạo một mô hình dịch máy vì các câu đã dịch bị lệch bởi một dòng. Trong các trường hợp bình thường, bạn luôn có thể sửa nó theo cách thủ công nhưng nó có thể quá tải đối với kho ngữ liệu lớn được tính bằng hàng triệu câu Hãy khám phá cách bạn có thể tạo một tập hợp con của tập dữ liệu gốc với các câu được căn chỉnh thông qua gói Python có tên là Bleualign chỉnh nhaGói Python này giúp căn chỉnh và ghép nối văn bản nguồn và văn bản đích đã dịch của nó ở cấp độ câu. Tuy nhiên, nó yêu cầu văn bản nguồn phải được dịch tự động trước để so sánh với văn bản dịch. Ngoài ra, các câu không được xáo trộn và theo thứ tự Cài đặtBạn nên thiết lập một môi trường ảo trước khi tiếp tục. Kích hoạt nó và chạy lệnh sau để cài đặt qua pip install git+https://github.com/rsennrich/Bleualign.git 2pip install git+https://github.com/rsennrich/Bleualign.git Bước tiếp theo là sao chép các tệp sau trong thư mục của bạn - lệnh_utils. py. mô-đun tiện ích để phân tích đối số đầu vào từ dòng lệnh
- căn chỉnh màu xanh. py. tập lệnh chính để thực hiện căn chỉnh câu
Ý tưởngTrước đó, hãy khám phá quy trình cơ bản để thực hiện một lần căn chỉnh câu. Nó hoạt động như sau - Dịch văn bản nguồn bằng bất kỳ API dịch máy nào (Google Dịch, v.v. ). Văn bản dịch phải tương ứng với văn bản gốc từng dòng. Không được có bất kỳ ngắt dòng hoặc dòng trống nào trong cả hai tệp
- Chạy tập lệnh để tính toán độ tương tự (BLEU đã sửa đổi) giữa văn bản đích và văn bản nguồn được dịch tự động
- Hệ thống sẽ sắp xếp các câu dựa trên điểm tương đồng
Bleualign cũng hoạt động nếu bạn dịch cả văn bản nguồn và văn bản đích. Sau đó, nó sẽ chỉ lấy giao điểm của cả hai kết quả làm đầu ra cuối cùng. Điều này cung cấp sự sắp xếp chất lượng cao tập dữ liệuVới mục đích thử nghiệm, tôi đã trích xuất văn bản từ một cuốn tiểu thuyết và chia nó thành các câu thông qua biểu thức chính quy. Tập dữ liệu cuối cùng bao gồm các dòng số sau - câu nguồn tiếng anh. 6.149 dòng
- câu mục tiêu Ý. 5,579 dòng
Sau đó mình dịch nội dung qua Google Translate (số dòng phải giống câu nguồn hoặc câu đích) - Các câu nguồn đã dịch. 6.149 dòng
- Dịch câu mục tiêu. 5,579 dòng
Sắp xếp câuGiả sử rằng tập dữ liệu (nguồn, đích, nguồn đã dịch) nằm trong cùng thư mục với tập lệnh pip install git+https://github.com/rsennrich/Bleualign.git 3, hãy chạy tập lệnh sau để bắt đầu quá trình căn chỉnh câupython bleualign.py -s sourcetext.txt -t targettext.txt --srctotarget sourcetranslation.txt --targettosrc targettranslation.txt -o outputfile Nó chấp nhận các đối số sau Gregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 0. đường dẫn tệp nguồnGregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 1. đường dẫn tệp đíchGregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 2. đường dẫn tệp nguồn đã dịchGregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 3. đường dẫn tệp mục tiêu đã dịch (tùy chọn)Gregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 4. tiền tố tập tin đầu ra
Để có độ chính xác cao hơn, bạn phải dịch văn bản đích và thay vào đó thực hiện lệnh sau python bleualign.py -s sourcetext.txt -t targettext.txt --srctotarget sourcetranslation.txt --targettosrc targettranslation.txt -o outputfile Bạn sẽ thấy đầu ra sau trên thiết bị đầu cuối của mình Gregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 0Kết quảBên cạnh đó, nó sẽ tạo thêm hai tệp dựa trên tiền tố mà bạn đã đặt Gregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 5. xuất văn bản nguồn sau khi căn chỉnh câuGregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 6. xuất văn bản đích sau khi căn chỉnh câu
Kết quả không hoàn hảo nhưng đủ tốt như bộ dữ liệu song song ban đầu. Trong trường hợp này, tập lệnh đã căn chỉnh 4442 dòng câu song song chỉ trong vài giây (bỏ qua thời gian dịch câu nguồn và câu đích). Hãy tưởng tượng lượng thời gian cần thiết nếu bạn tự căn chỉnh nó theo cách thủ công. Tất cả những gì bạn cần làm là xác minh và thực hiện một số thao tác cuối cùng trên đầu ra để đảm bảo bộ dữ liệu song song chất lượng cho mô hình dịch máy của bạn Thuật toán không hoạt động thực sự tốt khi các câu ngắn không được chia nhỏ đúng cách. Ví dụ: vấn đề sau xuất hiện Gregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 3Chế độ hàng loạtNgoài ra còn có một tập lệnh xử lý các tệp theo lô. Giả sử rằng bạn có những điều sau đây Gregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 7. một thư mục có tên chứa tất cả tập dữ liệuGregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 8. tập tin nguồnGregorio Samsa, svegliandosi un mattino da sogni agitati, si trovòtrasformato, nel suo letto, in un enorme insetto immondo.Giacevasulla schiena, dura come una corazza e, sollevando un po' latesta, vide un addome arcuato, scuro, attraversato da numerosenervature.La coperta, in equilibrio sulla sua punta, minacciavadi cadere da un momento all'altro; mentre le numerose zampe,pietosamente sottili rispetto alla sua mole, gli ondeggiavanoconfusamente davanti agli occhi."Che mi è successo?" pensò.Non era un sogno.La sua camera, unavera camera per esseri umani, anche se un po' piccola, stava benferma e tranquilla tra le sue quattro note pareti. 9. tập tin mục tiêupip install git+https://github.com/rsennrich/Bleualign.git 0. tập tin nguồn đã dịchpip install git+https://github.com/rsennrich/Bleualign.git 1. tập tin nguồnpip install git+https://github.com/rsennrich/Bleualign.git 2. tập tin mục tiêupip install git+https://github.com/rsennrich/Bleualign.git 3. tập tin nguồn đã dịch
Đơn giản chỉ cần chạy lệnh sau pip install git+https://github.com/rsennrich/Bleualign.git 1Nó sẽ tạo các tệp sau dưới dạng đầu ra - 0. vi. thẳng hàng
- 0. nó. thẳng hàng
- 1. vi. thẳng hàng
- 1. nó. thẳng hàng
ghi chúMột nhược điểm lớn là bạn cần có bản dịch của câu gốc trước khi có thể thực hiện căn chỉnh câu. Ngoài việc thực hiện dịch tự động bằng API bên ngoài, chẳng hạn như Google Dịch, bạn luôn có thể đào tạo bản dịch máy đơn giản bằng bộ dữ liệu nguồn mở để hỗ trợ bản dịch ban đầu Để biết thêm thông tin về thuật toán, vui lòng đọc các bài viết sau Rico Sennrich, Martin Volk (2010). Căn chỉnh câu dựa trên MT cho các văn bản song song do OCR tạo. Trong. Kỷ yếu của AMTA 2010, Denver, Colorado Rico Sennrich; . Liên kết câu lặp lại, dựa trên MT của các văn bản song song. Trong. NODALIDA 2011, Hội nghị Ngôn ngữ học Tính toán Bắc Âu, Riga Phần kết luậnHãy tóm tắt lại những gì bạn đã học được ngày hôm nay Bài viết này bắt đầu với một tuyên bố vấn đề đơn giản làm nổi bật vấn đề gặp phải khi xây dựng kho ngữ liệu song song cho mô hình dịch máy Nó chuyển sang các bước cài đặt và chuẩn bị dữ liệu yêu cầu các câu nguồn phải được dịch trước Sau đó, nó khám phá các khái niệm cơ bản đằng sau Bleualign tính toán độ tương tự (BLEU đã sửa đổi) giữa câu đích và câu nguồn đã dịch Cuối cùng, nó đề cập đến lệnh ví dụ và kết quả của việc liên kết câu. Ngoài ra, Bleualign hỗ trợ xử lý các tệp theo lô thông qua một trong các tập lệnh của nó |