Метасинтаксис твитов для ODL

Меня интересует идея использования Tweets/SMS/Identica или других систем обновления статуса коротких текстов для отслеживания наблюдений за повседневной жизнью (или ODL). Основная идея заключается в том, что вы отправляете обновления статуса в Twitter или Identi.ca или, возможно, просто SMS-сообщение или что-то еще в формате, который позже можно использовать для отображения шаблонов.

Вы можете использовать его для отслеживания упражнений, диет, ваших предпочтений в кино и всего, что вам нравится.

Для этого вам нужен синтаксис, который позволяет людям и компьютерам легко анализировать ваши обновления статуса. Синтаксис должен быть плотным, поддерживающим небольшое количество символов, но все же понятным для человека.

Эта идея не нова, и существует множество твиттер-приложений для отслеживания физических упражнений и пищевых привычек. Твиттер уже является, по сути, средством ODL для коротких текстов, в чем легко убедиться, взглянув на поисковый запрос #feeling http://search.twitter.com/search?q=%23feeling или ищет #hurts http://search.twitter.com/search?q=%23hurts или приложения, предназначенные для извлечения огромного количества данных ODL, которые уже отправляются в Twitter: http://www.tweetfeel.com/

Используя Twitter для отслеживания ODL, вы перестаете бороться за то, чтобы заставить людей использовать данный механизм интеграции, созданный специально для этого, например Google Health и HealthVault, и вместо этого сосредотачиваетесь на повышении ценности системы отслеживания ODL, которую люди уже используют, например Facebook. или Твиттер. Но для этого вам нужен обобщающий подход к вводу ODL и интеллектуальному анализу этих записей, чтобы вы могли получить значение на более высоком или, по крайней мере, другом уровне.

Есть также несколько доступных синтаксисов для обобщения подхода к использованию Twitter для отслеживания всего, что вам нравится. Это те, которые меня больше всего интересуют. Пока я знаю о нескольких:

Daytum использует синтаксис Twitter. Он использует прямые сообщения и выглядит так:

d daytum item : amount 
// simple data label and value
d daytum item [category, category] : amount
// same thing but with tagging...

Ваш.flowingdata.com имеет более богатый синтаксис. Он также использует прямой обмен сообщениями.

// yfd works with "action" and "value" pairs
d yfd weigh 160
d yfd exercised arms
d yfd watched Back to the Future
// but can be made more complex with units
d yfd drank 2 water
d yfd drank 1 coke
// and timestamps 
d yfd played xbox at 20:00
d yfd goodnight at 11:00pm
d yfd goodnight at 11pm

Для каждого действия yfd запросит у вас некоторую информацию о типе данных, предлагая вам выбрать между:

Категориальный - если вас интересует возникновение одного и того же действия с разными единицами, например. Событие съел кукурузу — если интерес представляет момент, когда что-то происходит, например. Спокойной ночи или покакавший счетчик. Если вас в основном интересует общее количество раз, когда вы что-то делали, например. выкурил 5 сигарет. вес 160 или артериальное давление 170

Довольно умно, нет?

Последнее, что мне известно, это синтаксис Grafitter. На данный момент это довольно изящная концепция, потому что она очень умно использует хэштеги...

//hashtag with comma separated tags
#mood(happy,elated,drunk)
#mood(sad,sober)
// scales, like not busy
#busy(1)
// very busy
#busy(5)
//straight up numbers
#lbs(250)
#worked(10)

Твиттер вашей еды также использует DM и позволяет указать, что вы ели, а также калорийность/жир/ отслеживание точек. Итак, синтаксис выглядит так

d tyeats #breakfast One bowl of cereal *c500
// the *c500 marks the tweet as 500 calories

Конечно, важно отметить очень распространенные шаблоны естественного языка, которые используются различным программным обеспечением для генерации ODL, которое уже ведет логи в Twitter, например, runkeeper, которое обычно производит что-то вроде:

@meattwitter Just completed a 4.50 km run with @runkeeper. Check it out! http://rnkpr.com/aaaaa #RunKeeper

Итак, теперь мой вопрос (ы)?

Какой еще важный синтаксис ODL я упускаю из виду? Является ли DM правильным способом сбора данных или вам следует сосредоточиться на хэштегах? Какие другие важные «естественные» ODL происходят помимо runkeeper и т. д.? Кто-нибудь знает какие-либо официальные исследования по этой проблеме (синтаксис ODL в обновлениях статуса в социальных сетях)? Кто-нибудь знает о каких-либо существующих проектах с открытым исходным кодом, которые реализуют такие вещи?

обновление: Пол указал, что проект OMHE делает такие вещи. http://code.google.com/p/omhe/ Вот синтаксис OMHE. , у которого уже есть парсер на основе Python.

