问题标签 [semantics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
15498 浏览

algorithm - 算法和设计模式有什么区别

我正在搜索“撤消/重做算法”并找到标记为重复的内容,但该副本是对“撤消设计模式”的请求。我真的很想要一个算法。我认为我不一定需要设计模式。

“设计模式”和“算法”之间是否存在根本区别,或者有人可以互换使用两者?

我会挂断我的回答。

好吧,请原谅我认为设计模式只是算法的抽象。这是我从答案中得出的一些发现的小表格,这些结果都非常好。

0 投票
3 回答
1139 浏览

algorithm - 构建或查找“相关术语”建议功能

给定几个单词的输入,我想要一个实用程序,它可以返回一组不同的相关术语、短语或概念。需要注意的是,它需要有一个大的术语图,否则该功能不会很有用。

例如,提交“棒球”将返回

Google Sets是我能找到的此类功能的最佳示例,但我无法使用它,因为它们没有公共 API(而且我不会违反他们的 TOS)。此外,单个单词输入不会获得非常多样化的结果。我正在寻找一个切线的解决方案。

我尝试过的最接近的方法是使用WikiPedia 的 API来搜索类别和反向链接,但没有办法直接按"相关性""流行度"对这些结果进行排序。没有它,建议列表就会很庞大,而且到处都是,这不是立即有用的,而且很难减少。

使用 A Thesaurus 也可以最低限度地工作,但这会遗漏任何专有名词或切线相关的术语(如上面列出的任何结果)。


我很乐意重用一个开放服务,如果存在的话,但我还没有找到足够的东西。

我正在寻找一种方法来实现这一点,要么在内部使用大量起始集,要么重用提供此功能的免费服务。

有解决办法吗? 提前谢谢!


更新: 感谢您提供令人难以置信的密集和信息丰富的答案。我将在 6 到 12 个月内选择一个成功的答案,届时我希望能理解你们所有人的建议 =)

0 投票
3 回答
346 浏览

rest - 数据的语义是 REST 的组成部分吗?

这是对要求解释 REST的问题的跟进。

正如您从对我的回答的评论中看到的那样,我们与达雷尔·米勒( Darrel Miller)就资源的最佳媒体表现进行了小争论。我们进行了进一步的电子邮件讨论,导致了这个问题。

Darrel 和我对 REST 的理解的主要区别在于数据的语义是否是 REST API 的一部分。

Darrel 相信(我对他的话的解释 :-))数据的语义是 REST API 的重要组成部分,因此,选择的媒体表示应该反映它。因此,一个合适的 REST API 应该选择:

  • 像 ATOM 这样的知名媒体来表示数据,以便尽可能多的客户端可以原生地理解资源的语义;
  • 特定于应用程序的媒体类型,例如 application/vdn.mycomany.mymedia 并希望客户端了解此媒体类型以便能够使用资源数据。application/xml 不是一个很好的资源表示,因为它不表示媒体类型中的语义,但需要客户端更多地了解语义。

另一方面,我认为 REST API 是与实际数据表示不同的层。API 暴露的媒体类型只是一个传递资源数据的容器。数据的实际语义是分开处理的。因此,不理解数据的客户端仍然可以使用 REST API。Application/xml 是一种非常好的数据表示,因为它允许理解架构的客户端紧密耦合,但仍然允许不理解架构的客户端对资源进行一些基本处理。

因此,问题是:REST API 的数据语义部分吗?我们是否应该只选择媒体类型来表示实际也表示数据语义的资源表示?

如果人们在他们的答案中发布一些引文,最好是来自罗伊人本人,我会很感激。:-)

0 投票
4 回答
1962 浏览

ruby-on-rails - 如何在 Ruby on Rails 中实现语义本体?

我正在开发一个“twitter 过滤器”——更多地学习 ruby​​ on rails 而不是其他任何东西。这个想法是我使用语义本体来查找用户的兴趣。因此,如果用户说他们对“体育”感兴趣,这意味着标记任何讨论“体育”“高尔夫”“足球”等的推文。

不过,我希望能够将其扩展到任何层次的主题。因此,如果您对欧洲感兴趣,请标记欧洲的所有国家。

自然这是相当复杂的,所以也许我们会将其限制为一两个“级别”的查找......

我怎样才能有效地做到这一点?我非常熟悉 Java、C 和 Ruby,并且在 MySQL 方面做了很多工作。

0 投票
2 回答
5397 浏览

nlp - 查找与特定单词相关的单词(特别是物理对象)

我正在尝试查找与单个单词相关的单词(特别是物理对象)。例如:

网球:网球拍、网球、网球鞋

斯诺克:斯诺克球杆、斯诺克球、粉笔

国际象棋:棋盘、棋子

书柜:书

我曾尝试使用 WordNet,特别是 meronym 语义关系;但是,这种方法并不一致,如下结果所示:

网球:发球、截击、脚误、设定点、回球、优势

斯诺克没什么

