2009-08-12 34 views
9

Mục tiêu của tôi là phân tích một số tài liệu (twitter cho bây giờ) cho nội dung cảm xúc. Chỉ cần hôm nay tôi nhận ra nó sẽ làm cho một chút ý nghĩa để tìm kiếm từ thân cây như trái ngược với việc có một danh sách đầy đủ các thân từ cảm xúc. Và vì vậy tôi đã khám phá nltk.stem chỉ để nhận ra rằng có 4 gốc khác nhau. Tôi muốn hỏi các nhà ngôn ngữ học stackoverflow cho dù LancasterStemmer, PorterStemmer, RegexpStemmer, RSLPStemmer, hay WordNetStemmer là tốt nhất là tốt nhất với một số biện minh.Tôi nên sử dụng từ ngữ nào trong nltk?

Trả lời

7

RSLP dành cho người portugese. Tôi đoán bạn muốn tiếng anh. Regexp sẽ yêu cầu bạn phát triển các biểu thức gốc của riêng bạn, vì vậy tôi nghĩ rằng có thể được bỏ qua là tốt. WordnetStemmer yêu cầu bạn biết phần lời nói của từ đó, vì vậy bạn phải thực hiện gắn thẻ pos trước để sử dụng nó. Tôi đã sử dụng thuật toán gốc porter và nó khá tốt, nhưng thuật toán lancaster là mới hơn, vì vậy nó có thể tốt hơn. Bạn có thể muốn thử sử dụng kết hợp cuống, nơi bạn chọn thân ngắn nhất từ ​​mỗi gốc. Dù sao, dòng dưới cùng là PorterStemmer là một lựa chọn mặc định tốt.

9

Có thể có một chút khác biệt so với bạn đang yêu cầu, nhưng thư viện Nodebox Lingustics chứa hàm is_emotive() có vẻ như kiểm tra các từ để xem chúng có phải là từ đồng nghĩa đệ quy của những từ tình cảm nhất định không. Từ commonsense.py

ekman = ["anger", "disgust", "fear", "joy", "sadness", "surprise"] 
    other = ["emotion", "feeling", "expression"] 

Không phải là người gửi thư mà là phương pháp thú vị để kiểm tra.

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