链接:知识有什么用?

Syed S. Ali
{"title":"链接:知识有什么用?","authors":"Syed S. Ali","doi":"10.1145/309697.309701","DOIUrl":null,"url":null,"abstract":"15 What Use Is Knowledge? Intelligence requires knowledge. Knowledge is used to determine behavior and to derive new knowledge from old. In software systems, we can code knowledge implicitly or explicitly. Implicit coding (called procedural knowledge) is knowledge about how to do things. Implicit encodings are typically coded as a set of instructions for performing a task (also known as a software program). Explicit codings (called declarative knowledge) use (usually taskspecific) computerized knowledge with a single program (called a knowledge representation system) that manipulates knowledge to perform services such as deriving new knowledge (called reasoning), planning, and acting. Programmers have been writing code that, quite successfully, automates a wide range of tasks. So, why should software developers consider using declarative knowledge representation in their intelligent software? One important answer lies in the high cost of updating software. When you need to change the behavior of your software, you must change its code. The Year 2000 (Y2K) problem is a clear example of this. By contrast, for software that makes use of a knowledge representation system, changing behavior can be as easy as changing the knowledge (in the case of the Y2K problem, the meaning of the date concept) in the knowledge representation system. Software that uses procedural knowledge is often brittle; that is, it will break if any of the assumptions made when coding the software change. (In the case of Y2K, the assumption was that the software would have long since been replaced by Y2K!) Another advantage of knowledge representation is in knowledge discovery, the discovery of new information from old. For example, you may have a large quantity of data (say a corpus or transaction log) and want to find useful correlations (a simple example of this is Amazon.com’s incitement to spend more money by pointing out that people that bought a book also bought other books). Writing special-purpose software for each type of discovery problem is inefficient and can be avoided by the use of knowledge representation software. Not all tasks require a full knowledge representation system; for those that do, the advantages are significant. Problems wherein the task knowledge of the domain does not change (or changes little) are more efficiently solved with procedural encoding (for example, a payroll system). Problems wherein the task knowledge changes (or is unknown) are candidates for the use of knowledge representation systems. For lots of examples of such problems (and knowledge representation systems) see Peter Clark’s list of knowledge-based projects and groups at http://www.cs.utexas.edu/users/mfkb/ related.html.","PeriodicalId":8272,"journal":{"name":"Appl. Intell.","volume":"8 1","pages":"15-16"},"PeriodicalIF":0.0000,"publicationDate":"1999-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Links: What use is knowledge?\",\"authors\":\"Syed S. Ali\",\"doi\":\"10.1145/309697.309701\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"15 What Use Is Knowledge? Intelligence requires knowledge. Knowledge is used to determine behavior and to derive new knowledge from old. In software systems, we can code knowledge implicitly or explicitly. Implicit coding (called procedural knowledge) is knowledge about how to do things. Implicit encodings are typically coded as a set of instructions for performing a task (also known as a software program). Explicit codings (called declarative knowledge) use (usually taskspecific) computerized knowledge with a single program (called a knowledge representation system) that manipulates knowledge to perform services such as deriving new knowledge (called reasoning), planning, and acting. Programmers have been writing code that, quite successfully, automates a wide range of tasks. So, why should software developers consider using declarative knowledge representation in their intelligent software? One important answer lies in the high cost of updating software. When you need to change the behavior of your software, you must change its code. The Year 2000 (Y2K) problem is a clear example of this. By contrast, for software that makes use of a knowledge representation system, changing behavior can be as easy as changing the knowledge (in the case of the Y2K problem, the meaning of the date concept) in the knowledge representation system. Software that uses procedural knowledge is often brittle; that is, it will break if any of the assumptions made when coding the software change. (In the case of Y2K, the assumption was that the software would have long since been replaced by Y2K!) Another advantage of knowledge representation is in knowledge discovery, the discovery of new information from old. For example, you may have a large quantity of data (say a corpus or transaction log) and want to find useful correlations (a simple example of this is Amazon.com’s incitement to spend more money by pointing out that people that bought a book also bought other books). Writing special-purpose software for each type of discovery problem is inefficient and can be avoided by the use of knowledge representation software. Not all tasks require a full knowledge representation system; for those that do, the advantages are significant. Problems wherein the task knowledge of the domain does not change (or changes little) are more efficiently solved with procedural encoding (for example, a payroll system). Problems wherein the task knowledge changes (or is unknown) are candidates for the use of knowledge representation systems. For lots of examples of such problems (and knowledge representation systems) see Peter Clark’s list of knowledge-based projects and groups at http://www.cs.utexas.edu/users/mfkb/ related.html.\",\"PeriodicalId\":8272,\"journal\":{\"name\":\"Appl. Intell.\",\"volume\":\"8 1\",\"pages\":\"15-16\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1999-07-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Appl. Intell.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/309697.309701\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Appl. Intell.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/309697.309701","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

知识有什么用?智力需要知识。知识用于决定行为,并从旧知识中获得新知识。在软件系统中,我们可以隐式或显式地对知识进行编码。隐式编码(称为过程知识)是关于如何做事的知识。隐式编码通常被编码为执行任务(也称为软件程序)的一组指令。显式编码(称为声明性知识)使用(通常是特定任务的)计算机化知识和单个程序(称为知识表示系统),该程序操纵知识以执行诸如派生新知识(称为推理)、计划和行动等服务。程序员编写的代码已经相当成功地自动化了许多任务。那么,为什么软件开发人员应该考虑在他们的智能软件中使用声明性知识表示呢?一个重要的答案在于软件更新的高成本。当你需要改变软件的行为时,你必须改变它的代码。2000年(Y2K)问题就是一个明显的例子。相比之下,对于使用知识表示系统的软件,更改行为就像更改知识表示系统中的知识(在Y2K问题的情况下,更改日期概念的含义)一样简单。使用程序知识的软件往往是脆弱的;也就是说,如果在编写软件时所做的任何假设发生变化,它将中断。(在千年虫的情况下,假设软件早就被千年虫取代了!)知识表示的另一个优点是知识发现,即从旧信息中发现新信息。例如,您可能有大量的数据(比如语料库或事务日志),并希望找到有用的相关性(一个简单的例子是,亚马逊网站通过指出买了一本书的人也买了其他书,从而刺激人们花更多的钱)。为每种类型的发现问题编写专用软件是低效的,可以通过使用知识表示软件来避免。并不是所有的任务都需要一个完整的知识表示系统;对于那些这样做的人来说,优势是显著的。领域的任务知识没有变化(或变化很小)的问题可以用过程编码更有效地解决(例如,工资系统)。其中任务知识变化(或未知)的问题是使用知识表示系统的候选者。有关此类问题(和知识表示系统)的许多示例,请参阅Peter Clark的基于知识的项目和小组列表http://www.cs.utexas.edu/users/mfkb/ related.html。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Links: What use is knowledge?
15 What Use Is Knowledge? Intelligence requires knowledge. Knowledge is used to determine behavior and to derive new knowledge from old. In software systems, we can code knowledge implicitly or explicitly. Implicit coding (called procedural knowledge) is knowledge about how to do things. Implicit encodings are typically coded as a set of instructions for performing a task (also known as a software program). Explicit codings (called declarative knowledge) use (usually taskspecific) computerized knowledge with a single program (called a knowledge representation system) that manipulates knowledge to perform services such as deriving new knowledge (called reasoning), planning, and acting. Programmers have been writing code that, quite successfully, automates a wide range of tasks. So, why should software developers consider using declarative knowledge representation in their intelligent software? One important answer lies in the high cost of updating software. When you need to change the behavior of your software, you must change its code. The Year 2000 (Y2K) problem is a clear example of this. By contrast, for software that makes use of a knowledge representation system, changing behavior can be as easy as changing the knowledge (in the case of the Y2K problem, the meaning of the date concept) in the knowledge representation system. Software that uses procedural knowledge is often brittle; that is, it will break if any of the assumptions made when coding the software change. (In the case of Y2K, the assumption was that the software would have long since been replaced by Y2K!) Another advantage of knowledge representation is in knowledge discovery, the discovery of new information from old. For example, you may have a large quantity of data (say a corpus or transaction log) and want to find useful correlations (a simple example of this is Amazon.com’s incitement to spend more money by pointing out that people that bought a book also bought other books). Writing special-purpose software for each type of discovery problem is inefficient and can be avoided by the use of knowledge representation software. Not all tasks require a full knowledge representation system; for those that do, the advantages are significant. Problems wherein the task knowledge of the domain does not change (or changes little) are more efficiently solved with procedural encoding (for example, a payroll system). Problems wherein the task knowledge changes (or is unknown) are candidates for the use of knowledge representation systems. For lots of examples of such problems (and knowledge representation systems) see Peter Clark’s list of knowledge-based projects and groups at http://www.cs.utexas.edu/users/mfkb/ related.html.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Object interaction-based surveillance video synopsis Total generalized variational-liked network for image denoising Multi-level clustering based on cluster order constructed with dynamic local density Natural-language processing for computer-supported instruction Is AI abstract and impractical? isn't the answer obvious?
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1