Cải tiến AI liên tục với Data Harvest Loop

Chuyện IT
Cải tiến AI liên tục với Data Harvest Loop
Vấn đề khi thu thập dữ liệu cho AI Một trong những khó khăn của các doanh nghiệp startup về lĩnh vực AI là làm thế nào có thể thu thập được những dữ liệu chất lượng để huấn luyện và đào tạo ra các mô hình AI. Bản thân mình trong quá trình làm việc tại Cinnamon AI những năm vừa qua với hơn 50 – 60 đối tác thì những đối tác lớn nhất cũng chỉ có thể cung cấp được từ 5000 – 30000 ảnh cho một dự án. Số lượng ảnh này thật sự vẫn còn rất khiêm tốn để xây dựng một mô hình có thể giải quyết được các vấn đề cho khách hàng. Thu thập và huấn luyện data giúp ích rất nhiều cho quá trình đào tạo AI Đối tác của Cinnamon AI đều là những tập đoàn công nghệ rất lớn, có doanh thu mỗi năm lên đến hàng nghìn tỷ đô như Toshiba, Toyota, Suntory,… Tuy nhiên, kể cả là những tập đoàn lớn như thế này thì việc họ chia sẻ dữ liệu cho những đơn vị cung cấp giải pháp như Cinnamon AI cũng rất hạn chế. Có nhiều yếu tố ảnh hưởng đến điều này: Thứ nhất đây là vấn đề liên quan đến tính bảo mật dữ liệu. Thứ hai, không phải công ty cung cấp giải pháp nào cũng sẵn sàng đầu tư một lượng lớn nhân sự để xử lý những dữ liệu này cho các đối tác như Cinnamon AI. Vậy Data Harvest Loop giải quyết những vấn đề này như thế nào? Giải pháp sẽ được trình bày trong bài chia sẻ này. Tại sao cần sử dụng đến Data Harvest Loop? Những đơn vị cung cấp về giải pháp hoặc sản...

Vấn đề khi thu thập dữ liệu cho AI

Một trong những khó khăn của các doanh nghiệp startup về lĩnh vực AI là làm thế nào có thể thu thập được những dữ liệu chất lượng để huấn luyện và đào tạo ra các mô hình AI.

Bản thân mình trong quá trình làm việc tại Cinnamon AI những năm vừa qua với hơn 50 – 60 đối tác thì những đối tác lớn nhất cũng chỉ có thể cung cấp được từ 5000 – 30000 ảnh cho một dự án. Số lượng ảnh này thật sự vẫn còn rất khiêm tốn để xây dựng một mô hình có thể giải quyết được các vấn đề cho khách hàng.

data harvest loop 1data harvest loop 1
Thu thập và huấn luyện data giúp ích rất nhiều cho quá trình đào tạo AI

Đối tác của Cinnamon AI đều là những tập đoàn công nghệ rất lớn, có doanh thu mỗi năm lên đến hàng nghìn tỷ đô như Toshiba, Toyota, Suntory,… Tuy nhiên, kể cả là những tập đoàn lớn như thế này thì việc họ chia sẻ dữ liệu cho những đơn vị cung cấp giải pháp như Cinnamon AI cũng rất hạn chế.

Có nhiều yếu tố ảnh hưởng đến điều này: Thứ nhất đây là vấn đề liên quan đến tính bảo mật dữ liệu. Thứ hai, không phải công ty cung cấp giải pháp nào cũng sẵn sàng đầu tư một lượng lớn nhân sự để xử lý những dữ liệu này cho các đối tác như Cinnamon AI. Vậy Data Harvest Loop giải quyết những vấn đề này như thế nào? Giải pháp sẽ được trình bày trong bài chia sẻ này.

Tại sao cần sử dụng đến Data Harvest Loop?

Những đơn vị cung cấp về giải pháp hoặc sản phẩm như Cinnamon AI, nếu việc thiết kế sản phẩm dựa vào các dữ liệu đã có sẵn mà khách hàng cung cấp thì sẽ phải đối diện với những vấn đề gì? Có 2 vấn đề lớn mà chúng ta sẽ gặp phải:

