В результате проведенного исследования была спроектирована и реализована система для автоматического выделения наличия взаимосвязей между трендовыми событиями.
Ключевые слова: анализ данных, обработка естественного языка, выделение взаимосвязей.
Отличительной особенностью современного мира является постоянно увеличивающийся поток информации, непрерывно поступающий из разных источников. Одной из важных частей этого являются новости, которые приходят из разных источников, включая как традиционные СМИ, например, газеты, радио или телевидение, так и современные источники, такие как различные новостные сайты и социальные медиа.
Методы структурирования информации разнообразны. Причиной этого является множество способов ее представления и организации. В зависимости от целей, применяются различные технологии и методы структурирования.
Цель работы заключается в разработке системы по определению наличия взаимосвязей между событиями в информационном потоке для новостной ленты в социальной сети ‘Одноклассники’. Для реализации поставленной задачи требуется построить математическую модель, основываясь на семантической близости 'трендовых новостей' и временном интервале между днями, в которых были выделены данные события. А также необходимо реализовать разработанный метод программными возможностями языка Python. Основываясь на поставленной задаче, можно выделить следующие основополагающие моменты, решение которых необходимо найти для достижения поставленной цели.
– Выбор основной модели представления данных для дальнейшей обработки;
– Выбор функции для улучшения качества результатов системы с учетом временного фактора;
– Выбор метода удаления слабых зависимостей;
– Выбор программного обеспечения для наиболее удобной реализации построенной модели;
– Анализ полученных результатов;
Существующие подходы
Основные методы решения задач по обработке естественного языка для анализа текстовых данных можно отнести к одной из двух категорий. Первая, это модели и системы, которые основаны на тематическом моделировании и дальнейшем анализе самих тем и их распределении. Второй же концепцией можно считать дистрибутивные методы, в основе которых лежит анализ с помощью различных статистических характеристик термов и биграм, например, с использованием разнообразных частотных метрик.
Задачей тематического моделирования является построение модели, дающей наилучший результат. Под тематической моделью подразумевается некая модель для текстовых данных, целью которой служит определение степени принадлежности каждого документа к определенной тематике. Результатом построения тематической модели может быть как непосредственно выявление множества тем, так и решение различных дополнительных задач, например: ранжирование документов по степени релевантности, разбиение документа на тематически однородные фрагменты и другие. Методы на основе построения тематических моделей являются решениями задач «мягкой» кластеризации. Это означает, что каждый из документов может принадлежать нескольким темам с той ли иной степенью точности.
Областью исследования дистрибутивной семантики является вычисление семантической близости различных лексических единиц, основываясь на их распределении в большом количестве текстовых корпусов. Работы в данной области опираются на главную гипотезу дистрибутивной семантики, которая утверждает, что если лингвистические единицы встречается в схожих контекстах, то они имеют близкое значение. [1] Основополагающей единицей в этих моделях служит контекстный вектор. Впервые идея использования такой конструкции был предложен Ч.Осгудом в рамках работ по представлению значений слов. А сам термин был введен С.Галлантом для описания смысла слов и разрешения лексической неоднозначности.
Гипотеза о дистрибутивной семантике гласит, что лингвистические единицы, встречающиеся в схожих контекстах, имеют близкие значения. При этом подходе основной идеей для моделирования является векторная модель семантики (VSM). Это означает, что каждый документ из коллекции, а в нашем случае story, которые входят в event, представляются в виде точки(вектора) в многомерном пространстве. Согласно предположению, близко лежащие друг к другу точки соответствуют семантически схожим документам. Самой распространенной моделью для поиска схожих документов является матрица 'термин-документ'. В ней каждая строка определяет отдельный термин, а каждый столбец соотнесен документу. В данном подходе документ представляется в виде мешка слов (bag of words), что говорит нам о неважности порядка вхождения каждого терма, но крайней информативности его количества появлений. Допустим у нас есть матрица X 'термин-документ'. Если в выборке имеется n документов и m уникальных слов, то X будет иметь m строк и n столбцов. Если рассмотреть i-ое слово из всего словаря корпуса, и j-ый документ, то элемент xij матрицы X будет являться количеством употреблений терма wi в документе dj.
При моделировании взаимосвязей между событиями основной составляющей будет являться функция нахождения расстояния между векторами, а согласно дистрибутивной гипотезе, это и будет являться оценкой семантической близости. Есть несколько способов вычисления этой характеристики [2], одним из самых известных является функция косинусного сходства, которая используется во многих работах по анализу данных [3].
Анализируя данные о трендах в социальной сети нельзя не учитывать временной фактор. Ведь все события и происшествия имеют конкретную временную метку, а именно привязку ко дню публикации. Для обобщения модели выделим скользящее ‘окно’ в несколько дней до и после даты публикации, в рамках которого будем рассматривать события. Вообще говоря, при наличии необходимых вычислительных мощностей окно можно определить практически любым значением дней. Тем самым достигается возможность масштабирования системы при необходимости.
Теперь необходимо оценить вероятность связности событий по прошествии нескольких дней. В качестве основы воспользуемся некоторой затухающей функцией, решающей похожие задачи [4]. Aдаптировав функцию в условиях необходимых условий и требований имеем: τ=Exp(2*(1-t)/L), в данной модификации функция зависит от t, что является модулем количества дней между рассматриваемыми статьями, а L — это размер рассматриваемого окна, значение которого можно варьировать при необходимости. Также приведены значения коэффициента для рассматриваемого окна в 5 дней (Таблица 1)
Таблица 1
Значения временного коэффицента для рассматриваемого окна размером 5 дней
t |
τ |
1 |
1 |
2 |
0.819 |
3 |
0.67 |
4 |
0.549 |
5 |
0.449 |
Немаловажным этапом при построении взаимосвязей между событиями является стадия так называемой ‘очистки’. На этом этапе необходимо убрать из получившегося результата слабые связей. В противном случае, так или иначе практически любые event могут иметь связывающее ребро, хотя вероятность, что они принадлежат одной тематике, возможно, будет крайне мала. В работе [4] предложены несколько функций для удаления слабых зависимостей.
Статический порог. Этот метод использует некоторое константное значение оценки для удаления связей. В частности, если результат расчетов, полученный для двух event ниже, чем λ, мы считаем, что данные события не являются частью одной тематики.
Static Pruning: В этом методе помимо использования статического порога λ, также устанавливаются верхние границы по количеству предшествующих или последующих событий для каждого event. Это равносильно установке максимального количества исходящих или входящих ребер, разрешенных для каждого события.
Основой для написания послужил язык программирования Python версии 3.6, поскольку он обладает необходимым набором инструментов для анализа данных. Программной оболочкой послужил Jupyter notebook.
В рамках проделанной работы была реализована модель для анализа наличия взаимосвязей между выделенными новостными трендами внутри социальной сети 'Одноклассники'. Предложенная система имеет большой потенциал для усовершенствований, в том числе для возможности работы в интерактивном режиме.
Литература:
1. Magnus Sahlgren The distributional hypothesis, 2008.
2. Крюкова А. В. Определение семантической близости текстов с использованием инструмента DKPro Similarity, 2017.
3. Ramesh Nallapati, Ao Feng, Fuchun Peng, James Allan, Event Threading within News Topics, 2004.
4. Congcong YangXiaodong ShiChih-Ping Wei, Discovering Event Evolution Graphs From News Corpora, 2009.
5. Барицентр // Свободная энциклопедия википедия URL: https://ru.wikipedia.org/wiki/Барицентр (дата обращения: 07.04.2019).