#The basic OMHE syntax follows this basic format"
[COMMAND_NAME]<VALUE><#[TAG]>

# Reporting WEIGHT (This is correct):
wt123.4

# In the previous example, COMMAND_NAME=wt and VALUE=123.4

# Reporting WEIGHT (Also Correct):
wt=123.4

# In the previous example, COMMAND_NAME=wt and VALUE=123.4

# Reporting WEIGHT with _TAGS_ (Also Correct) :
wt=123.4#mytag#myothertag

# The previous example has two tags: 'mytag' and 'myothertag'

# Weight is a command that requires a value (Incorrect):
wt

#You can never have an equal sign without a value. (Also Incorrect):
wt=

# Here is an OMHE string with two commands separated by white space " ".
# Says the command 'wt' (weight) has a value of '195' and blood glucose is 150.
wt195 bg=150

# Report the start of a menstrual cycle (correct):
# (Correct) mcycle is a command where value is not required 
mcycle

# Report the first day of a menstrual cycle:
# Notice we can still add tags even if no value is given 
mc

# Report the start of a menstrual cycle (Incorrect):
# You can't provide an equals "=" sign without a value: 
mc=

# Report the adherence to a health directive such as taking medication (correct):
# (Correct) did is a command where value is not required 
did

# Report the adherence to a health directive  to stretch arm (correct):
did=ARMSTRETCH

# Send Blood Glucose Level:
bg125

# Send Blood Pressure:
bp100d120p65

# Send Blood Pressure using the equals sign style:
bp=100d120p65

# Send Weight:
wt145
wt=145 #Express weight using the equals sign style
w78k   #Express weight in kilograms
wt145l  #Explicit express weight in pounds (lbs)
wt245.8 #Express fractional weight
wt245p8 #Another way to express fractional weight

# Send blood glucose, patient identifier, a note, and the date:
bg145 id213762732467234 nAllGood d20090117

# Sending blood glucose with a simple note tag (with spaces):
bg145#I'm*feeling*very*tired*today

# Report the start of a menstrual cycle:
mcycle

# Get a copy of your health benefits/insurance card:
gethc

# Send a copy of your health benefits card to someone via fax:
sendhc=6509840982#fax

# Send a copy of your health benefits card as a pdf to someone via email:
[email protected]#pdf

# Get a copy of your personal health record:
getphr

# Get a copy of your personal health record as a pdf:
getphr#pdf

# Get a copy of your personal health record in CCD format:
getphr#ccd

# Send a copy of your personal health record to someone in CCR format:
[email protected]#ccr

# Send a copy of your personal health record to someone in XML microformat:
[email protected]#microformat

Моя цель — написать синтаксический анализатор и инструменты отображения данных под лицензиями с открытым исходным кодом, и я обычно ищу, какие типы вещей я должен поддерживать. Поэтому, если вы можете придумать другие вопросы, которые я должен был задать, чтобы составить список требований для такого проекта, дайте мне знать!! Например, я знаю, что существуют достойные реализации парсеров для стандартного синтаксиса Twitter для упоминаний, личных сообщений, ответов и т. д., если то, что я обсуждаю, расширяет эту работу или реализуется полностью параллельно.

В настоящее время я рад предположить, что система не будет поддерживать «частное» ведение журнала, если только кто-нибудь не скажет мне, как это сделать в сжатой форме.


person ftrotter    schedule 14.08.2010    source источник


Ответы (3)


Привет, Фред... ты видел OMHE: http://code.google.com/p/omhe/

Или работа, проводимая в сообществе обмена сообщениями OpenMRS... (ищите сообщения на веб-сайте OpenMRS)...

Это может дать вам некоторые подсказки о синтаксисе обмена сообщениями, учитывая, что длина SMS в значительной степени аналогична длине твита. :)

Надеюсь это поможет.

person Paul Biondich    schedule 19.08.2010
comment
Должен был знать, что первый хороший ответ должен исходить от друга;) - person ftrotter; 21.08.2010

Фред:

У меня есть код, работающий над парой новых проектов для трекера здоровья. В частности, я встраиваю это в проект "Seven", ранее известный как "Body4Break".

http://github.com/aviars/b4b

Прямо сейчас он просто ловит комментарий на основе хэш-тега, но я изучаю автоматическое использование чистого синтаксиса OMHE RunKeeper и других твитов, которые можно анализировать.

-Алан

person Alan Viars    schedule 01.12.2010

Только что узнал о Quantter quantter.com/

И сопутствующий синтаксис.

http://blog.quantter.com/syntax

а также API для интерпретации этого синтаксиса.

http://beta.quantter.com/api/documentation

person ftrotter    schedule 15.12.2010