Áp dụng các phương pháp học máy trong các trang web StackExchange


37

Tôi có một khóa học về Máy học trong học kỳ này và giáo sư yêu cầu chúng tôi tìm ra một vấn đề trong thế giới thực và giải quyết nó bằng một trong những phương pháp học máy được giới thiệu trong lớp, như:

Tôi là một trong những người hâm mộ stackoverflowstackexchange và biết rằng các cơ sở dữ liệu của các trang web này được cung cấp cho công chúng bởi vì chúng rất tuyệt vời! Tôi hy vọng tôi có thể tìm thấy một thách thức học máy tốt về các cơ sở dữ liệu này và giải quyết nó.

Ý kiến ​​của tôi

Một ý tưởng xuất hiện trong đầu tôi là dự đoán các thẻ cho các câu hỏi dựa trên các từ đã nhập trong thân câu hỏi. Tôi nghĩ rằng mạng Bayes là công cụ phù hợp để học thẻ cho một câu hỏi nhưng cần nghiên cứu thêm. Dù sao, sau khi học xong khi người dùng hoàn thành việc nhập câu hỏi, một số thẻ nên được đề xuất cho anh ta.

Xin vui lòng cho tôi biết :

Tôi muốn hỏi cộng đồng thống kê như những người có kinh nghiệm về ML hai câu hỏi:

  1. Bạn có nghĩ rằng đề xuất thẻ ít nhất là một vấn đề có bất kỳ cơ hội để giải quyết? Bạn có lời khuyên nào về nó không? Tôi hơi lo lắng vì stackexchange chưa thực hiện tính năng này.

  2. Bạn có ý tưởng nào khác / tốt hơn cho dự án ML dựa trên cơ sở dữ liệu stackexchange không? Tôi thấy rất khó để tìm thấy thứ gì đó để học từ cơ sở dữ liệu stackexchange.


Cân nhắc về lỗi cơ sở dữ liệu: Tôi muốn chỉ ra rằng mặc dù cơ sở dữ liệu rất lớn và có nhiều trường hợp, nhưng chúng không hoàn hảo và dễ bị lỗi. Một điều hiển nhiên là tuổi của người dùng không đáng tin cậy. Ngay cả các thẻ được chọn cho câu hỏi không chính xác 100%. Dù sao, chúng ta nên xem xét tỷ lệ phần trăm chính xác của dữ liệu trong việc lựa chọn một vấn đề.

Cân nhắc về chính vấn đề: Dự án của tôi không nên về data-mininghoặc một cái gì đó như thế này. Nó chỉ nên là một ứng dụng của các phương thức ML trong thế giới thực.

Câu trả lời:


28

Vâng , tôi nghĩ dự đoán thẻ là một điều thú vị và một trong đó bạn có một cú đánh tốt vào "thành công".

Dưới đây là một số suy nghĩ nhằm mục đích có khả năng hỗ trợ trong việc động não và khám phá thêm về chủ đề này. Tôi nghĩ rằng có nhiều hướng thú vị tiềm năng mà một dự án như vậy có thể thực hiện. Tôi đoán rằng một nỗ lực nghiêm túc chỉ ở một hoặc hai trong số những điều dưới đây sẽ tạo ra một dự án đầy đủ hơn và bạn có thể sẽ đưa ra nhiều câu hỏi thú vị hơn những câu hỏi mà tôi đã đặt ra.

