intersystems iknow and twitter api

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

Upload: timur-safin

Post on 15-Apr-2017

2.809 views

Category:

Engineering


5 download

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