1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nhận dạng ngôn ngữ bằng kỹ thuật long short term memory đồ án tốt nghiệp

56 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nhận dạng ngôn ngữ bằng kỹ thuật Long Short Term Memory
Tác giả Trần Khánh Duy
Người hướng dẫn ThS. Huỳnh Quang Đức
Trường học Đại học Bình Dương
Chuyên ngành Công nghệ thông tin
Thể loại đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Bình Dương
Định dạng
Số trang 56
Dung lượng 3,89 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI (15)
    • 1.1. TÊN ĐỀ TÀI (15)
    • 1.2. LÝ DO CHỌN ĐỀ TÀI (15)
    • 1.3. MỤC ĐÍCH CỦA ĐỀ TÀI (15)
    • 1.4. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI (16)
    • 1.5. PHÂN TÍCH ĐÁNH GIÁ HƯỚNG NGHIÊN CỨU (16)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (17)
    • 2.1. NGHIÊN CỨU TỔNG QUAN (17)
      • 2.1.1. Trí tuệ nhân tạo (AI) (0)
      • 2.1.2. Máy học (ML) (0)
      • 2.1.3. Học sâu (DL) (0)
      • 2.1.4. Xử lí ngôn ngữ tự nhiên (NLP) (0)
      • 2.1.5. Python (0)
      • 2.1.6. Công cụ thực hiện Visual Studio Code (24)
      • 2.1.7. File dữ liệu CSV (26)
      • 2.1.8. HTML (28)
    • 2.2. MÔI TRƯỜNG PHÁT TRIỂN (30)
      • 2.2.1. Hệ điều hành Windows 10 (30)
      • 2.2.2. Flask Framework (33)
    • 2.3. CÔNG NGHỆ SỬ DỤNG (34)
      • 2.3.1. Mạng LSTM (0)
      • 2.3.2. TensorFlow (0)
      • 2.3.3. Keras (40)
      • 2.3.4. TextBlob (41)
      • 2.3.5. Word Embedding (41)
  • CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG (44)
    • 3.1. DỮ LIỆU VÀ HUẤN LUYỆN MÔ HÌNH (44)
      • 3.1.1. Dữ liệu cho mô hình (44)
      • 3.1.2. Huấn luyện mô hình (45)
    • 3.2. CHỨC NĂNG ỨNG DỤNG (46)
    • 3.3. GIAO DIỆN ỨNG DỤNG (47)
      • 3.3.1. Giao diện chính (47)
      • 3.3.2. Giao diện kết quả (47)
  • CHƯƠNG 4. KẾT LUẬN (54)
    • 4.1. KẾT QUẢ ĐẠT ĐƯỢC (54)
    • 4.2. HẠN CHẾ (54)
    • 4.3. HƯỚNG PHÁT TRIỂN (54)

Nội dung

TỔNG QUAN VỀ ĐỀ TÀI

TÊN ĐỀ TÀI

“Ứng dụng nhận diện ngôn ngữ bằng kỹ thuật LSTM”

LÝ DO CHỌN ĐỀ TÀI

Ngày nay, với sự bùng nổ của internet và mạng xã hội, dữ liệu trở nên phong phú và đa dạng hơn bao giờ hết Các doanh nghiệp thường gặp khó khăn trong việc khai thác dữ liệu hiệu quả để thúc đẩy khách hàng và kinh doanh Nhờ vào các thuật toán AI và sức mạnh tính toán gia tăng, doanh nghiệp có thể giải quyết nhiều bài toán khó, trong đó có phân loại văn bản - một lĩnh vực quan trọng trong xử lý ngôn ngữ tự nhiên Các thuật toán như nhúng từ, TF-IDF, RNN, LSTM và CNN giúp doanh nghiệp phân tích hành vi khách hàng và sản phẩm với độ chính xác cao, thậm chí vượt qua khả năng của con người.

Sự phát triển nhanh chóng của phần cứng máy tính đã dẫn đến sự đa dạng và hoàn thiện của các ứng dụng, giúp hỗ trợ con người hiệu quả hơn Hiện nay, nhiều ứng dụng có khả năng mô phỏng các nghiệp vụ phức tạp, mang lại sự thuận tiện cho người dùng, rút ngắn thời gian xử lý và tự động hóa nhiều quy trình.

Khi phát triển chương trình trợ lý ảo đa ngôn ngữ, cần phân biệt rõ giữa hiểu biết ngôn ngữ và nhận dạng ngôn ngữ Trợ lý ảo có khả năng được đào tạo để hiểu nhiều ngôn ngữ khác nhau, tuy nhiên, việc xác định ngôn ngữ người dùng sử dụng ngay từ đầu là rất quan trọng Để nâng cao trải nghiệm người dùng, việc tích hợp công cụ phát hiện ngôn ngữ giúp nhận diện nhanh chóng và hiệu quả các ngôn ngữ mà khách hàng có thể tương tác với trợ lý ảo.

