2016-06-21 22 views
5

Có thể tùy chỉnh trình ghi điểm chùm trong thực thi CTC TensorFlow từ phía Python không? Tôi thấy khả năng này trong bình luận cho constructor lớp CTCBeamSearchDecoder C++ nhưng tự hỏi làm thế nào để cung cấp chức năng này cho người dùng Python?Sử dụng trình ghi điểm chùm tùy chỉnh trong TensorFlow CTC (kiểu ngôn ngữ)

Vấn đề cụ thể mà chúng tôi có là việc cắm mô hình ngôn ngữ vào bộ giải mã giọng nói dựa trên CTC. Mô hình ngôn ngữ có thể có thể là một đồ thị con TensorFlow được đào tạo trước, có khả năng xuất ra xác suất để điều chỉnh điểm chùm tia. Nhưng chúng ta cần một cách để tiêm nó vào bộ ghi bàn chùm.

Trả lời

5

Hiện tại không có API cho Python để sử dụng mô hình ngôn ngữ với trình ghi bàn tùy chỉnh. Đóng góp được chào đón, nhưng có một số khó khăn trong việc thực hiện điều này có thể trong Python API vì nó sẽ yêu cầu chạy biểu đồ con TF LM trong một phiên độc lập bên trong bộ giải mã op, và những người sẽ không pha trộn độc đáo với nhau. Cách dễ nhất để thực hiện điều này là trong C++ và yêu cầu mở rộng lớp BaseBeamScorer cùng với BeamState (tương tự như những gì có thể thấy trong các bài kiểm tra) và tiếp tục chạy CTCBeamSearchDecoder :: Decode trên đầu ra của biểu đồ tensorflow thường sẽ đi trong op ctc_beam_search_decoder.

Bằng cách này, triển khai BeamScorer của bạn có thể sử dụng bất kỳ mô hình ngôn ngữ nào bạn có trong tay và chỉ cần trả lại điểm số thích hợp khi mở rộng chùm từ trạng thái này sang trạng thái khác.

+0

Về mặt lý thuyết có thể sử dụng hàm lambdas cho biểu đồ con LM không, giống như nó được thực hiện trong khi vòng lặp? Vì vậy, op giải mã không gọi là phiên độc lập? –

Các vấn đề liên quan