คำถามของฉันโดยทั่วไปเกี่ยวกับการแยกแยะมูลค่าเอกเทศ (SVD) และโดยเฉพาะอย่างยิ่งในการทำดัชนีความหมายแฝง (LSI)
บอกว่าฉันมีที่มีความถี่ 5 คำสำหรับเอกสาร 7 ฉบับ
A = matrix(data=c(2,0,8,6,0,3,1,
1,6,0,1,7,0,1,
5,0,7,4,0,5,6,
7,0,8,5,0,8,5,
0,10,0,0,7,0,0), ncol=7, byrow=TRUE)
rownames(A) <- c('doctor','car','nurse','hospital','wheel')
ฉันได้รับตีนเป็ดเมทริกซ์สำหรับโดยใช้ SVD: T
s = svd(A)
D = diag(s$d) # singular value matrix
S = diag(s$d^0.5 ) # diag matrix with square roots of singular values.
ให้ เมทริกซ์ความเหมือนกันของคำโดยที่แถวของเป็นตัวแทนของคำที่แตกต่างกัน
WordSim = s$u %*% S
ให้ เมทริกซ์ความคล้ายคลึงกันของเอกสารโดยที่คอลัมน์ของแสดงเอกสารที่แตกต่างกัน
DocSim = S %*% t(s$v)
คำถาม:
- พีชคณิตทำไมเมทริกซ์ถึงความคล้ายคลึงกันของและมีคำอธิบายที่เข้าใจง่ายไหม?
- จากตัวอย่าง R ที่ได้รับเราสามารถทำการนับจำนวนคำ / ความคล้ายคลึงกันที่เกิดขึ้นเองได้ง่ายๆเพียงแค่ดูที่และ (โดยไม่ใช้ความเหมือนโคไซน์หรือสัมประสิทธิ์สหสัมพันธ์ระหว่างแถว / คอลัมน์)