MỤC ĐÍCH CỦA ĐỀ TÀI

Nhận dạng ngôn ngữ là yếu tố quan trọng để xác định chính xác ngôn ngữ và nâng cao hiệu quả tìm kiếm, đặc biệt trong các tài liệu đa ngôn ngữ Điều này áp dụng cho nhiều dạng nội dung như phương tiện xã hội, chú thích hình ảnh, tiêu đề tin tức, từ khóa, siêu dữ liệu, truy vấn, tệp, nhật ký, trang web, thư điện tử, và các công cụ, ứng dụng dịch thuật mà chưa xác định được ngôn ngữ.

Phần mềm này giúp người dùng không cần lựa chọn ngôn ngữ đầu vào khi sử dụng các ứng dụng và công cụ dịch thuật, mang lại kết quả nhanh chóng và chính xác Nó được thiết kế với tính thực dụng cao, hỗ trợ các bạn trẻ khám phá và học hỏi nhiều ngôn ngữ hơn thông qua ứng dụng tiện lợi này.

ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI

Nghiên cứu mạng nơ ron hồi quy RNN và mạng LSTM (Long Short-Term Memory) là rất quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên và máy học Bên cạnh đó, việc tìm hiểu cách xây dựng ứng dụng web trên hệ điều hành Windows bằng ngôn ngữ Python với Flask Framework cũng mang lại nhiều cơ hội phát triển trong công nghệ hiện đại.

Giao diện được thiết kế đặc biệt cho giới trẻ, nhằm đáp ứng nhu cầu tìm hiểu và học tập ngôn ngữ của các quốc gia khác Đề tài này được thực hiện trong một khoảng thời gian nhất định.

15 tuần kể từ khi nhận đề tài.

PHÂN TÍCH ĐÁNH GIÁ HƯỚNG NGHIÊN CỨU

Các phương pháp nghiên cứu cần có minh chứng vững chắc để đưa ra quyết định chính xác cho lĩnh vực nghiên cứu hoặc nhà khoa học cụ thể Đánh giá khoa học cung cấp công cụ cần thiết để tìm kiếm những minh chứng này, đồng thời đặt nền tảng cho công tác quản lý và giám sát tiến trình nghiên cứu Nó cũng giúp đánh giá tác động và ý nghĩa của hoạt động nghiên cứu, rút kinh nghiệm để điều chỉnh chính sách nghiên cứu khoa học và gợi ý cho các hướng nghiên cứu trong tương lai.

Khi lựa chọn phương pháp đánh giá, cần xem xét kỹ lưỡng các ưu điểm và nhược điểm để phù hợp với mục tiêu và bối cảnh cụ thể Chẳng hạn, nghiên cứu điển hình có thể không phù hợp khi thời gian đánh giá hạn chế, trong khi trắc lượng thư mục có thể không hiệu quả trong các lĩnh vực có ít tạp chí được ghi nhận Do mỗi phương pháp đều có những giới hạn riêng, việc kết hợp nhiều phương pháp khác nhau là một lựa chọn khả thi, giúp nâng cao chất lượng tổng thể của đánh giá khoa học.

Có nhiều phương pháp để giải quyết vấn đề, bao gồm các thuật toán máy học cơ bản thuộc lớp lazy learning và non-parametric, như thuật toán học có giám sát đơn giản và thuật toán dựa trên biên phân chia độ rộng lớn nhất Ngoài ra, các thuật toán deep learning (DL) sử dụng kiến trúc mạng neural network với quá trình lan truyền thuận và lan truyền ngược cũng được áp dụng trong xử lý ngôn ngữ tự nhiên.

CƠ SỞ LÝ THUYẾT

NGHIÊN CỨU TỔNG QUAN

2.1.1 Trí tuệ nhân tạo (Artificial Intelligence)

Trong lĩnh vực khoa học máy tính, trí tuệ nhân tạo (AI) là khả năng thể hiện trí thông minh qua máy móc, khác với trí thông minh tự nhiên của con người Thuật ngữ "trí tuệ nhân tạo" thường được dùng để chỉ các máy móc hoặc máy tính có khả năng mô phỏng các chức năng của trí thông minh con người.

"nhận thức" mà con người liên kết với tâm trí con người, như "học tập" và "giải quyết vấn đề"

Khi máy móc ngày càng phát triển, nhiều nhiệm vụ từng được xem là yêu cầu "trí thông minh" dần bị loại bỏ khỏi định nghĩa về trí tuệ nhân tạo (AI) Hiện tượng này được gọi là hiệu ứng.

