2010-05-04 32 views
14

Tôi đã hỏi trước đây similar question nhưng tôi đã thừa nhận rằng tôi có hạn chế lớn: Tôi đang làm việc trên các bộ văn bản nhỏ như người dùng Tweets để tạo thẻ (từ khóa).tạo thẻ từ một nội dung văn bản nhỏ (chẳng hạn như tweet)

Và có vẻ như đề xuất được chấp nhận (thuật toán thông tin điểm thông minh) có nghĩa là làm việc trên các tài liệu lớn hơn.

Với giới hạn này (làm việc trên tập hợp văn bản nhỏ), làm cách nào tôi có thể tạo thẻ?

Trân

+0

Nói cách khác, bạn muốn phân loại các tweet thành X số danh mục? –

+0

cũng có thể hoạt động, cũng như trích xuất từ ​​khóa từ chúng. – Hellnar

Trả lời

14

Hai Giai đoạn tiếp cận với nhiều từ khóa

Bạn có thể hồ bơi tất cả các tweets vào một tài liệu lớn duy nhất và sau đó trích xuất các n collocations thú vị nhất từ ​​toàn bộ bộ sưu tập của tweets. Sau đó, bạn có thể quay lại và gắn thẻ từng tweet với các collocations xuất hiện trong đó. Sử dụng cách tiếp cận này, n sẽ là tổng số thẻ đa từ sẽ được tạo cho toàn bộ tập dữ liệu.

Đối với giai đoạn đầu tiên, bạn có thể sử dụng mã NLTK được đăng here. Giai đoạn thứ hai có thể được thực hiện chỉ với một vòng lặp đơn giản trên tất cả các tweet. Tuy nhiên, nếu tốc độ là một mối quan tâm, bạn có thể sử dụng pylucene để nhanh chóng tìm thấy các mẩu tin chứa từng sắp xếp thứ tự.

Tweet Cấp PMI cho Độc Lời Thẻ

Như cũng đề nghị here, Đối với các thẻ từ duy nhất, bạn có thể tính toán point-wise mutual information của mỗi từ cá nhân và các tweet chính nó, tức là

PMI(term, tweet) = log [ P(term, tweet)/(P(term)*P(tweet)) 

Again , điều này gần như sẽ cho bạn biết bạn sẽ ngạc nhiên đến mức nào (hoặc nhiều hơn) bạn phải đi qua thuật ngữ trong tài liệu cụ thể như appose để đi qua nó trong bộ sưu tập lớn hơn. Sau đó, bạn có thể gắn thẻ tweet bằng một vài cụm từ có số lượng cao nhất là PMI với tweet.

Thay đổi chung cho Tweets

Một số thay đổi bạn có thể muốn ra khi gắn thẻ với tweets bao gồm:

  • Chỉ sử dụng một từ hoặc sắp xếp thứ tự như một thẻ cho một tweet, nếu nó xảy ra trong một số số lượng hoặc tỷ lệ phần trăm các mẩu tin khác nhất định. Nếu không, PMI sẽ có xu hướng gắn thẻ các tweet với các cụm từ kỳ lạ chỉ xuất hiện trong một tweet nhưng không được thấy ở bất kỳ nơi nào khác, ví dụ: lỗi chính tả và tiếng ồn bàn phím như # @ $ # @ $% !.

  • Quy mô số lượng thẻ được sử dụng với độ dài của mỗi tweet. Bạn có thể trích xuất 2 hoặc 3 thẻ thú vị cho các tweet dài hơn. Tuy nhiên, đối với một tweet ngắn hơn 2 từ, bạn có thể không muốn sử dụng mọi từ đơn và sắp xếp thứ tự để gắn thẻ nó. Nó có thể là giá trị thử nghiệm với cắt khác nhau cho bao nhiêu thẻ bạn muốn trích xuất cho chiều dài tweet.

+0

Cảm ơn rất nhiều vì câu trả lời tuyệt vời của bạn, nó thực sự đã giúp tôi! – Hellnar

+0

n câu trả lời ở trên, câu hỏi của tôi là Giả sử rằng nếu hạn chỉ xuất hiện một lần trong mỗi tweet và không có retweet, sẽ p (hạn, tweet) = 1 p (tweet) = 1 và đo lường sẽ đơn giản trở thành nhật ký (1/p (thuật ngữ))? Trân trọng, Andy. – cherhan

0

Tôi đã sử dụng một phương pháp trước đó, cho nội dung văn bản nhỏ như SMS, nơi tôi sẽ lặp lại cùng một dòng hai lần. Đáng ngạc nhiên, điều đó hoạt động tốt cho nội dung như vậy, nơi danh từ cũng có thể là chủ đề. Ý tôi là, bạn không cần nó lặp lại để trở thành chủ đề.