Thứ nhất, khi làm việc ở một đơn vị thiết kế về giải pháp hoặc sản phẩm AI, mọi người sẽ thật sự hiểu rằng: sự kết hợp giữa trải nghiệm người dùng thay đổi về chu trình vận hành như thế nào phải kết hợp với độ chính xác của AI mới có thể tăng độ chính xác này lên đến mức có thể sử dụng được.

Tuy nhiên nếu chúng ta không thuyết phục được khách hàng rằng khách hàng nên thay đổi quy trình vận hành mà chỉ tập trung vào việc làm thế nào để xử lý dữ liệu và mang lại độ chính xác tốt hơn của phần mềm AI, thì khả năng và giải pháp AI đó có thể giải quyết được bài toán của người dùng tốt hơn con người sẽ thấp hơn.

Thứ hai, đối với các công ty cung cấp giải pháp, nếu chúng ta liên tục làm việc với những khách hàng mới và phải huấn luyện lại mô hình AI dựa trên dữ liệu mới của khách hàng thì về mặt công nghệ lõi, công ty sẽ rất khó có khả năng mở rộng hơn nữa nếu không gia tăng quy mô nhân sự. Trong khi đó nhân sự AI lại là một vấn đề khó khăn của thị trường, vậy nên dựa vào dữ liệu có sẵn của doanh nghiệp có thể sẽ không phải là hướng đi có lợi trong dài hạn.

Vậy nên thay vì tìm cách tận dụng tối đa dữ liệu đang có, chúng ta nên cùng với khách hàng xây dựng một quy trình vận hành và giải pháp phần mềm, để làm thế nào bản thân khách hàng cùng với đơn vị cung cấp giải pháp có thể liên tục thu thập dữ liệu một cách bền vững, không chỉ cho hiện tại mà còn cho rất nhiều hoạt động vận hành sau này.

Data Harvest Loop là gì?

Để giải thích vấn đề này mình sẽ phân tích dựa trên các trường hợp thực tế.

Giải pháp hỗ trợ lái xe an toàn Mobileye

Mobileye là công ty chuyên về thiết kế giải pháp để hỗ trợ cảnh báo tài xế có được trải nghiệm lái xe an toàn hơn. Vậy vòng lặp của Mobileye cho việc thu thập dữ liệu diễn ra như thế nào?

Thông thường Mobileye sẽ sử dụng AI để đưa ra cảnh báo về khả năng xảy ra tai nạn cho tài xế. Người tài xế sẽ có rất nhiều dạng phản hồi lại cảnh báo của AI, thông qua việc tương tác với xe ô tô như giảm tốc độ, bẻ lái,… Nếu cảm thấy không đúng, họ có thể lờ đi hoặc không có phản ứng gì, còn nếu đúng thì họ sẽ có nhiều lựa chọn như tinh chỉnh vô lăng như thế nào, chân ga ra sao và những cách xử lý với chiếc xe khác nhau. Lúc này, AI sẽ tiếp tục thu thập lại những phản ứng này của người dùng.

Nhờ sự cảnh báo từ các giải pháp của Mobileye nên tỉ lệ xảy ra tai nạn sẽ giảm thiểu và mang lại trải nghiệm lái xe an toàn hơn cho người dùng cuối. Khi đã có được sự an toàn hơn cho người dùng và các công ty thì họ sẽ sử dụng giải pháp của Mobileye nhiều hơn.

Vậy vòng lặp này sẽ được thu thập như thế nào?

Khi người dùng cuối có trải nghiệm tốt hơn, lúc họ sử dụng giải pháp phần mềm của Mobileye kết hợp với camera hành trình thì Mobileye thu thập được một loại dữ liệu vô cùng quan trọng là hình ảnh môi trường xung quanh của chiếc xe đó khi dữ liệu cảnh báo được đưa ra. Ảnh dữ liệu về đường phố này sẽ tiếp tục được sử dụng cùng với những dữ liệu cảnh báo của phần mềm Mobileye đưa ra và cách tài xế phản hồi lại với những cảnh báo đó.

Toàn bộ những dữ liệu này sẽ được đưa vào môi trường AI để huấn luyện và khi môi trường AI được huấn luyện tốt hơn, nó sẽ đưa ra được các cảnh báo có mức độ chính xác cao hơn.

