3

我对使用 Tweets/SMS/Identica 或其他短文本状态更新系统来跟踪日常生活观察(或 ODL)的想法很感兴趣。基本概念是您将状态更新发送到 Twitter 或 Identi.ca,或者可能只是一条 SMS 消息或其他可以稍后挖掘以显示模式的格式。

你可以用它来跟踪锻炼、饮食、电影偏好以及任何你喜欢的东西。

为此,您需要有一种语法,让人类和计算机都可以轻松解析您的状态更新。语法应该是密集的,它支持低字符数,但仍然是人类可读的。

这个想法并不新鲜,有很多 Twitter 应用程序可以用来追踪锻炼和饮食习惯。Twitter 本质上已经是一种短文本 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...

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)

Tweet 你的饮食也使用 DM,并让你包括你吃的东西,以及包括卡路里/脂肪/点跟踪。所以语法看起来像

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

当然,重要的是要注意已经登录到 twitter 的不同 ODL 生成软件所使用的非常常见的自然语言模式,例如 runkeeper,它通常会产生如下内容:

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

那么现在我的问题是什么?

我忽略了哪些其他重要的 ODL 语法?DM 是进行数据收集的正确方法还是应该专注于主题标签?除了 runkeeper 等,还有哪些重要的“自然”ODL 正在发生?有谁知道关于这个问题的任何正式研究(社交媒体状态更新中的 ODL 语法)?有谁知道任何现有的实现此类事物的开源项目?

更新:Paul 指出 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

我的目标是在开源许可下编写一个解析器和数据显示工具,我通常在寻找我应该支持哪些类型的东西。因此,如果您能想到我应该提出的其他问题,以便为此类项目制作需求清单,请告诉我!例如,我知道对于提及、DM、回复等的标准 Twitter 语法,我知道有不错的解析器实现,我所讨论的应该扩展这项工作,或者完全并行实现。

目前我很高兴假设系统不支持“私人”日志记录,除非有人能以简洁的方式告诉我如何做到这一点。

4

3 回答 3

1

弗雷德:

我有一些代码实际上正在为健康跟踪器的几个新项目编写代码。具体来说,我将它构建到以前的“Body4Break”的“Seven”项目中。

http://github.com/aviars/b4b

现在它只是根据哈希标签捕获评论,但我正在研究 RunKeeper 纯 OMHE 语法和其他可解析推文的自动摄取。

-艾伦

于 2010-12-01T15:17:17.490 回答
1

嘿,弗雷德……你见过 OMHE: http ://code.google.com/p/omhe/

或者 OpenMRS 消息传递社区中正在进行的工作......(从 OpenMRS 网站搜索消息传递)......

鉴于 SMS 长度与推文长度非常相似,这些可能会给您一些有关消息传递语法的提示。:)

希望这可以帮助。

于 2010-08-19T15:34:50.220 回答
0

刚刚了解了 Quantt quantter.com/

以及随附的语法。

http://blog.quantter.com/syntax

以及用于解释该语法的 API。

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

于 2010-12-15T05:19:06.497 回答