2010-06-04 17 views
6

R paket openNLP'de isimlerin ve fiillerin ayıklanmasının mümkün olup olmadığını mı merak ediyordum? Ben cümleyi etiketler ancak fiiller, isimler ayrı ayıklamak istediğiniz durumda ne yapacağımı tagPOS işlevini kullanın.Metinden İsimler ve Fiiller Çıkarma

cevap

9

bir örnek kullanma: (bu olduğu x/VBX, herhangi bir tek karakter olarak etiketlenmiş sözcükleri ayıklamak için)

Tamam, benim düzenli ifade için bazı iyileştirme ihtiyaçları

son satırın kurtulmak için

library("openNLP") 

acq <- "Gulf Applied Technologies Inc said it sold its subsidiaries engaged in pipeline and terminal operations for 12.2 mln dlrs. The company said the sale is subject to certain post closing adjustments, which it did not explain. Reuter." 

acqTag <- tagPOS(acq) 

sapply(strsplit(acqTag,"[[:punct:]]*/VB.?"),function(x) sub("(^.*\\s)(\\w+$)", "\\2", x)) 

    [,1]       
[1,] "said"       
[2,] "sold"       
[3,] "engaged"      
[4,] "said"       
[5,] "is"       
[6,] "did"       
[7,] " not/RB explain./NN Reuter./." 
Sonuçta.

DÜZENLEME

alternatif satırlar bir space karakteri

sapply(strsplit(acqTag,"[[:punct:]]*/VB.?"),function(x) {res = sub("(^.*\\s)(\\w+$)", "\\2", x); res[!grepl("\\s",res)]}) 
+0

Teşekkür içeren görmezden olabilir! gd047 :) işe yarıyor ... Ayıklamak için sapply kullanmanın neredeyse eşiğindeydim ama nasıl yapılacağını anlamadım. Teşekkürler. –