Я пытаюсь выполнить lemmatization
на корпусе, используя функцию lemmatize_strings()
в качестве аргумента для tm_map()
из tm
пакета.
Но я хочу использовать свой собственный словарь ("лексика" - первый столбец с полной словоформой в нижнем регистре, в то время как второй столбец имеет соответствующую лемму о замене).
Я пытался использовать:
corpus<-tm_map(corpus, lemmatize_strings)
Но не работал ... Когда я использую:
lemmatize_strings(corpus[[1]], dictionary = lexico)
У меня нет проблем!
Как я могу поместить свой словарь "лексика" в fuction tm_map ()?
Извините за этот вопрос, это моя первая попытка провести анализ текста в возрасте 48 лет.
Чтобы быть более понятным, мой корпус составлен из 2000 документов;выдержка из первого документа:
corpus[[1]][[1]]
[9] "..."
[10] "Nos últimos dias da passada legislatura, a maioria de direita aprovou duas leis que significam enormes recuos nos direitos das cidadãs do país. Fizeram tábua rasa do pronunciamento das cidadãs e cidadãos do país em referendo, optando por humilhar e tentar culpabilizar as mulheres que abortam por sua livre escolha. Estas duas leis são a Lei n.º 134/2015 e a Lei n.º 136/2015, de setembro. A primeira prevê o pagamento de taxas moderadoras na interrupção de gravidez quando for realizada, por opção da mulher, nas primeiras 10 semanas de gravidez. A segunda representa a primeira alteração à Lei n.º 16/2007, de 17 de abril, sobre exclusão de ilicitude nos casos de interrupção voluntária da gravidez."
Затем работал над файлом словаря (лексика) с такой конфигурацией:
lexico[1:10,]
termo lema pos.tag
1 aa a NCMP000
2 aais aal NCMP000
3 aal aal NCMS000
4 aaleniano aaleniano NCMS000
5 aalenianos aaleniano NCMP000
6 ab-rogação ab-rogação NCFS000
7 ab-rogações ab-rogação NCFP000
8 ab-rogamento ab-rogamento NCMS000
9 ab-rogamentos ab-rogamento NCMP000
10 ab-rogáveis ab-rogável AQ0CP0
Когда я использую функцию lemmatize_strings(corpus[[1]], dictionary = lexico)
, она работает правильнои дать документ из корпуса № 1, лемматизированный леммами из моего словаря.
Проблема, с которой я столкнулся, заключается в следующей функции:
> corpus<-tm_map(corpus, lemmatize_strings, dictionary = lexico)
Warning messages:
1: In stringi::stri_extract_all_regex(x, numreg) :
argument is not an atomic vector; coercing
2: In stringi::stri_extract_all_regex(x, numreg) :
argument is not an atomic vector; coercing
> corpus[[1]][[1]]
[1] ""
Это просто уничтожит все мои документы в корпусе
> corpus
<<VCorpus>>
Metadata: corpus specific: 0, document level (indexed): 0
Content: documents: 2000
Заранее спасибо за ответ!