正向和反向遏制逻辑–关系数据物流简介
如何构造或排列数据以获取有价值的见解的问题与要包含哪些数据或应如何对其进行分析的问题完全不同。我经常发现自己沉迷于结构和组织。在某种程度上,这是因为我相信独特的物流可以带来不同类型的见解。这些天流行到占据行业主导地位的是将数据保存为大表。如果我们查看处理表的应用程序的代码,则很可能字节在内存和文件中的许多不同位置之间来回移动。在我的工作中,数据通常在不同的表之间传输。有时这是手动发生的-如果剪切和粘贴可以描述为手动。为什么不让机器去做呢?我当然不反对这一建议。那将是一台在表之间移动数据的机器。重要的是要注意,某人,某人或两者都必须处理数据物流。碰巧的是,当计算机执行此工作时,后勤已在代码中预设。当我手动处理后勤货物时,它可以即时成形。当人们想到数据的移动时,我相信他们倾向于专注于移动本身,而不是其背后的逻辑。我建议,数据物流(或者可能只是更一般的物流)更多地是关于结构背后的原因-该结构引起了移动。它可以随时随地成形。当人们想到数据的移动时,我相信他们倾向于专注于移动本身,而不是其背后的逻辑。我建议,数据物流(或者可能只是更一般的物流)更多地是关于结构背后的原因-该结构引起了移动。它可以随时随地成形。当人们想到数据的移动时,我相信他们倾向于专注于移动本身,而不是其背后的逻辑。我建议,数据物流(或者可能只是更一般的物流)更多地是关于结构背后的原因-该结构引起了移动。
计算机拼写检查程序应如何工作?就个人而言,我将创建一个数据文件(又名字典),其中包含正确拼写的单词列表。我将扫描样本文档并将每个单词与数据文件的内容进行比较。为了提高速度,我可以将数据文件除以第一个字母或前两个字母。因此,没有必要扫描整个数据文件来检查拼写。我可以存储标本扫描的当前位置,以防用户决定暂时中止该过程-尽管CPU的速度可能会减轻需求。当然,有必要使程序在单独的线程上检查用户输入,以便用户可以分配CPU资源。如果用户要添加单词,则应创建辅助数据文件。如果用户希望还原到原始数据,则需要保护主要数据文件。因此,尽管没有发生数据移动,但是我仍然可以通过启用系统的结构进行推理。对我而言,数据物流是期望,适应和实现的艺术。
在我的日常工作活动中,我所做的分析旨在解决业务挑战,障碍和情况。尽管我可以实现较高的粒度,但总的来说,我是在总体级别上监视现象。由于倾向于聚合分析,因此数据的结构往往非常简单:通常将其存储为表。将此与现场调查员面临的问题进行比较,他们可能会尝试使用现场提供的数据来解决谋杀案。我理解尝试使用几乎精算的方法或作为业务关注点来解决此问题和其他类型问题的想法。但是,现场调查员并不扮演社会研究人员或运营经理的角色。汇总分析不是特别有用。此人需要使用解决案件的具体事实。远离事实冒险可以使调查结果在法庭诉讼中更容易受到质疑;更重要的是,它可能会干扰案件的解决。数据后勤人员应认识到需要数据来保留证人和各种资源(例如与案件有关的监视)中叙述的结构细节。
使用结构保存关系明细
我花了几天时间开发了神经逻辑,正如本博客中当前描述的那样。我只需要一个多小时就可以创建原型解释器。但是,当我试图入睡时,我花了两个晚上在脑海里思考后勤工作。神经逻辑不是一种编程语言,而是一种脚本化数据中关系的方法。这种方法的核心是“正向和反向遏制逻辑”。假设有“唐·菲利普”和“猫” –并且有必要保持唐·菲利普拥有猫的关系。前向遏制可以简单地表达为Don Philip> own> cat。猫只与唐·菲利普拥有的猫有关(存在)。反向遏制的不同之处在于,左侧包含右侧,例如:(Jake> kill> cat)<for <fun。
为什么有人要保留数据的关系详细信息?可以使用一种算法来搜索关系相似性和特殊性。例如,15岁的杰克(Jake)为了娱乐而杀死了一只猫。这对于评估51岁的Jake是否具有杀死任何东西的能力可能有用。如果未存储相关详细信息,则埋在某些警察记录中的非结构化文本可能使过去的事件相对难以访问。可能设计数据库的人最关心的是事件类别,而不是叙述的细节–即,对案件调查人员生成的数据具有更务实的看法。就个人而言,我将结合使用标准文本,关键字,类别和关系代码来描述值得注意的事件。下面,我使用神经逻辑提供一些关系代码。请注意,有几个人拥有猫。为了清楚起见,代码中没有任何内容表明它们拥有同一只猫或所有权类型相同。可以通过使用共享的唯一引用来表示相同性:例如[1]代表公寓;否则,不能假定相同。
有趣的部分是提出问题。我们可能想知道数据库中谁拥有猫。我们可以提出如下问题:“ l /?> own> cat”。更准确地说,在要分析的表达式的左侧,“ own> cat”之前有哪些数据元素?向前的围堵表明所有者位于左侧。我提出了许多其他问题,我将分别讨论其结果。
在运行时屏幕上,也就是“ DOS框”或“ DOS提示符”(由于该程序在Windows XP上运行),请注意解释器没有回答几个问题。这是因为我问了一些口译员没有数据要回答的问题。为什么?因为((Don Philip>问>问题)<对于<输出)<对于<诊断。顺便说一句,我以第三人称现在时使用动词:因此,我使用“问”而不是“问”。我仍在研究实施的一些细节。
问题1
问题:l /?>表达式:own> cat
...回应:唐·菲利普(Don Philip)
...回应:吉尔
...回应:詹姆斯
在上面,问题是谁或谁拥有猫。数据文件包含三个明显的猫所有权事件。尽管杰克杀了猫是真的,但这并不一定意味着该猫属于他。因此,Jake不会出现在列表中。
问题2
问题:l /?<表达式:for <有趣
...回应:杰克>杀死>猫
...回应:裘德>刷子>猫
由于遏制是反向的,因此搜索左侧构造的含义意味着左侧被右侧包含:即左侧不会导致右侧,而应属于右侧。表达式的左侧是娱乐的目的,而不是娱乐的对象。数据文件表明,杰克为了娱乐而杀死了一只猫。裘德为逗猫。这些可能不是同一只猫。没有足够的信息来确定。如何确定时态?时态总是现在时。关于如何确定事件的时间,可以将其包括在叙述中。
问题3
问题:r / in <?表达式:feed> cat
...回应:公寓[1]
问题不在于谁喂猫。相反,当给猫喂食时,喂食发生在哪里?裘德是数据中唯一养猫的人。这发生在一个公寓里。该公寓属于约翰。但是裘德为格温喂猫。他为此得到了补偿。因此,鉴于裘德可以使用既不属于格温也不属于裘德的公寓,因此我们有机会进行进一步调查-格温与约翰之间的关系以及裘德与约翰之间的关系。
问题4
问题:r / on <?表达式:feed> cat
……回应:嗯,不确定……“喂猫”
没有足够的数据。问题是关于前向容纳表达式右侧的详细信息。但是问题涉及反向遏制。当然,这需要一些思考。
问题5
问题:r / in <?表达式:画笔>狗
……回应:嗯,不确定……“刷狗进来”
没有关于狗被刷的任何数据。
问题6
问题:l /?>表情:杀死
...回应:杰克
在上面,问题不是谁被杀或被杀,而是谁被杀或被杀。数据文件表明杰克杀死了一只猫。(我想向读者保证,在撰写此博客时,没有猫或其他动物受到伤害或伤害。纯粹是出于偶然,猫被用作参考,而不是人类。关于为什么必须杀死任何东西,我想为了指出可能使用关系数据来解决凶杀案。我指出“死猫”在其他情况下也被使用,例如,“死猫反弹”是指股票在下跌后突然恢复,此后不久又继续下跌。)
如果有人感兴趣,我不会养宠物。但是如果我可以养宠物,我想要一头可以拖椰子的驴。看哪下面这个勤奋的动物,我会以宠物为荣。
(唐·菲利普>想>驴[1])<as <宠物
驴[1] <是<努力工作
那些懂语言的人可能会指出。。。
唐·菲利普(Don Philip)>想>(donkey [1] <as <pet)
毕竟,这种关系并不存在于宠物之下。尽管我确实认识到需要适应不同的关系结构,但上述替代方案实际上会得出相同的答案。
说到努力,我要指出的是,由于神经逻辑是最近才部署的,因此很有可能会发生根本性的变化。我只是分享它的早期发展。我认为这代表了一次值得的交谈。关于这种脚本格式与编码叙述的区别,我想说的是,神经逻辑允许表达本质上是高度quotidian且不太可能被量化的,而编码叙述仍是为解析解释而设计的,例如比较“气味”。数据。” 神经逻辑代码并不一定要发展到那个水平。当然,应用程序中肯定存在一些潜在的重叠。编纂叙事由叙事本身构成。神经逻辑代码由关系构成在故事中,故事情节本身可能无法很好地表达出来。为了专注于元素之间的关系,故事情节可能会变得相当扭曲。因此,主要的区别是事件发生后,编纂的叙事随之发生。关系代码遵循关系的调用。
1