Меня интересует идея использования Tweets / SMS / Identica или других систем коротких текстовых обновлений статуса для отслеживания наблюдений за повседневной жизнью (или ODL). Основная идея заключается в том, что вы отправляете обновления статуса в Twitter или Identi.ca или, возможно, просто в виде SMS-сообщения или чего-либо еще в формате, который впоследствии можно будет найти для отображения шаблонов.
Вы можете использовать его, чтобы отслеживать упражнения, диеты, ваши предпочтения в кино, все, что вам нравится.
Для этого вам необходим синтаксис, позволяющий как людям, так и компьютерам легко анализировать обновления вашего статуса. Синтаксис должен быть плотным, который поддерживает малое количество символов, но должен быть читаемым человеком.
Эта идея не нова, и существует множество приложений для Твиттера для отслеживания упражнений и привычек питания. Twitter - это, по сути, короткий текстовый носитель ODL, который вы можете легко увидеть, посмотрев на поисковый запрос #feeling http://search.twitter.com/search?q=%23feeling
или ищет #hurts http://search.twitter.com/search?q=%23hurts или приложения, предназначенные для добычи богатства данных ODL, уже отправляемых в твиттер: http://www.tweetfeel.com/
Используя Twitter для отслеживания ODL, вы прекращаете борьбу за то, чтобы заставить людей использовать определенный интеграционный механизм, созданный специально для этого, например, Google Health и HealthVault, и вместо этого сосредотачиваетесь на повышении ценности системы отслеживания ODL, которую уже используют люди. , как Facebook или Twitter. Но для этого вам нужен обобщенный подход для ввода ODL и для извлечения данных из этих записей, чтобы вы могли получить смысл на более высоком или, по крайней мере, другом уровне.
Существует также несколько синтаксисов, доступных для обобщения подхода к использованию Twitter для отслеживания всего, что вам нравится. Это те, которые меня больше всего интересуют. Пока что я знаю о нескольких:
Daytum имеет синтаксис Twitter . Он использует прямые сообщения и выглядит так:
d daytum item : amount
// simple data label and value
d daytum item [category, category] : amount
// same thing but with tagging...
Your.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, которые уже регистрируются в твиттере, например runkeeper, который обычно выдает что-то вроде:
@meattwitter Just completed a 4.50 km run with @runkeeper. Check it out! http://rnkpr.com/aaaaa #RunKeeper
Так что теперь на мой вопрос (ы)?
Какой еще важный синтаксис ODL я пропускаю?
Является ли DM правильным способом сбора данных или вы должны сосредоточиться на хэштегах?
Какие другие важные "естественные" ODL происходят помимо бегуна и т. Д.?
Кто-нибудь знает какие-либо официальные исследования по этой проблеме (синтаксис 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:
sendhc=nurse@mydoc.com#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:
sendphrnurse@mydoc.com#ccr
# Send a copy of your personal health record to someone in XML microformat:
sendphr=nurse@mydoc.com#microformat
Моя цель - написать инструменты синтаксического анализа и отображения данных под лицензиями с открытым исходным кодом, и я обычно ищу, какие типы вещей я должен поддерживать. Так что, если вы можете подумать о других вопросах, которые я должен был задать, чтобы составить список требований для такого проекта, дайте мне знать !! Например, я знаю, что есть приличные реализации синтаксических анализаторов для стандартного синтаксиса Twitter, в которых упоминаются, DM, ответы и т. Д., Если то, что я обсуждаю, расширяет эту работу или реализуется полностью параллельно.
В настоящее время я рад предположить, что система не будет поддерживать "частную" регистрацию, если кто-то не скажет мне, как это сделать кратким образом.