国际象棋:国际象棋移动,棋盘(其自身的meronym关系显示“正方形”和“对角线”)

书柜:搁板

最终将需要对术语进行加权,但现在这并不是一个真正的问题。

有人对如何做到这一点有任何建议吗?


只是更新:最终混合使用了 Jeff 和 StompChicken 的答案。

从 Wikipedia 检索到的信息质量非常好,特别是如何(不出所料)有这么多相关信息(与一些不存在诸如“博客”和“ipod”之类的术语的语料库相比)。

维基百科的结果范围是最好的部分。该软件能够匹配以下术语(为简洁起见,列表被删减):

  • 高尔夫:[球、铁、发球台、球包、球杆]
  • 摄影:[相机,胶卷,照片,艺术,图像]
  • 钓鱼:[鱼,网,钩,陷阱,诱饵,诱饵,竿]

最大的问题是将某些词归类为物理人工制品;默认 WordNet 不是可靠的资源,因为其中不存在许多术语(例如“ipod”,甚至“蹦床”)。

0 投票
3 回答
1105 浏览

widget - “小工具”还是“小工具”?

这个问题是关于语义的。

我有一个客户说,“小部件”一词只应在指代将您自己的内容联合到第三方网站的动态对象时使用。我相信小部件可用于引用站点上的任何自包含动态对象(您自己的或第三方)。但是,我的客户说,如果该对象在您自己的站点上,它就是一个“小工具”。

我不确定是否有官方定义,但我很想知道对这两个术语之间的区别(如果有的话)的共同理解是什么?

0 投票
6 回答
5138 浏览

html - 电视指南列表语义。不是桌子吗?

我需要建立一个基于网络的电视指南列表。

当我开始时,我认为我所需要的只是建立一个表格,因为它是一个表格数据。

但可惜情况并非如此。虽然<th>每 30 分钟一次。演出长度可以从 5 分钟开始。长达几个小时。

我可以用 colspan=6 作弊并制作每一个<th>,所以子单元将是 5 分钟。然后将每个节目的 colspan 玩成时间长度/5(分钟),这就是我的 colspan。

但是(总是有一个但是),现在我所拥有的不是带有表格数据的表格,我所拥有的是某种意大利面条表。

我该怎么办?

0 投票
1 回答
1307 浏览

semantics - 切换耶拿推理机

我有一个 Jena 本体模型 ( OntModel ),我正在以编程方式对其进行修改。该模型最初是使用默认的 ModelFactory 方法创建的,用于创建本体模型(无参数)。问题是,随着程序的运行和模型的更改,默认的 Jena Reasoner 会运行(运行、运行和运行)。这个过程对于我需要的东西来说太慢了,并且会在大型数据集上耗尽内存。

我将程序更改为使用不同的本体模型工厂方法来创建没有推理器的模型。这运行得非常快,并且没有出现我之前看到的内存问题(即使对于非常大的数据集)。这种方法的问题是我只能通过直接使用它的直接类类型来访问数据(我无法使用它的父类访问对象)。

例如,假设我有两个类资源,“花”和“种子”。这些继承自一个共同的父母,“植物材料”。我的程序获取所有“种子”,运行一个名为“grow”的方法,将“种子”对象转换为“花”对象。使用 Reasoner(甚至是 micro Reasoner)时,“grow”方法运行速度太慢并且内存不足。如果我关闭 Reasoner,那么我将无法使用“植物材料”类访问所有“花”和“种子”。

有没有一种首选的方法(一种快乐的媒介)来做到这一点......允许使用它们的超类访问对象,同时又快又不占用内存?

我一直在寻找一种在运行“增长”方法时“关闭推理器”的方法,然后在方法完成后将其转回。这有可能吗?

0 投票
11 回答
2129 浏览

language-agnostic - OO 设计的优势是语义还是封装?

面向对象设计 (OOD) 结合了数据及其方法。据我所知,这实现了两件伟大的事情:它提供了封装(所以我不关心有什么数据,只关心我如何获得我想要的值)和语义(它将数据与名称联系起来,以及它的方法始终如一地使用数据)。

那么OOD的实力在哪里呢?相比之下,函数式编程将丰富性归因于动词而不是名词,因此封装和语义都是由方法而不是数据结构提供的。

我使用的系统处于功能范围的末端,并且一直渴望 OO 的语义和封装。但我可以看到,OO 的封装可能成为对象灵活扩展的障碍。所以目前,我可以将语义视为更大的力量。

还是封装是所有有价值代码的关键?

编辑:我的意思是这里提供的封装 OO 的类型。changeColor(door,blue)变成door.changeColor(blue).

0 投票
10 回答
66041 浏览

ajax - Ajax 中的 GET 与 POST

Ajax请求的GETPOST有什么区别?

我看不出这两者之间有什么区别,除了当我使用GET时,参数是在 URL 中发送的,这对我来说并没有什么区别,因为所有请求都是在后台发出的,而用户没有找到任何不同之处。

编辑:什么是PUTDELETE方法用于?