自然语言处理实验

ACM-SE 28 Pub Date : 1990-04-01 DOI:10.1145/98949.99099
S. Murrell, R. Plant
{"title":"自然语言处理实验","authors":"S. Murrell, R. Plant","doi":"10.1145/98949.99099","DOIUrl":null,"url":null,"abstract":"OF WORK IN PROGRESS Recent developments in functional programming techniques have made the field of natural language processing more amenable to experimentation. Conventional programming languages, and the programming methods normally associated with them, which due to their familiarity, seem to be satisfactory for the production of natural language applications, do in fact restrict creativity. Their cumbersome syntax and the inflexibility of their control structures and order of execution make the act of programming, which should be nothing more than the transcription of organised thoughts, into a titanic task. Frequently, coding is harder work than design. Functional programming languages [1] are normally very compact, and have little or no redundancy in their syntax. While this could be dangerous for critical systems, it can speed up prototyping by an order of magnitude. Functional languages also may have a different execution strategy, known as Lazy Evaluation [2J, under which programs take on a non-algorithmic nature, which also simplifies the design process. Experiments have shown that a powerful form of parallel processing may be incorporated into a functional system [3]. The ability to perform computationsconcurrently.withoutbeing concerned with inter-process communications or scheduling, greatly simplifies many tasks that are normally complex (e.g., resolution in logic programming, and searching data-structures). Natural language processing is a very complex domain, which has never been conquered. One of the reasons for this (apart, of course from man’s incomplete knowledge of his languages) has been our inability to perform creative experiments at a reasonable rate. Functional programming systems alleviate this inability. It is the aim of our research to explore in detail the applicability of new and existing functional programming techniques to the areas of parsing and understanding complex grammars, and processing semantic networks in the context of a natural language front end to an intelligent data retrieval system. We have already found that these techniques make a significant contribution to development in some of the major areas. As an example, we can implement the pure reasoning features of Prolog in a 20 line program, which took about one hour to produce and debug. This implementation is very easy to read, and thus makes experimentation with the reasoning methods fast and convenient. Our current investigations are centered on the production of a simple unification of the syntactic and semantic processing involved in the understandingofnaturallanguageinput. Preliminary results from experiments with a non-backtracking parser for ambiguous grammars indicate that positive results may be expected and that the techniques of functional programming may successfully be applied to practical, non-trivial","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"41 3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Experiments in natural language processing\",\"authors\":\"S. Murrell, R. Plant\",\"doi\":\"10.1145/98949.99099\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"OF WORK IN PROGRESS Recent developments in functional programming techniques have made the field of natural language processing more amenable to experimentation. Conventional programming languages, and the programming methods normally associated with them, which due to their familiarity, seem to be satisfactory for the production of natural language applications, do in fact restrict creativity. Their cumbersome syntax and the inflexibility of their control structures and order of execution make the act of programming, which should be nothing more than the transcription of organised thoughts, into a titanic task. Frequently, coding is harder work than design. Functional programming languages [1] are normally very compact, and have little or no redundancy in their syntax. While this could be dangerous for critical systems, it can speed up prototyping by an order of magnitude. Functional languages also may have a different execution strategy, known as Lazy Evaluation [2J, under which programs take on a non-algorithmic nature, which also simplifies the design process. Experiments have shown that a powerful form of parallel processing may be incorporated into a functional system [3]. The ability to perform computationsconcurrently.withoutbeing concerned with inter-process communications or scheduling, greatly simplifies many tasks that are normally complex (e.g., resolution in logic programming, and searching data-structures). Natural language processing is a very complex domain, which has never been conquered. One of the reasons for this (apart, of course from man’s incomplete knowledge of his languages) has been our inability to perform creative experiments at a reasonable rate. Functional programming systems alleviate this inability. It is the aim of our research to explore in detail the applicability of new and existing functional programming techniques to the areas of parsing and understanding complex grammars, and processing semantic networks in the context of a natural language front end to an intelligent data retrieval system. We have already found that these techniques make a significant contribution to development in some of the major areas. As an example, we can implement the pure reasoning features of Prolog in a 20 line program, which took about one hour to produce and debug. This implementation is very easy to read, and thus makes experimentation with the reasoning methods fast and convenient. Our current investigations are centered on the production of a simple unification of the syntactic and semantic processing involved in the understandingofnaturallanguageinput. Preliminary results from experiments with a non-backtracking parser for ambiguous grammars indicate that positive results may be expected and that the techniques of functional programming may successfully be applied to practical, non-trivial\",\"PeriodicalId\":409883,\"journal\":{\"name\":\"ACM-SE 28\",\"volume\":\"41 3 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1990-04-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ACM-SE 28\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/98949.99099\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM-SE 28","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/98949.99099","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

正在进行的工作函数式编程技术的最新发展使自然语言处理领域更易于实验。传统的编程语言,以及通常与之相关的编程方法,由于对它们的熟悉,似乎对自然语言应用程序的生产是满意的,实际上确实限制了创造力。它们繁琐的语法、不灵活的控制结构和执行顺序,使得编程行为变成了一项艰巨的任务,而编程本应只是记录有组织的思想。通常,编码比设计更难。函数式编程语言[1]通常非常紧凑,在语法上很少或没有冗余。虽然这对于关键系统来说可能是危险的,但它可以将原型制作速度提高一个数量级。函数式语言也可能有不同的执行策略,称为惰性求值[2J],在这种策略下,程序具有非算法性质,这也简化了设计过程。实验表明,一种强大的并行处理形式可能被纳入一个功能系统[3]。并行执行计算的能力。在不关心进程间通信或调度的情况下,极大地简化了许多通常复杂的任务(例如,逻辑编程中的解析和搜索数据结构)。自然语言处理是一个非常复杂的领域,从来没有被征服过。造成这种情况的原因之一(当然,除了人类对自己语言的不完全了解之外)是我们无法以合理的速度进行创造性实验。函数式编程系统减轻了这种无能。我们的研究目的是详细探索新的和现有的函数式编程技术在解析和理解复杂语法领域的适用性,以及在智能数据检索系统的自然语言前端环境中处理语义网络。我们已经发现,这些技术对一些主要领域的发展做出了重大贡献。作为一个例子,我们可以在一个20行的程序中实现Prolog的纯推理功能,该程序的生成和调试大约需要一个小时。该实现非常易于阅读,从而使推理方法的实验快速方便。我们目前的研究集中在对自然语言输入的理解所涉及的语法和语义处理的简单统一的产生上。对歧义语法的非回溯解析器进行实验的初步结果表明,可以期望得到积极的结果,并且函数式编程技术可以成功地应用于实际的、非琐碎的语法
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Experiments in natural language processing
OF WORK IN PROGRESS Recent developments in functional programming techniques have made the field of natural language processing more amenable to experimentation. Conventional programming languages, and the programming methods normally associated with them, which due to their familiarity, seem to be satisfactory for the production of natural language applications, do in fact restrict creativity. Their cumbersome syntax and the inflexibility of their control structures and order of execution make the act of programming, which should be nothing more than the transcription of organised thoughts, into a titanic task. Frequently, coding is harder work than design. Functional programming languages [1] are normally very compact, and have little or no redundancy in their syntax. While this could be dangerous for critical systems, it can speed up prototyping by an order of magnitude. Functional languages also may have a different execution strategy, known as Lazy Evaluation [2J, under which programs take on a non-algorithmic nature, which also simplifies the design process. Experiments have shown that a powerful form of parallel processing may be incorporated into a functional system [3]. The ability to perform computationsconcurrently.withoutbeing concerned with inter-process communications or scheduling, greatly simplifies many tasks that are normally complex (e.g., resolution in logic programming, and searching data-structures). Natural language processing is a very complex domain, which has never been conquered. One of the reasons for this (apart, of course from man’s incomplete knowledge of his languages) has been our inability to perform creative experiments at a reasonable rate. Functional programming systems alleviate this inability. It is the aim of our research to explore in detail the applicability of new and existing functional programming techniques to the areas of parsing and understanding complex grammars, and processing semantic networks in the context of a natural language front end to an intelligent data retrieval system. We have already found that these techniques make a significant contribution to development in some of the major areas. As an example, we can implement the pure reasoning features of Prolog in a 20 line program, which took about one hour to produce and debug. This implementation is very easy to read, and thus makes experimentation with the reasoning methods fast and convenient. Our current investigations are centered on the production of a simple unification of the syntactic and semantic processing involved in the understandingofnaturallanguageinput. Preliminary results from experiments with a non-backtracking parser for ambiguous grammars indicate that positive results may be expected and that the techniques of functional programming may successfully be applied to practical, non-trivial
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信