Tôi sẽ có một cái nhìn rất rộng về những gì được coi là học máy . Chắc chắn một số đề xuất của tôi sẽ được phân loại tốt hơn là phân tích dữ liệu thăm dòphân tích thống truyền thống hơn . Nhưng, có lẽ, nó sẽ giúp ích trong một số cách nhỏ khi bạn hình thành các câu hỏi thú vị của riêng bạn. Bạn sẽ lưu ý, tôi cố gắng giải quyết các câu hỏi mà tôi nghĩ sẽ thú vị về mặt tăng cường chức năng của trang web. Tất nhiên, có nhiều câu hỏi thú vị khác cũng có thể không liên quan đến sự thân thiện với trang web.

  1. Phân tích mô tả cơ bản về hành vi người dùng : Tôi đoán có một mẫu tuần hoàn rất rõ ràng cho sự tham gia của người dùng trên trang web này. Khi nào trang web có được lưu lượng truy cập nhiều nhất? Biểu đồ về sự tham gia của người dùng trên trang web trông như thế nào, được phân tầng theo giờ trong tuần? Bạn muốn điều chỉnh các thay đổi tiềm năng về mức độ phổ biến của trang web theo thời gian. Điều này dẫn đến câu hỏi, mức độ phổ biến của trang web đã thay đổi như thế nào kể từ khi thành lập? Sự tham gia của người dùng "thông thường" thay đổi theo thời gian kể từ khi tham gia như thế nào? Tôi đoán nó bắt đầu tăng lên khá nhanh khi bắt đầu, sau đó là cao nguyên, và có lẽ sẽ đi về phía nam sau một vài tuần hoặc lâu hơn để tham gia.
  2. Gửi tối ưu các câu hỏi và câu trả lời : Nhận được cái nhìn sâu sắc về câu hỏi đầu tiên dường như tự nhiên dẫn đến một số câu hỏi thú vị hơn (theo nghĩa ML). Nói rằng tôi có một câu hỏi tôi cần một câu trả lời. Nếu tôi muốn tối đa hóa xác suất nhận được phản hồi, khi nào tôi nên gửi nó? Nếu tôi đang trả lời một câu hỏi và tôi muốn tối đa hóa số phiếu bầu của mình, khi nào tôi nên gửi câu trả lời của mình? Có lẽ câu trả lời cho hai điều này rất khác nhau. Làm thế nào điều này thay đổi theo chủ đề của câu hỏi (ví dụ, như được xác định bởi các thẻ liên quan)?
  3. Lướt qua người dùng và chủ đề : Người dùng nào giống nhau nhất về sở thích của họ, một lần nữa, có lẽ được đo bằng thẻ? Chủ đề nào giống nhau nhất theo người dùng tham gia? Bạn có thể đưa ra một hình dung tốt đẹp của các mối quan hệ này? Các nhánh của điều này sẽ là để cố gắng dự đoán người dùng nào có khả năng gửi câu trả lời nhất cho một câu hỏi cụ thể. (Hãy tưởng tượng việc cung cấp công nghệ như vậy cho SE để người dùng có thể được thông báo về các câu hỏi tiềm năng thú vị, không chỉ đơn giản dựa trên các thẻ.)
  4. Phân cụm người trả lời theo hành vi : Dường như có một vài mẫu hành vi cơ bản khác nhau liên quan đến cách người trả lời sử dụng trang web này. Bạn có thể đưa ra các tính năng và một thuật toán phân cụm cho người trả lời cụm theo hành vi của họ. Là các cụm có thể giải thích?
  5. Đề xuất các thẻ mới : Bạn có thể đưa ra các đề xuất cho các thẻ mới dựa trên các chủ đề suy luận từ các câu hỏi và câu trả lời hiện có trong cơ sở dữ liệu. Ví dụ: tôi tin rằng thẻ [mô hình hỗn hợp] đã được thêm gần đây vì ai đó nhận thấy chúng tôi đang nhận được một loạt các câu hỏi liên quan. Nhưng, có vẻ như một cách tiếp cận truy xuất thông tin sẽ có thể trích xuất trực tiếp các chủ đề đó và có khả năng đề xuất chúng cho người điều hành.
  6. Học tập bán tự động về các vị trí địa lý : ( Điều này có thể hơi cảm động từ góc độ riêng tư. ) Một số người dùng liệt kê nơi họ đang ở. Những người khác thì không. Sử dụng mô hình sử dụng và khả năng từ vựng, v.v., bạn có thể đặt vùng tin cậy địa lý vào vị trí của mỗi người dùng không? Theo trực giác, dường như điều này sẽ (chính xác) hơn về mặt kinh độ so với vĩ độ.
  7. Tự động gắn cờ các bản sao có thể có và các câu hỏi có liên quan cao : Trang web đã có một loại tính năng tương tự với thanh Liên quan ở lề phải. Tìm các bản sao gần như chính xác và gợi ý chúng có thể hữu ích cho người điều hành. Làm điều này trên các trang web trong cộng đồng SE dường như là mới.
  8. Dự đoán khuấy đảo và duy trì người dùng : Sử dụng các tính năng từ lịch sử của mỗi người dùng, bạn có thể dự đoán lần tiếp theo bạn muốn thấy chúng không? Bạn có thể dự đoán xác suất họ sẽ quay lại trang web có điều kiện về thời gian họ vắng mặt và các đặc điểm của hành vi trong quá khứ của họ không? Điều này có thể được sử dụng, ví dụ, để cố gắng thông báo khi người dùng có nguy cơ "khuấy đảo" và lôi kéo họ (giả sử, qua email) trong nỗ lực giữ chân họ. Một cách tiếp cận thông thường sẽ bắn ra một email sau một thời gian không hoạt động cố định. Nhưng, mỗi người dùng rất khác nhau và có rất nhiều thông tin về rất nhiều người dùng, vì vậy một cách tiếp cận phù hợp hơn có thể được phát triển.

