RAntiquity
Задала Яндекс жпт и Дипсику (о котором уже писала) один несложный вопрос по школьной программе: что Гончаров имеет в виду, когда в “Мильоне терзаний” говорит об “эпиграмматической соли” комедии “Горе от Ума”? Оба раза спрашивала по-русски. Ответ Дипсика в…
Вот тут кстати на SO инциировала обсуждение, как подключиться к API дипсика из среды R. Все работает, если дать денег (существенно меньше, чем просит OpenAI). Надо будет еще подумать, чтобы как в {ellmer} сразу структурированные данные извлекать, но это все позже, сейчас завал.
Может пока я буду думать, китайцы уже пакет напишут. Тогда и с ВПН можно было бы не мучиться (все, что работает через ВПН, практически невозможно демонстрировать в реальном времени на паре, например).
Может пока я буду думать, китайцы уже пакет напишут. Тогда и с ВПН можно было бы не мучиться (все, что работает через ВПН, практически невозможно демонстрировать в реальном времени на паре, например).
Stack Overflow
A call to DeepSeek API in R returns 401 error despite correct api-key
I am trying to chat from DeepSeek from R, and here is the code I use (since this model is not supported by {ellmer} or {tidyllm}.
Here is my code:
library(httr)
library(jsonlite)
# Set your DeepSe...
Here is my code:
library(httr)
library(jsonlite)
# Set your DeepSe...
Forwarded from People Analytics
📌 Классифицируем отзывы сотрудников о работодателе с помощью R, rollama и Ollama
В предыдущем посте мы научились устанавливать и пользоваться LLM локально. Теперь знакомимся с практическим примером.
@people_analytics
#LLM #БЯМ #AI #R #people_analytics #отзывы_сотрудников
В предыдущем посте мы научились устанавливать и пользоваться LLM локально. Теперь знакомимся с практическим примером.
@people_analytics
#LLM #БЯМ #AI #R #people_analytics #отзывы_сотрудников
Teletype
Классифицируем отзывы сотрудников о работодателе с помощью R, rollama и Ollama
Анализ отзывов сотрудников помогает HR-менеджерам выявлять ключевые проблемы в компании, оценивать уровень удовлетворенности персонала...
❤8
Что ни говори, а инфраструктура под недружественные интеллекты очень дружественная, и для тех, кому машина нужна не под капотом возиться, а ехать, Хадли делает классные продукты.
Его
Записывайте: перечислить файлы, придумать тип данных для выхода, запустить чат. На выходе таблица: в одном столбце текст, в другом — перевод.
В промышленных масштабах пока не пробовала.
Его
{ellmer} позволяет без особых усилий извлекать структурированные данные из изображений. Что это такое — решайте сами; в моем случае — распознанный текст и перевод. OpenAI: распознавание на 5, перевод на русский на 3+.Записывайте: перечислить файлы, придумать тип данных для выхода, запустить чат. На выходе таблица: в одном столбце текст, в другом — перевод.
library(ellmer)
library(tidyverse)
# придумываем, какие нужны столбцы
type_text <- type_object(
"Latin text and Russian translation of the text. Occasionally, you might see some Ancient Greek.",
text = type_string("Latin text"),
translation = type_string("Russian translation")
)
# список изображений
my_images <- list.files(pattern = "png")
# рабочая функция для purrr
process_image <- function(image_path) {
response <- chat$extract_data(
content_image_file(image_path),
type = type_text
)
return(response)
}
# еще спроси, а где здесь вожжи
all_responses <- map_dfr(my_images, process_image)
В промышленных масштабах пока не пробовала.
🔥12
RAntiquity
Сегодня пришли результаты студенческой оценки преподавания (СОП), из которых следует, что с первым своим курсом по программированию на R я вроде бы справилась. Спасибо, дорогие студенты, за ваши отзывы. Я их все прочитала, а некоторые даже по два раза 🧡
Недавно пришли отзывы студентов на первую часть курса “Компьютерный анализ текста” #tar2024 , общая оценка 4.93 из 5, мой личный рекорд.
Очень приятно, что курс приносит удовлетворение не только мне — и, конечно, такие отзывы вдохновляют и заставляют стремиться к большему.
На облаке слов — основные биграмы из отзывов. Спасибо 🤗
Очень приятно, что курс приносит удовлетворение не только мне — и, конечно, такие отзывы вдохновляют и заставляют стремиться к большему.
На облаке слов — основные биграмы из отзывов. Спасибо 🤗
❤🔥36❤14🔥5👏4😍2🎉1
Латинский гиперкуб — обобщение латинского квадрата Эйлера на произвольное число измерений. Используется для поиска оптимальных параметров в МО. А латинским называется потому, что Эйлер (про которого недавно писал дружественный канал) использовал латинские буквы. Пакет {dials} версии 1.3.0 отказался от такого названия функции, а жаль. Так в нашей жизни стало еще меньше латыни.
Вообще в МО есть множество _просто красивых_ вещей, прекрасных самих по себе, а не ради пресловутого скоринга.
Вообще в МО есть множество _просто красивых_ вещей, прекрасных самих по себе, а не ради пресловутого скоринга.
❤8😢1
В копилку инструментов и методов цифровой истории философии: https://t.iss.one/Philosophytoday/15267 Снова сети. Эyхенио Петрович, один их хедлайнеров проекта, благодаря @curiousonya уже некоторое время в поле моего зрения, в 2022 г. у него была любопытная статья о сетях благодарностей, о которой см. https://t.iss.one/curiousonya/217 А вот ссылка на сам проект: https://edhiphy.org/network Очень милое онлайн-приложение. Молодцы, чо.
Telegram
PhilosophyToday
Библиометрия за пределами цитирования: индекс упоминаний
Современные практики цитирования появились относительно недавно, из-за чего научные базы данных сталкиваются с проблемой неполноты учтенных ссылок: например, WoS гарантирует достоверность ссылок…
Современные практики цитирования появились относительно недавно, из-за чего научные базы данных сталкиваются с проблемой неполноты учтенных ссылок: например, WoS гарантирует достоверность ссылок…
👍5🔥2❤1
RAntiquity
В копилку инструментов и методов цифровой истории философии: https://t.iss.one/Philosophytoday/15267 Снова сети. Эyхенио Петрович, один их хедлайнеров проекта, благодаря @curiousonya уже некоторое время в поле моего зрения, в 2022 г. у него была любопытная статья…
Кстати, на сайте есть ссылка на другой проект https://exiledempiricists.wordpress.com/ Который подтверждает мой недавний тезис о том, что цифровая история философии возможна скорее как социология философии, чем как и-ф. в традиционном смысле слова. Сайт красивый, перевод даю автоматический
«Изгнанные эмпиристы» – это пятилетний исследовательский проект, финансируемый Европейским исследовательским советом (ERC) и Нидерландским исследовательским советом (NWO). Проект возглавляет Сандер Верхаэг и он реализуется на базе Тилбургского центра моральной философии, эпистемологии и философии науки (TiLPS) Тилбургского университета.
Exiled Empiricists: American Philosophy and the Great Intellectual Migration
Visit the post for more.
👍5👀3
Кажется, знаешь человека давно, уже и Цицерона вместе читали, и Цезаря, и Лукреция, и даже немного Августина — и тут выясняется, что этот человек опубликовал огненный лонгрид на “Системном блоке” про цифровые просопографии и графовые модели в изучении античности. https://t.iss.one/antibarbari/3006
Тут и методология исторической науки, и реляционные БД, и несколько фирменных шуток от @patroclusisnotdead Просто именины сердца, Ксюша, поздравляю!
Тут и методология исторической науки, и реляционные БД, и несколько фирменных шуток от @patroclusisnotdead Просто именины сердца, Ксюша, поздравляю!
Telegram
Antibarbari HSE
🖥 Жизнь и связи древних римлян: о чем могут рассказать просопографические базы данных?
Наш постоянный автор, а также руководитель и участник семинаров Ксения Дмитриева @patroclusisnotdead рассказала в “Системном Блоке” о том, как используются цифровые базы…
Наш постоянный автор, а также руководитель и участник семинаров Ксения Дмитриева @patroclusisnotdead рассказала в “Системном Блоке” о том, как используются цифровые базы…
🔥15🥰6👍3
RAntiquity
GIF
Студенты прислали валентинку, сделанную в
{ggplot}. А вот и источник! Невероятно трогательно, спасибо 🥰🥰🥰❤30
Как объяснить герменевтический круг аналитику данных
Герменевтический круг — это философская концепция, описывающая процесс понимания текста, явления или смысла, при котором целое интерпретируется через его части, а части – через целое. Это означает, что понимание любого отдельного элемента требует понимания контекста, а сам контекст, в свою очередь, формируется через понимание отдельных элементов.
Как правило, приступая к чтению текста, мы имеем очень отдаленное представление о «целом», и из этого несовершенного представления сооружаем такое же несовершенное понимание «частей», которое, однако, позволяет немного уточнить исходное «целое», а от него опять вернуться к «частям». Так мы двигаемся туда-сюда (или по кругу) очень долго, пока, наконец, все или почти все не складывается как надо.
Как понять, что это произошло? По-моему, так: каждая новая итерация уже не производит значительных смысловых сдвигов, плюснеземной свет.
А похоже это на алгоритм кластеризации. Сначала каждому наблюдению присваивается случайно выбранное число из интервала от 1 до K (число кластеров). Это исходные метки. Дальше вычисляется центроид для каждого из кластеров (это мы вернулись к «целому»). Центроид k-го класса – вектор из p средних значений признаков, описывающих наблюдения из этого кластера. Идем обратно к «частям»: каждому наблюдению присваивается метка того кластера, чей центроид находится ближе всего к этому наблюдению. Повторяем шаги 2-3 до тех пор, пока метки классов не перестанут изменяться.
А еще это похоже на градиентный спуск и постепенную минимизацию функции потерь, но эту метафору вы разверните сами. Правда, в искусстве интерпретации «алгоритму» бывает трудно остановиться, так что весь Google Scholar переполнен публикациями, которые уводят вас все дальше от наилучшего прочтения.
Осталось найти аналитика данных, которому это интересно.
Герменевтический круг — это философская концепция, описывающая процесс понимания текста, явления или смысла, при котором целое интерпретируется через его части, а части – через целое. Это означает, что понимание любого отдельного элемента требует понимания контекста, а сам контекст, в свою очередь, формируется через понимание отдельных элементов.
Как правило, приступая к чтению текста, мы имеем очень отдаленное представление о «целом», и из этого несовершенного представления сооружаем такое же несовершенное понимание «частей», которое, однако, позволяет немного уточнить исходное «целое», а от него опять вернуться к «частям». Так мы двигаемся туда-сюда (или по кругу) очень долго, пока, наконец, все или почти все не складывается как надо.
Как понять, что это произошло? По-моему, так: каждая новая итерация уже не производит значительных смысловых сдвигов, плюс
А похоже это на алгоритм кластеризации. Сначала каждому наблюдению присваивается случайно выбранное число из интервала от 1 до K (число кластеров). Это исходные метки. Дальше вычисляется центроид для каждого из кластеров (это мы вернулись к «целому»). Центроид k-го класса – вектор из p средних значений признаков, описывающих наблюдения из этого кластера. Идем обратно к «частям»: каждому наблюдению присваивается метка того кластера, чей центроид находится ближе всего к этому наблюдению. Повторяем шаги 2-3 до тех пор, пока метки классов не перестанут изменяться.
А еще это похоже на градиентный спуск и постепенную минимизацию функции потерь, но эту метафору вы разверните сами. Правда, в искусстве интерпретации «алгоритму» бывает трудно остановиться, так что весь Google Scholar переполнен публикациями, которые уводят вас все дальше от наилучшего прочтения.
Осталось найти аналитика данных, которому это интересно.
❤23
Ютуб все понял про редактора этого канала и порекомендовал видео: НИЧЕГО НЕ ДАНО А НАДО. Красивая, кстати, задача, но лучше всего в ней название. Эпиграф к книге жизни.
YouTube
Задача, в которой ничего не дано, а надо найти угол
Телеграм "Этому не учат в школе" — https://t.iss.one/yellow_school
Найди угол альфа, если прямая a параллельна прямой b, а остальные данные отмечены на рисунке.
Найди угол альфа, если прямая a параллельна прямой b, а остальные данные отмечены на рисунке.
😁16💔4
Между тем, февральское обновление в пакете
{ellmer}: появились долгожданные функции content_pdf_file() and content_pdf_url(). Правда, пока их поддерживают не все модели, только Gemini & Claude. Будем ждать развития событий!ellmer.tidyverse.org
Changelog
❤9👍1
Forwarded from Гуманитарии в цифре
Весна все ближе: и мы готовимся к путешествию в «Лес за деревьями…» с уже знакомой постоянным участникам онлайн-семинара «Цифровая среда» Ольгой Алиевой.
Кандидат филологических наук, доцент Школы философии и культурологии Факультета гуманитарных наук НИУ ВШЭ, автор телеграм-канала RAntiquity («Об античности на языке R и не только») Ольга Валерьевна Алиева расскажет в своем докладе об особенностях методов консенсусных деревьев и сетей, их реализациях в программной среде R и результатах применения к анализу платоновского корпуса.
🔜 Присоединяйтесь к семинару в следующую среду.
Дата: 5 марта
Начало: 14.00 (мск)/ 18.00 (крск)
🔗 Зарегистрироваться и добавить в календарь здесь ←
#цифроваясреда #смотреть #слушать #платоноведение #языкR
Кандидат филологических наук, доцент Школы философии и культурологии Факультета гуманитарных наук НИУ ВШЭ, автор телеграм-канала RAntiquity («Об античности на языке R и не только») Ольга Валерьевна Алиева расскажет в своем докладе об особенностях методов консенсусных деревьев и сетей, их реализациях в программной среде R и результатах применения к анализу платоновского корпуса.
Дата: 5 марта
Начало: 14.00 (мск)/ 18.00 (крск)
🔗 Зарегистрироваться и добавить в календарь здесь ←
#цифроваясреда #смотреть #слушать #платоноведение #языкR
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥7❤🔥6💘2
Гуманитарии в цифре
Весна все ближе: и мы готовимся к путешествию в «Лес за деревьями…» с уже знакомой постоянным участникам онлайн-семинара «Цифровая среда» Ольгой Алиевой. Кандидат филологических наук, доцент Школы философии и культурологии Факультета гуманитарных наук НИУ…
одна алиева весны не делает, но надо же с чего-то начинать 😅
😁10💘7❤4🔥3
Гуманитарии в цифре
Весна все ближе: и мы готовимся к путешествию в «Лес за деревьями…» с уже знакомой постоянным участникам онлайн-семинара «Цифровая среда» Ольгой Алиевой. Кандидат филологических наук, доцент Школы философии и культурологии Факультета гуманитарных наук НИУ…
Дорогие друзья, сегодня в 14-00 мск презентую итоги стилометрического исследования платоновского корпуса, которым я занималась последние несколько лет.
Это последняя статья в серии, которая, по моему замыслу, должна подвести некоторый итог всей работе. После этого, надеюсь, в моей жизни наступит сплошнаяметафизика .
Судя по рецензии, которую я на днях получила, поспорить сегодня будет о чем. Зарегистрироваться и подключиться можно по ссылке выше.
В согласии с принципами reproducible research делюсь репозиторием с данными, кодом, а также ссылкой на сегодняшнюю презентацию: https://github.com/locusclassicus/plato_new_model_2024
Это последняя статья в серии, которая, по моему замыслу, должна подвести некоторый итог всей работе. После этого, надеюсь, в моей жизни наступит сплошная
Судя по рецензии, которую я на днях получила, поспорить сегодня будет о чем. Зарегистрироваться и подключиться можно по ссылке выше.
В согласии с принципами reproducible research делюсь репозиторием с данными, кодом, а также ссылкой на сегодняшнюю презентацию: https://github.com/locusclassicus/plato_new_model_2024
GitHub
GitHub - locusclassicus/plato_new_model_2024: Project presentation
Project presentation. Contribute to locusclassicus/plato_new_model_2024 development by creating an account on GitHub.
🔥25❤4👍1
🔍 Как собрать датасет на основе библиографических данных Скопуса*
Понадобятся:
- API (https://dev.elsevier.com/),
- VPN
- пакет {rscopus} и обычный {tidyverse}
Отправляем запрос. Я ищу по слову Plato в заголовке и предметной области ARTS. Уменьшите max_count или count, если функция капризничает.
Тайдифицируем. Я забираю не все поля, посмотрите сами, что вам может быть интересно. Векторизованное переименование всех столбцов — разве это не красиво?
Повторить. Забрав первую сотню/тысячу описаний, можно использовать аргумент start = 1001 и т.п. Так вы начнете выгрузку со второй тысячи. Полученные датафреймы легко слепить воедино.
Исследовать. У меня получилось 5000 публикаций со словом Plato в заглавии, от 2025 до 1973 г. Что с ними делать, пока не решила. Может и не буду ничего делать🤩 Публиковать датасеты Elsevier не разрешает, так что я просто сижу ищу друзей и знакомых
Понадобятся:
- API (https://dev.elsevier.com/),
- VPN
- пакет {rscopus} и обычный {tidyverse}
install.packages("rscopus")
library(rscopus)
library(tidyverse)
Sys.setenv(Elsevier_API = "0a0a0a0a0a0")
# проверяем
have_api_key()
Отправляем запрос. Я ищу по слову Plato в заголовке и предметной области ARTS. Уменьшите max_count или count, если функция капризничает.
res = scopus_search(query = "TITLE(Plato) AND SUBJAREA(ARTS)", max_count = 1000, count = 10, view = "STANDARD")
Тайдифицируем. Я забираю не все поля, посмотрите сами, что вам может быть интересно. Векторизованное переименование всех столбцов — разве это не красиво?
entries_df <- res$entries |>
gen_entries_to_df()
entries_df <- entries_df$df |>
select(`dc:title`, `dc:creator`,
`prism:publicationName`, `prism:coverDate`,
`subtypeDescription`) |>
rename_with(~ str_remove(., "^.*:"))
Повторить. Забрав первую сотню/тысячу описаний, можно использовать аргумент start = 1001 и т.п. Так вы начнете выгрузку со второй тысячи. Полученные датафреймы легко слепить воедино.
Исследовать. У меня получилось 5000 публикаций со словом Plato в заглавии, от 2025 до 1973 г. Что с ними делать, пока не решила. Может и не буду ничего делать
Please open Telegram to view this post
VIEW IN TELEGRAM
Elsevier
Elsevier Developer Portal
Elsevier APIs Developer Portal
❤11🔥4
RAntiquity
🔍 Как собрать датасет на основе библиографических данных Скопуса* Понадобятся: - API (https://dev.elsevier.com/), - VPN - пакет {rscopus} и обычный {tidyverse} install.packages("rscopus") library(rscopus) library(tidyverse) Sys.setenv(Elsevier_API = "0a0a0a0a0a0")…
Ну вот например. И это только публикации с вхождением “Платон” в названии, то есть лишь некоторая часть того, что о нем пишется.
🔥13❤3😱2
Сравниваем тексты с
Ссылка на техническую документацию. Результат можно встраивать в markdown и shiny.
p.s. первая-то редакция получше будет
{diffobj}
ed1 <- "В начале было Слово, и Слово было у Бога, и Слово было Бог."
ed2 <- "Вначале было Слово, и Слово было к Богу, и Бог был Слово."
# Визуализация изменений
library(diffobj)
diffChr(ed1, ed2, mode = "sidebyside")
Ссылка на техническую документацию. Результат можно встраивать в markdown и shiny.
p.s. первая-то редакция получше будет
❤7👀6💯3🔥1
Гераклит называл Пифагора κοπίδων ἀρχηγός, “предводитель мошенников”, а всякий уважающий себя философ, как говорил Ямвлих, должен взять себе в руководители “родоначальника и отца божественной философии”.
Поэтому сегодня маленькая хитрость для тех, кто уже научился реферировать статьи с чатом GPT, но еще не придумал, как безболезненно скормить ему монографию. Для этого придется разрезать ее на главы, и самый простой способ это сделать в R — пакет
Дальше вы знаете что делать 🐳 Но, как показывает практика, надо хорошо подумать над промптом, т.е. по сути сначала прочесть источник, а потом уже задавать вопросы машине. Иначе получится обо всем и ни о чем.
Поэтому сегодня маленькая хитрость для тех, кто уже научился реферировать статьи с чатом GPT, но еще не придумал, как безболезненно скормить ему монографию. Для этого придется разрезать ее на главы, и самый простой способ это сделать в R — пакет
{qpdf}
library(qpdf)
pdf_subset(input = “book.pdf",
output = "chapter.pdf",
pages = 10:20)
Дальше вы знаете что делать 🐳 Но, как показывает практика, надо хорошо подумать над промптом, т.е. по сути сначала прочесть источник, а потом уже задавать вопросы машине. Иначе получится обо всем и ни о чем.
😁8🔥4