kouprianov: (Default)

В продолжение вчерашних боев. При попытке засунуть коллекцию текстов под mallet выползала ошибка:

> mallet.instances <- mallet.import(text.ids, doc.text, "ru.txt", token.regexp = "[\\p{L}\\p{N}-]*\\p{L}+")
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  :
  java.lang.NoSuchMethodException: No suitable method for the given parameters

Решение нагуглилось внезапно после нескольких непонятно почему неудачных попыток. Оказалось, что id текстов и сами тексты должны иметь вид character. Каким образом его утрачивают вторые -- не ясно (как впрочем и то, зачем его должны иметь первые).

> mallet.instances <- mallet.import(as.character(text.ids), as.character(doc.text), "ru.txt", token.regexp = "[\\p{L}\\p{N}-]*\\p{L}+")
kouprianov: (Default)

Эта запись сделана для памяти и будет носить эзотерический характер. Чем дальше от старых добрых статистических методов, тем страшнее и тем меньше стандартизации. Забрел, с подачи Кирилла Маслинского, в область компьютерного анализа текстов. Довольно быстро выяснилось, что какие-то пакеты для обработки текстов написаны под более позднюю версию R, чем та, что стоит у меня на машине, за обновлением R потянулась необходимость обновления Java, за ними -- недокументированные причуды самих новых версий пакетов и т. д. и т. п.

Коротко говоря, чтобы не забыть:

(1) Для установки пакета mallet нужна библиотека, которой у меня не было, пришлось ставить (без нее не компилируется):

apt get install liblzma-dev

(2) В новой версии пакета tm иначе работает функция tolower (конвертация всех заглавных букв в строчные):

corpus<-tm_map(corpus, content_transformer(tolower))

если использовать старый способ работы с нею, то потом не работает стемминг (усечение слов до основы):

corpus<-tm_map(corpus, stemDocument)

Восстановление слов от основ до наиболее обычной по корпусу формы

corpus<-tm_map(corpus, stemCompletion, dictionary=corpus, type="prevalent")

(надобное, как я понимаю, в эстетических целях) пока не заработало и гугление никакого ответа пока не принесло.

March 2025

S M T W T F S
      1
2345678
910 1112131415
16171819202122
23242526272829
3031     

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 10th, 2025 01:10 am
Powered by Dreamwidth Studios