Khi cảnh báo chính xác hơn được đưa ra, người dùng tiếp tục phản hồi lại những cảnh báo này, rằng nó đúng hay sai. Vòng lặp như vậy sẽ liên tục diễn ra, lặp đi lặp lại gọi là vòng lặp thu thập dữ liệu.

Xem thêm “AI giờ đã được bình chọn là xu hướng của tương lai, sao developer mình còn chưa tận dụng điều đó?”

Trong một ứng dụng không chỉ đơn thuần có một vòng lặp dữ liệu mà có thể có nhiều vòng lặp dữ liệu.

Như với trường hợp của Mobileye, ngoài dữ liệu về đường phố xung quanh khi cảnh báo được đưa ra, họ đồng thời cũng thu thập dữ liệu về vị trí của chiếc xe đó (1) và có thể kết hợp với tần suất xuất hiện tai nạn trên tuyến đường đó (2) và phản ứng của tài xế (3). Kết hợp tất cả những yếu tố này để đưa vào mô hình học của AI và giúp cho AI đưa ra mức độ cảnh báo chính xác hơn.

Càng nhiều vòng lặp dữ liệu được tạo ra nhờ liên kết các dữ liệu liên quan với nhau thì AI càng có cơ hội đưa ra những dự báo mang tính chính xác hơn.

data harvest loopdata harvest loop
Vòng lặp dữ liệu giúp tăng độ chính xác cho mô hình AI

Giải pháp phát triển trò chơi của Game of Whales

Game of Whales cung cấp một công cụ dành cho các nhà phát triển game. Các nhà phát triển game thường kiếm tiền dựa vào việc bán quảng cáo hoặc bán các tính năng trong game. Nhưng cách xuất hiện của những quảng cáo này như thế nào để tối ưu hóa được lợi nhuận sẽ là một bài toán rất đau đầu với nhiều nhà phát triển game.

Game of Whales cung cấp các giải pháp mà ở đó họ có thể sử dụng dữ liệu thu thập được từ AI testing hoặc từ cách mà người dùng cuối phản hồi lại với một quảng cáo (như việc người dùng cuối nhấp vào app, sử dụng app hay xem hết một video trên app chẳng hạn).

Thông qua việc thu thập dữ liệu người dùng với những quảng cáo này, Game of Whales sẽ đưa ra các chiến lược xem làm thế nào có thể tối ưu hóa doanh thu từ một người chơi hoặc giảm thiểu khả năng người chơi thoát ứng dụng vì trải nghiệm người dùng quá tệ do có quá nhiều quảng cáo.

Vậy trong ví dụ về Game of Whales này, một vòng lặp sẽ được thiết kế như thế nào?

Tính năng đầu tiên liên quan đến việc đưa ra dự đoán về cách một quảng cáo sẽ xuất hiện ra sao, tần suất như thế nào và khi nào thì nên được xuất hiện.

Khi quảng cáo được đưa ra, người chơi sẽ phản hồi lại quảng cáo đó. Game of Whales tiến hành thu thập những phản hồi này của người dùng cuối để liên tục tối ưu và đưa ra chiến lược quảng cáo hiệu quả hơn. Đồng thời, khi người dùng cuối nhận thấy hiển thị quảng cáo tốt hơn thì trải nghiệm người dùng sẽ được nâng cao và bản thân công ty cũng tối ưu doanh thu tốt hơn.

Khi người dùng cuối có được càng nhiều trải nghiệm tốt thì việc họ sử dụng lại app cũng sẽ nhiều hơn hoặc mức độ gắn kết của người dùng với ứng dụng cũng trở nên tốt hơn. Từ đó, dữ liệu Game of Whales thu thập được càng nhiều và họ lại tái sử dụng dữ liệu này càng nhiều để huấn luyện lại mô hình AI, đưa ra chiến lược hiển thị quảng cáo tối ưu hơn.

Mô hình Data Harvest Loop của Cinnamon AI

Concept này gồm những cấu phần nào?

Cấu phần đầu tiên liên quan đến tính năng của phần mềm AI này là như thế nào. Tính năng AI có 3 loại:

  1. Kỹ năng nhận dạng
  2. Kỹ năng dự đoán
  3. Kỹ năng gợi ý

