Xem mẫu

  1. Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), Nha Trang, ngày 8-9/10/2020 DOI: 10.15625/vap.2020.00223 ỨNG DỤNG KỸ THUẬT NHẬN DẠNG TIẾNG NÓI TỰ ĐỘNG VÀO HỖ TRỢ HOẠT ĐỘNG KIỂM SOÁT KHÔNG LƯU Lê Văn Vũ1, Hoàng Lê Uyên Thục2 1 Công ty Quản lý bay miền Trung, 44 Thi Sách, Q. Hải Châu, Đà Nẵng 2 Trường Đại học Bách khoa, Đại học Đà Nẵng, 54 Nguyễn Lương Bằng, Q. Liên Chiểu, Đà Nẵng vule.thisach@gmail.com, hluthuc@dut.udn.vn TÓM TẮT: Kiểm soát không lưu là một hoạt động mang ý nghĩa cực kỳ quan trọng nhằm đảm bảo sự an toàn và duy trì sự thông suốt của các chuyến bay. Một trong các nhiệm vụ của kiểm soát viên không lưu là hiệp đồng với phi công để hướng dẫn phi công tuân thủ lộ trình bay và tránh xung đột giữa các tàu bay. Nhằm hỗ trợ cho kiểm soát viên không lưu, bài báo đề xuất ứng dụng kỹ thuật nhận dạng tiếng nói tự động vào việc phát hiện lỗi do thông tin sai lệch giữa kiểm soát viên và phi công. Trong giai đoạn nghiên cứu ban đầu, hệ thống hỗ trợ tập trung vào khai thác dịch vụ điện toán đám mây Azure thuộc tập đoàn Microsoft. Hệ thống đề xuất gồm có hai phần: trước tiên, tiếng nói của phi công và kiểm soát viên được chuyển đổi thành văn bản dựa trên nền tảng học sâu LSTM (Long Short Term Memory); sau đó tiếng nói của hai đối tượng này được so sánh với nhau dựa vào so sánh hai văn bản tương ứng, từ đó phát hiện ra lỗi lặp lại và lỗi nghe lại. Các thí nghiệm được tiến hành với 10 mực bay trong vùng trời điều hành từ độ cao 15.000 feet đến 25.000 feet, trong môi trường bay giả lập và thực tế. Kết quả thí nghiệm bước đầu đã cho tỷ lệ nhận dạng chấp nhận được và tỷ lệ phát hiện lỗi rất khả quan. Từ khóa: Kiểm soát không lưu, nhận dạng tiếng nói tự động, mạng LSTM (Long Short Term Memory), lỗi lặp lại, lỗi nghe lại. I. ĐẶT VẤN ĐỀ Trong thập niên gần đây, ngành công nghiệp hàng không đã có những bước tăng trưởng vượt bậc. Cùng với sự phát triển không ngừng của kinh tế, du lịch, dịch vụ thì nhu cầu vận tải hàng hoá, đi lại của con người bằng đường hàng không ngày càng mang tính phổ thông hơn vì sự an toàn và thuận tiện. Các hãng hàng không được mở ra nhiều hơn, số đường bay khai thác mới và số chuyến bay cất hạ cánh trong ngày cũng gia tăng nhanh chóng [1]. Sự phát triển mạnh mẽ của ngành hàng không khiến cho hoạt động điều hành bay càng trở nên khó khăn và đầy thách thức. Hoạt động điều hành bay được thực hiện bởi kiểm soát viên không lưu (KSVKL) - là những người chuyên trách đảm nhận việc gửi các hướng dẫn và cảnh báo đến phi công nhằm giúp tàu bay tuân thủ lộ trình bay và tránh va chạm giữa các tàu bay, đảm bảo điều phối hiệu quả và thông suốt từ lúc tàu bay cất cánh đến khi hạ cánh [2]. Quy trình hoạt động của KSVKL có thể minh hoạ thông qua hai vòng lặp như thể hiện trên Hình 1 [2]. Vòng lặp bên ngoài có mục đích chính là giám sát, thông báo cho KSVKL về tình trạng hiện tại của tàu bay và toàn hệ thống. Vòng lặp này bao gồm: KSVKL gởi hướng dẫn bằng lời nói đến phi công (thể hiện ở nhánh A), phi công thực hiện điều khiển máy bay (nhánh B), lộ trình của máy bay được giám sát bởi đài giám sát (nhánh C), đài giám sát cung cấp thông tin về máy bay cho hệ thống quản lý không lưu (nhánh D), hệ thống này cung cấp thông tin cho KSVKL hiển thị trên màn hình radar (nhánh E). Vòng lặp bên trong là sự trao đổi thông tin bằng tiếng nói giữa KSVKL và phi công (thể hiện ở nhánh A hai chiều). Hình 1. Hệ thống kiểm soát không lưu [2]
  2. 642 ỨNG DỤNG KỸ THUẬT NHẬN DẠNG TIẾNG NÓI TỰ ĐỘNG VÀO HỖ TRỢ HOẠT ĐỘNG KIỂM SOÁT KHÔNG LƯU Tổ chức Hàng không Dân dụng Quốc tế ICAO (International Civil Aviation Oganization) quy định liên lạc bằng tiếng nói giữa KSVKL và phi công được thực hiện trên phương tiện liên lạc vô tuyến cao tần VHF (Very High Frequency). KSVKL theo dõi thông tin từ màn hình radar để đưa ra huấn lệnh, phi công sau khi nghe phải đọc lại nội dung huấn lệnh để xác nhận, gọi là read back, KSVKL phải nghe lại xác nhận read back của phi công, gọi là hear back. Nếu nội dung hear back không đúng nội dung huấn lệnh đã gửi đi thì KSVKL phải đọc lại nội dung huấn lệnh một lần nữa [5]. Lỗi phi công xác nhận lại huấn lệnh không đúng được gọi là lỗi lặp lại (read back error). Trường hợp KSVKL nghe phi công xác nhận huấn lệnh không đúng nhưng không phát hiện ra được gọi là lỗi nghe lại (hear back error). Nếu hai lỗi này cùng xảy ra thì nguy cơ cao là sẽ gây ra mất an toàn hàng không [3]. Trong tình hình lưu lượng chuyến bay tăng nhanh mỗi năm, yêu cầu phải nghe, nói và hiệp đồng liên tục với nhiều phi công trên nhiều tàu bay đồng thời thông qua môi trường VHF đòi hỏi KSVKL phải chịu đựng được cường độ công việc cực kỳ cao và áp lực công việc cực kỳ lớn. Điều này dẫn đến gia tăng nguy cơ xảy ra sai sót trong quá trình nghe, nói để chỉ dẫn và hiệp đồng với tàu bay, dẫn đến gia tăng nguy cơ mất an toàn hàng không. Số liệu thống kê tại TRACON (Terminal Radar Approach Control) của nhóm nghiên cứu MITRE CAASD cho biết một trong những lỗi trong thông tin liên lạc hàng không phổ biến là lỗi nghe lại của KSVKL và lỗi lặp lại của phi công, trong đó lỗi lặp lại chiếm 6 % và lỗi nghe lại chiếm 92 % [6]. Trong báo cáo về các vụ xâm phạm đường băng do lỗi từ phía KSVKL thì có 10,7 % là do lỗi đọc lại. Đối chiếu với số chuyến bay điều hành trong vòng 6 năm thì xác xuất để lỗi lặp lại và lỗi nghe lại dẫn đến sự cố xâm phạm đường băng lần lượt là 1/407.000 và 1/163.000 [3]. Tuy xác suất này rất bé nhưng tiềm ẩn hậu quả cực kỳ nặng nề khi sự cố dẫn đến tai nạn hàng không. Hiện nay, Việt Nam có tổng cộng 22 Đài kiểm soát không lưu tại các sân bay quốc tế và nội địa trong cả nước; 03 Cơ sở kiểm soát tiếp cận ở Sân bay Nội Bài, Đà Nẵng và Tân Sơn Nhất; và 02 Trung tâm Kiểm soát đường dài Hồ Chí Minh và Trung tâm Kiểm soát Không lưu Hà Nội. Phân cách an toàn quy định giữa các tàu bay tuân thủ theo quy định quốc tế của tổ chức ICAO, cụ thể là khoảng cách tối thiểu là 1.000 feet (304,8 m) theo độ cao, 5 dặm (9,26 km) theo phương ngang trong vùng trời tiếp cận và 10 dặm (18,52 km) trong vùng trời đường dài. Nhằm hạn chế thấp nhất sai sót nghe lại, hiện nay tại các tháp điều hành bay, các phiên điều hành bay đang sử dụng thêm hai người để giám sát và hỗ trợ cho KSVKL, dẫn đến hiệu quả sử dụng lao động chưa cao [8]. Như vậy, vấn đề cấp bách đặt ra là cần có các biện pháp ứng dụng công nghệ hỗ trợ để giảm bớt áp lực công việc cho KSVKL, giảm rủi ro tai nạn do lỗi điều hành bay, tăng hiệu quả sử dụng lao động. Trong những năm gần đây, ứng dụng nhận dạng tiếng nói tự động vào lĩnh vực điều khiển không lưu là một hướng đi mới, thu hút được sự quan tâm rất lớn từ các hãng hàng không trên thế giới và cả ở Việt Nam. Điển hình như năm 2018 hãng Airbus và các đối tác đã tổ chức cuộc thi toàn cầu với mục đích hỗ trợ KSVKL và hỗ trợ phi công. Cuộc thi đã nhận được rất nhiều bài dự thi đến từ các công ty và start-up trên toàn thế giới, từ các nhóm nghiên cứu của các trường đại học và cả cá nhân [7]. Không nằm ngoài xu thế phát triển chung của hàng không toàn cầu, hàng không Việt Nam đã có kế hoạch tự động hoá dần dần hoạt động giám sát và hỗ trợ cho KSVKL. Để chuẩn bị cho bước đi này, trong giai đoạn ban đầu, chúng tôi đặt ra bài toán thử nghiệm ứng dụng kỹ thuật nhận dạng tiếng nói tự động vào hỗ trợ cho KSVKL người Việt. Trước mắt, nghiên cứu tập trung vào nhiệm vụ hàng đầu của KSVKL là bảo đảm phân cách an toàn giữa các tàu bay, thông qua phát hiện lỗi lặp lại của KSVKL về các huấn lệnh thay đổi mực bay FL (flight level). Dữ liệu được lựa chọn cho thử nghiệm được thu thập từ các Đài điều hành bay thuộc Công ty Quản lý bay miền Trung. Phần tiếp theo của bài báo được cấu trúc như sau: Mục II tìm hiểu về bài toán nhận dạng tiếng nói ứng dụng vào kiểm soát không lưu, mục III thực thi các thí nghiệm đánh giá hệ thống đề xuất và cuối cùng là kết luận được trình bày ở mục IV. II. PHƯƠNG PHÁP Nhận dạng tiếng nói tự động là quá trình phân lớp đoạn tiếng nói đầu vào thành một dãy tuần tự các mẫu (pattern) đã được học. Trường hợp mẫu là từ thì nhận dạng tiếng nói có thể xem là chuyển câu nói thành văn bản (câu viết) gồm các từ chứa trong câu nói. Đây là một nhiệm vụ hết sức khó khăn và phức tạp do tiếng nói luôn biến thiên theo thời gian, do sự khác biệt lớn giữa những người nói khác nhau (phát âm, âm sắc, độ to, độ cao,…), tốc độ nói khác nhau, ngữ cảnh khác nhau, môi trường âm học khác nhau [9]. Nội dung phần này trình bày những nền tảng lý thuyết và thực nghiệm của bài toán nhận dạng tiếng nói được sử dụng trong bài báo. A. Nhận dạng tiếng nói tự động trong điều khiển không lưu Nhận dạng tiếng nói tự động ứng dụng trong điều khiển không lưu có những đặc điểm riêng và khác biệt so với các ứng dụng trong các lĩnh vực khác, cụ thể là chất lượng âm thanh rất tệ do môi trường truyền âm VHF có nhiễu lớn, ngôn ngữ sử dụng là tiếng Anh được phát âm từ người nói đến từ khắp nơi trên thế giới, tốc độ nói thường nhanh hơn bình thường, đôi khi có thể xảy ra nhập nhằng ví dụ như nhập nhằng giữa mực bay và tốc độ bay. Bên cạnh những khó khăn kể trên thì nhận dạng tiếng nói trong điều khiển không lưu cũng có một số thuận lợi, chẳng hạn như tính chất của hội thoại là hướng đến nhiệm vụ trong lĩnh vực hẹp nên số lượng từ vựng ít hơn thông thường, ngữ nghĩa ít rối hơn thông thường và định dạng của hội thoại tuân thủ theo các quy định quốc tế [3].
  3. Lê Văn Vũ, Hoàng Lê Uyên Thục 643 Có thể phân chia ứng dựng nhận dạng tiếng nói trong điều khiển không lưu thành 04 nhóm sau đây [10]: Đào tạo học viên kiểm soát không lưu: Hiện nay học viên được đào tạo nhờ vào “phi công giả”- là người đóng vai phi công, hành xử giống như phi công thật, hội thoại giống như phi công thật trong môi trường liên lạc giả lập. Việc sử dụng phi công giả đòi hỏi chi phí cao và kém linh hoạt. Vấn đề này được giải quyết bằng cách sử dụng nhận dạng tiếng nói tự động để tạo ra ứng dụng “phi công tự động”- là phần mềm có thể hiểu, xử lý tiếng nói của học viên và đáp ứng lại học viên bằng khối tổng hợp tiếng nói. Đo lường và cân bằng tải công việc của KSVKL: Trong hệ thống kiểm soát không lưu, tải công việc của KSVKL là yếu tố quyết định ảnh hưởng đến hiệu suất của cả hệ thống, đặc biệt trong điều kiện lưu lượng bay tăng nhanh thì vấn đề đo lường và cân bằng tải công việc cho KSVKL càng trở nên quan trọng. Nếu thực hiện thủ công thì công việc này sẽ rất khó khăn và tốn chi phí rất lớn. Với sự trợ giúp của hệ thống nhận dạng tiếng nói, việc điều khiển tàu bay do KSVKL nói ra sẽ được tự động phát hiện, từ đó tải công việc sẽ được đo lường trực tiếp để dùng cho tự động cân bằng tải công việc. Phân tích và phiên dịch hội thoại giữa KSVKL và phi công: Với sự hỗ trợ của hệ thống nhận dạng tiếng nói, ta có thể phân tích tự động một khối lượng dữ liệu hội thoại lớn để dùng cho điều tra và cải thiện các giao thức và quy định đối với KSVKL. Công việc phân tích cũng là một thành phần trong quá trình chuyển đổi đoạn âm thanh tiếng nói sang dạng văn bản, dựa vào văn bản này có thể so khớp câu huấn lệnh của KSVKL và câu lặp lại của phi công để phát hiện lỗi. KSVKL dự phòng: Hệ thống nhận dạng tiếng nói tự động kết hợp với các nguồn thông tin khác trong ngữ cảnh kiểm soát không lưu (thông tin radar, độ cao an toàn tối thiểu, vùng giới hạn, thông tin thời tiết,…) có thể được sử dụng làm đầu vào cho một hệ thống được gọi là KSVKL dự phòng. KSVKL dự phòng có thể nắm bắt các tình huống nguy hiểm tiềm ẩn bị KSVKL thực bỏ sót, đưa ra các đề xuất và thông tin an toàn cho KSVKL xem xét. Như đã trình bày ở Mục I, bài báo tập trung vào hỗ trợ phát hiện lỗi trong liên lạc bằng tiếng nói giữa KSVKL và phi công. Đây là ứng dụng thuộc nhóm ứng thứ ba, được thực hiện dựa trên hai bước chính là: Bước 1: Chuyển đổi câu huấn lệnh của KSVKL và câu lặp lại của phi công thành văn bản. Bước 2: So khớp hai văn bản này để phát hiện lỗi lặp lại và lỗi nghe lại. Như vậy có thể nói nhiệm vụ chính của nghiên cứu là giải quyết vấn đề chuyển đổi tiếng nói thành văn bản. B. Nguyên lý chuyển đổi tiếng nói thành văn bản Chuyển đổi tiếng nói thành văn bản là mục đích chính của nhận dạng tiếng nói, trong đó mỗi câu nói được chuyển đổi thành một chuỗi từ tối ưu. Về nguyên lý, quá trình chuyển đổi này có thể được mô tả qua hai bước sau đây [10]: Bước 1: Xác định một chuỗi véctơ đặc trưng ̂ từ tín hiệu tiếng nói cho trước Bước 2: Từ chuỗi véctơ đặc trưng này, tìm chuỗi từ tương ứng ̂ sao cho chuỗi từ này khớp nhất với chuỗi véctơ ̂ , hay nói cách khác là tối đa hoá xác suất hậu nghiệm ( | : ̂ ( | (1) Hoạt động của hệ thống được thực hiện thông qua hai pha là huấn luyện và nhận dạng như trên Hình 2 [11] và được mô tả như sau: Tiền xử lý: Trước tiên, tiếng nói (gồm cả tiếng nói dành cho huấn luyện và phân loại) đều được tiền xử lý nhằm loại bỏ nhiễu, xác định điểm cuối (end point), phân đoạn tiếng nói ra thành các khung chồng lên nhau. Độ dài khung phổ biến nhất là 25 ms và khoảng dịch chuyển giữa các khung cạnh nhau là 10 ms. Trích đặc trưng: Tiếng nói sau tiền xử lý được cho qua khối trích đặc trưng nhằm rút trích các đặc trưng của tiếng nói. Các đặc trưng cần thể hiện những đặc điểm riêng biệt giúp phân biệt được các âm thanh tương tự nhau. Việc lựa chọn bộ mô tả đặc trưng ảnh hưởng quyết định đến hiệu quả của toàn bộ hệ thống nhận dạng tiếng nói. Pha huấn luyện: Trong pha huấn luyện, các thông số của các mô hình tiếng nói sẽ được ước lượng. Một câu nói được tạo nên bởi sự kết hợp các đơn vị ngôn ngữ như từ, âm tiết, âm vị. Để tạo thành câu hợp lệ nhất, cần kết hợp mô hình âm thanh của các đơn vị ngôn ngữ này với các quy luật ngôn ngữ. Vì vậy để đảm bảo độ chính xác của kết quả nhận dạng thì tiếng nói cần được biểu diễn bởi hai mô hình. Mô hình thứ nhất là mô hình âm thanh. Mô hình âm thanh đóng vai trò thiết yếu trong việc cải thiện hiệu quả nhận dạng của hệ thống bằng cách liên kết các đặc trưng của tiếng nói với các âm vị trong câu. Mô hình âm thanh được biểu diễn bởi likelihood ( | - là xác suất quan sát được âm thanh X (thể hiện trong đặc trưng X) khi từ W được nói. Mô hình thứ hai là mô hình ngôn ngữ, có vai trò là phát hiện chuỗi từ phù hợp nhất thoả mãn các ràng buộc về ngôn ngữ. Nói cách khác, mô hình ngôn ngữ được biểu diễn bằng xác suất tiền nghiệm ( , tức là xác suất nói ra từ . Pha nhận dạng: Trong pha huấn luyện có hai mô hình được ước lượng thì trong pha nhận dạng cũng sẽ có hai bước so khớp được thực hiện ở mức âm thanh và mức ngôn ngữ. Trước tiên ở mức âm thanh, mỗi véctơ đặc trưng trích từ một khung tiếng nói cần nhận dạng sẽ được so sánh với mô hình âm thanh của tất cả các từ rồi
  4. 644 ỨNG DỤNG KỸ THUẬT NHẬN DẠNG TIẾNG NÓI TỰ ĐỘNG VÀO HỖ TRỢ HOẠT ĐỘNG KIỂM SOÁT KHÔNG LƯU được ấn định cho từ nào khớp nhất với véctơ đặc trưng. Sau đó chuỗi các từ giả thiết sẽ được kết hợp với mô hình ngôn ngữ để so sánh và chọn ra câu phù hợp nhất. Áp dụng luật Bayes ta có: ( | ( ( | (2) ( Ở đây ( là xác suất tiên nghiệm của véctơ đặc trưng và xác suất này độc lập với các mô hình tiếng nói. Kết hợp (2) với (1) và bỏ qua xác suất ( khi tối đa hoá, ta được xác suất chuỗi từ ̂ xấp xỉ với tích của mô hình âm thanh ( | và mô hình ngôn ngữ ( . Huấn luyện Mô hình âm Mô hình ngôn thanh ngữ Tiếng nói huấn luyện Tiền xử lý Trích đặc trưng Tiếng nói cần Nhận dạng (mức Nhận dạng (mức Chuỗi từ nhận dạng Nhận dạng âm thanh) ngôn ngữ) Hình 2. Sơ đồ nguyên lý nhận dạng tiếng nói C. Nhận dạng tiếng nói tự động trên nền tảng điện toán đám mây Như đã trình bày ở trên, để đạt được một hệ thống nhận dạng tiếng nói tốt, cần phải xây dựng được một bộ mô tả đặc trưng tốt và một mô hình âm thanh tốt. Việc chọn ra được một bộ mô tả đặc trưng tốt và một mô hình tốt, nếu thực hiện thủ công dựa trên thử - sai, sẽ thực sự rất khó khăn và đòi hỏi tải công việc rất lớn. Để giải quyết những khó khăn này, các hệ thống nhận dạng tiếng nói hiện đại sẽ sử dụng cách tiếp cận học sâu. Theo cách tiếp cận học sâu, mô hình dùng cho nhận dạng tiếng nói có thể sử dụng một số loại như mạng nơron sâu DNN (Deep Neural Network), mạng nơron tích chập CNN (Convolutional Neural Network), mạng nơron hồi quy RNN (Recurrent Neural Network), mạng LSTM (Long Short Term Memory). Các mô hình này có một số lượng tham số cực kỳ lớn, do đó để ước lượng các tham số này thì việc huấn luyện mô hình đòi hỏi phải có công cụ tính toán mạnh mẽ, sử dụng ngôn ngữ linh hoạt, có thể cung cấp, phân tích và lưu trữ nguồn dữ liệu rất lớn. Chính vì thế nên sử dụng “đám mây” là một giải pháp khả thi và phù hợp cho người dùng với nhiều mục đích khác nhau. Một trong các dịch vụ điện toán đám mây nổi tiếng hiện nay là Azure. Azure là sản phẩm của tập đoàn phần mềm Microsoft, cung cấp cho người dùng các dịch vụ như máy chủ, lưu trữ, cơ sở dữ liệu, kết nối mạng, phần mềm, phân tích dữ liệu và trí tuệ nhân tạo thông qua internet. Các công nghệ sử dụng trên đám mây thường xuyên được cập nhật, tài nguyên và quy mô linh hoạt phù hợp với khả năng kinh tế của người dùng [12], [13]. Liên quan đến vấn để nhận dạng tiếng nói, Azure cung cấp các dịch vụ đa dạng trên nền tảng các thuật toán học sâu mới nhất như dịch vụ chuyển đổi tiếng nói sang văn bản và ngược lại, phiên dịch, trợ lý âm thanh, nhận dạng người nói,... Đối với bài toán chuyển đổi tiếng nói sang văn bản, hệ thống Azure mới nhất kết hợp các mạng sâu và các phương pháp huấn luyện hiệu quả với các mạng nơron trước đây. Nhóm nghiên cứu “Research and AI” của Microsoft đã công bố một số thành tựu mới nhất với cấu trúc của các mô hình nhận dạng như sau [14]: Mô hình âm thanh: mô hình âm thanh được thử nghiệm với các cấu trúc khác nhau như CNN với hai biến thể ResNet và LACE, LSTM hai chiều (BLSTM), CNN-BLSTM, kết hợp BLSTM + ResNet + LACE + CNN- BLSTM. Ở đây ResNet là mạng CNN được bổ sung các kết nối tắt xuyên qua một hoặc nhiều lớp, LACE là mạng CNN có một số đặc trưng của mạng time-delay và một số kết nối tắt kiểu ResNet, BLSTM sử dụng lõi là mạng LSTM với 512 nút ẩn trên mỗi lớp và 6 lớp ẩn ở mỗi chiều. Mô hình ngôn ngữ: mô hình ngôn ngữ sử dụng mạng LSTM để tạo thành các mô hình 4-gram, từ đây sinh ra danh sách 500 từ phù hợp nhất, sau đó kết hợp với mô hình âm thanh nhằm chọn ra chuỗi từ phù hợp nhất trong số các chuỗi từ ứng viên. Bộ từ điển sử dụng để huấn luyện mô hình ngôn ngữ có 165.000 từ. Mô hình ngôn ngữ LSTM gồm có 3 lớp ẩn ở mức từ và 2 lớp ẩn ở mức ký tự. Để phục vụ cho nghiên cứu ứng dụng nhận dạng tiếng nói vào điều khiển không lưu, ở giai đoạn ban đầu này chúng tôi sẽ sử dụng dịch vụ điện toán đám mây Azure. III. THỬ NGHIỆM ĐÁNH GIÁ HỆ THỐNG Như đã giới thiệu ở mục I, trước mắt, bài báo tập trung vào mục tiêu đảm bảo phân cách an toàn giữa các tàu bay, thông qua phát hiện lỗi lặp lại của KSVKL về các huấn lệnh thay đổi mực bay (flight level). Các thí nghiệm được thực hiện nhằm xem xét hiệu quả của hệ thống ứng dụng nhận dạng tiếng nói vào phát hiện lỗi giao tiếp bằng tiếng nói giữa phi công và KSVKL. A. Xây dựng cơ sở dữ liệu Trong phạm vi nghiên cứu, các đoạn tiếng nói giao tiếp giữa KSVKL và phi công giới hạn ở 10 mực bay được sử dụng phổ biến trong vùng trời điều khiển Đà Nẵng từ 15.000 feet đến 25.000 feet. Các giá trị mực bay cách nhau tối thiểu là 1.000 feet. Cách đọc mực bay và ký hiệu mực bay tuân theo quy định của tổ chức ICAO. Ví dụ mực bay
  5. Lê Văn Vũ, Hoàng Lê Uyên Thục 645 15.000 feet được đọc là “flight level one five zero” và được ký hiệu là FL150. Cụ thể các mực bay trong vùng trời điều khiển Đà Nẵng là: FL140, FL150, FL160, FL180, FL200, FL210, FL220, FL230, FL240, FL250. Tiếng nói được số hoá theo phương pháp điều xung mẫu PCM (Pulse Code Modulation) với tần số lấy mẫu là 8 kHz, được mã hoá 16 bit/mẫu, tốc độ bit là 128 kbps đơn kênh và được lưu ở định dạng file là *.wav. Bộ dữ liệu cho thử nghiệm bao gồm gồm hai tập là dữ liệu thực tế và dữ liệu giả lập: Dữ liệu thực tế là tiếng nói của KSVKL và phi công được trích từ quá trình điều hành hoạt động bay tại đài kiểm soát không lưu Đà Nẵng, trong đó KSVKL và phi công ở độ tuổi từ 25-40, gồm người Việt Nam và người nước ngoài đến từ nhiều quốc gia khác nhau. Vì lý do bảo mật thông tin điều hành bay theo quy định của ICAO nên việc thu thập dữ liệu thực tế bị hạn chế. Cho đến nay lượng dữ liệu thực tế về mực bay thu thập được là 519 đoạn tiếng nói. Dữ liệu này được thu thập trong vòng 30 ngày của năm 2018. Dữ liệu giả lập là tiếng nói ghi âm của 5 tình nguyện viên gồm 2 nam và 3 nữ đều là người Việt Nam ở độ tuổi từ 25-40 tuổi. Để đảm bảo cân bằng giữa dữ liệu thực tế và dữ liệu giả lập thì số lượng đoạn tiếng nói giả lập là 601 đoạn. Như vậy tổng lượng dữ liệu thu thập được là 1120 đoạn. Tỷ lệ lượng dữ liệu thực tế trên tổng số lượng mẫu thay đổi từ 0 % với FL220 đến 100 % với FL150. Chi tiết về dữ liệu phục vụ cho thí nghiệm được thể hiện ở Bảng 1. Bảng 1. Thành phần tập dữ liệu FL220 mẫu Mực bay FL250 FL160 FL210 FL200 FL140 FL180 FL240 FL230 FL150 thực tế Số lượng mẫu thực tế 0 15 18 18 19 53 70 101 125 100 Số lượng mẫu giả lập 100 85 82 82 81 47 70 39 15 0 Tỷ lệ mẫu thực tế 0,0 0,15 0,18 0,18 0,19 0,53 0,50 0,72 0,89 1,0 Xét về chất lượng thì dữ liệu giả lập có nhiễu nền nhỏ hơn so với dữ liệu thực tế, về phát âm thì không có sự khác nhau đáng kể do cả tiếng nói thực tế và giả lập đếu được phát âm từ người nói không dùng tiếng Anh là tiếng mẹ đẻ (bao gồm KSVKL người Việt và phi công đến từ nhiều quốc gia khác nhau). Xét về nhiễu tác động lên dữ liệu thực tế thì cả tiếng nói của KSVKL và phi công đều chịu những ảnh hưởng nặng nề đến chất lượng. Cụ thể là tiếng nói của phi công chịu nhiễu khi truyền qua môi trường vô tuyến VHF, tiếng nói của KSVKL bị nhiễu do môi trường làm việc như nhiều người nói, tiếng điện thoại, hiệp đồng với các nơi khác,... Toàn bộ cơ sở dữ liệu được lưu ở địa chỉ sau: https://drive.google.com/file/d/1k32CKQvC_Vb9i3ZzBWL1ypOXpn5f5qn3/view?usp=sharing B. Tiến hành thí nghiệm Quá trình đánh giá hiệu quả của hệ thống hỗ trợ KSVKL dựa trên hai thí nghiệm con, tương ứng với hai bước xử lý chính trong hệ thống đề xuất. Trước tiên, tiếng nói của phi công và KSVKL được chuyển đổi thành văn bản dựa trên nền tảng Azure, sau đó tiếng nói của hai đối tượng này được so sánh với nhau dựa vào so sánh hai văn bản tương ứng, từ đó phát hiện ra lỗi lặp lại để cảnh báo cho KSVKL, nhằm ngăn chặn lỗi nghe lại. 1. Chuyển đổi tiếng nói thành văn bản Quá trình chuyển đổi tiếng nói thành văn bản được thực hiện trên nền tảng Azure và được thể hiện như trên Hình 3 [13]. Các bước tiến hành bao gồm: Bước 1 - Tạo tài khoản: tạo tài khoản cho ứng dụng “speech service” trên trang web của Microsoft và tạo mới dự án. Bước 2 - Tải dữ liệu tiếng nói: tải dữ liệu là tiếng nói của phi công và KSVKL lên đám mây của Microsoft. Những đoạn tiếng nói này sẽ được chuyển đổi sang dạng văn bản dựa trên mô hình sẵn có của Azure. Bước 3 - Kiểm tra và đánh giá mô hình: kiểm tra tỉ lệ nhận dạng tiếng nói vừa tải lên bằng mô hình có sẵn của Microsoft dựa trên tiêu chỉ tỉ lệ từ lỗi WER (Word Error Rate). Tỉ lệ từ lỗi WER được tính theo phần trăm theo công thức sau: (3) ở đây: N là tổng số từ, S là số từ bị thay thế, D là số từ bị xoá mất và I là số từ mới thêm vào. Bước 4 - Tải lên dữ liệu để huấn luyện: tải dữ liệu để huấn luyện lại nhằm tạo ra mô hình mới phù hợp hơn với dữ liệu tiếng nói trong môi trường điều hành bay. Dữ liệu tải lên là tiếng nói của phi công và KSVKL với nội dung là chỉ số chỉ mực bay. Bước 5 - Huấn luyện lại: tiến hành huấn luyện mô hình bằng dữ liệu vừa tải lên và tiếp tục huấn luyện lại cho đến khi mô hình đạt yêu cầu về độ chính xác. Gọi mô hình này là mô hình mới để phân biệt với mô hình đã được huấn luyện sẵn. Bước 6 - Lưu mô hình: lưu mô hình đạt yêu cầu trên đám mây để sử dụng cho thí nghiệm tiếp theo.
  6. 646 ỨNG DỤNG KỸ THUẬT NHẬN DẠNG TIẾNG NÓI TỰ ĐỘNG VÀO HỖ TRỢ HOẠT ĐỘNG KIỂM SOÁT KHÔNG LƯU Hình 3. Sơ đồ các bước huấn luyện và đánh giá mô hình trên nền tảng Azure [13] 2. So khớp văn bản Sau khi đoạn tiếng nói của phi công và KSVKL được chuyển đổi sang văn bản, hai văn bản này sẽ được so sánh với nhau thông qua việc so sánh các con số, không cần so sánh từ “flight level” với nhau. Như vậy, thay vì xem xét từng từ trong câu nói, hiệu quả nhận dạng của mô hình sẽ được đánh giá thông qua thống kê số lượng mẫu được nhận dạng đúng ba con số chỉ mực bay như sau: Tỉ lệ nhận dạng = (4) Các tình huống dự kiến có thể xảy ra trong bước so khớp bao gồm: Tình huống thứ nhất: cả ba con số trên văn bản đều giống nhau, tương đương với phi công lặp lại đúng huấn lệnh của KSVKL. Lúc này kết quả là không có lỗi lặp lại, hay là “Negative”. Tình huống thứ hai: chỉ có hai con số đầu trên văn bản giống nhau. Do mực bay được biểu diễn bằng ba con số với con số cuối luôn luôn là số 0 (đọc là zero) nên chỉ cần nhận dạng đúng hai con số thì sẽ được quy ước là cho kết quả không có lỗi lặp lại, tương đương kết quả “Negative”. Tình huống thứ ba: nhiều nhất là chỉ có một trong hai con số đầu tiên được lặp lại đúng. Điều này tương đương với có xuất hiện lỗi lặp lại, kết quả sẽ là “Positive”. Lúc này hệ thống cần phát cảnh báo nhắc nhở cho KSVKL nhằm đề phòng xảy ra lỗi nghe lại nếu không may KSVKL không phát hiện ra. C. Kết quả thí nghiệm Như đã trình bày ở trên, cần thực hiện hai thí nghiệm chính để đánh giá hiệu quả của hệ thống hỗ trợ hoạt động kiểm soát không lưu, đó là thí nghiệm chuyển đổi tiếng nói sang văn bản và thí nghiệm so khớp văn bản. Với thí nghiệm thứ nhất, chúng tôi cần thực hiện hai thí nghiệm con để so sánh mô hình có sẵn của Azura với mô hình được huấn luyện mới bằng dữ liệu điều hành bay đã mô tả ở Bảng 1. 1. Thí nghiệm đánh giá mô hình chuyển đổi tín hiệu tiếng nói sang văn bản có sẵn Việc đánh giá mô hình có sẵn của Azure được thực hiện thông qua hai thí nghiệm sau đây: Trong thí nghiệm thứ nhất, 100 đoạn tiếng nói giả lập chỉ mực bay FL220 được đưa vào mô hình có sẵn của Azure để thực hiện chuyển đổi sang văn bản. Mô hình được chọn là Model 20191202 là phiên bản mới nhất của dịch cụ đám mây Azure tính đến tháng 9/2020 [13]. Kết quả thu được tỷ lệ WER là 36,47 %. Trong thí nghiệm thứ hai, 100 đoạn tiếng nói chỉ mực bay thực tế FL150 được đưa vào mô hình có sẵn của Azure với cùng phiên bản Model 20191202. Kết quả chuyển đổi sang văn bản thu được tỷ lệ WER là 63,41 %. Ta thấy lỗi nhận dạng dữ liệu thực tế cao hơn đáng kể so với lỗi nhận dạng dữ liệu giả lập (cao hơn đến 27 %). Nguyên nhân là do dữ liệu tiếng nói của phi công thực được thu âm trong môi trường nhiễu VHF, dữ liệu của KSVKL thực được thu âm trong môi trường có nhiều tiếng ồn do KSVKL lân cận, tiếng hiệp đồng tới các tàu bay khác,... Như vậy rõ ràng là chất lượng tiếng nói (được quyết định bởi tỷ lệ nhiễu) ảnh hưởng rất lớn đến chất lượng của mô hình nhận dạng. Kết quả thí nghiệm đặt ra tầm quan trọng của việc cải thiện chất lượng thiết bị thu phát và khử nhiễu. Giả sử bằng các biện pháp kỹ thuật và công nghệ, ta có thể khử nhiễu đến mức tối đa, để có thể thu thập được dữ liệu thực tế có chất lượng tốt như dữ liệu giả lập thì tỷ lệ lỗi WER ở mức 36,47 %. Tỷ lệ lỗi này là quá cao, không thể chấp nhận được cho bài toán hỗ trợ kiểm soát không lưu, vốn đòi hỏi nghiêm ngặt về mức độ chính xác để đảm bảo tính an toàn tối đa.
  7. Lê Văn Vũ, Hoàng Lê Uyên Thục 647 Có lẽ một trong số nguyên nhân gây ra tỷ lệ lỗi cao như thế là do dữ liệu huấn luyện mô hình Azure có sự khác biệt quá lớn (nghĩa là tương quan thống kê quá thấp) so với dữ liệu trong môi trường điều hành bay. Do đó việc huấn luyện mới mô hình là thật sự cần thiết. 2. Thí nghiệm đánh giá mô hình chuyển đổi tín hiệu tiếng nói sang văn bản được huấn luyện mới Trong thí nghiệm này, mô hình mới được ước lượng sử dụng tập dữ liệu điều hành bay như mô tả trong Bảng 1. Việc đánh giá mô hình được thực hiện bằng phương pháp k-fold cross validation với k = 10. Hiệu quả nhận dạng của mô hình mới được đánh giá dựa theo tiêu chí tỷ lệ nhận dạng như công thức (4). Toàn bộ dữ liệu được chia ngẫu nhiên thành 10 nhóm khác nhau, sau đó thực hiện 10 lần huấn luyện và kiểm tra mô hình theo kiểu xoay vòng, mỗi lần huấn luyện bằng 9 nhóm dữ liệu và kiểm tra bằng nhóm dữ liệu còn lại. Tỷ lệ nhận dạng cuối cùng được tính là trung bình cộng của 10 lần kiểm tra mô hình. Kết quả thí nghiệm này được thể hiện ở Bảng 2. Ngoài ra, để thuận tiện trong việc so sánh hai mô hình, mô hình có sẵn cũng được đánh giá thêm dựa theo tiêu chí tỷ lệ nhận dạng (4). Kết quả này được thể hiện chung trong Bảng 2. Bảng 2. So sánh tỷ lệ nhận dạng (%) của mô hình có sẵn và mô hình mới trên 10 mực bay Trung FL220 FL200 FL210 FL250 FL160 FL180 FL140 FL240 FL230 FL150 bình Mô hình 87,00 75,00 85,00 88,00 59,00 59,20 63,00 43,93 44,29 40,00 64,44 có sẵn Mô hình 92,00 78,00 92,00 98,00 91,00 72,30 92,00 64,00 59,21 74,00 81,25 mới Hiệu suất 5,00 3,00 7,00 10,00 32,00 13,10 29,00 20,07 14,92 34,00 16,81 cải thiện So sánh hai mô hình có sẵn và mô hình mới như trên Bảng 2, ta nhận thấy tỷ lệ nhận dạng được cải thiện rõ rệt ở tất cả các mực bay, bất kể các yếu tố bất lợi như nhiễu VHF, chất lượng tín hiệu tiếng nói, tiếng ồn do môi trưởng làm việc hay phát âm không quy chuẩn. Như vậy, vấn đề tăng khối lượng dữ liệu huấn luyện là hết sức cần thiết và ảnh hưởng quyết định đến hiệu quả nhận dạng. Bên cạnh việc gia tăng khối lượng, vấn đề gia tăng tính đa dạng của dữ liệu cũng rất quan trọng: dữ liệu cần thu thập từ nhiều Đài điều hành bay khác nhau, môi trường làm việc của KSVKL khác nhau, phi công đến từ nhiều quốc gia khác nhau,… Tiếp tục phân tích kết quả thí nghiệm ta thấy: các lỗi nhận dạng khác nhau là do những nguyên nhân khác nhau, do đó cần có các giải pháp khác nhau cho từng loại lỗi. Cụ thể như: lỗi sai từ có thể do phát âm không chuẩn nên cần huấn luyện thêm với dữ liệu là những từ bị sai, lỗi thêm từ có thể do tập dữ liệu chứa nhiều từ không liên quan đến từ cần nhận dạng nên cần loại bỏ các từ đó trong tập dữ liệu huấn luyện, lỗi thiếu từ có thể do tín hiệu âm tần của tập dữ liệu có cường độ yếu nên cần nâng cao cường độ âm tần trong các thiết bị thu phát và truyền dẫn âm tần. 3. Thí nghiệm mô phỏng so khớp mực bay Thí nghiệm này mô phỏng bước tiếp theo sau khi đã chuyển đổi hội thoại giữa KSVKL và phi công thành văn bản. Các bước thực hiện bao gồm: chọn các cặp văn bản được chuyển đổi từ hội thoại giữa KSVKL và phi công lấy từ kết quả thí nghiệm sử dụng mô hình mới, hiển thị văn bản lên màn hình đồng thời trích các con số trong văn bản để so sánh, xuất ra cảnh báo. Hình 4 là ba kết quả mô phỏng cho ba tình huống là dương tính giả (cảnh báo nhầm), âm tính thật (phi công lặp lại đúng, không cảnh báo) và dương tính thật (cảnh báo đúng). Hình 4. Một số kết quả mô phỏng phát hiện lỗi lặp lại Tiếp tục chọn thêm các cặp hội thoại giữa KSVKL và phi công để so khớp, chúng tôi nhận thấy có 3 tình huống xảy ra như minh họa trên Hình 4 và không xảy ra tình huống bỏ sót lỗi. Từ các tình huống được chọn ta nhận thấy: Giá trị recall cao tuyệt đối (=1) chứng tỏ toàn bộ lỗi lặp lại đều được phát hiện, không có lỗi nào bị bỏ sót. Số trường hợp bị cảnh báo giả còn cao (thể hiện qua precision còn thấp). Tuy cảnh báo giả không gây ảnh hưởng trực tiếp đến an toàn bay nhưng làm mất tập trung, tăng thêm áp lực không cần thiết cho KSVKL. Phân tích cho thấy một trong các nguyên nhân gây cảnh báo giả đến từ mô hình nhận dạng tiếng nói, trong đó nhiều
  8. 648 ỨNG DỤNG KỸ THUẬT NHẬN DẠNG TIẾNG NÓI TỰ ĐỘNG VÀO HỖ TRỢ HOẠT ĐỘNG KIỂM SOÁT KHÔNG LƯU nhất là do mô hình ngôn ngữ. Vì vậy ngoài các biện pháp đã nêu như cải thiện dữ liệu, khử nhiễu, ta cần xây dựng lại mô hình ngôn ngữ với bộ từ điển chỉ giới hạn ở nhóm từ vựng chuyên ngành điều hành bay. IV. KẾT LUẬN Tóm lại, bài báo đã thực hiện nhận dạng tiếng nói là các giá trị mực bay bằng mô hình có sẵn của Microsoft và mô hình mới được huấn luyện bằng dữ liệu thu thập tại Đài điều hành bay thuộc Công ty Quản lý bay miền Trung, từ đó phát hiện lỗi giao tiếp giữa phi công và KSVKL. Từ các thí nghiệm, bài báo đã rút ra một số đề xuất để ứng dụng nhận dạng tiếng nói tự động vào điều khiển không lưu như sau: (1) chuẩn hóa phát âm trong hoạt động điều hành bay, (2) nâng cao chất lượng thiết bị thu phát âm tần, chuyển mạch thoại, thu phát tín hiệu cao tần, giảm tiếng ồn tại nơi làm việc của KSVKL, (3) huấn luyện lại mô hình nhận dạng tiếng nói với dữ liệu đảm bảo về số lượng và chất lượng và dùng các thuật toán học sâu phù hợp hơn. Hệ thống nghiên cứu ban đầu đảm bảo khả năng phát hiện lỗi lặp lại khá tốt, thể hiện qua tỷ số precision chấp nhận được và tỷ số recall cao tuyệt đối. Đây là cơ sở để tiếp tục phát triển các nghiên cứu tiếp theo trong tương lai trên quy mô rộng rãi hơn để có thể xây dựng hệ thống hỗ trợ điều hành bay ứng dụng cho ngành hàng không ở Việt Nam. V. TÀI LIỆU THAM KHẢO [1] E. Mazareanu, “Global air traffic - annual growth of passenger demand”, Statista, 2020. [2] Federal Aviation Administration, “Air traffic control: chapter 2, session 1”, 2010, URL: http://www.faa.gov/air_traffic/publications/atpubs/ATC/atc0201.html, truy cập 01/08/2010. [3] Hunter D. Kopald, Ari Chanen, Shuo Chen, Elida C. Smith, and Robert M. Tarakan, "Applying automatic speech recognition technology to Air Traffic Management", 2013 IEEE/AIAA 32nd Digital Avionics Systems Conference (DASC), East Syracuse, 2013. [4] Shuo Chen, Hunter Kopald, Dr. Ronald S. Chong, Dr. Yuan-Jun Wei, and Zachary Levonian, “Read back error detection using automatic speech recognition”, 12th USA/Europe Air Traffic Management Research and Development Seminar, 2017. [5] ICAO, “Aeronautical telecommunication”, Anex 10, Volume II, Sixth Edition, 2001. [6] O. Prinzo, A. M. Hendrix, and R. Hendrix, “The outcome of ATC message length and complexity on en route pilot readback performance”, Federal Aviation Administration- Department of Transportation, 2009. [7] Thomas Pellegrini, Jerome Farinas, Estelle Delpech, and Francois Lancelot, “The Airbus Air Traffic Control speech recognition 2018 challenge: towards ATC automatic transcription and call sign detection”, Airbus, 2018. [8] Công ty Quản lý bay miền Trung, “Quy định hiệp đồng điều hành bay giữa vị trí kiểm soát tiếp cận tầng cao Đà Nẵng và vị trí kiểm soát tiếp cận Đà Nẵng”, quy định 2/2018. [9] Xuedong Huang, Alex Acero, Hsiao-Wuen Hon, and Raj Foreword By-Reddy. Spoken language processing: A guide to theory, algorithm, and system development. Prentice Hall PTR, 2001. [10] Van Nhan Nguyen and Harald Holone, “Possibilities, challenges and the state of the art of automatic speech recognition in air traffic control”, International Journal of Soft Computing and Engineering, 2015. [11] Samudravijaya K, “Automatic speech recognition”, Tata Institute of Fundamental Research [chưa xuất bản]. [12] Microsoft Corporation, “Azure data architecture guide”, documentation, 2018. [13] Microsoft Corporation, “Speech service documentation”, documentation, 2019. [14] W. Xiong, L. Wu, F. Alleva, J. Droppo, X. Huang, and A. Stolcke, “The Microsoft 2017 conversational speech recognition system”, IEEE International Conference on Acoustics, Speech and Signal Processing, 2018. APPLICATION OF AUTOMATIC SPEECH RECOGNITION TO SUPPORT AIR TRAFFIC CONTROL Le Van Vu, Hoang Le Uyen Thuc ABSTRACT: Air traffic control activity plays a critical role in accomplishing the safety and maintaining the orderly flow of air flights. One responsibility of the controller is to instruct the pilot to follow the planned flight route and to resolve aircraft conflicts. In order to decrease the workload of air traffic controllers we propose the application of the automatic speech recognition to detect controller-pilot voice miscommunication errors. In the very beginning stage, the support system focuses on using Azure, a cloud computing service created by Microsoft group. The system consists of two phases: firstly, pieces of speech of the pilot and the controller are converted into texts based on long short term memory (LSTM) network; secondly, these speech pieces are compared to each other based on comparing the two corresponding texts; then read back and hear back errors are detected. The conducted experiments are implemented on 10 flight levels in the airspace between 15,000 feet and 25,000 feet, via simulated and realistic air environments. Initially experimental results give acceptable recognition rate and promissing error detection rate.
nguon tai.lieu . vn