Công cụ đề xuất nào cho tình huống mà người dùng chỉ có thể thấy một phần của tất cả các mục?


9

Tôi muốn thêm một tính năng đề xuất cho một hệ thống quản lý tài liệu . Nó là một máy chủ mà hầu hết các tài liệu của công ty được lưu trữ. Nhân viên duyệt giao diện web và nhấp để tải xuống (hoặc đọc trực tuyến) các tài liệu họ muốn.
Mỗi nhân viên chỉ có quyền truy cập vào một tập hợp con của tất cả các tài liệu:

Nhân viên chỉ có quyền truy cập vào một tập hợp con của tất cả các tài liệu

Mục tiêu của tôi : Đề xuất với nhân viên các tài liệu được mở bởi các đồng đội của họ gần đây hoặc bảng tính đóng vai trò phụ lục cho tài liệu họ vừa mở hoặc bất cứ điều gì họ có thể muốn đọc.

Có nhiều công cụ đề xuất cho dữ liệu có sẵn công khai (tất cả người dùng Netflix có thể xem tất cả các phim), nhưng tình huống ở đây rất đặc biệt: Mỗi nhân viên chỉ có quyền đối với một phần của tất cả các tài liệu, trong khi ở Netflix, bất kỳ người dùng nào cũng có quyền truy cập vào tất cả các phim.

Ví dụ : Employee1 có thể đọc DocumentA nhưng không đọc DocumentB. Employee2 có thể đọc cả và Employee3 không thể đọc bất kỳ.

Tất nhiên, tôi không được đề xuất cho nhân viên tài liệu mà cô ấy / anh ấy không có quyền truy cập. Hơn nữa, tôi đoán tôi nên xem xét mức độ phổ biến của một tài liệu chỉ trong bối cảnh các nhân viên có quyền truy cập vào nó. Để làm cho mọi thứ thậm chí phức tạp hơn, đôi khi nhân viên chuyển từ dự án này sang dự án khác, điều này ảnh hưởng đến các tài liệu mà họ có quyền truy cập.

  • Có một tên cho loại vấn đề này?
  • Nó có thể được giảm mà không mất độ chính xác / hiệu quả cho một loại vấn đề phổ biến hơn?
  • Nếu không, cách tiếp cận nào sẽ hoạt động tốt cho loại vấn đề này?

Lưu ý: Công cụ đề xuất giống Netflix không đủ tốt. Một tài liệu có 50 lượt xem phải nổi bật nếu chỉ có 10 nhân viên (bao gồm cả tôi) có quyền truy cập vào nó, nhưng không nổi bật nếu 100000 nhân viên có quyền truy cập vào nó.

Trong trường hợp cần thiết, đây là một vài dữ liệu cụ thể: Công ty trung bình có 1000 nhân viên, khoảng 10000 tài liệu, một nhân viên nhấp khoảng 5 tài liệu mỗi ngày. Mỗi dự án có trung bình 10 nhân viên có quyền truy cập vào nó và có khoảng 100 tài liệu. Mỗi nhân viên làm việc trên trung bình 5 dự án song song.

Câu trả lời:


1

Tôi cảm thấy rằng bạn cần phải giải quyết hai điều riêng biệt.

Trước tiên, bạn cần có quyền kiểm soát truy cập cho người dùng trong hệ thống của bạn. Bạn có thể có mã thông báo truy cập được đính kèm vào mỗi người dùng và tệp. Lọc cơ sở dữ liệu tập tin trước khi bạn xử lý.

Thứ hai, Xếp hạng các tài liệu tôi muốn đề xuất có trọng lượng cho trọng lượng tài liệu và trọng lượng người dùng so với người dùng duyệt hiện tại.

Ví dụ: tôi có thể nghĩ về trọng lượng tài liệu và trọng lượng người dùng như sau nhưng chúng có thể phức tạp hơn nhiều theo hệ thống của bạn-

