2013-08-26 48 views
11

Tôi có một Corpus trong R bằng cách sử dụng gói tm. Tôi áp dụng removeWords chức năng để loại bỏ các tệp từ dừngThêm các từ khóa tùy chỉnh trong R tm

tm_map(abs, removeWords, stopwords("english")) 

Có cách nào để thêm riêng từ tùy chỉnh điểm dừng của tôi vào danh sách này?

Trả lời

31

stopwords chỉ cung cấp cho bạn vectơ các từ, chỉ cần c kết hợp các từ của riêng bạn với điều này.

tm_map(abs, removeWords, c(stopwords("english"),"my","custom","words")) 
+0

Thay vì phải thực hiện điều này cho mỗi thao tác, có một tệp hoặc dict nơi tôi có thể thêm các từ dừng bổ sung này như phần trăm, xu, triệu vv? – Pradeep

1

Bạn có thể tạo một vector của các tùy chỉnh của bạn các tệp từ dừng & sử dụng câu lệnh như thế này:

tm_map(abs, removeWords, c(stopwords("english"), myStopWords)) 
+0

MyStopWords có phải là danh sách hoặc ký tự không? bạn có thể cung cấp lệnh để tạo myStopWords không? Công cụ này có hoạt động myStopWords <- read.csv ('mystop.csv') – harsha

1

Có thể thêm các tệp từ dừng của riêng bạn vào danh sách mặc định của các tệp từ dừng mà đến cùng với tm cài đặt . Gói "tm" đi kèm với nhiều tệp dữ liệu bao gồm cả từ dừng và lưu ý rằng các tệp từ dừng có nhiều ngôn ngữ. Bạn có thể thêm, xóa hoặc cập nhật tệp english.dat trong thư mục stopwords.
Cách dễ nhất để tìm thư mục từ dừng là tìm kiếm thư mục "stopwords" trong hệ thống của bạn thông qua trình duyệt tệp của bạn. Và bạn nên tìm english.dat cùng với nhiều tệp ngôn ngữ khác. Mở tập tin english.dat từ RStudio mà nên cho phép chỉnh sửa tập tin - bạn có thể thêm các từ của riêng bạn hoặc thả các từ hiện có nếu cần. Đây là quá trình tương tự nếu bạn muốn chỉnh sửa các từ dừng bằng bất kỳ ngôn ngữ nào khác.

2

Lưu tùy chỉnh stop words trong tệp csv của bạn (ví dụ: word.csv).

library(tm) 
stopwords <- read.csv("word.csv", header = FALSE) 
stopwords <- as.character(stopwords$V1) 
stopwords <- c(stopwords, stopwords()) 

Sau đó, bạn có thể áp dụng custom words vào tệp văn bản của mình.

text <- VectorSource(text) 
text <- VCorpus(text) 
text <- tm_map(text, content_transformer(tolower)) 
text <- tm_map(text, removeWords, stopwords) 
text <- tm_map(text, stripWhitespace) 

text[[1]]$content 
+0

vui lòng sử dụng thụt lề 4 dấu cách cho các khối mã (thay vì đánh dấu chúng) – YakovL