AI được định nghĩa theo câu châm ngôn trong Định lý của Tesler: "AI là bất cứ điều gì chưa được thực hiện." Những công nghệ như nhận dạng ký tự quang học, từng không được xem là AI, giờ đây đã trở thành phổ biến Các khả năng hiện đại của máy móc, được phân loại là AI, bao gồm hiểu lời nói con người, cạnh tranh ở trình độ cao trong các trò chơi chiến lược như cờ vua và Go, hoạt động độc lập của xe tự lái, định tuyến thông minh trong mạng phân phối nội dung và mô phỏng quân sự.

Trí tuệ nhân tạo được phân thành ba loại hệ thống chính: AI phân tích, AI lấy cảm hứng từ con người và AI nhân cách hóa AI phân tích tập trung vào trí tuệ nhận thức, tạo ra đại diện về thế giới và sử dụng kinh nghiệm quá khứ để đưa ra quyết định AI lấy cảm hứng từ con người kết hợp yếu tố nhận thức và cảm xúc, giúp hiểu và xem xét cảm xúc trong quá trình ra quyết định Cuối cùng, AI nhân cách hóa tích hợp trí tuệ nhận thức, cảm xúc và xã hội, cho phép nó tự ý thức và tương tác một cách tự nhiên hơn.

Trí tuệ nhân tạo (AI) là lĩnh vực nghiên cứu và phát triển các hệ thống máy tính có khả năng thực hiện những nhiệm vụ cần có trí thông minh của con người, bao gồm nhận thức thị giác, nhận dạng giọng nói, ra quyết định và dịch ngôn ngữ.

Máy học, một nhánh của trí tuệ nhân tạo, nghiên cứu và phát triển các kỹ thuật giúp hệ thống tự động học từ dữ liệu để giải quyết các vấn đề cụ thể trong Đồ án tốt nghiệp Chương 2 Một ví dụ điển hình là khả năng của máy học trong việc phân loại thư điện tử, xác định xem đó có phải là thư rác hay không, và tự động sắp xếp chúng vào các thư mục phù hợp Dù máy học có mối liên hệ chặt chẽ với suy diễn thống kê, nhưng hai khái niệm này vẫn có sự khác biệt về mặt thuật ngữ.

Máy học và thống kê đều nghiên cứu phân tích dữ liệu, nhưng máy học chú trọng vào sự phức tạp của các giải thuật tính toán Nhiều bài toán suy luận thuộc loại khó, vì vậy một phần quan trọng của học máy là phát triển các giải thuật suy luận xấp xỉ có khả năng xử lý hiệu quả.

Học máy hiện nay được áp dụng rộng rãi trong nhiều lĩnh vực, bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và điều khiển robot.

Dưới góc nhìn của trí tuệ nhân tạo, động lực chính của học máy là nhu cầu thu nhận tri thức, đặc biệt khi kiến thức chuyên gia thường khan hiếm và không đủ để xử lý tất cả các giao dịch hàng ngày, như phân loại lừa đảo thẻ tín dụng Bên cạnh đó, trong các lĩnh vực cần quyết định nhanh chóng dựa trên lượng dữ liệu khổng lồ, như mua bán chứng khoán, việc sử dụng máy tính trở nên cần thiết Hơn nữa, phần lớn dữ liệu hiện nay chỉ phù hợp cho máy đọc, vì vậy máy học nghiên cứu cách mô hình hóa bài toán để máy tính có thể tự động hiểu, xử lý và học từ dữ liệu, từ đó nâng cao hiệu quả thực hiện nhiệm vụ.

Một số hệ thống học máy cố gắng giảm thiểu sự cần thiết của trực giác con người trong phân tích dữ liệu, trong khi những hệ thống khác lại tập trung vào việc nâng cao sự hợp tác giữa con người và máy móc Tuy nhiên, không thể hoàn toàn loại bỏ ảnh hưởng của con người, vì các nhà thiết kế hệ thống vẫn phải xác định cách thức biểu diễn dữ liệu và các cơ chế tìm kiếm đặc tính của nó Học máy có thể được coi là nỗ lực tự động hóa một số khía cạnh của phương pháp khoa học, và nhiều nhà nghiên cứu trong lĩnh vực này đã phát triển các phương pháp dựa trên khuôn khổ thống kê Bayes.

Học sâu là một lĩnh vực trong máy học, sử dụng các thuật toán để mô hình hóa dữ liệu ở mức độ trừu tượng cao Nó áp dụng nhiều lớp xử lý phức tạp và biến đổi phi tuyến để cải thiện khả năng nhận diện và phân tích thông tin.

Học sâu là một nhánh của phương pháp học máy, tập trung vào việc đại diện học từ dữ liệu Hình ảnh có thể được biểu diễn qua nhiều cách khác nhau, như vector cường độ pixel hoặc các đặc trưng hình học Một số đại diện giúp cải thiện hiệu quả trong việc học các nhiệm vụ như nhận diện khuôn mặt và biểu cảm Học sâu hứa hẹn thay thế các tính năng thủ công bằng các thuật toán hiệu quả cho học không giám sát và nửa giám sát, đồng thời phát triển tính năng phân cấp.