DocumentWeight = Number of Views/ Number of Users can Access
UserWeight = ## Relative to browsing user- Users in similar project will have higher weights

DocumentScore = Sum over all viewed users{DocumentWeight x UserWeight}

Bạn có thể xếp hạng các tài liệu, điều này sẽ thống kê kéo lên các tài liệu bạn cần. Tôi hy vọng đây sẽ là một số trợ giúp.


0

Từ mô tả của bạn, tôi sẽ đề nghị bạn hướng tới các phương pháp được gọi là lọc cộng tác . Về cơ bản, bạn có thể coi bất kỳ chế độ xem / tải xuống tài liệu nào dưới dạng phản hồi tích cực cho một số mặt hàng và sau đó đề xuất các mặt hàng đó cho người dùng xem xét các tài liệu tương tự.

Việc lọc các kết quả ẩn phải được thực hiện trên cơ sở cho mỗi người dùng (bạn tìm thấy tất cả các đề xuất có thể, nhưng chỉ xuất ra những kết quả mà người dùng có thể thấy).


Tôi không nghĩ rằng một phương pháp chung như vậy sẽ đủ: Một tài liệu có 50 lượt xem sẽ nổi bật nếu chỉ có 10 nhân viên (bao gồm cả tôi) có quyền truy cập vào nó, nhưng không nổi bật nếu 100000 nhân viên có quyền truy cập vào nó.
Nicolas Raoul

Tôi mô tả không phải là phương pháp, nhưng ý tưởng chung. Lọc cộng tác phức tạp hơn và liên kết tôi đã cung cấp là một điểm vào tốt, trong khi bạn có thể tìm kiếm các triển khai và phương pháp khác nhau và tìm thấy phù hợp nhất với các dữ liệu cụ thể của bạn.
chewpakabra

Tôi đã mô tả chi tiết cụ thể dữ liệu của tôi đủ rõ ràng trong câu hỏi của tôi? Nếu không, xin vui lòng yêu cầu bất kỳ thông tin cần thiết trước khi một phương pháp cụ thể có thể được đề nghị. Cảm ơn rất nhiều :-)
Nicolas Raoul

Điều tôi cảm thấy khó hiểu là sự vắng mặt của ý tưởng rõ ràng tại sao một tài liệu có 10000 lượt xem không đáng để hiển thị dưới dạng đề xuất và một tài liệu có 50 lượt xem là OK. 100 thì sao? Hay 51? Nếu bạn có một tỷ lệ phần trăm khán giả nhất định khiến số lượt xem không liên quan, bạn chỉ có thể loại trừ các trường hợp đó khỏi tập huấn luyện và vẫn gắn bó với các phương pháp hợp tác. Nếu không, bạn có thể có một vấn đề phân loại hoặc phân cụm một số loại, đó là một chủ đề rộng hơn.
chewpakabra

Con số 10000 đến từ đâu? Nếu bạn có nghĩa là 100000, thì tôi không đủ rõ ràng: "có quyền truy cập vào nó" không có nghĩa là "đã xem nó", nó có nghĩa là "có quyền truy cập nếu họ muốn". Nói cách khác, tài liệu đầu tiên đã được xem trung bình 10 lần bởi mỗi người có quyền xem nó, nhưng tài liệu thứ hai chỉ được xem trung bình 0,0005 lần bởi mỗi người có quyền xem nó.
Nicolas Raoul

0

Hãy xem Khai thác bộ dữ liệu khổng lồ Trang 328, cuối cùng sẽ dẫn bạn đến SVD thường được sử dụng trong các hệ thống đề xuất.


Trang bạn đề cập giới thiệu các khái quát khác nhau về giảm kích thước. Bạn có phiền khi tóm tắt những gì áp dụng cho câu hỏi trên? Cảm ơn rất nhiều!
Nicolas Raoul

Đúng; nó chỉ ra cách sử dụng SVD cho khuyến nghị
Drey
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.