Xây mạng lưới các chuyên gia

Những người cùng sở thích thường muốn quen nhau

Hong Linh Dang
Coding For Fun
2 min readJul 18, 2021

--

Tâm lý học, con người thường đa phần muốn gặp gỡ, giao lưu với những người cùng sở thích với mình.

(Ở phần trước tôi trình bày về vấn đề bạn của nhau thường có khả năng quen nhau hoặc muốn quen nhau).

Mỗi người thường quan tâm đến một số vấn đề cụ thể…

Sử dụng mảng interests để lưu sở thích của từng chuyên gia, ở đây Bill Gates và Tim Cook không quen nhau và không có bạn chung nhưng họ lại có cùng sở thích về Big Data.

Mục đích của chúng ta là đi tìm những người có cùng sở thích với nhau…

Giống như câu truyện những người có mối quan hệ với nhau trình bày ở bài viết trước, giải pháp kiểu này khá tốn thời gian và tẻ nhạt vì phải kiểm trả toàn bộ danh sách interests cho mỗi lần tìm kiếm. Chúng ta nên sử dụng một chỉ mục để đạt mục đích hiệu quả hơn.

Đầu tiên là một chỉ mục các chuyên gia cùng sở thích.

Tiếp theo là chỉ mục các sở thích của một chuyên gia.

Giờ việc xác định người có cùng sở thích với mình khá dễ dàng rồi.

  • Duyệt từng sở thích của chuyên gia.
  • Với mỗi sở thích, tìm những người cùng đam mê.
  • Đếm số lượng sở thích giống nhau giữa hai người.

Và chúng ta có thể xác định được người có cùng sở thích với Mark Zuckerberg là most_common_interests_with(experts[1])=Counter({0: 2}), Bill Gates.

Kết hợp giữa việc tìm kiếm những người cùng sở thích và những người bạn của bạn ta có thể đưa ra giải pháp cho việc gợi ý những người chuyên gia có thể biết.

Kết luận…

Giải pháp trình bày ở đây tất nhiên nó khá đơn giản, tuy nhiên cũng đưa cho chúng ta những khởi đầu suy nghĩ về vấn đề này, tôi sẽ viết một bài để giải quyết vấn đề này ở mức độ cao hơn.

Bạn có thể tham khảo mã nguồn ở GitHub.

Bạn có thể tham khảo các bài viết khác trong loạt bài viết về “Xây mạng lưới các chuyên gia”:

  • Tìm kiếm các mối quan hệ của các chuyên gia trong mạng lưới.
  • Đi tìm bạn của bạn mình.

Cảm ơn bạn cho đọc!

--

--