Các nghiên cứu trong lĩnh vực này tập trung vào việc phát triển các đại diện tốt hơn và xây dựng các mô hình nhằm hiểu rõ hơn về các đại diện này từ dữ liệu không dán nhãn quy mô lớn Nhiều đại diện được lấy cảm hứng từ những tiến bộ trong khoa học thần kinh, dựa trên các lý thuyết về cách thức xử lý và truyền thông thông tin trong hệ thống thần kinh Một ví dụ điển hình là mã hóa thần kinh, nhằm xác định mối quan hệ giữa các kích thích khác nhau và các phản ứng thần kinh trong não.

Nhiều kiến trúc học sâu như mạng neuron sâu, mạng neuron tích chập sâu, mạng niềm tin sâu và mạng neuron tái phát đã được ứng dụng rộng rãi trong các lĩnh vực như thị giác máy tính, nhận dạng giọng nói tự động, xử lý ngôn ngữ tự nhiên, nhận dạng âm thanh ngôn ngữ và tin sinh học Những kiến trúc này đã chứng minh hiệu quả vượt trội trong việc giải quyết nhiều nhiệm vụ khác nhau.

Mạng neuron đã được ứng dụng trong mô hình ngôn ngữ từ đầu những năm 2000, với các kỹ thuật quan trọng như lấy mẫu âm và nhúng chữ (word embedding) Nhúng chữ, chẳng hạn như word2vec, chuyển đổi từ đơn thành đại diện vị trí của nó trong không gian vector, liên quan đến các từ khác trong bộ dữ liệu Việc sử dụng word embedding làm lớp đầu vào cho mạng lưới thần kinh đệ quy (RNN) cho phép đào tạo mạng để phân tích cú pháp câu và cụm từ, thông qua một ngữ pháp vector tổng hợp Ngữ pháp này có thể được xem là ngữ pháp không phụ thuộc ngữ cảnh, thực hiện bởi mạng thần kinh đệ quy Tự động mã hóa đệ quy, dựa trên word embedding đã được đào tạo, giúp đánh giá câu tương tự và phát hiện chú giải dài dòng Các kiến trúc thần kinh sâu đã đạt được kết quả tiên tiến trong nhiều tác vụ xử lý ngôn ngữ tự nhiên như phân tích thống kê, phân tích tình cảm, tra cứu thông tin, dịch máy và liên kết thực thể ngữ cảnh.

MÔI TRƯỜNG PHÁT TRIỂN

Hình 2.6 Hệ thống chạy trên hệ điều hành Windows 10

Windows 10 là một hệ điều hành của Microsoft Windows dành cho các loại máy tính cá nhân và máy trạm, là một phần của họ hệ điều hành Windows NT

Hệ điều hành này được giới thiệu vào 30 tháng 9 năm 2014 trong chương trình Build

Windows 10, được phát hành chính thức vào ngày 29 tháng 7 năm 2015, là sự kết hợp giữa giao diện của Windows 8.1 và Windows 7 Khác với các phiên bản trước, Microsoft đã gọi Windows 10 là một "Service".

Dịch vụ cập nhật cho Windows 10 cung cấp tính năng mới và sửa lỗi liên tục Trong môi trường doanh nghiệp, các thiết bị chạy Windows 10 có thể nhận cập nhật với tốc độ chậm hơn hoặc theo các mốc hỗ trợ dài hạn (LTS) Tuy nhiên, đối tượng thuộc dạng LTS chỉ nhận các bản cập nhật quan trọng như bản vá bảo mật và được hỗ trợ trong suốt vòng đời 5 năm.

7, Windows 8 và Windows 8.1 sẽ được nâng cấp trực tiếp lên Windows 10 qua Windows Update trong 1 năm kể từ ngày phát hành bản đầu tiên

Windows 10 đi kèm một tính năng lớn mà Microsoft gọi là "universal apps (ứng dụng phổ quát)"; được mở rộng dựa trên các ứng dụng phong cách Metro, các ứng dụng này có thể được thiết kế để chạy trên nhiều dòng sản phẩm Microsoft với các mã giống nhau, như máy tính bảng, điện thoại thông minh, các hệ thống nhúng, các máy Xbox One, Surface Hub và Mixed Reality Giao diện người dùng Windows đã được sửa đổi để cho trải nghiệm chuyển tiếp giữa giao diện định hướng chuột truyền thống và một giao diện tối ưu cho màn hình cảm ứng, dựa trên đầu vào là các thiết bị 2-trong-1 (ngày càng phổ biến); cả hai giao diện đều bao gồm một menu Start được cập nhật để kết hợp các yếu tố của menu Start truyền thống trên Windows 7 với các "tiles" của Windows 8 Phiên bản đầu tiên của Windows 10 cũng giới thiệu hệ thống máy ảo mới, một tính năng quản lý cửa sổ và desktop gọi là Task View và trình duyệt web Microsoft Edge, hỗ trợ cho đăng nhập bằng khuôn mặt (Windows Hello) hoặc bằng vân tay - tính năng bảo mật mới cho môi trường doanh nghiệp, và DirectX