1
@ hồng y. Đó là một câu trả lời tuyệt vời, và với sự có sẵn của tất cả các dữ liệu này, nó sẽ làm cho một dự án hấp dẫn.
richiemorrisroe

1
Hầu hết các đề xuất của bạn có vẻ thiết thực và liên quan đến ML đối với tôi. Dù sao, một số trong số họ nên đối phó với dữ liệu sai lệch và không đầy đủ. Đáng buồn là tôi không có kiến ​​thức sâu về khai thác và làm sạch dữ liệu cũng như không đủ thời gian để tìm hiểu nó. Tôi hy vọng các thành viên khác của thống kê thực hiện một số công việc về những ý tưởng này và đóng góp cho cộng đồng SE và gây ấn tượng với họ :)
Isaac

2
@Isaac, danh sách tôi cung cấp không có ý định áp đảo. Nó được dự định đơn giản là có khả năng giúp động não. Tùy thuộc vào bản chất của dự án, tôi sẽ nghĩ rằng việc xử lý 1-2 trong số đó sẽ là điều có thể xảy ra nhất. Chúc mừng.
Đức hồng y

1
tất cả các ý tưởng đều tốt hoặc tuyệt vời, nhưng tôi thích nhất "Làm sáng tỏ người dùng và chủ đề" tốt nhất ... một hệ thống đề xuất cho các câu hỏi thú vị tiềm năng sẽ rất tuyệt vời.
steffen

9

Tôi đã suy nghĩ về dự đoán thẻ, tôi cũng thích ý tưởng này. Tôi có cảm giác rằng điều đó là có thể, nhưng bạn có thể cần khắc phục nhiều vấn đề trước khi bạn đến tập dữ liệu cuối cùng của mình. Vì vậy, tôi suy đoán dự đoán thẻ có thể cần rất nhiều thời gian. Ngoài các thẻ không chính xác, giới hạn của tối đa 5 thẻ có thể đóng một vai trò. Ngoài ra, một số thẻ là các danh mục con của các loại khác (ví dụ: Nhiều so sánh có thể được xem như là một danh mục con của thử nghiệm tầm quan trọng của Hồi giáo).

Tôi đã không kiểm tra xem thời gian bỏ phiếu có được bao gồm trong cơ sở dữ liệu có thể tải xuống hay không, nhưng một dự án đơn giản và thú vị hơn có thể là dự đoán số phiếu bầu cuối cùng (có thể sau 5 tháng) cho một câu hỏi tùy thuộc vào số phiếu ban đầu, và thời điểm chấp nhận một câu trả lời.


Từ những gì tôi dường như nhớ, đối với mỗi người dùng, bạn có phiếu bầu của anh ấy / cô ấy với ngày + ID câu hỏi.
chl

(+1) để dự đoán phiếu bầu. Ý tưởng tuyệt vời!
steffen

