Меня интересует идея использования 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 для упоминаний, личных сообщений, ответов и т. д., если то, что я обсуждаю, расширяет эту работу или реализуется полностью параллельно.
В настоящее время я рад предположить, что система не будет поддерживать «частное» ведение журнала, если только кто-нибудь не скажет мне, как это сделать в сжатой форме.