Thông thường, tính năng AI ban đầu sẽ không đạt được độ chính xác cao nên chúng ta cần đến cấu phần thứ hai là Expert-AI collaboration design. Đây là cách thiết kế trải nghiệm người dùng và quy trình vận hành để chuyên gia là con người sẽ tương tác được với máy và máy thu thập dữ liệu phản hồi từ người dùng.

Nhờ sự hỗ trợ này của con người mà ứng dụng mang đến cấu hình thứ baBusiness End-value (giá trị đối với doanh nghiệp). Thông thường đơn vị ứng dụng giải pháp, sản phẩm sẽ nằm ở 1 trong 5 loại giá trị cơ bản nhất:

  1. Giảm thiểu chi phí
  2. Gia tăng doanh thu
  3. Hạn chế được các rủi ro
  4. Trải nghiệm người dùng tốt hơn
  5. Thúc đẩy quá trình nghiên cứu và phát triển sản phẩm thành dịch vụ mới

Khi có được các giá trị với người dùng cuối này rồi thì trải nghiệm người dùng, về cơ bản, sẽ trở nên tốt hơn và quan trọng hơn đó là sự gắn kết của người dùng với sản phẩm sẽ trở nên lâu bền hơn. Nhờ đó, chúng ta sẽ thu thập được nhiều dữ liệu quan trọng liên quan đến trải nghiệm người dùng và tái sử dụng dữ liệu này để đưa ra tính năng AI chính xác hơn sau này.

data harvest loopdata harvest loop
Giải pháp AI cần đáp ứng được những giá trị cơ bản

Nguyên nhân của việc cần thay đổi concept

Hiện tại đang có 2 chiến lược chính mà Cinnamon AI theo đuổi.

Thứ nhất là Innovation Sales.
Đây là một phương thức bán hàng cho phép Cinnamon AI giữ quyền kiểm soát lớn hơn trong việc quyết định các tính năng nào nên được xây dựng trong giải pháp cho khách hàng doanh nghiệp.

Thứ hai là Expert-in-the-Loop.
Đây là cách thiết kế AI và con người cùng làm việc với nhau để làm sao có thể mang lại giá trị cho người dùng cuối tốt hơn.

Innovation Sales là gì? Để phân tích khái niệm này, mình sẽ giới thiệu về một quá trình bán hàng hằng ngày tại Cinnamon AI.

Sau khi đã có những cuộc trao đổi với khách hàng thì Cinnamon AI sẽ tiến hành phân tích quy trình vận hành của họ. Từ quy trình hàng ngày đó, chúng tôi có thể phân tích được những tác vụ lặp đi lặp lại xem nên sử dụng hay cắt bỏ. Nhờ đó sẽ quy hoạch được phạm vi dữ liệu mà mình cần phải xử lý.

Từ phạm vi dữ liệu đó, chúng tôi sẽ tinh chỉnh lại, huấn luyện lại các mô hình AI để có thể đáp ứng được vấn đề mà khách hàng yêu cầu. Đây là cách truyền thống trong việc thiết kế ra một sản phẩm AI.

Tuy nhiên nếu chúng ta đi theo hướng tiếp cận này thì sẽ gây ra 3 vấn đề lớn:

Thứ nhất, nếu chỉ tập trung phân tích quy trình vận hành hiện tại của khách hàng thì:

  1. Việc tối ưu quy trình đơn lẻ trong một chu trình rộng lớn có thể không mang lại hiệu quả kinh tế cho đối tác của chúng ta.
  2. Sẽ có rất nhiều quy trình vận hành mà thật ra nó hoàn toàn có thể thay đổi hay không cần thiết ở thời điểm hiện tại mà chúng ta vẫn áp dụng AI vào nên không đạt được hiệu quả.

Thứ hai là khi thiết kế một giải pháp AI, ta cần kết hợp giữa 3 việc để có thể mang lại độ chính xác cao hơn cho các mô hình AI, gồm:

  • Tinh chỉnh chu trình vận hành
  • Xác định dữ liệu
  • Cải thiện công nghệ

Tuy nhiên, nếu phân tích quy trình vận hành theo cách truyền thống thì khách hàng sẽ kỳ vọng rất cao vào độ chính xác ở thời điểm hiện tại của các mô hình AI. Trong khi điều này về mặt công nghệ sẽ rất khó đạt được.