12 và WDDM 2.0 để cải thiện khả năng đồ họa cho các trò chơi

Windows 10 nhận được hầu hết các nhận xét tích cực khi phát hành ban đầu vào tháng 7 năm 2015; các nhà phê bình đã ca ngợi quyết định của Microsoft về việc cung cấp một giao diện định hướng cho máy tính để bàn phù hợp với các phiên bản trước của Windows, tương phản với cách tiếp cận hướng máy tính bảng của Windows

Mặc dù chế độ giao diện người dùng cảm ứng của Windows 10 đã bị gác lại, nhưng các nhà đánh giá đã ca ngợi những cải tiến đáng kể trong phần mềm đi kèm so với Windows 8.1, bao gồm tích hợp Xbox Live và khả năng của trợ lý ảo Cortana, cũng như sự thay thế Internet Explorer bằng Microsoft Edge Tuy nhiên, giới truyền thông đã chỉ ra các vấn đề liên quan đến tính độc quyền của hệ điều hành, như cài đặt bản cập nhật bắt buộc khiến người dùng khó khăn trong việc tắt hoặc hoãn cập nhật, cũng như những lo ngại về quyền riêng tư liên quan đến việc thu thập dữ liệu cho Microsoft và các đối tác, cùng với các thủ thuật giống như phần mềm quảng cáo để thúc đẩy việc phát hành hệ điều hành.

Microsoft đặt mục tiêu cài đặt Windows 10 trên ít nhất một tỷ thiết bị trong hai đến ba năm sau khi phát hành Đến tháng 8 năm 2016, tỷ lệ sử dụng Windows 10 đã tăng, nhưng sau đó có dấu hiệu chững lại so với các phiên bản trước Hệ điều hành này hiện đang hoạt động trên hơn 400 triệu thiết bị, với tỷ lệ sử dụng khoảng 27,72% trên máy tính truyền thống và 12,53% trên tất cả các nền tảng, bao gồm PC, điện thoại di động, máy tính bảng và bảng điều khiển.

Microsoft đã ra mắt các phiên bản thử nghiệm của hệ điều hành thông qua Chương trình Người dùng Nội bộ Windows, khuyến khích người dùng đóng góp vào sự phát triển của Windows 10 Với khả năng kết nối cao, Windows 10 thúc đẩy sự cộng tác hiệu quả và thú vị giữa các thiết bị trên toàn cầu.

Chương trình Người dùng Nội bộ Windows đóng vai trò quan trọng trong việc cải thiện Windows 10 Thông qua việc khám phá và phản hồi các bản dựng xem trước, người dùng giúp Microsoft phát triển các giải pháp dựa trên ý kiến từ những người tiêu dùng sử dụng Windows hàng ngày Chương trình này được phát hành chính thức như một phiên bản thử nghiệm mới Ngay khi khởi động lần đầu trên máy tính, Windows 10 sẽ bắt đầu quá trình cập nhật.

Microsoft đã thay đổi cách thức cập nhật Windows, khiến người dùng không còn phải cài đặt các gói Service Pack lớn như trước Thay vào đó, họ sẽ dần quen với việc cập nhật thường xuyên, tương tự như trình duyệt Chrome của Google Số hiệu phiên bản Windows sẽ trở nên không còn quan trọng, và có thể Windows 10 sẽ là tên gọi cuối cùng, với phiên bản mới nhất luôn mang tên Windows 10 Người dùng cũng có thể sẽ làm quen với việc gọi Windows mà không cần số hiệu phiên bản.

Giao diện người dùng của Windows 10 được tối ưu hóa cho từng loại thiết bị và phương thức nhập liệu, mang đến trải nghiệm tốt nhất Đối với các thiết bị không có màn hình cảm ứng, Menu Start được cải tiến với danh sách ứng dụng truyền thống và hộp tìm kiếm bên trái, cùng với các Live Tile từ Windows 8 ở bên phải Hệ thống Desktop ảo "Task View" cho phép người dùng dễ dàng xem và chuyển đổi giữa các cửa sổ đang mở, tương tự như Exposé của OS X Các ứng dụng Modern giờ đây có thể chạy trong cửa sổ trên Desktop thay vì chỉ ở chế độ toàn màn hình, mang lại sự linh hoạt hơn cho người dùng.

"App Commands" nằm trên thanh tiêu đề của cửa sổ được sử dụng để kích hoạt các tính năng đã từng thấy trên Thanh Charm

