Thời AI mà không tận dụng thì hơi phí rồi các bác, mình mới lụm được bí kíp sửa ảnh mà chưa thử, có bác nào thử rồi cho xin review cái nha 😎🧐😝










AYANEO đã chính thức deploy sản phẩm mới, Pocket Play, một chiếc điện thoại chơi game lấy cảm hứng từ Xperia Play, với thiết kế trông không khác gì một “viên gạch” lớn. Teaser mới nhất của công ty trên X (trước đây là Twitter) đã phô diễn rõ ràng AYANEO Pocket Play với hình dáng khối chữ nhật chắc chắn và bộ điều khiển trượt ngang đặc trưng.

Về mặt kiến trúc phần cứng, AYANEO đã xác nhận sử dụng MediaTek Dimensity 9300 làm bộ não xử lý trung tâm. Đây là một SoC di động cao cấp tương đối mới, tập trung mạnh vào hiệu suất GPU và hiệu quả tiêu thụ điện, đưa Pocket Play vào phân khúc hiệu năng flagship. Trong thực tế, điều này hàm ý rằng thiết bị sẽ có đủ “headroom” (khoảng trống hiệu năng) để chạy mượt mà các trình giả lập cao cấp, dịch vụ stream game đám mây, và các tựa game Android native. Tuy nhiên, bài toán kỹ thuật quan trọng ở đây là AYANEO sẽ quản lý nhiệt độ và duy trì hiệu suất ổn định như thế nào trong cái khung máy nhỏ gọn nhưng “đặc” này. Đây sẽ là một chỉ số hiệu năng (performance metric) quan trọng cần theo dõi khi thiết bị ra mắt.
Về mặt giao diện người dùng bên ngoài, Pocket Play được xây dựng xung quanh màn hình OLED 6.8 inch với độ phân giải 2400×1080 và tần số quét 165 Hz. Thao tác trượt màn hình có hình dáng viên gạch này lên sẽ hé lộ một bộ điều khiển đầy đủ, cộng thêm các nút vai (shoulder buttons) quen thuộc được bố trí dọc theo cạnh trên. Đây là một cách tiếp cận UI/UX vật lý khá độc đáo trong thị trường hiện tại.
Pocket Play dự kiến không đến tay người dùng cho đến khoảng năm 2026 (theo các thông tin rò rỉ), và AYANEO đã nhanh chóng khởi tạo một trang gây quỹ Kickstarter. Trang chiến dịch này vẫn đang ở trạng thái “Sắp ra mắt,” nhưng nó phản ánh các chi tiết cốt lõi từ các bài đăng và trailer giới thiệu của AYANEO.
Nếu có điều gì đó, thì Pocket Play chính là AYANEO vẫn là AYANEO: thay vì chỉ tập trung vào việc bán một thiết bị cầm tay Android thông thường, họ lại chọn con đường “nghiên cứu và phát triển” một hình khối chữ nhật “đặc ruột” và nhồi nhét một chiếc điện thoại vào đó. Liệu “dao đa năng Thụy Sĩ” (Swiss Army Play) hình chữ nhật này có thực sự “land” thành công hay không, có lẽ sẽ phụ thuộc vào ba biến số chính: giá thành (cost), hiệu năng nhiệt (thermals), và cảm giác “ergonomic feedback” từ bộ điều khiển khi người dùng thực sự trải nghiệm nó ngoài đời thực.
Nếu bạn đang tìm kiếm một chiếc điện thoại hỗ trợ công việc và nhập liệu tối ưu thì Unihertz Titan 2 Elite phiên bản màu đen chính là sự lựa chọn không thể bỏ qua.
Không đi theo trào lưu cắt giảm của các hãng lớn, Unihertz mang đến bộ phụ kiện đầy đủ và chu đáo ngay trong hộp:
Phụ kiện
Chi tiết
Củ sạc
Củ sạc đi kèm chính hãng
Cáp kết nối
Cáp sạc USB Type-C
Jack chuyển đổi
Dongle chuyển tai nghe tiện ích
Phụ kiện khác
Que chọc SIM và sách hướng dẫn
So với bản thử nghiệm tại MWC, Unihertz Titan 2 Elite bản thương mại sở hữu độ hoàn thiện tinh tế và sắc nét hơn rất nhiều. Điểm ăn tiền nhất nằm ở bàn phím QWERTY vật lý cứng cáp với độ nảy tuyệt vời, hỗ trợ soạn thảo văn bản và phản hồi tin nhắn cực nhanh. Mặt trước trang bị màn hình cảm ứng sắc nét viền mỏng kèm camera nốt ruồi hiện đại, trong khi mặt lưng nổi bật với dải camera ngang liền mạch, mang lại vẻ ngoài mạnh mẽ và chắc chắn.
Ưu điểm: Bàn phím QWERTY vật lý gõ cực sướng, thiết kế chắc chắn bền bỉ, trọn bộ phụ kiện đi kèm phong phú, cấu hình Android mượt mà cho công việc.
Hạn chế: Thiết kế vuông vức và độ dày đặc trưng sẽ cần người dùng một vài ngày để làm quen.
Đánh giá chung: Unihertz Titan 2 Elite xứng đáng là người kế thừa hoàn hảo cho di sản BlackBerry, mang lại trải nghiệm gõ phím đỉnh cao kết hợp hệ điều hành hiện đại.
Nhờ tính tối giản cùng hiệu quả làm việc vượt trội, định dạng Markdown đã khẳng định vị thế là tiêu chuẩn vàng trong lĩnh vực soạn thảo văn bản và sáng tạo nội dung số.
Trái ngược với những trình chỉnh sửa WYSIWYG cồng kềnh, Markdown giúp người viết đắm chìm hoàn toàn vào dòng chảy ý tưởng mà không bị xao nhãng bởi các thao tác chọn phông chữ hay căn chỉnh khoảng cách.
Bài viết này sẽ giúp bạn hiểu rõ bản chất của Markdown và giải mã lý do các cây viết chuyên nghiệp đều ưu tiên chọn lựa cú pháp này trên Type.vn.
Markdown là một ngôn ngữ đánh dấu siêu nhẹ (Lightweight Markup Language) do John Gruber phát triển vào năm 2004.
Ngôn ngữ này cho phép định dạng văn bản thô một cách nhanh chóng thông qua các ký tự bàn phím quen thuộc: sử dụng dấu thăng (#) cho các cấp tiêu đề, dấu sao (*) cho chữ in đậm hoặc in nghiêng, và dấu gạch ngang (-) để tạo danh sách.
Chỉ với 5 phút làm quen, bạn đã có thể làm chủ hoàn toàn bộ cú pháp cốt lõi của Markdown:
# Tiêu đề H1, ## Tiêu đề H2, ### Tiêu đề H3
**In đậm nội dung**, *In nghiêng nội dung*
[Tên liên kết](https://type.vn)
- Thẻ danh sách không đánh số
Trận đối đầu nghẹt thở giữa Đặc vụ Giang Đặc Lỗ và thủ lĩnh băng đảng Ác tăng Lăng Sâm được giới chuyên môn đánh giá là một trong những màn giao đấu kinh điển nhất lịch sử điện ảnh hành động. Dưới góc độ chuyên môn, bài viết này sẽ phân tích các chiêu thức võ thuật đỉnh cao được hai cao thủ phô diễn, mang đến cho độc giả một cái nhìn cận cảnh về sự giao thoa võ học giữa các hệ phái từ Á sang Mỹ.
Mở đầu trận đấu, nhân vật Ác tăng nhanh chóng áp đặt thế trận bằng lối đánh dũng mãnh, tàn bạo. Phân tích hình ảnh cận cảnh cho thấy đấu sĩ này sử dụng nhuần nhuyễn hai trường phái võ thuật có tính sát thương cực cao: Báo Hình Quyền (thuộc ngũ hình quyền Thiếu Lâm) và các đòn chân biến ảo của Capoeira (nghệ thuật chiến đấu của Brazil).
Với thể hình vạm vỡ cùng các hình xăm kín vai, Ác tăng tung ra những đòn tấn công dồn dập như "Thủ đao hoành trảm" (chém cạnh tay ngang), "Hạ tạp khuỷu" (đập khuỷu tay xuống) và liên tục dồn ép đối thủ bằng "Phi báo dược kích" (hổ báo vồ mồi). Sự kết hợp giữa bộ pháp di chuyển linh hoạt của Capoeira và những cú đá uy lực như "720 độ xoay người hạ tích tỳ" (đá chẻ xoay hai vòng) đã hoàn toàn áp chế đặc vụ Giang Đặc Lỗ trong hiệp một.
Nhân vật
Hệ phái chủ đạo
Chiêu thức đặc trưng xuất hiện trong video
Ác tăng (Lăng Sâm)
Báo Hình Quyền Thiếu Lâm, Capoeira
Thủ đao hoành trảm, Phi báo dược kích, 720° xoay người hạ tích tỳ, Đơn thủ san địa đảo câu thích
Giang Đặc Lỗ
Muay Thai (Bát Tý Quyền)
Nghi thức Wai Kru, Phản đỉnh khuỷu, Tằng không chuyển thân hậu sái, Điện bộ trắc sái
Sau khi bị đánh gục và phải rút lui, Đặc vụ Giang Đặc Lỗ đã có màn tái xuất đầy ấn tượng. Chi tiết đắt giá nhất chính là việc anh thực hiện các động tác tay kỳ lạ trước khi bước vào hiệp hai. Đây chính là nghi thức cổ truyền Wai Kru Ram Muay của các võ sĩ Muay Thai nhằm ổn định tâm lý và thể hiện sự tôn kính với sư phụ.
Khi bước vào trận tái đấu với tinh thần nghiêm túc, Giang Đặc Lỗ đã kích hoạt hoàn toàn sức mạnh của "Bát Tý Quyền" (nghệ thuật sử dụng 8 bộ phận tấn công của Muay Thai bao gồm hai tay, hai chân, hai chỏ và hai gối). Anh liên tục hóa giải các đòn đấm của Ác tăng bằng kỹ thuật parry (gạt đòn) liên hoàn, trước khi phản công sấm sét bằng cú "Phản đỉnh khuỷu" (đánh chỏ ngược) cực hiểm hóc vào cằm đối thủ. Trận đấu khép lại bằng cú dứt điểm "Điện bộ trắc sái" (bước đệm đá tống ngang) dũng mãnh, khiến Ác tăng hoàn toàn đo ván và vỡ vụn hòm gỗ phía sau. Đây xứng đáng là một bài học mẫu mực về chiến thuật lội ngược dòng trong thực chiến võ thuật.
8 câu lệnh dùng để biến Gemini thành trợ lý tiếng Anh 1:1
Hot! Gemini giờ có thể giúp học tiếng Anh cực nhanh và chuẩn không chỉ hỗ trợ người đi làm mà ai cũng có thể dùng được chỉ với 8 câu lệnh:
1️⃣ Từ vựng – Học đúng thứ mình dùng mỗi ngày
Prompt:
“Hãy đóng vai một chuyên gia tiếng Anh cho người đi làm.
Tạo cho tôi danh sách 15 từ vựng và cụm từ tiếng Anh thường dùng trong công việc [mô tả công việc/ngành nghề].
Với mỗi từ:
Nghĩa tiếng Việt dễ hiểu
1 câu ví dụ thực tế trong công việc
Giải thích ngắn khi dùng (trang trọng / thân mật / email / họp…)
2️⃣ Phản xạ giao tiếp trong họp & trao đổi công việc
Prompt:
“Đóng vai đồng nghiệp người nước ngoài.
Tạo cho tôi 10 tình huống hội thoại thường gặp trong công việc [mô tả công việc].
Mỗi tình huống gồm:
– Câu tiếng Anh tôi nên nói
– Cách nói tự nhiên như người bản xứ
– Phiên bản ngắn gọn hơn (khi cần nói nhanh)
– Giải thích vì sao dùng câu đó”
3️⃣ Viết – Email, báo cáo, tin nhắn chuyên nghiệp
Prompt:
“Tôi là [vị trí công việc].
Hãy giúp tôi viết lại đoạn sau bằng tiếng Anh sao cho chuyên nghiệp, rõ ràng, dễ hiểu trong môi trường công việc.
Sau đó:
Chỉ ra lỗi sai (ngữ pháp, từ vựng, cách diễn đạt)
Giải thích vì sao sai
Đề xuất 1 phiên bản tự nhiên hơn như người bản xứ
Nội dung: [dán đoạn viết]”
4️⃣ Sửa lỗi câu tôi hay nói sai
Prompt:
“Dưới đây là những câu tiếng Anh tôi thường nói trong công việc:
[liệt kê 5–7 câu bạn hay dùng]
Hãy:
– Sửa lại cho tự nhiên như người bản xứ
– Giải thích lỗi sai của tôi
– Đưa thêm 1–2 cách nói thay thế hay hơn”
5️⃣ Luyện nói theo chủ đề công việc mỗi ngày (5 phút)
Prompt:
“Tạo cho tôi 1 chủ đề nói tiếng Anh trong 5 phút liên quan đến công việc [mô tả].
Bao gồm:
– 5 câu hỏi gợi ý để tôi nói
– 10 từ/cụm từ nên dùng trong chủ đề này
– 1 đoạn trả lời mẫu để tôi tham khảo”
6️⃣ Nghe hiểu nhanh tài liệu, video tiếng Anh
Prompt:
“Tôi sẽ gửi nội dung tiếng Anh (video/tài liệu).
Hãy:
– Tóm tắt nội dung chính bằng tiếng Việt
– Liệt kê các từ/cụm từ quan trọng
– Viết lại nội dung đó bằng tiếng Anh đơn giản, dễ hiểu hơn”
7️⃣ Biến tiếng Việt tôi muốn nói thành tiếng Anh tự nhiên
Prompt:
“Tôi sẽ viết ý bằng tiếng Việt.
Hãy chuyển thành tiếng Anh tự nhiên như người bản xứ trong bối cảnh công việc.
Sau đó giải thích vì sao dùng cấu trúc/cụm từ đó.”
8️⃣ Lộ trình 30 ngày cải thiện tiếng Anh cho người đi làm bận rộn
Prompt:
“Thiết kế cho tôi lộ trình 30 ngày cải thiện tiếng Anh cho người đi làm bận rộn (mỗi ngày 15–20 phút) trong lĩnh vực [mô tả].
Mỗi ngày gồm:
– Từ vựng cần học
– 1 bài luyện nói ngắn
– 1 tình huống giao tiếp thực tế
– 1 bài ôn tập nhanh 5 phút”
Thử ngày và luôn từ hôm nay!!!!
Vercel, trước đây được biết đến với tên gọi Zeit, là một nền tảng đám mây cho phép các developer deploy các ứng dụng tĩnh và serverless nhanh chóng, an toàn và hiệu quả. Vercel hỗ trợ nhiều framework phổ biến như: Next.js, React, Vue.js, Angular, Svelte,…
Và hôm qua Vercel đã bị hack, nhẹ thôi không nặng nhưng đủ cảnh tỉnh ae, https://tadu.cloud/su-co-bao-mat-vercel-thang-4-nam-2026-va-bai-hoc-xuong-mau-ve-quan-tri-he-thong.html
Từng nghĩ việc xây dựng website chuyên nghiệp là một nhiệm vụ khó khăn, đòi hỏi hàng tá kiến thức về code? Hay bạn lo lắng về việc tối ưu hóa SEO để trang web của mình được tìm thấy trên Google? Hãy quên đi những rào cản đó! Softaculous vừa ra mắt SoftWP – AI Website Builder WordPress Plugin, một giải pháp mạnh mẽ giúp bạn tạo ra các trang web tuyệt đẹp, tối ưu SEO chỉ trong vài phút, mà không cần viết một dòng code nào.

Với SoftWP, dù bạn muốn tạo một blog cá nhân, website doanh nghiệp hay một portfolio ấn tượng, quá trình thiết kế web sẽ trở nên dễ dàng và thú vị hơn bao giờ hết. Đây là công cụ hoàn hảo để biến ý tưởng của bạn thành hiện thực, nhanh chóng và hiệu quả.
SoftWP là một plugin WordPress cách mạng từ Softaculous, được tích hợp trí tuệ nhân tạo để biến việc xây dựng website trở thành một trải nghiệm không thể đơn giản hơn. Nó thông minh hơn, nhanh gấp đôi và được thiết kế đặc biệt để tiết kiệm thời gian quý báu của bạn, giúp bạn tập trung vào nội dung và phát triển doanh nghiệp.
Những Điểm Nổi Bật Của Softaculous – SoftWP AI WordPress Plugin
Không chỉ là một trình xây dựng website thông thường, SoftWP mang đến hàng loạt tính năng vượt trội, được thiết kế để đơn giản hóa mọi khía cạnh của việc tạo web:
Không Cần Code, Dễ Dàng Cho Người Mới Bắt Đầu: Bạn không cần bất kỳ kỹ năng lập trình hay thiết kế nào. Với giao diện kéo thả trực quan và thân thiện, SoftWP mở ra cánh cửa xây dựng website chuyên nghiệp cho tất cả mọi người, kể cả những người chưa có kinh nghiệm.

Thiết Kế Chuyên Nghiệp & Phản Hồi: Các mẫu thiết kế của SoftWP không chỉ đẹp mắt mà còn được tối ưu hóa hoàn hảo để hiển thị trên mọi thiết bị, từ máy tính để bàn, laptop đến máy tính bảng và điện thoại thông minh, đảm bảo trải nghiệm người dùng liền mạch.
Tự Động Thêm Plugin WordPress Phù Hợp: Đây là một tính năng 'thông minh' thực sự! Dựa trên mục tiêu và loại hình website của bạn, SoftWP AI sẽ tự động đề xuất và cài đặt các plugin WordPress cần thiết, giúp bạn tiết kiệm thời gian tìm kiếm, so sánh và cài đặt thủ công.
Bố Cục Tối Ưu SEO Cho Hiển Thị Tốt Hơn: Để website của bạn được nhiều người biết đến, SoftWP đã tích hợp các yếu tố tối ưu hóa công cụ tìm kiếm (SEO) ngay từ khâu thiết kế. Các bố cục được xây dựng để giúp trang của bạn có thứ hạng cao hơn trên các công cụ tìm kiếm như Google, tăng cường khả năng tiếp cận khách hàng tiềm năng.
Tùy Chỉnh Hình Ảnh Dễ Dàng: Bạn có thể dễ dàng tải lên hình ảnh của riêng mình hoặc chọn từ thư viện hình ảnh chất lượng cao tích hợp sẵn để cá nhân hóa thiết kế, làm cho website của bạn trở nên độc đáo và thu hút hơn.
Xem Trước Trực Tiếp Trước Khi Xuất Bản: Bạn muốn chắc chắn mọi thứ đều hoàn hảo? SoftWP cho phép bạn xem trước trang web của mình trong thời gian thực, đảm bảo mọi chi tiết đều đúng như bạn mong muốn trước khi nhấn nút 'Publish' chính thức.
Giờ đây, chúng ta hãy cùng nhau đi qua các bước đơn giản để tạo ra website đầu tiên của bạn với SoftWP:
Bước 1: Cài Đặt Plugin SoftWP
Đầu tiên và quan trọng nhất, bạn cần cài đặt SoftWP AI Website Builder Plugin vào website WordPress hiện có của mình. Truy cập Bảng điều khiển WordPress (WordPress Dashboard), đi tới mục 'Plugins' > 'Add New', tìm kiếm 'SoftWP' và nhấn 'Install Now', sau đó 'Activate' để kích hoạt plugin.
Bước 2: Khởi Chạy Trình Xây Dựng
Sau khi kích hoạt thành công, bạn sẽ thấy một tùy chọn mới trong Bảng điều khiển WordPress để khởi chạy SoftWP. Nhấp vào đó để bắt đầu hành trình xây dựng website của mình và khám phá giao diện trực quan của nó.
Bước 3: Xác Định Mục Tiêu Website Của Bạn
SoftWP sẽ hỏi bạn về loại website bạn muốn tạo (ví dụ: blog, cửa hàng trực tuyến, danh mục đầu tư, website doanh nghiệp) và các thông tin cơ bản khác liên quan đến mục tiêu của bạn. Cung cấp thông tin chi tiết để AI có thể tạo ra một thiết kế phù hợp nhất với nhu cầu của bạn.
Bước 4: AI Tạo Thiết Kế Ban Đầu
Đây là lúc 'phép thuật' xảy ra! Dựa trên thông tin bạn đã cung cấp ở Bước 3, SoftWP AI sẽ tự động tạo ra một bố cục website ban đầu, hoàn chỉnh với các phần, hình ảnh và nội dung gợi ý. Bạn sẽ ngạc nhiên về tốc độ và sự chuyên nghiệp của nó.
Bước 5: Tùy Chỉnh & Cá Nhân Hóa
Bây giờ là lúc bạn biến website thành của riêng mình. Sử dụng giao diện kéo thả trực quan để dễ dàng chỉnh sửa văn bản, thay đổi hình ảnh, thêm hoặc xóa các phần, thay đổi màu sắc và font chữ. Đây là nơi bạn phát huy sự sáng tạo mà không cần viết một dòng code nào.
Bước 6: Thêm Nội Dung Của Bạn
Điền nội dung thực tế của bạn vào các trang. Viết các bài blog mới, thêm mô tả sản phẩm, thông tin liên hệ, hoặc bất kỳ nội dung nào khác mà bạn muốn chia sẻ. SoftWP giúp việc quản lý nội dung trở nên dễ dàng và nhanh chóng.
Bước 7: Xem Trước & Xuất Bản
Trước khi đưa website của bạn lên sóng cho cả thế giới khám phá, hãy sử dụng tính năng 'Live Preview' để kiểm tra mọi thứ. Đảm bảo tất cả các trang đều hiển thị đẹp mắt, hoạt động trơn tru và đáp ứng đúng mong đợi của bạn. Khi đã hoàn toàn hài lòng, nhấn nút 'Publish' và website của bạn sẽ chính thức hoạt động!
Với SoftWP AI Website Builder WordPress Plugin, việc tạo ra một website chuyên nghiệp, tối ưu SEO và phản hồi trên mọi thiết bị chưa bao giờ dễ dàng đến thế. Công nghệ AI của Softaculous đã đưa việc thiết kế web lên một tầm cao mới, giúp mọi người có thể xây dựng sự hiện diện trực tuyến mạnh mẽ mà không cần kiến thức kỹ thuật phức tạp.
Đừng để những rào cản kỹ thuật cản trở ý tưởng của bạn. Hãy ngừng trì hoãn và bắt đầu xây dựng website mơ ước ngay hôm nay với SoftWP! Khám phá sức mạnh của thiết kế web không cần code và đưa dự án của bạn lên mạng chỉ trong vài phút.
Như các bạn đã biết, Chatbot là một chương trình kết hợp với trí tuệ nhân tạo (AI) để tương tác với con người. Công cụ này có thể thay thế cho nhân viên tư vấn hoặc trả lời những thắc mắc của khách hàng.
Nó không chỉ là công cụ trợ giúp bán hàng hoạt động 24/7. Mà Chatbot còn cập nhật liên tục, giúp bạn không bỏ sót đơn hàng nào của khách.
Việc huấn luyện một mô hình chatbot bằng Python có thể thực hiện bằng nhiều cách khác nhau, tùy thuộc vào độ phức tạp và dữ liệu mà bạn muốn sử dụng. Dưới đây là hướng dẫn từng bước của team FastCloud để các bạn có thể train một con chatbot từ cơ bản đến nâng cao.
1. Chọn phương pháp huấn luyện
Có 3 phương pháp chính để train một chatbot:
Dựa trên rule-based (kịch bản có sẵn) – Dùng các câu trả lời cố định.
Dựa trên machine learning truyền thống – Dùng mô hình NLP như TF-IDF hoặc seq2seq.
Dựa trên deep learning – Dùng mô hình transformer như GPT hoặc LLaMA.
2. Chuẩn bị môi trường và cài đặt thư viện
Trước tiên, bạn cần cài đặt các thư viện quan trọng:
NLTK: Xử lý ngôn ngữ tự nhiên.
Transformers: Sử dụng mô hình ngôn ngữ mạnh như GPT.
Quá trình thực hiện:
1️⃣ Thu thập dữ liệu hội thoại
Ví dụ file intents.json:
{
"intents": [
{
"tag": "chào hỏi",
"patterns": ["Xin chào", "Chào bạn", "Hello"],
"responses": ["Chào bạn!", "Xin chào, tôi có thể giúp gì?", "Hello!"]
},
{
"tag": "tạm biệt",
"patterns": ["Tạm biệt", "Bye", "Hẹn gặp lại"],
"responses": ["Tạm biệt nhé!", "Hẹn gặp lại!", "Bye bye!"]
}
]
}
2️⃣ Tiền xử lý dữ liệu
Mục tiêu: Biến văn bản thành dạng có thể dùng để train mô hình (Bag of Words).
📌 Các bước:
✅ Tokenize (tách từ)
✅ Lemmatize (chuẩn hóa từ)
✅ Chuyển đổi sang dạng vector
Cài đặt thư viện:
pip install numpy nltk tensorflow
Code tiền xử lý dữ liệu:
import json
import random
import numpy as np
import nltk
from nltk.stem import WordNetLemmatizer
# Khởi tạo lemmatizer để chuẩn hóa từ
lemmatizer = WordNetLemmatizer()
# Load dữ liệu hội thoại từ JSON
with open("intents.json", "r", encoding="utf-8") as file:
intents = json.load(file)
words = []
classes = []
documents = []
ignore_words = ["?", "!", ".", ","]
# Xử lý dữ liệu đầu vào
for intent in intents["intents"]:
for pattern in intent["patterns"]:
word_list = nltk.word_tokenize(pattern) # Tokenize
words.extend(word_list)
documents.append((word_list, intent["tag"]))
if intent["tag"] not in classes:
classes.append(intent["tag"])
# Chuẩn hóa từ (lemmatization)
words = [lemmatizer.lemmatize(w.lower()) for w in words if w not in ignore_words]
words = sorted(list(set(words)))
classes = sorted(list(set(classes)))
print("Từ vựng:", words)
print("Nhóm hội thoại:", classes)
3️⃣ Chuyển đổi dữ liệu thành vector
Chúng ta tạo Bag of Words (BOW) để biểu diễn câu bằng số.
# Tạo dữ liệu huấn luyện
training = []
output_empty = [0] * len(classes)
for doc in documents:
bag = []
word_patterns = doc[0]
word_patterns = [lemmatizer.lemmatize(word.lower()) for word in word_patterns]
for w in words:
bag.append(1) if w in word_patterns else bag.append(0)
output_row = list(output_empty)
output_row[classes.index(doc[1])] = 1
training.append([bag, output_row])
# Chuyển đổi sang mảng NumPy
random.shuffle(training)
training = np.array(training, dtype=object)
train_x = np.array(list(training[:, 0])) # Input (BOW)
train_y = np.array(list(training[:, 1])) # Output (Nhóm hội thoại)
print("Dữ liệu đầu vào:", train_x)
print("Dữ liệu đầu ra:", train_y)
4️⃣ Xây dựng mô hình Deep Learning
Chúng ta sử dụng TensorFlow/Keras để xây dựng mạng Neural Network.
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from tensorflow.keras.optimizers import SGD
# Xây dựng mô hình Deep Learning
model = Sequential()
model.add(Dense(128, input_shape=(len(train_x[0]),), activation="relu"))
model.add(Dropout(0.5))
model.add(Dense(64, activation="relu"))
model.add(Dropout(0.5))
model.add(Dense(len(train_y[0]), activation="softmax"))
# Biên dịch mô hình
sgd = SGD(learning_rate=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss="categorical_crossentropy", optimizer=sgd, metrics=["accuracy"])
# Train mô hình
model.fit(train_x, train_y, epochs=200, batch_size=5, verbose=1)
# Lưu mô hình đã train
model.save("chatbot_model.h5")
print("Mô hình đã được lưu!")
5️⃣ Triển khai chatbot
Sau khi train xong, chúng ta có thể sử dụng mô hình để phản hồi tin nhắn.
import json
import numpy as np
import nltk
import tensorflow as tf
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
with open("intents.json", "r", encoding="utf-8") as file:
intents = json.load(file)
# Load mô hình đã train
model = tf.keras.models.load_model("chatbot_model.h5")
# Hàm xử lý đầu vào
def clean_up_sentence(sentence):
sentence_words = nltk.word_tokenize(sentence)
sentence_words = [lemmatizer.lemmatize(word.lower()) for word in sentence_words]
return sentence_words
def bag_of_words(sentence, words):
sentence_words = clean_up_sentence(sentence)
bag = [0] * len(words)
for s in sentence_words:
for i, w in enumerate(words):
if w == s:
bag[i] = 1
return np.array(bag)
def predict_class(sentence):
bow = bag_of_words(sentence, words)
res = model.predict(np.array([bow]))[0]
ERROR_THRESHOLD = 0.25
results = [[i, r] for i, r in enumerate(res) if r > ERROR_THRESHOLD]
results.sort(key=lambda x: x[1], reverse=True)
return classes[results[0][0]] if results else "unknown"
def get_response(tag):
for intent in intents["intents"]:
if intent["tag"] == tag:
return random.choice(intent["responses"])
return "Xin lỗi, tôi không hiểu."
# Chạy chatbot
print("Chatbot đã sẵn sàng! Nhập 'quit' để thoát.")
while True:
message = input("Bạn: ")
if message.lower() == "quit":
break
tag = predict_class(message)
response = get_response(tag)
print(f"Bot: {response}")
🎯 Tổng kết
✅ Thu thập dữ liệu (intents.json)
✅ Tiền xử lý dữ liệu (Tokenize, Lemmatize, Bag of Words)
✅ Xây dựng mô hình Deep Learning (Neural Network với TensorFlow)
✅ Train mô hình
✅ Triển khai chatbot
Chào bạn! Có vẻ như bạn quan tâm đến cuộc trò chuyện này, nhưng bạn chưa có tài khoản.
Bạn cảm thấy mệt mỏi vì phải cuộn qua cùng một bài đăng mỗi lần truy cập? Khi đăng ký tài khoản, bạn sẽ luôn quay lại đúng vị trí bạn đã xem trước đó và có thể chọn nhận thông báo về các bình luận mới (qua email hoặc thông báo đẩy). Bạn cũng có thể lưu lại các bài đăng yêu thích và bình chọn cho các bài đăng để thể hiện sự ủng hộ của mình đối với các thành viên khác trong cộng đồng.
Với sự đóng góp của bạn, bài viết này sẽ còn tuyệt vời hơn nữa 💗
Đăng ký Đăng nhập