Thứ ba là đối với khách hàng mới, chúng ta sẽ có một lượng dữ liệu mới cần xử lý.

Do đó, chúng ta bắt buộc phải tinh chỉnh lại mô hình AI mà mình đã có sẵn. Điều này dẫn đến việc những cải tiến về mặt công nghệ mà chúng ta có được từ những khách hàng cũ, nhưng chưa chắc đã có thể tái ứng dụng lại với những khách hàng mới, khiến cho công ty rất khó tiếp tục mở rộng nếu không liên tục mở rộng nhân sự.

Concept được xây dựng và phát triển lại như thế nào?

Ở bước đầu tiên, thay vì phân tích về quy trình vận hành hàng ngày thì Cinnamon AI tập trung vào việc hiểu rất sâu và xác định được chiến lược cạnh tranh dài hạn của doanh nghiệp (1), đồng thời xác định được giá trị cuối mà doanh nghiệp muốn hướng tới (2). Hai giá trị này phải tương đương với nhau.

Khi đã hiểu rõ được định hướng phát triển về mặt lâu dài của doanh nghiệp, thì công ty cùng với khách hàng sẽ tìm được trải nghiệm người dùng nào là tối quan trọng mà khách hàng cần có để thêm nhiều người dùng cuối hơn.

Sau khi đã phân tích và đánh giá được đâu là trải nghiệm người dùng quan trọng hơn thì sẽ xác định được data flow. Tức là những loại dữ liệu nào là tối quan trọng mà chúng ta cần thu thập để có được những nhận định hoặc dự đoán tốt hơn trong tương lai.

Dựa vào các dữ liệu quan trọng này, Cinnamon AI mới thiết kế cách mà con người và máy làm việc với nhau ra sao để có thể liên tục thu thập được những loại dữ liệu như thế này.

Bước quan trọng và khác biệt nhất giữa cách bán hàng truyền thống và cách làm mới mà hiện tại Cinnamon AI đang áp dụng đó là ngay từ đầu, thay vì phân tích chu trình vận hành của khách hàng thì chúng ta cần tìm ra, đâu là giá trị khách hàng muốn hướng tới và đâu là lợi thế cạnh tranh lâu dài mà khách hàng muốn tạo dựng.

Nếu chúng ta có thể thuyết phục được khách hàng với những giá trị này hoặc nhiều hơn, khi chúng ta tích lũy được nhiều giá trị cuối thì những giá trị này sẽ chuyển đổi thành những giá trị lâu dài và việc chúng ta cần làm là bán được sản phẩm cho khách hàng.

Ngay từ đầu, thay vì phân tích chu trình vận hành của khách hàng thì chúng ta cần tìm ra đâu là giá trị khách hàng muốn hướng tới và đâu là lợi thế cạnh tranh lâu dài mà khách hàng muốn tạo dựng

Lấy ví dụ về việc giảm thiểu chi phí. Khi giảm thiểu chi phí đến mức nhất định thì có thể cân nhắc đó là sự sáng tạo đột phá trên thị trường.

Lấy ví dụ với một luật sư danh tiếng, thường chi phí để một cá nhân chi trả cho luật sư giải quyết trường hợp của mình là không hề nhỏ và không phải ai cũng đủ khả năng chi trả cũng như tiếp cận dịch vụ luật sư. Thế nhưng nếu chúng ta có thể sử dụng AI như công cụ hỗ trợ cho một người luật sư thì kết quả sẽ khác hẳn. Thay vì phục vụ 3 đến 5 khách hàng mỗi ngày, giờ đây họ có thể phục vụ đến 20, 30 khách hàng mỗi ngày. Rõ ràng khi năng suất lao động tăng lên như vậy thì chi phí sẽ giảm xuống.

Chúng ta hoàn toàn có thể tạo ra những microproduct.
Chẳng hạn như mọi người có thể lên những ứng dụng này đặt câu hỏi cho các luật sư và nhận được phản hồi từ họ. Đây rõ ràng là sản phẩm hoàn toàn mới và mang tính cạnh tranh cao trên thị trường, rộng mở hơn và rất khó bị sao chép bởi đối thủ. Đó là một trong những ví dụ rất điển hình khi chúng ta đẩy mạnh giá trị về cắt giảm chi phí đến một mức độ nhất định và sẽ tạo ra một microproduct, một sản phẩm mới rộng rãi hơn trên thị trường.