Màn hình Bắt đầu vẫn giữ nguyên, nhưng giờ đây có thêm cột bên trái để hiển thị lối tắt và nút "Tất cả Ứng dụng", giống như menu Start Khi kết nối với bàn phím, Surface Pro 3 và một số tablet lai laptop khác sẽ hỏi người dùng có muốn tiếp tục sử dụng giao diện thân thiện với cảm ứng hay chuyển sang chế độ tối ưu cho chuột và bàn phím.

Hình 2.7 Thiết kế web trên Flask Framework

Flask là một microframework viết bằng Python, không yêu cầu công cụ hay thư viện cụ thể nào Nó không bao gồm lớp trừu tượng hóa cơ sở dữ liệu hay xác thực mẫu, mà thay vào đó, hỗ trợ các tiện ích mở rộng để thêm tính năng cho ứng dụng Các tiện ích mở rộng này cho phép tích hợp các chức năng như trình ánh xạ quan hệ đối tượng, xác thực mẫu, xử lý tải lên và nhiều công nghệ xác thực khác Hơn nữa, các tiện ích mở rộng thường xuyên được cập nhật hơn so với chương trình Flask lõi.

Lập trình viên có thể tận dụng Flask Framework để phát triển ứng dụng web hiệu quả và dễ bảo trì Flask cung cấp nhiều tính năng hữu ích như phát triển máy chủ, trình gỡ lỗi, kiểm thử đơn vị, và hỗ trợ Jinja2 templates Nó cũng cho phép xử lý RESTful request, bảo mật cookie, và hoàn toàn tương thích với WSGI Với khả năng mở rộng và thiết kế modular, Flask mang lại sự linh hoạt cao, giúp lập trình viên dễ dàng triển khai và phát triển các ứng dụng web đáp ứng nhu cầu đa dạng.

Flask là một framework linh hoạt cho phép lập trình viên tùy biến trong việc phát triển ứng dụng web Nó cung cấp các công cụ, thư viện và cơ chế cần thiết để xây dựng ứng dụng mà không áp đặt bất kỳ sự phụ thuộc nào, giúp lập trình viên tự do định hình dự án theo ý muốn Dù là blog, trang web thương mại hay các loại trang web khác, Flask cho phép sử dụng các tiện ích mở rộng để mở rộng chức năng cho ứng dụng web.

CÔNG NGHỆ SỬ DỤNG

LSTM, một dạng đặc biệt của RNN, có khả năng học các phụ thuộc xa Được giới thiệu bởi Hochreiter & Schmidhuber vào năm 1997, LSTM đã trải qua nhiều cải tiến và trở nên phổ biến trong ngành Với hiệu suất cao và độ chính xác trên nhiều bài toán khác nhau, LSTM ngày càng được ưa chuộng và ứng dụng rộng rãi.

Hình 2.8 Cấu trúc của mô hình LSTM

LSTM được phát triển để giải quyết vấn đề phụ thuộc xa, cho phép ghi nhớ thông tin trong thời gian dài mà không cần huấn luyện thêm Khả năng ghi nhớ này là đặc điểm tự nhiên của LSTM, không cần bất kỳ can thiệp nào Tất cả các mạng hồi quy đều bao gồm chuỗi các mô-đun lặp lại của mạng nơ-ron, trong khi mạng RNN chuẩn thường có cấu trúc đơn giản với một tầng tanh.

Hình 2.9 Mô-đun lặp lại trong RNN tiêu chuẩn chứa một lớp

LSTM có kiến trúc chuỗi tương tự như RNN, nhưng với cấu trúc mô-đun khác biệt Thay vì chỉ một tầng nơ-ron, LSTM bao gồm đến 4 tầng tương tác đặc biệt với nhau.

Mô-đun lặp lại trong LSTM bao gồm bốn lớp tương tác, với mỗi đường dẫn mang véc-tơ từ đầu ra của một nút đến đầu vào của một nút khác Các hình màu hồng biểu thị các phép toán như phép cộng véc-tơ, trong khi các ô màu vàng được sử dụng để học trong các mạng nơ-ron Các đường hợp nhau thể hiện việc kết hợp thông tin, trong khi các đường rẽ nhánh cho thấy nội dung được sao chép và chuyển tới các vị trí khác nhau.

Ý tưởng cốt lõi của LSTM là trạng thái tế bào (cell state), thể hiện bằng đường chạy ngang phía trên sơ đồ Trạng thái tế bào giống như một băng truyền, chạy xuyên suốt tất cả các nút mạng và chỉ tương tác tuyến tính một cách hạn chế Điều này cho phép thông tin được truyền đi dễ dàng mà không bị thay đổi.

Hình 2.12 Trạng thái tế bào

