我對使用Tweets/SMS/Identica或其他短文本狀態更新系統跟蹤日常生活觀察(或ODL)的想法感興趣。基本的概念是,你發送狀態更新到Twitter或Identi.ca,或者也許只是一個短信或任何格式,可以在以後開採顯示模式。ODL的元語法
你可以用它來追蹤鍛鍊,飲食,電影喜好,你喜歡的任何東西。
要做到這一點,你需要有一個語法,允許人類和計算機輕鬆解析你的狀態更新。語法應該是密集的,它支持低字符計數,但仍然是人類可讀的。
這個想法並不新鮮,並且有很多Twitter應用程序用於跟蹤鍛鍊和飲食習慣。 Twitter是已經基本上是一個簡短的文字ODL中,你可以很容易地通過查看搜索#feeling http://search.twitter.com/search?q=%23feeling 或搜索意圖挖掘ODL的大量數據已經打算嘰嘰喳喳#hurts http://search.twitter.com/search?q=%23hurts或應用程序,請參閱:http://www.tweetfeel.com/
通過使用Twitter追蹤ODL,您不再需要強制人們使用爲Google Health和HealthVault創建的特定集成引擎,而是專注於提高人們已在使用的ODL跟蹤系統的價值,例如Facebook或Twitter。但要做到這一點,您需要一種可通用的方法來輸入ODL和數據挖掘這些條目,以便您可以在更高或至少不同的級別獲得意義。
還有幾種語法可用於推廣使用Twitter追蹤任何你喜歡的方法。這些是我最感興趣的。到目前爲止我知道幾個:
Daytum has a twitter syntax。它使用直接消息並且看起來像這樣:
d daytum item : amount
// simple data label and value
d daytum item [category, category] : amount
// same thing but with tagging...
Your.flowingdata.com has a richer syntax。它也使用直接消息。
// 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會問你的數據類型的一些信息,要求您選擇之間:
範疇 - 如果你有興趣在例如不同單位在同一動作的發生ate corn 活動 - 如果興趣點是發生某些事情時,例如goodnight or pooped Counter - 如果你最感興趣的是你完成了一些事情,抽5支香菸 測量 - 如果您想查看某個值隨時間的變化趨勢,例如體重160或血壓170
很聰明沒有?
我知道的最後一個是Grafitter syntax。到目前爲止,這是相當整潔的概念,因爲它使用#標籤以一種非常巧妙的方式...
//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)
Tweet your eats uses DMs爲好,並讓您包括您吃了什麼,以及包括卡路里/脂肪/點跟蹤。因此,語法類似於
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是做數據收集的正確方法,還是應該關注hashtags? 其他重要的「自然」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語法,DM,回覆等,我們正在討論的擴展該工作或者完全並行地執行的語法解析器有不錯的實現。
目前我很高興地假設系統不支持「私有」日誌記錄,除非有人能夠以簡潔的方式告訴我如何做到這一點。
應該知道第一個很好的答案應該來自一個朋友;) – ftrotter 2010-08-21 03:00:48
應該明確地說,短信是一個目標,以及...改變了它.. – ftrotter 2010-08-21 06:37:17