Thứ hai là phải thiết kế được quy trình để con người / chuyên gia tương tác được, phản hồi được với máy và máy cũng phải thu thập được những phản hồi như thế này.

Điều này rất quan trọng, vì khi ứng dụng công nghệ để giải quyết bất kỳ vấn đề thì thông thường chúng ta kỳ vọng rằng giải pháp đó sẽ đạt được hiệu quả 100% (dĩ nhiên vẫn có những trường hợp cho phép các công ty AI làm việc không cần độ chính xác tuyệt đối là 100%). Tuy nhiên nếu chúng ta chỉ dựa vào những tác vụ đó thì ứng dụng của AI sẽ rất hạn chế.

Vậy làm thế nào để đạt được độ chính xác 100% trong khi AI chỉ có thể đạt độ chính xác từ 60 – 80%? Hơn nữa, dù một công ty AI có thể đưa ra giải pháp đạt được độ chính xác đến 95% thì chưa chắc nó có thể ứng dụng được trong doanh nghiệp đó?

Đây chính là cơ hội để chúng ta thiết kế nên sản phẩm người và máy có thể cùng làm việc với nhau.

Tại Cinnamon AI, chúng tôi tập trung vào 3 mô hình chính:

  1. Một là Human Inspection Model – con người sẽ là cấu phần kiểm tra và chỉnh sửa lại kết quả dự đoán của AI.
  2. Thứ hai là Human Backup Model – con người sẽ đứng phía sau và sẵn sàng hỗ trợ cho AI trong trường hợp có sai sót.
    Một ví dụ điển hình của mô hình này là chatbot – ứng dụng trò chuyện với khách hàng. Nếu trường hợp chatbot bắt đầu trả lời sai quá nhiều và khiến khách hàng khó chịu thì tổng đài viên sẽ thay thế trả lời cuộc trò chuyện đó. Đối với khách hàng cuối có thể họ không nhận ra được sự thay đổi giữa người hay AI đang trả lời nhưng về cơ bản, trải nghiệm của người dùng cuối sẽ an toàn hơn nếu chỉ để cho AI nói chuyện một mình với khách.
  3. Mô hình số ba là Surveillance Model cũng là một trong những loại mô hình khó đạt được nhất.
    Đây là mô hình giám sát mà ở đó chúng ta có thể phát triển những phần mềm giám sát ngược lại AI để quan sát xem AI có khẳng định được độ chính xác với câu trả lời mà chúng đưa ra hay không. Nếu phát triển mô hình này hiệu quả thì con người chỉ cần tập trung vào chỉnh sửa, kiểm tra lại những dự đoán của AI mà ở đó AI không tin rằng nó đúng. Nhờ vậy nên có thể gia tăng năng suất lao động của con người lên rất nhiều lần.

Bài viết được trích dẫn từ phần trình bày của anh Nghiêm Xuân Bách tại sự kiện Vietnam Web Summit 2020 LIVE do Station D tổ chức

Có thể bạn quan tâm:

Xem thêm các việc làm Developer hấp dẫn tại Station D

Bài viết liên quan

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Lĩnh vực EdTech (ứng dụng công nghệ vào các sản phẩm giáo dục) trên toàn cầu hiện nay đã tương đối phong phú với nhiều tên tuổi lớn phân phối đều trên các hạng mục như Broad Online Learning Platforms (nền tảng cung cấp khóa học online đại chúng – tiêu biểu như Coursera, Udemy, KhanAcademy,…) Learning Management Systems (hệ thống quản lý lớp học – tiêu biểu như Schoology, Edmodo, ClassDojo,…) Next-Gen Study Tools (công cụ hỗ trợ học tập – tiểu biểu như Kahoot!, Lumosity, Curriculet,…) Tech Learning (đào tạo công nghệ – tiêu biểu như Udacity, Codecademy, PluralSight,…), Enterprise Learning (đào tạo trong doanh nghiệp – tiêu biểu như Edcast, ExecOnline, Grovo,..),… Hiện nay thị trường EdTech tại Việt Nam đã đón nhận khoảng đầu tư khoảng 55 triệu đô cho lĩnh vực này nhiều đơn vị nước ngoài đang quan tâm mạnh đến thị trường này ngày càng nhiều hơn. Là một trong những xu hướng phát triển tốt, và có doanh nghiệp đã hoạt động khá lâu trong ngành nêu tại infographic như Topica, nhưng EdTech vẫn chỉ đang trong giai đoạn sơ khai tại Việt Nam. Tại Việt Nam, hệ sinh thái EdTech trong nước vẫn còn rất non trẻ và thiếu vắng nhiều tên tuổi trong các hạng mục như Enterprise Learning (mới chỉ có MANA), School Administration (hệ thống quản lý trường học) hay Search (tìm kiếm, so sánh trường và khóa học),… Với chỉ dưới 5% số dân công sở có sử dụng một trong các dịch vụ giáo dục online, EdTech cho thấy vẫn còn một thị trường rộng lớn đang chờ được khai phá. *** Vừa qua Station D đã công bố Báo cáo Vietnam IT Landscape 2019 đem đến cái nhìn toàn cảnh về các ứng dụng công...