LSTM có khả năng điều chỉnh thông tin cần thiết cho trạng thái tế bào thông qua các cổng Các cổng này hoạt động như bộ lọc thông tin, được cấu thành từ một tầng mạng sigmoid và phép nhân Tầng sigmoid cung cấp đầu ra trong khoảng [0, 1], biểu thị mức độ thông tin được cho phép đi qua; đầu ra 0 có nghĩa là không có thông tin nào được truyền, trong khi đầu ra 1 cho phép toàn bộ thông tin đi qua Một LSTM bao gồm ba cổng để duy trì và quản lý trạng thái tế bào hiệu quả.

Bước đầu tiên trong LSTM là xác định thông tin nào cần loại bỏ khỏi trạng thái tế bào, và quyết định này được thực hiện bởi tầng sigmoid, được gọi là "tầng cổng quên".

Nó nhận đầu vào và trả về kết quả là một số trong khoảng [0,1] cho mỗi trạng thái tế bào Nếu đầu ra là 1, điều này có nghĩa là toàn bộ thông tin được giữ lại, trong khi đầu ra là 0 cho thấy toàn bộ thông tin sẽ bị loại bỏ.

Mô hình ngôn ngữ dự đoán từ tiếp theo dựa trên các từ trước đó có thể lưu giữ thông tin về giới tính của nhân vật, giúp sử dụng đại từ nhân xưng chính xác Tuy nhiên, khi đề cập đến một nhân vật khác, thông tin về giới tính không còn cần thiết, vì nó không ảnh hưởng đến chủ thể mới.

Hình 2.13 Quyết định thông tin cần bỏ đi từ trạng thái tế bào

Bước tiếp theo là xác định thông tin mới nào sẽ được lưu vào trạng thái tế bào, bao gồm hai phần: đầu tiên, sử dụng một tầng sigmoid gọi là tầng cổng vào để quyết định giá trị cần cập nhật; tiếp theo, một tầng tanh tạo ra véc-tơ cho giá trị mới để thêm vào trạng thái.

Trong bước tiếp theo, chúng ta sẽ kết hợp hai giá trị để cập nhật trạng thái Ví dụ, trong mô hình ngôn ngữ của chúng ta, việc thêm giới tính của nhân vật mới vào trạng thái tế bào và thay thế giới tính của nhân vật trước đó là rất quan trọng.

Hình 2.14 Quyết định thông tin cần lưu vào trạng thái tế bào

Đã đến lúc nâng cấp trạng thái tế bào cũ lên trạng thái mới Những quyết định về công việc cần thực hiện đã được đưa ra ở các bước trước, vì vậy giờ chỉ cần tiến hành thực hiện Chúng ta sẽ nhân trạng thái cũ để loại bỏ những thông tin mà chúng ta đã quyết định quên trước đó.

Trạng thái mới được xác định dựa trên cách chúng ta cập nhật các giá trị trạng thái Trong bài toán mô hình ngôn ngữ, điều này đồng nghĩa với việc loại bỏ thông tin về giới tính của nhân vật cũ và bổ sung thông tin về giới tính của nhân vật mới, như đã được quyết định ở các bước trước.

Hình 2.15 Cập nhật trạng thái tế bào

Cuối cùng, chúng ta cần xác định giá trị đầu ra mong muốn, dựa vào trạng thái tế bào và tiếp tục sàng lọc Đầu tiên, một hàm sigmoid được sử dụng để quyết định phần nào của trạng thái tế bào sẽ được xuất ra Sau đó, trạng thái tế bào sẽ được đưa qua hàm tanh để co giá trị về khoảng [-1, 1], và nhân với đầu ra từ cổng sigmoid để có được giá trị đầu ra cuối cùng Trong ví dụ về mô hình ngôn ngữ, chúng ta có thể xác định thông tin về trạng từ theo chủ thể, chẳng hạn nếu chủ thể là số ít hay số nhiều thì dạng của trạng từ theo sau sẽ được xác định tương ứng.

LSTM (Long Short-Term Memory) là một bước tiến quan trọng trong việc sử dụng RNN (Recurrent Neural Network), cho phép truy vấn thông tin từ một tập dữ liệu lớn hơn Chúng hoạt động hiệu quả hơn trong hầu hết các bài toán, mặc dù việc viết ra các công thức liên quan đến LSTM có thể khiến nó trở nên khó hiểu Ví dụ, khi RNN được sử dụng để tạo mô tả cho một bức ảnh, nó có khả năng lấy thông tin từ các phần khác nhau của ảnh để dự đoán mô tả từ các từ đầu vào Hiện nay, nhiều kết quả thú vị từ LSTM đã được công bố, cho thấy tiềm năng lớn của công nghệ này trong các ứng dụng khác nhau.

Hình 2.17 Thư viện máy học TensorFlow

XÂY DỰNG ỨNG DỤNG

DỮ LIỆU VÀ HUẤN LUYỆN MÔ HÌNH

3.1.1 Dữ liệu cho mô hình

