Top Banner
iKnow & Twitter API Тимур Сафин
16

InterSystems iKnow and Twitter API

Apr 15, 2017

Download

Engineering

Timur Safin
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: InterSystems iKnow and Twitter API

iKnow & Twitter APIТимур Сафин

Page 2: InterSystems iKnow and Twitter API

Twitter в числах

активных

пользователей

в месяц

320

млн

«уников»

на сайте

в месяц

1

млрд

мобильных

пользователей

80%

языков

>35

https://about.twitter.com/ru/company

Page 3: InterSystems iKnow and Twitter API

• REST API

–Поиск по критериям по твитам из прошлого (1 неделя)

• Streaming API

–Подписка на публикацию постов в реальном времени

(сэмплинг или фильтрация)

• Firehose API

–Весь поток твитов в реальном времени

Twitter API

Page 4: InterSystems iKnow and Twitter API

• OAuth аутентификация

• GET/POST запросы через https

• JSON ответы

Twitter REST API

Page 5: InterSystems iKnow and Twitter API
Page 6: InterSystems iKnow and Twitter API

REST API – api.twitter.com

• search/tweets.json

• Список твитов по запросу

• 180 запросов/15 минут

• trends/closest.json

• Ближайший город с трендами по заданным координатам

• 15 запросов/15 минут

• geo/reverse_geocode.json

• Обратная трансляция координат в гео объект

• 15 запросов/15 минут

• application/rate_limit_status.json

• Текущий лимит точек входа в REST API

• 180 запросов/15 минут

Page 7: InterSystems iKnow and Twitter API

REST API – search/tweetsGET https://api.twitter.com/1.1/search/tweets.json?q=%23freebandnames&since_id=24012619984051000&max_id=250126199840518145&result_type=mixed&count=4

https://dev.twitter.com/rest/reference/get/search/tweets

Page 8: InterSystems iKnow and Twitter API

REST API – отладка в Caché

Page 9: InterSystems iKnow and Twitter API

• Только ~1% твитов с геотэгами

–Используя гео привязку из профилей пользователя

получаем ~50-60%

Проблема географической привязки

Page 10: InterSystems iKnow and Twitter API

VKFB>>select count(*) from TWReader_Data.Tweet

36. select count(*) from TWReader_Data.Tweet

Aggregate_1

795

VKFB>>select count(*) from TWReader_Data.Tweet where Place<>""

37. select count(*) from TWReader_Data.Tweet where Place<>""

Aggregate_1

5

VKFB>>select count(*) FROM TWReader_Data.Tweet T, TWReader_Data."User" U where T."User" = U.Screenname and U.location<>""

38. select count(*) FROM TWReader_Data.Tweet T, TWReader_Data."User" U where T."User" = U.Screenname and U.location<>""

Aggregate_1

458

Проблема гео привязки

Page 11: InterSystems iKnow and Twitter API

REST API – пример приложения

Page 12: InterSystems iKnow and Twitter API

• Простой способ – на базе смайликов и эмоджи

• Сложнее способ – с применением онтологий и iknow

Эмоциональная окраска (sentiment analysis)

Emoji Sentiment Ranking 1.0 About

Char

Image Unicode OccurrencesPositionNeg Neut Pos

Sentiment

score

Sentiment

bar

Unicode name[twemoji] codepoint [5...max] [0...1] [0...1] [0...1] [0...1] [-1...+1] (c.i. 95%)

😂 0x1f602 146220.805 0.247 0.285 0.468 0.221 FACE WITH TEARS OF

JOY

❤ 0x2764 80500.747 0.044 0.166 0.790 0.746 HEAVY BLACK HEART

♥ 0x2665 71440.754 0.035 0.272 0.693 0.657 BLACK HEART SUIT

😍 0x1f60d 63590.765 0.052 0.219 0.729 0.678 SMILING FACE WITH

HEART-SHAPED EYES

😭 0x1f62d 55260.803 0.436 0.220 0.343 -0.093 LOUDLY CRYING FACE

😘 0x1f618 36480.854 0.053 0.193 0.754 0.701 FACE THROWING A

KISS

😊 0x1f60a 31860.813 0.060 0.237 0.704 0.644 SMILING FACE WITH

SMILING EYES

http://kt.ijs.si/data/Emoji_sentiment_ranking/

Page 13: InterSystems iKnow and Twitter API

• Firehose (дорого) получает все твиты

–~500 миллионов в день (осень 2014)

• Публичное streaming API может отдать не более 1% всего

мирового трафика

– (5 миллионов в день)

• Весь архив твитов из России за пару месяцев:

–61 день – 6 миллионов твитов – 3К$

•Т.е. ~2000 tweet/$

•Т.е. ~100 тысяч твитов в день

Streaming API

Page 14: InterSystems iKnow and Twitter API

• status/filter

•5000 user ids

•400 keywords

•25 location boxes

• rate limited (1%)

• status/sample

• rate limited – 1% всех

– message.id mod 100

•Два одновременных status/sample потока вернут одинаковые

данные

Streaming API

Page 15: InterSystems iKnow and Twitter API

iKnowSocial – поддержка твитера

https://github.com/intersystems-ru/iknowSocial/tree/tsafin-twitter-devel

Page 16: InterSystems iKnow and Twitter API

iKnowSocial – поддержка твитераРежим регионального мониторинга Сделано

UI

Выбор региона 1

Улучшение визуализации 1

Эмоциональная окраска

Визуализация окраса постов 1

Посредством iknow 1

Посредством эмоджи и смайлов 0

Визуализация постов на карте 0

Тренды

Тренды твитера 1

Тренды iknow 0

Поточный API

Выборка и хранение через streaming API 0

Фоновый анализ и индексирование в iknow 0

Динамическая карта 0