Хотелось бы запросить, если можно извлечь noun + noun или (adj | noun) + noun в R package openNLP? То есть, я бы хотел использовать лингвистическую фильтрацию для извлечения кандидатских именных фраз. Можете ли вы направить меня, как это сделать? Большое спасибо.Извлечение noun + noun или (adj | noun) + существительное из текста
Спасибо за ответы. вот код:
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)
acqTagSplit = strsplit(acqTag," ")
acqTagSplit
qq = 0
tag = 0
for (i in 1:length(acqTagSplit[[1]])){
qq[i] <-strsplit(acqTagSplit[[1]][i],'/')
tag[i] = qq[i][[1]][2]
}
index = 0
k = 0
for (i in 1:(length(acqTagSplit[[1]])-1)) {
if ((tag[i] == "NN" && tag[i+1] == "NN") |
(tag[i] == "NNS" && tag[i+1] == "NNS") |
(tag[i] == "NNS" && tag[i+1] == "NN") |
(tag[i] == "NN" && tag[i+1] == "NNS") |
(tag[i] == "JJ" && tag[i+1] == "NN") |
(tag[i] == "JJ" && tag[i+1] == "NNS"))
{
k = k +1
index[k] = i
}
}
index
читатель может обратиться индекс на acqTagSplit сделать существительное + существительное или (прил | существительное) + существительное extractation. (Код не оптимален, но работает. Если у вас есть какие-либо идеи, сообщите мне.)
Кроме того, у меня все еще есть проблема.
Justeson и Katz (1995) предложили другую языковую фильтрацию для извлечения кандидатского существительного фразы:
((Adj | Существительное) + | ((Adj | Существительное) (Существительное-Prep)) (Adj | существительного)) Существительное
Я не могу понять его смысл. Могли бы вы сделать мне одолжение, чтобы объяснить это или преобразовать такое представление в R-язык. Большое спасибо.
Опубликовано, что я думаю, является чистым решением. Ваш более поздний запрос является значительным расширением исходного вопроса. Я думаю, вы должны закрыть этот вопрос и задать другой вопрос. –
@ DWin: думаю нет. Это просто добавление дополнительных условий. Плюс, чтобы перевести это в R, будет вопрос для текстовых шахтеров, а не для программистов. Я предлагаю сухану прочитать статью Юстэсона и Каца, чтобы понять ее смысл. –
@ Joris: Было несколько новых операторов «+» и «?» что я не понял. Я думал, что они могут перевести на регулярное выражение каким-то образом, но неизвестно мне, и цитата была недоступна при веб-поиске. Поэтому я подумал, что перепродажа будет лучшим подходом, поскольку на исходный вопрос ответили как ОП, так и мои усилия по рационализации. –