24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
В этом треде мы будем выкладывать результаты экспериментов по лингвистическому анализу досок сосача.
Дано: - JSON API макабы - Python - NLTK - филологическое образование - EDX 6.00.1x & 6.00.2x
Что уже сделано: - рабочая, хоть и примитивная объектная модель доски, тредов и постов, а также метод ее наполнения через джсон апи - ежедневный дамп /б/ пока в текстовом режиме, думаем дампать джсон или при помощи python pickle - процедура по подготовке текста и превращению его в текст NLTK токенизация, удаление стоп-слов, спецсимволов и прочего мусора - генерация частотного словаря - некоторые меры по адаптации функционала NLTK для работы с юникодом.
В тред призываются мамкины аналитики, лингвисты, кодеры и просто все заинтересованные. Принимаются пожелания. Обертка к апи сосача и код анализатора, возможно, будут выложены на гитхаб.
>>259760 как видите, текст еще достаточно грязен. в него попадают куски макабы, даты и номера постов. надеемся, это уйдет после совершенствования процедуры подготовки текста.
Теперь посмотрим на распределение отдельных слов по доске. Кстати, пока что объектом экспермента является весь текст /б/ состоянием на сегодняшнее утро.
Пикрелейтед -- распределение слов "тян" и "кун". Как видите, тяночки битарду -- первое слово встречается 314 раз, второе -- всего 134.
>>259772 два чаю. оп, реквестую: - эмулятор анона на основе генерации текста по n-граммам - детектор стиля текста деанонимайзер, чтобы можно было определить, насколько одно полотно схоже с другим пиши на [email protected], можем скооперироваться
>>259771 >цель исследования Пока сам не знаю. Пока выходит действительно >в циферки потупить, но возможно, скоро у нас появятся какие-то более интересные направления.
>>259773 >эмулятор анона морская улиточка на примитивном уровне это, вроде, реализовано в самом НЛТК. Там нужно либо создавать кастомнуб грамматику, либо тренировать модель Маркова. В любом случае, это очень интересно. Будем пробовать. >деанонимайзер давно уже вынашивается эта концепция. теоретически, она должна быть выполнима. единственная приграда – очень короткие, как правило, комментарии. >идеальный оп-пост Думаю, что это тоже возможно. Просто сделаем корреляцию балла, который очень кстати присваивает оп-посту сама макаба, и отдельных слов или даже н-грамм.
>>259812 пожалуй, было бы интересно запилить граф, где нодами были бы слова, а вес грани - similarity, и размер ноды и приближенность ее к центру графа - это частотность. вот бы карта двача была, воистину.
>>259754 Оп, ты-то мне и нужен. Каким образом отдельные посты (тута, на подтираче или на любом форуме), отдельные твиты и так далее (ну ты понел), складывать в отдельные файлы? Есть один крайне продвинутый метод семантического анализа, растуще-иерархические карты Кохонена Andreas Rauber, Dieter Merkl, and Michael Dittenbach. The Growing Hierarchical Self-Organizing Map: Exploratory Analysis of High-Dimensional Data In IEEE Transactions on Neural Networks, Vol. 13, No 6, pp. 1331-1341, November 2002. IEEE. Авторы метода приводят пример с анализом новостных сайтов, их алгоритм позволяет получить иерархическое разбиение новостей по темам и подтемам http://www.ifs.tuwien.ac.at/~andi/somlib/experiments.html (там кароч текст сначала переводят в векторы с помощью tf-idf, потом полученное обрабатывают собственно GHSOM, если интересно, авторы запилили софт http://www.ifs.tuwien.ac.at/dm/somtoolbox/http://www.ifs.tuwien.ac.at/~andi/somlib/ ). И короче, нужен какой-то общий подход, позволяющий сохранять отдельные мессаги в отдельные файлы. >Что уже сделано: - рабочая, хоть и примитивная объектная модель доски, тредов и постов, а также метод ее наполнения через джсон апи Хотелось бы посмотреть.
>>259941 Не, просто есть немало идей по применению нескольких алгоритмов, не только GHSOM, а во всякий программизьм практически не могу (а там много надо автоматизировать в смысле сбора данных, те же тексты вручную сохранять заебещься). R немного спасает, но там есть не все нужные алгоритмы. >>259953 >Выглядит настолько же сложно, насколько интересно. Попробую почитать и врубиться. Там все просто, если понимать в картах Кохонена, это же дальнейшее их развитие. Собственно, пикрелейтед - вся суть одной картинкой. >>259773 >детектор стиля текста деанонимайзер, чтобы можно было определить, насколько одно полотно схоже с другим GHSOM в такое скорее всего может, только первичная карта не способна выявить стиль, нужно делать второго уровня или больше. Но опять же, файлы там хоть и текстовые, но вручную их парсить муторно, а для сборки вышележащих карт это необходимо.
>>260197 Оп, а почему именно пистон? Это же параша хуже некуда. Почему бы не R например? Там тоже есть пакеты для работы с веб-контентом. http://cran.r-project.org/web/views/WebTechnologies.html Я уже не говорю о кучах реально работающих алгоритмов обработки данных. Лично мне этого вашего пистона хватило, когда пытался разобраться с Theano. В R хотя бы что-то работает.
1) потому что я на нем пишу 2) потому что достаточно высокий уровень и почти не долбишься с типами, кодировками, уборками мусора и т.п. 3) потому что много библиотек, в частности для json, графов и главное – NLTK
А тем временем у нас первые результаты построения графов частотности и похожести слов в /б/ по мотивам >>259814.
Это – очень предварительный результат. Узлы еще нужно подписать и соотнести их вес с частотностью слов, а длину граней хорошо сделать пропорциональной похожести слов по методу nltk.Text.similar().
>>268617 Это java script считает слова в диалоге вк. первое и второе поле это имя в диалоге вк двух людей например Петя Полина третье поле туда копируется текст диалога вк
>>259759 >филологическое образование Где морфологический анализ слов? У тебя же «иди» и «иду» за два разных слова считаются, а это портит всю статистику.
>>270356 Попробуй всё-таки не так сильно демонизировать сажу, бро, иначе стресс тебя погубит ;). Тебе предлагаю домашнее задание - написать сочинение с названием "Почему я бугурчу от сажи" или "Какое значение я придумал для одной опции формы постинга".
>>270381 Это предусмотрено. При подготовке текста есть опция включить стеммер, который обрезает морфологические окончания.
Кстати, это очень влияет на структуру графа. Связей становится как-то слишком много.
Кстати, несмотря на то, что я сейчас очень занят на работе, прогресс есть, хоть и совсем крохотный. Для начала, мы переехали на питон3, что решило большинство проблем с юниконом. Теперь мы ищем, как сохранять слепки досок двача в объектной модели, а не в виде простого текстового дампа. В перспективе – формирование корпуса не из единого куска текста, а сегментированного по времени, треду, его рейтингу и другим параметрам. Это не считая собственно лингвистических экспериментов а-ля построение цепочек Маркова с последующей генерацией текста анона, частотность н-грамм и другого.
>>270401 Ты у мамы дурачок? >>270402 Так если предусмотрено, почему на этих >259759 >>259756 графиках у существительных не выделены начальные формы? Слово «жизнь» считается два раза в форме «жизнь» и «жизни». Собственно перед анализом русских текстов нужно было заняться этой проблемой в первую очередь, иначе все результаты будут очень неточными.
>>270406 > Ты у мамы дурачок? Нет, это ты манька, считающая что вся статистика ограничивается теми двумя лабами, которые ты купил к зачёту. У людей могут быть очень много разных причин считать количество разных словоформ в тексте считая и однокоренные.
>>270407 >У людей могут быть очень много разных причин считать количество разных словоформ в тексте считая и однокоренные. Безусловно, но здесь причина, очевидно, кроется в том, что человек не смог написать алгоритм выделения начальных форм.
А для таки лингвистического анализа есть методы (основанные на мешке слов, например), которые по статистике количества именно словоформ определяют принадлежность к тому или иному автору или эмоциональной тональности. Так же статистические алгоритмы перевода могут работать на сырых "наборах букв между пробелами". Главное, чтобы в обучающем корпусе были все варианты слова в достаточном количестве.
>>270422 У-тю-тю, крупицы информации из научпопа не помогут тебе сойти за эксперта, дорогуша. > которые по статистике количества именно словоформ определяют принадлежность к тому или иному автору или эмоциональной тональности. Только при чём здесь этот тред, где никакие словоформы вообще не выделяются. >>270423 К сожалению, я пока единственный, кто в этом треде заметил слона в комнате, а ты иди дальше словоформы пересчитывай, дурачок.
>>270441 >библиотечки помогающие парсить? Почти во всех рантаймах реализована функция Split для строк. Собственно Делишь строку по пробелами и считаешь одинаковые кусочки. Вот и всё, что делает оп. Графики можешь хоть в экселе фигачить.
>>270481 Если хочешь почитать на русском - плохие новости для тебя. А так, документация к софту и ссылки из оттуда. И да, пистон я таки не одобряю, слишком костыльно.
>>270492 и правда, справляется не ахти. Стемлер совсем несовершенный. Про компресса знаю, но открытого АПИ, чтоб поиграться вот так, у них нет. Тем более его пилят лучшие профессиональные лингвисты страны – в аббии дурачков не берут. А НЛТК – кодопомойка, которая даже, как сегодня оказалось, не вся корректно работает под Питон 3. во втором были невероятные проблемы с юникодом. Что мы можем сделать в этом случае? Вот и пишем баги, читаем код, может законтрибьютим чего.
В этом треде мы будем выкладывать результаты экспериментов по лингвистическому анализу досок сосача.
Дано:
- JSON API макабы
- Python
- NLTK
- филологическое образование
- EDX 6.00.1x & 6.00.2x
Что уже сделано:
- рабочая, хоть и примитивная объектная модель доски, тредов и постов, а также метод ее наполнения через джсон апи
- ежедневный дамп /б/ пока в текстовом режиме, думаем дампать джсон или при помощи python pickle
- процедура по подготовке текста и превращению его в текст NLTK токенизация, удаление стоп-слов, спецсимволов и прочего мусора
- генерация частотного словаря
- некоторые меры по адаптации функционала NLTK для работы с юникодом.
В тред призываются мамкины аналитики, лингвисты, кодеры и просто все заинтересованные. Принимаются пожелания. Обертка к апи сосача и код анализатора, возможно, будут выложены на гитхаб.