1
Dự án này có vẻ tuyệt vời, đặc biệt nếu chúng tôi dự đoán số lượng vpvote rất sớm cho người dùng. Một công việc tiếp theo có thể là nói với người dùng những gì đang giữ lại câu hỏi của anh ấy / cô ấy và những cải tiến nào có thể khiến câu hỏi của anh ấy trở nên phổ biến. Dù sao, như mọi khi, việc lựa chọn tính năng thực sự là một nhiệm vụ quan trọng và đầy thách thức và việc thực hiện các dự đoán như vậy phụ thuộc rất nhiều vào lựa chọn này. TL; DR Tôi thích ý tưởng của bạn
Isaac

2

Đây là một câu hỏi hay. Tôi cũng đã nghĩ rằng các bộ dữ liệu StackExchange có sẵn công khai sẽ làm cho các đối tượng tốt để phân tích. Những điều này đủ khác thường đến mức chúng cũng có thể là những thử nghiệm tốt cho các phương pháp thống kê mới. Có một lượng lớn dữ liệu có cấu trúc tốt như vậy là bất thường, ở mức nào.

Đức Hồng Y đã đề xuất một loạt những thứ thực sự hữu ích cho StackExchange. Tôi sẽ không hạn chế điều này.

Đây là một ứng cử viên rõ ràng để phân tích, mặc dù nó không có công dụng rõ ràng xuất hiện trong tâm trí. Đó là một hiệu ứng đáng chú ý rằng người dùng đại diện cao có nhiều khả năng nhận được upvote, những thứ khác là như nhau. Tuy nhiên, hiệu ứng này có lẽ không tầm thường đối với mô hình. Vì chúng ta không thể so sánh tính hữu dụng giữa các người dùng rất dễ dàng, nên một cách tiếp cận rõ ràng là giả sử câu trả lời của người dùng luôn hữu ích như nhau (nói chung không đúng nhưng người ta phải bắt đầu ở đâu đó) và sau đó thêm một thuật ngữ lạm phát để giải thích cho danh tiếng ngày càng tăng của anh ta . Sau đó, người ta có thể (tôi cho rằng) thêm vào một số thuật ngữ sẽ giải thích cho câu trả lời của anh ta trở nên tốt hơn với kinh nghiệm ngày càng tăng. Có lẽ điều này có thể được xử lý bởi một số loại thời gian. Tôi không chắc làm thế nào các dữ liệu được khoảng sẽ ảnh hưởng đến điều này. Nó có thể là một bài tập thú vị.

Tôi sẽ thêm nhiều ví dụ nếu / khi tôi nghĩ về chúng.

Có ai biết các tài liệu nghiên cứu thống kê dựa trên dữ liệu SE? Ngoài ra, Isaac đề cập rằng dữ liệu có lỗi. Có ai biết gì thêm về điều này?


Đây thực sự là một câu hỏi thú vị và một câu hỏi mà tôi tin rằng AndyW đã bắt đầu phân tích trong một bài đăng trên blog và câu hỏi trở lại một lúc. Tôi thấy tò mò tuyên bố của bạn rằng có một hiệu ứng "đáng chú ý" như vậy, mà tôi không hoàn toàn bị thuyết phục thực sự tồn tại. Sau đó, bạn tiếp tục đề xuất một cách để mô hình hóa điều này, nhưng không bao gồm việc cố gắng trả lời câu hỏi chính xác mà bạn nói đã có câu trả lời khẳng định chưa?
Đức hồng y

@cardinal: Bạn có liên kết đến bài viết trên blog không? Tôi không chắc tôi hiểu câu cuối cùng của bạn. Tes, tôi nghĩ hiệu ứng này là có thật và đáng chú ý, ít nhất là nếu tên người dùng là Skeet, nhưng tại thời điểm này đây chỉ là một ấn tượng giai thoại, mặc dù là một ấn tượng mạnh mẽ. Vì vậy, nếu bạn thích, bạn có thể thay thế "hiệu ứng đáng chú ý" bằng giả thuyết. Các phân tích tất nhiên sẽ cố gắng xác nhận hoặc từ chối nó, cũng như đo lường sức mạnh của hiệu ứng nếu nó tồn tại.
Faheem Mitha

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.