2010-08-24 26 views
12

Mọi người đều biết, nếu bạn muốn gửi email chủ đề bạn sử dụng Jamie Zawinski's algorithm. Nhưng đó là một thế kỷ mới và có một dịch vụ nhắn tin mới .Tập hợp các phương pháp chẩn đoán tốt cho việc truyền bá tweet là gì?

Thuật toán tốt nhất để cập nhật trạng thái luồng được đăng trên Twitter là gì?

điều tôi muốn chắc chắn như nó để đối phó với:

  • Phần đơn giản: sử dụng in_reply_to_status_id, in_reply_to_user_idin_reply_to_screen_name. (Ngẫu nhiên, việc tìm kiếm tài liệu thích hợp của các giá trị sẽ hữu ích của riêng mình! Tài liệu như vậy không phải là rõ ràng liên quan đến từ here, ví dụ.)

  • chẩn đoán tốt để suy luận về một mối quan hệ "trả lời" từ thông báo đề cập đến người dùng có quy ước @ nhưng không phải là một cách rõ ràng để trả lời một thư cụ thể. Những "đề cập" are provided in the "entities" element of statuses now nếu bạn yêu cầu. Các chẩn đoán này có thể đưa vào tài khoản (a) thời gian giữa hai lần cập nhật trạng thái, (b) cho dù có các câu trả lời phụ giữa hai người dùng, v.v. (Trả lời bao gồm một tweet lại kiểu cũ với nhận xét bổ sung, như mentioned by user85509 below chỉ là một ví dụ về kiểu trả lời này.)

  • Cuộc trò chuyện diễn ra giữa hơn hai người dùng.

  • Làm việc với một tập hợp các tweet được cung cấp cho thuật toán hoặc tất cả tweet trên Twitter.

... nhưng có lẽ bạn có thể nghĩ nhiều hơn.

Trả lời

5

Vì chỉ có một câu trả lời và thời hạn tiền thưởng sắp đến, tôi nghĩ tôi nên thêm câu trả lời cơ sở để tiền thưởng không được tự động trao cho câu trả lời không vượt quá những gì trong câu hỏi.

Bước đầu tiên rõ ràng là sử dụng bộ tweet gốc của bạn và theo tất cả các liên kết in_reply_to_status_id để tạo nhiều biểu đồ tuần hoàn theo hướng. Những mối quan hệ này bạn có thể chắc chắn gần 100%. (Bạn nên theo các liên kết ngay cả thông qua các tweet không có trong tập hợp ban đầu, thêm các liên kết đó vào tập hợp các cập nhật trạng thái mà bạn đang xem xét.)

Ngoài bước dễ dàng đó, người ta phải làm việc với " đề cập đến ". Không giống như trong luồng email, không có gì hữu ích như dòng tiêu đề mà một người có thể khớp - đây là chắc chắn là sẽ rất dễ xảy ra lỗi. Cách tiếp cận tôi sẽ thực hiện là tạo một vector đặc trưng cho mọi mối quan hệ có thể có giữa các ID trạng thái có thể được biểu diễn bằng các đề cập trong tweet đó và sau đó đào tạo một trình phân loại để đoán tùy chọn tốt nhất, bao gồm tùy chọn "không trả lời".

Để tìm ra "mọi mối quan hệ có thể có" bit, hãy bắt đầu bằng cách xem xét mọi cập nhật trạng thái đề cập đến một hoặc nhiều người dùng khác và không chứa in_reply_to_status_id. Giả sử một ví dụ về một trong những tweet là:

@a @b no it isn't lol RT @c Yes, absolutely. /cc @stephenfry 

... bạn sẽ tạo ra một vector đặc trưng cho mối quan hệ giữa bản cập nhật này và tất cả các bản cập nhật với một ngày trước đó trong các thời hạn của @a, @b, @c@stephenfry cho tuần cuối cùng (giả sử) và một giữa bản cập nhật đó và bản cập nhật "không trả lời" đặc biệt. Sau đó, bạn phải tạo một vector đặc trưng - bạn có thể thêm vào bất kỳ điều gì bạn muốn, nhưng ít nhất tôi cũng khuyên bạn nên thêm:

  • Thời gian trôi qua giữa hai bản cập nhật - có lẽ là câu trả lời có nhiều khả năng cập nhật gần đây.
  • Tỷ lệ thông qua tweet về các từ mà đề cập đến xảy ra. ví dụ. nếu đây là từ đầu tiên, đây sẽ là điểm 0 và đó có thể là khả năng biểu thị câu trả lời nhiều hơn đề cập sau trong bản cập nhật.
  • Số lượng người theo dõi của người dùng được đề cập - những người nổi tiếng có lẽ có nhiều khả năng được đề cập đến spam hơn.
  • Độ dài của chuỗi con chung dài nhất giữa các bản cập nhật, có thể cho biết trích dẫn trực tiếp.
  • Được đề cập trước bởi "/ cc" hoặc các ký hiệu khác cho biết rằng đây không phải là câu trả lời trực tiếp cho người đó?
  • Tỷ lệ following/followed cho tác giả của bản cập nhật gốc.
  • , vv
  • , vv

Càng những ai có thể đưa ra tốt hơn, kể từ khi phân loại sẽ chỉ sử dụng những người mà bật ra có ích. Tôi khuyên bạn nên thử một trình phân loại random forest, được triển khai thuận tiện trong Weka.

Tiếp theo cần tập huấn luyện. Điều này có thể là nhỏ lúc đầu - chỉ đủ để có được một dịch vụ xác định các cuộc hội thoại lên và chạy. Với dịch vụ cơ bản này, người dùng sẽ phải thêm một giao diện đẹp để sửa các bản cập nhật không khớp hoặc được liên kết sai, để người dùng có thể sửa chúng. Sử dụng dữ liệu này người ta có thể xây dựng một tập huấn luyện lớn hơn và một trình phân loại chính xác hơn.

... mà có thể là điển hình về mức độ bài giảng trên Twitter;)

0

Trên Twitter, mọi người thường viết "RT" trước thư mà họ đang trả lời.

+3

Một RT không phải là một câu trả lời, đó là một "retweet". Nó chỉ có nghĩa là bạn đang lặp lại những gì người khác nói, theo sau là một ghi công. –

+1

Theo kinh nghiệm của tôi, nó được sử dụng cho cả hai. Mọi người thường sử dụng định dạng " RT <@name>" cho câu trả lời của họ. – user85509

Các vấn đề liên quan