ALBERT và ứng dụng vào xây dựng máy hỏi đáp

ALBERT và ứng dụng vào xây dựng máy hỏi đáp

BERT là mô hình ngôn ngữ (language model) đầu tiên được huấn luyện không giám sát (unsupervised) và được học sâu 2 chiều (deeply bidirectional) và thể hiện được kết quả vượt trội hơn hẳn các mô hình trước đó trong các bài toán xử lý ngôn ngữ tự nhiên (NLP). Tuy nhiên, BERT cũng có những điểm bất lợi của riêng mình: chi phí huấn luyện (training) mô ... »

Regex

Regex

Nếu là coder chắc hẵn đa số đều biết qua regex (viết tắt của Regular Expression, tên thuần Việt là biểu thức chính quy). Nó thường được sử dụng để validate chuỗi ký tự như email, ip address hay tìm kiếm/thay thế chuỗi... Regex khá hữu ích không chỉ trong code mà còn cách lĩnh vực khác. Trong bài viết này mình sẽ tổng hợp lại cách dùng cũng như những kinh nghiệm cá nhân trong khi sử dụng regex. 1. Giới thiệu Trước khi đi vào chi tiết thì mình sẽ nhắc lại regex là gì? Regular expression ... »

Free gpu để train model machine learning với paperspace gradient

Free gpu để train model machine learning với paperspace gradient

Công cụ free để train model machine learning phổ biến nhất hiện nay chính là Google Colab. Tuy nhiên, với những người hay dùng linux và jupyter, mình thấy colab xài không được tự do lắm, chưa kể hạn chế lớn nhất của colab chính là tính liên tục của free gpu. Hôm nay, mình sẽ giới thiệu với các bạn một công cụ thay thế mà mình tình cờ biết từ reddit, đó chính là paperspace gradient 1. Hạn chế của google colab Google colab rất tiện trong việc share code và cùng edit code. Tuy nhiên, vì là ... »

Giới thiệu winmerge

Giới thiệu winmerge

I.Giới thiệu:WiMerge là 1 phần mềm mã nguồn mở miễn phí để so sánh text và hợp nhất  các file text, rất tiện dụng trong lập trình dùng để so sánh code để xác định được những thay đổi.Trong 1 số trường hợp code bị conflict phức tạp thì mình sẽ dùng winmerge để fix conflictII.Hướng dẫn:Link download: https://winmerge.org/Sau khi cài đặt bạn vào Winmerge, chọn File -> New. Coppy đoạn text mà bạn muốn so sánh vào lần lượt cửa sổ trái và phải.Sau đó ấn vào biểu tượng ... »

Giới thiệu gRPC

Giới thiệu gRPC

Ngày nay microservices đang nổi lên như một hiện tượng mạnh mẽ . Nó đáp ứng những yêu cầu mà thiết kế kiểu monolithic architecture không có . Và phần quan trọng nhất của nó chính là khả năng scale và quản lý riêng từng service. I. Microservices ? Microservices hỗ trợ bởi rất nhiều ngôn ngữ . Nếu những services này cần phải trao đổi qua lại các thông tin như : data, data format, error pattern, load balancing, other ... thì microservices chính là lựa chọn cực kì tốt. Một trong những lựa chọn rất phổ biến là REST (HTTP-JSON) II. Xây dựng API ... »

UILabel Copyable trong iOS

UILabel Copyable trong iOS

Chào các bạn, hôm nay mình quay trở lại viết 1 bài blog để hướng dẫn các bạn 1 bài toán mà chắc rất nhiều bạn gặp phải khi đang code dự án iOS từ đầu hay đang maintain 1 dự án. Không dài dòng nữa, mình xin được bắt đầu. I. Bài toánMới chập chững bước vào dự án mới về app Mobile viết bằng ngôn ngữ Swift. Vào một hôm đẹp trời, mình đang ngồi nhâm nhi cốc cà phê thì được giao cho task: Làm tất cả các text sử dụng trong app có thể copy được. ... »

Cách xử lí JSON trong Golang

Cách xử lí JSON trong Golang

I. Lời nói đầuViệc parsing JSON trong ngôn ngữ static như Golang sẽ gặp phải chút vấn đề. Giả sử ta có dữ liệu JSON, trong JSON đó có 1 key và 1 value, nhưng value đó có thể lồng 1 cặp key và 1 value khác và cứ như vậy. Vậy thì compiler của 1 ngôn ngữ static như Golang làm thế nào có thể làm việc được với JSON đó? II. Unmarshaling và MarshalingNếu trường hợp ta biết trước được cấu trúc của JSON đó như thế nào thì giải pháp chính là ta sẽ tạo 1  struct ... »