У меня есть фрейм данных предложений и фрейм данных ключевых слов и их синонимов. Я хотел бы просмотреть каждую строку предложений и заменить любые найденные синонимы соответствующим ключевым словом. Я боролся с этой вещью последние пару дней без особой удачи. Поэтому любой совет, который вы можете дать, будет очень признателен!
Пример данных:
sentences <- data.frame( ID = c( "1", "2", "3", "4"),
text = c("the kitten in the hat",
"a dog with a bone",
"this is a category",
"their cat has no hat"),
stringsAsFactors=FALSE)
lookup <- data.frame( key = c("cat", "a", "has"),
synonym = c("kitten", "the", "with"),
stringsAsFactors=FALSE)
Я хотел бы получить данные обратно в виде фрейма данных, очень похожего только на оригинальные "предложения" с заменой синонимов. Например:
ID text
1 a cat in a hat
2 a dog has a bone
3 this is a category
4 their cat has no hat
Фактические данные состоят из предложений 2016 года объемом от 200 до 500 слов каждое. Таблица поиска содержит около 200 000 строк слов и фраз. Я понял, как заменить отдельные слова и фразы без особых проблем, но я не могу понять, как это сделать с помощью справочной таблицы.
Еще одно замечание, которое вызывает у меня горе: мне нужно сопоставить точные слова / фразы, включая специальные символы. Например, «болезнь Адисона» должна соответствовать «болезни Адисона», а не «болезни Адисона». «Cotton-Roll» должен соответствовать «Cotton-Roll», но он не должен соответствовать «Cottonroll» или «Cotton Roll».
Я использую версию R 3.6.2 (2019-12-12) Платформа: x86_64-w64-mingw32 / x64 (64-разрядная версия) Работает под: Windows 10 x64 (сборка 18362)