By stationd
Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bài viết được sự cho phép của tác giả Chung Nguyễn Hôm nay, nhóm Laravel đã phát hành một phiên bản chính mới của “ laravel/installer ” bao gồm hỗ trợ khởi động nhanh các dự án Jetstream. Với phiên bản mới này khi bạn chạy laravel new project-name , bạn sẽ nhận được các tùy chọn Jetstream. Ví dụ: API Authentication trong Laravel-Vue SPA sử dụng Jwt-auth Cách sử dụng Laravel với Socket.IO laravel new foo --jet --dev Sau đó, nó sẽ hỏi bạn thích stack Jetstream nào hơn: Which Jetstream stack do you prefer? [0] Livewire [1] inertia > livewire Will your application use teams? (yes/no) [no]: ... Nếu bạn đã cài bộ Laravel Installer, để nâng cấp lên phiên bản mới bạn chạy lệnh: composer global update Một số trường hợp cập nhật bị thất bại, bạn hãy thử, gỡ đi và cài đặt lại nha composer global remove laravel/installer composer global require laravel/installer Bài viết gốc được đăng tải tại chungnguyen.xyz Có thể bạn quan tâm: Cài đặt Laravel Làm thế nào để chạy Sql Server Installation Center sau khi đã cài đặt xong Sql Server? Quản lý các Laravel route gọn hơn và dễ dàng hơn Xem thêm Tuyển dụng lập trình Laravel hấp dẫn trên Station D

By stationd
Principle thiết kế của các sản phẩm nổi tiếng

Principle thiết kế của các sản phẩm nổi tiếng

Tác giả: Lưu Bình An Phù hợp cho các bạn thiết kế nào ko muốn làm code dạo, design dạo nữa, bạn muốn cái gì đó cao hơn ở tầng khái niệm Nếu lập trình chúng ta có các nguyên tắc chung khi viết code như KISS , DRY , thì trong thiết kế cũng có những nguyên tắc chính khi làm việc. Những nguyên tắc này sẽ là kim chỉ nam, nếu có tranh cãi giữa các member trong team, thì cứ đè nguyên tắc này ra mà giải quyết (nghe hơi có mùi cứng nhắc, mình thì thích tùy cơ ứng biến hơn) Tìm các vị trí tuyển dụng designer lương cao cho bạn Nguyên tắc thiết kế của GOV.UK Đây là danh sách của trang GOV.UK Bắt đầu với thứ user cần Làm ít hơn Thiết kế với dữ liệu Làm mọi thứ thật dễ dàng Lặp. Rồi lặp lại lần nữa Dành cho tất cả mọi người Hiểu ngữ cảnh hiện tại Làm dịch vụ digital, không phải làm website Nhất quán, nhưng không hòa tan (phải có chất riêng với thằng khác) Cởi mở, mọi thứ tốt hơn Bao trừu tượng luôn các bạn, trang Gov.uk này cũng có câu tổng quát rất hay Thiết kế tốt là thiết kế có thể sử dụng. Phục vụ cho nhiều đối tượng sử dụng, dễ đọc nhất nhất có thể. Nếu phải từ bỏ đẹp tinh tế – thì cứ bỏ luôn . Chúng ta tạo sản phẩm cho nhu cầu sử dụng, không phải cho người hâm mộ . Chúng ta thiết kế để cả nước sử dụng, không phải những người đã từng sử dụng web. Những người cần dịch vụ của chúng ta nhất là những người đang cảm thấy khó sử dụng dịch...

