анализ текста с помощью пакета tm в R, удаление слов, начинающихся с [http] или любого другого специфического слова

Я новичок в R и интеллектуальном анализе текста. Я сделал облако слов из ленты Twitter, относящееся к какому-то термину. Проблема, с которой я столкнулся, заключается в том, что в wordcloud отображается http: ... или htt ... Как мне решить эту проблему Я пробовал использовать метасимвол *, но я все еще сомневаюсь, что применяю его правильно

tw.text = removeWords (tw.text, c (stopwords ("en"), "rt", "http \\ *"))

кто-нибудь занимается поиском текста, пожалуйста, помогите мне с этим.


person Amanpreet Singh    schedule 29.07.2015    source источник
comment
Вы можете просто использовать gsub для своих исходных данных. Пожалуйста, опубликуйте небольшой фрагмент ваших данных, текст, который нужно удалить, и желаемый результат.   -  person SabDeM    schedule 29.07.2015
comment
Я пытался получить несколько твитов head(tweets,10) [1] "@amitkumarpatil2 @bdutt yes.\nhttp://t.co/6v2n4EHeoc" @mihirssharma http://t.co/WHnaJmUNNG" [7] "RT @QLDMackay: Cheap power or clean energy? Modi's $275 billion Indian dilemma http://t.co/YEaaHodO6p ... https://t.co/zfV2XRKwfl" Итак, они включают URL-адреса страниц новостей и т. Д.   -  person Amanpreet Singh    schedule 30.07.2015
comment
Я тоже пробовал gsub (), но он удаляет только http: rest URL //xyz.com все еще остается   -  person Amanpreet Singh    schedule 30.07.2015


Ответы (2)


Если вы хотите удалить URL-адреса из своей строки, вы можете использовать:

gsub("(f|ht)tp(s?)://(.*)[.][a-z]+", "", x)

Где x будет:

x <- c("some text http://idontwantthis.com", 
         "same problem again http://pleaseremoveme.com")

Было бы проще дать вам конкретный ответ, если бы вы могли опубликовать образец своих данных, но следующий пример даст вам чистый текст без URL-адресов:

> clean_x <- gsub("(f|ht)tp(s?)://(.*)[.][a-z]+", "", x)
> clean_x
[1] "some text "          "same problem again "

В качестве побочного момента, я бы предположил, что, возможно, стоит поискать существующие методы очистки текста перед майнингом. Например, функция clean, описанная здесь, позволит вам сделать это автоматически. В аналогичных строках есть функция очистки текста от твитов (_6 _, _ 7_), знаков препинания и других нежелательных записей.

person Konrad    schedule 29.07.2015
comment
Отлично, clean(X, removeURL=TRUE) работал отлично (у) - person Amanpreet Singh; 30.07.2015

Примените приведенный ниже код к корпусу, чтобы заменить образец строки пробелом. Шаблон строки может быть URL-адресом или термином, который вы хотите удалить из wordcloud. Например, чтобы удалить термины, начинающиеся с https:

заменить пробелом

toSpace = content_transformer (функция (x, шаблон) gsub (шаблон`` x))

tweet_corpus_clean = tm_map (tweet_corpus, toSpace, https *)

Или передайте шаблон, как показано ниже, чтобы удалить URL-адреса

tweet_corpus_clean = tm_map (tweet_corpus, toSpace, (f | ht) tp (s?): // (. *) [.] [a-z] +)

person Shobha Mourya    schedule 29.09.2016