Я занимаюсь анализом текста с использованием tm_map в R. Я запускаю следующий код (без ошибок) для создания Матрицы документов (из исходной и другой предварительно обработанной) слова.Как увидеть оригинальные слова, которые сопоставлены с конкретным строковым словом
corpus = Corpus(VectorSource(textVector))
corpus = tm_map(corpus, tolower)
corpus = tm_map(corpus, PlainTextDocument)
corpus = tm_map(corpus, removePunctuation)
corpus = tm_map(corpus, removeWords, c(stopwords("english")))
corpus = tm_map(corpus, stemDocument, language="english")
dtm = DocumentTermMatrix(corpus)
mostFreqTerms = findFreqTerms(dtm, lowfreq=125)
Но когда я смотрю на моем (стебли) mostFreqTerms, я вижу пару, которая заставляет меня думать, «гм, какие слова были стебли производить что?» Кроме того, могут быть слова, которые имеют смысл для меня на первый взгляд, но, возможно, мне не хватает того факта, что на самом деле они содержат слова с разными значениями.
Я хотел бы применить стратегию/технику, описанную в этом SO ответа на сохранение конкретных условий во время вытекающих (например, сохраняя «естественный» и «натурализоваться» стать такими же стеблями термина. Text-mining with the tm-package - word stemming
Но сделайте это наиболее полно, я бы хотел увидеть список всех отдельных слов, которые были сопоставлены с моими наиболее часто встречающимися словами стека. Есть ли способ найти слова, которые, когда возникли, составили мой список самых FreqTerms?
РЕДАКТИРОВАТЬ: ПРОЧИЕ ПРИМЕР
textVector = c("Trisha Takinawa: Here comes Mayor Adam West
himself. Mr. West do you have any words
for our viewers?Mayor Adam West: Box toaster
aluminum maple syrup... no I take that one
back. Im gonna hold onto that one.
Now MaxPower is adding adamant
so this example works")
corpus = Corpus(VectorSource(textVector))
corpus = tm_map(corpus, tolower)
corpus = tm_map(corpus, PlainTextDocument)
corpus = tm_map(corpus, removePunctuation)
corpus = tm_map(corpus, removeWords, c(stopwords("english")))
corpus = tm_map(corpus, stemDocument, language="english")
dtm = DocumentTermMatrix(corpus)
mostFreqTerms = findFreqTerms(dtm, lowfreq=2)
mostFreqTerms
... Вышеуказанные mostFreqTerms выходов
[1] «адам», «один», «запад»
Я ищу программный способ определить, что стволовые слово «адам «пришли из оригинальных слов« адам »и« непреклонный ».
Я не знаю, как увидеть какие конкретные слова в вашем корпусе возникают, но вы можете заглянуть в списки эквивалентов на сайте '' snowball' (http: // snowball.tartarus.org/texts/stemmersoverview.html). Вот, например, [английский список] (http://snowball.tartarus.org/algorithms/porter/diffs.txt). – scoa
Это поможет, если вы предоставили [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) для тестирования. – MrFlick
hm, кто-то написал на SO-ссылке ниже, что «например,« университет »и« универсальный »становятся« универсальными »после того, как они заканчиваются, и вы ничего не можете сделать, чтобы восстановить его правильно». http://stackoverflow.com/questions/25160521/converting-stemmed-word-to-the-root-word-in-r?rq=1 –