By stationd
Applicant Tracking System là gì? ATS hoạt động ra sao

Applicant Tracking System là gì? ATS hoạt động ra sao

Công nghệ phát triển hướng đến giải quyết và cải tiến cho mỗi quy trình, hoạt động của doanh nghiệp cũng như đời sống. Đối với lĩnh vực tuyển dụng, sự xuất hiện của phần mềm ATS (Applicant Tracking System) mang đến nhiều thay đổi đáng kể, cả đối với nhà tuyển dụng và ứng viên. Vậy phần mềm ATS là gì? Chúng được sử dụng ra sao? Những thắc mắc về phần mềm ATS trong tuyển dụng sẽ được Station D giải đáp tại bài viết dưới đây. Hệ thống sàng lọc ứng viên ATS (Applicant Tracking System) Applicant Tracking System là gì? Applicant Tracking System (ATS) hay còn gọi là Hệ thống quản lý hồ sơ ứng viên là phần mềm quản lý quy trình tuyển dụng từ đầu đến cuối một cách tự động hóa. ATS được thiết kế để giúp nhà tuyển dụng tiết kiệm thời gian và chi phí trong việc thu thập, sắp xếp và sàng lọc hồ sơ các ứng viên. Các tính năng nổi bật của Applicant Tracking System Các tính năng nổi bật của Applicant Tracking System Applicant Tracking System (ATS) là một công cụ quan trọng giúp các công ty quản lý quy trình tuyển dụng hiệu quả hơn. Cùng chúng tôi điểm qua các tính năng nổi bật của ATS: Sàng lọc và quản lý hồ sơ ứng viên Khả năng tìm kiếm và sàng lọc ứng viên là một trong các tính năng nổi bật nhất của ATS. Với việc sử dụng từ khóa và tiêu chí cụ thể, hệ thống có thể nhanh chóng tìm kiếm và sàng lọc các hồ sơ phù hợp, tự động loại bỏ những ứng viên không đạt yêu cầu. Điều này giúp nhà tuyển dụng tập trung vào những ứng viên...

By stationd
Hiểu về trình duyệt – How browsers work

Hiểu về trình duyệt – How browsers work

Bài viết được sự cho phép của vntesters.com Khi nhìn từ bên ngoài, trình duyệt web giống như một ứng dụng hiển thị những thông tin và tài nguyên từ server lên màn hình người sử dụng, nhưng để làm được công việc hiển thị đó đòi hỏi trình duyệt phải xử lý rất nhiều thông tin và nhiều tầng phía bên dưới. Việc chúng ta (Developers, Testers) tìm hiểu càng sâu tầng bên dưới để nắm được nguyên tắc hoạt động và xử lý của trình duyệt sẽ rất hữu ích trong công việc viết code, sử dụng các tài nguyên cũng như kiểm thử ứng dụng của mình. Cách để npm packages chạy trong browser Câu hỏi phỏng vấn mẹo về React: Component hay element được render trong browser? Khi hiểu được cách thức hoạt động của trình duyệt chúng ta có thể trả lời được rất nhiều câu hỏi như: Tại sao cùng một trang web lại hiển thị khác nhau trên hai trình duyệt? Tại sao chức năng này đang chạy tốt trên trình duyệt Firefox nhưng qua trình duyệt khác lại bị lỗi? Làm sao để trang web hiển thị nội dung nhanh và tối ưu hơn một chút?… Hy vọng sau bài này sẽ giúp các bạn có một cái nhìn rõ hơn cũng như giúp ích được trong công việc hiện tại. 1. Cấu trúc của một trình duyệt Trước tiên chúng ta đi qua cấu trúc, thành phần chung và cơ bản nhất của một trình duyệt web hiện đại, nó sẽ gồm các thành phần (tầng) như sau: Thành phần nằm phía trên là những thành phần gần với tương tác của người dùng, càng phía dưới thì càng sâu và nặng về xử lý dữ liệu hơn tương tác. Nhiệm...

By stationd