Tôi đang cố gắng thực hiện một số xuất phát trong R nhưng dường như nó chỉ hoạt động trên các tài liệu riêng lẻ. Mục tiêu cuối cùng của tôi là một ma trận tài liệu thuật ngữ cho biết tần suất của mỗi thuật ngữ trong tài liệu.R xuất phát một chuỗi/tài liệu/corpus
Dưới đây là một ví dụ:
require(RWeka)
require(tm)
require(Snowball)
worder1<- c("I am taking","these are the samples",
"He speaks differently","This is distilled","It was placed")
df1 <- data.frame(id=1:5, words=worder1)
> df1
id words
1 1 I am taking
2 2 these are the samples
3 3 He speaks differently
4 4 This is distilled
5 5 It was placed
Phương pháp này làm việc cho một phần bắt nguồn nhưng không phải là một phần ma trận tài liệu hạn:
> corp1 <- Corpus(VectorSource(df1$words))
> inspect(corp1)
A corpus with 5 text documents
The metadata consists of 2 tag-value pairs and a data frame
Available tags are:
create_date creator
Available variables in the data frame are:
MetaID
[[1]]
I am taking
[[2]]
these are the samples
[[3]]
He speaks differently
[[4]]
This is distilled
[[5]]
It was placed
> corp1 <- tm_map(corp1, SnowballStemmer)
> inspect(corp1)
A corpus with 5 text documents
The metadata consists of 2 tag-value pairs and a data frame
Available tags are:
create_date creator
Available variables in the data frame are:
MetaID
[[1]]
[1] I am tak
[[2]]
[1] these are the sampl
[[3]]
[1] He speaks differ
[[4]]
[1] This is distil
[[5]]
[1] It was plac
> class(corp1)
[1] "VCorpus" "Corpus" "list"
> tdm1 <- TermDocumentMatrix(corp1)
Error in UseMethod("Content", x) :
no applicable method for 'Content' applied to an object of class "character"
Vì vậy, thay vào đó tôi cố gắng tạo ra các ma trận tài liệu nhiệm kỳ đầu tiên nhưng lần này các từ không được bắt nguồn:
> corp1 <- Corpus(VectorSource(df1$words))
> tdm1 <- TermDocumentMatrix(corp1, control=list(stemDocument=TRUE))
> as.matrix(tdm1)
Docs
Terms 1 2 3 4 5
are 0 1 0 0 0
differently 0 0 1 0 0
distilled 0 0 0 1 0
placed 0 0 0 0 1
samples 0 1 0 0 0
speaks 0 0 1 0 0
taking 1 0 0 0 0
the 0 1 0 0 0
these 0 1 0 0 0
this 0 0 0 1 0
was 0 0 0 0 1
Đây là các từ rõ ràng không bắt nguồn.
Mọi đề xuất?
Việc bắt đầu chỉ làm việc trên từ cuối cùng của tài liệu của bạn, phải không? Bởi vì '" nói "" đã không được bắt nguồn, trong khi tôi nghĩ nó nên. Ý kiến của tôi là hàm khởi đầu trong R có nhiều vấn đề. Tôi và các đồng nghiệp của tôi chưa bao giờ có thể làm cho nó hoạt động được. Chúng tôi đã chạy tập lệnh python thay vì ... – Pop
@AllenR .: Bạn nói đúng. Tôi không nhận ra điều đó. Tôi sẽ cung cấp cho python một cái nhìn. Cảm ơn. – screechOwl
Tôi không biết nếu bạn đã nghe nói về gói ** nltk ** trong python mà loại điều này. – Pop