Chúng tôi đã thu thập dữ liệu từ nhiều nguồn khác nhau, bao gồm việc tìm kiếm sách tại thư viện, tra cứu từ điển, trao đổi ý kiến với bạn bè và người thân, cũng như sử dụng các công cụ tìm kiếm trên Internet.

Một số dữ liệu của bốn ngôn ngữ:

Hình 3.1 Dữ liệu tiếng Anh

Hình 3.2 Dữ liệu tiếng Việt Đò án tốt nghiệp Chương 3 Xây dự ng ứ ng d ụ ng

Hình 3.3 Dữ liệu tiếng Pháp

Hình 3.4 Dữ liệu tiếng Trung

Huấn luyện mô hình nhận dạng ngôn ngữ tiến hành theo các bước:

- Trước tiên lấy dữ liệu ngôn ngữ từ file data.csv

- Tạo ra một tập huấn luyện, kiểm tra các lớp phân tầng cân bằng;

- Làm sạch câu bằng cách loại bỏ các kí tự đặc biệt, chuyển câu về chữ thường dùng hàm lower

- Chia dữ liệu thành các câu và chia dữ liệu để huấn luyện, kiểm tra Đò án tốt nghiệp Chương 3 Xây dự ng ứ ng d ụ ng

Để xử lý danh sách các ngôn ngữ, trước tiên, chúng ta cần thêm từ “UNK” vào những từ không có trong từ vựng Sau đó, chuyển đổi từ vựng thành vector số và lưu trữ kết quả vào file data.pkl.

- Mã hóa dữ liệu X, Y, tạo mã hóa onehotencoded, chuyển dữ liệu Y thành mã hóa và đệm các dấu cho đủ dộ dài

Hình 3.5 Mô hình huấn luyện

- Cuối cùng huấn luyện, đánh giá mô hình và lưu lại vào file datatrain.h5

Hình 3.6 Mô hình đã huấn luyện và lưu lại

CHỨC NĂNG ỨNG DỤNG

Ứng dụng này có khả năng nhận diện ngôn ngữ từ các nguồn văn bản đa ngôn ngữ mà người dùng chưa xác định Chẳng hạn, khi nhận được một email bằng ngôn ngữ lạ, ứng dụng sẽ xác định và thông báo ngôn ngữ đó Các ngôn ngữ đầu vào có thể bao gồm Tiếng Việt, Tiếng Anh, Tiếng Pháp và Tiếng Trung Nếu dữ liệu đầu vào không nằm trong bốn ngôn ngữ này, hệ thống sẽ thông báo chưa nhận dạng được ngôn ngữ.

Giao diện web được mô tả trong phần 3.3 cho phép người dùng nhập văn bản bằng 4 ngôn ngữ khác nhau Hệ thống sẽ xác định ngôn ngữ đầu vào và xuất kết quả tương ứng Ngoài ra, người dùng còn có thể sao chép một đoạn văn bản để kiểm tra ngôn ngữ.

GIAO DIỆN ỨNG DỤNG

3.3.2 Giao diện kết quả Đò án tốt nghiệp Chương 3 Xây dự ng ứ ng d ụ ng

Hình 3.8 Giao diện kết quả

Kết quả thử nghiệm mô hình nhận dạng ngôn ngữ cho thấy khả năng xử lý hiệu quả năm thứ tiếng: Tiếng Việt, tiếng Anh, tiếng Pháp, tiếng Nhật và tiếng Trung Các hình ảnh dưới đây minh họa cho kết quả đạt được.

Câu nhập vào: Nếu hôm nay trời mưa chúng tôi sẽ đi câu cá

Test câu nhập vào tiếng Việt

Kết quả của nhận dạng như hình bên dưới Đò án tốt nghiệp Chương 3 Xây dự ng ứ ng d ụ ng

Kết quả nhận dạng: tiếng Việt

Kết quả nhận dạng câu nhập vào là tiếng Việt

Thực hiện kiểm tra tương tự cho các ngôn ngữ còn lại, được thực hiện thông qua các kết quả bên dưới:

Câu tiếng Anh: Please tell me the weather today Đò án tốt nghiệp Chương 3 Xây dự ng ứ ng d ụ ng

Kết quả nhân dạng: tiếng Anh

Nhập vào câu tiếng Nhật Đò án tốt nghiệp Chương 3 Xây dự ng ứ ng d ụ ng

Kết quả nhạn dạng: tiếng Nhật

Nhập vào câu tiếng Pháp Đò án tốt nghiệp Chương 3 Xây dự ng ứ ng d ụ ng

Kết quả nhận dạng: tiếng Pháp

Nhập vào câu tiếng Trung Đò án tốt nghiệp Chương 3 Xây dự ng ứ ng d ụ ng

Kết quả nhận dạng: tiếng Trung Đồ án tốt nghiệp Chương 4 Kế t lu ậ n

Ngày đăng: 08/11/2023, 23:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w