小编Bra*_*roy的帖子

在 Prolog 的追加操作中使用差异列表有什么缺点?

这是有关差异列表的问题的后续问题。

一般append/3或conc/3的写法如下:

append([], L, L).
append([H1|T1], L2, [H1|L3]):-
    append(T1, L2, L3).
Run Code Online (Sandbox Code Playgroud)

这种递归的缺点是,当将长列表作为第一个参数时,它不能有效运行,因为在开始实际附加之前需要处理整个列表。

为了提高效率,我们可以使用不同的列表,只需要变量实例化,不需要递归来追加列表。

append_d(A1-Z1, Z1-Z2, A1-Z2).
Run Code Online (Sandbox Code Playgroud)

问题是,无论我在哪里寻找append/3谓词的定义,都会使用前者,而不是所谓的更有效的替代方案。这是为什么?使用差异列表有什么缺点?它们不能证明效率的提高是合理的吗?

recursion performance list prolog

2
推荐指数
1
解决办法
449
查看次数

获取列表升序的索引

我知道这个问题已经问了一百次了,但答案似乎总是“使用 numpy 的 argsort”。但是,要么我误解了大多数人的要求,要么问题的答案不正确。无论如何,我希望获得列表升序的索引。措辞令人困惑,因此举个例子,给定一个列表,[4, 2, 1, 3]我希望得到一个列表[3, 1, 0, 2]。最小的项目是1,所以它得到索引0,最大的项目是,4所以它得到索引3。在我看来,argsort经常有人建议这样做,但似乎并没有这样做。

from numpy import argsort

l = [4, 2, 1, 3]
print(argsort(l))
# [2, 1, 3, 0]
# Expected [3, 1, 0, 2]
Run Code Online (Sandbox Code Playgroud)

很明显 argsort 正在做其他事情,那么它实际上在做什么,它与预期的行为有何相似之处,以至于它经常(错误地)被建议?而且,更重要的是,我怎样才能获得所需的输出?

python sorting numpy list python-3.x

2
推荐指数
1
解决办法
3062
查看次数

将 nlp.pipe() 与 spaCy 的预分段和预标记化文本结合使用

我正在尝试标记和解析已经分成句子并且已经被标记化的文本。举个例子:

sents = [['I', 'like', 'cookies', '.'], ['Do', 'you', '?']]
Run Code Online (Sandbox Code Playgroud)

处理批量文本的最快方法是.pipe()。但是,我不清楚如何将其与预标记和预分段的文本一起使用。性能是这里的关键。我尝试了以下操作,但这引发了错误

docs = [nlp.tokenizer.tokens_from_list(sentence) for sentence in sents]
nlp.tagger(docs)
nlp.parser(docs)
Run Code Online (Sandbox Code Playgroud)

痕迹:

Traceback (most recent call last):
  File "C:\Python\Python37\Lib\multiprocessing\pool.py", line 121, in worker
    result = (True, func(*args, **kwds))
  File "C:\Python\projects\PreDicT\predicting-wte\build_id_dictionary.py", line 204, in process_batch
    self.nlp.tagger(docs)
  File "pipes.pyx", line 377, in spacy.pipeline.pipes.Tagger.__call__
  File "pipes.pyx", line 396, in spacy.pipeline.pipes.Tagger.predict
  File "C:\Users\bmvroy\.virtualenvs\predicting-wte-YKqW76ba\lib\site-packages\thinc\neural\_classes\model.py", line 169, in __call__
    return self.predict(x)
  File "C:\Users\bmvroy\.virtualenvs\predicting-wte-YKqW76ba\lib\site-packages\thinc\neural\_classes\feed_forward.py", line 40, in predict
    X = layer(X)
  File "C:\Users\bmvroy\.virtualenvs\predicting-wte-YKqW76ba\lib\site-packages\thinc\neural\_classes\model.py", line 169, in …
Run Code Online (Sandbox Code Playgroud)

python nlp tokenize batch-processing spacy

2
推荐指数
1
解决办法
2329
查看次数

如何将"n"定义为任何自然基数变量

所以我一直想做这样的事情,但从来不知道如何使用未定义的自然变量(例如1,2,3,4,5 ...)

我想要这样的东西:

if($("#container").width() == 400*n) {
  //do something
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,n可以是任何自然基数(并且优选地不是零).你怎么定义n

javascript variables jquery numbers

1
推荐指数
1
解决办法
203
查看次数

CSS3过渡与锚点

我不能让这个锚转换工作!请告诉我你的想法.

这是CSS

a.transition {
    -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}
Run Code Online (Sandbox Code Playgroud)

这是HTML

<h1 id="intro">Let's Build Something... </h1>
<h1 id="intro2"><a class="transition" href="#create">Together</a>.</h1>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>

<p><a name="create" class="transition">My name is Geoff Phillips, and I'm an innovator. What can I create for you?<a/></p>
Run Code Online (Sandbox Code Playgroud)

html anchor transition css3

1
推荐指数
1
解决办法
1万
查看次数

if语句中的OR和AND组合

我有这个选择器:

$('ul:not(.sub-menu) > li, ul.sub-menu > li:last-child').not(':has(ul.sub-menu)');

获得这些元素:

  1. li父母不是的 每个直系后裔.sub-menu(除非是最后一个,参见2).
  2. 每个最后的li元素 ul.sub-menu
  3. 排除li作为父母的所有人ul.sub-menu

现在,我想在if语句中使用它,它在hover-function中.换句话说,它必须是相对于列表项目,而不是作为列表项.

像这样的东西:

$("nav li").hover(function () {
  var $this = $(this); 
  if (($this.parent("ul:not(.sub-menu)") || ($this.parent("ul.sub-menu") && $this.is(":last-child"))) && $this.not(":has(ul.sub-menu)")) {
     // do something
  }
});
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我认为它与在if语句中组合OR和AND选择器有关,但我似乎无法调试它:上面的代码选择所有列表项而没有区别.

jquery if-statement jquery-selectors

1
推荐指数
1
解决办法
104
查看次数

如何按特定顺序对 get_terms() 结果进行排序

我正在通过分配给变量的 get_terms() 的结果填充无序列表。我想做的是在无序列表中按特定顺序对结果进行排序。我该怎么做?我研究了 get_terms() 函数的 orderby 参数,但似乎没有一个参数能按照我需要的方式工作。如何定义它们的显示顺序?所以基本上我的无序列表在填充后看起来像这样:

  • 田径运动
  • 社区
  • 公司的
  • 卫生保健
  • 高等教育
  • k-12
我希望它看起来像这样:
  • k-12
  • 高等教育
  • 卫生保健
  • 田径运动
  • 公司的
  • 社区

arrays sorting wordpress

1
推荐指数
1
解决办法
6915
查看次数

为什么我的 Python 脚本比它的 R 等价物慢得多?

注意:这个问题涵盖了为什么脚本这么慢。但是,如果您更喜欢改进某些东西,可以查看我在 CodeReview 上的帖子,该帖子旨在提高性能

我正在处理一个处理纯文本文件 (.lst) 的项目。

文件名 ( fileName) 的名称很重要,因为我将从它们中提取node(例如abessijn)和component(例如 WR-PEA)到一个数据帧中。例子:

abessijn.WR-P-E-A.lst
A-bom.WR-P-E-A.lst
acroniem.WR-P-E-C.lst
acroniem.WR-P-E-G.lst
adapter.WR-P-E-A.lst
adapter.WR-P-E-C.lst
adapter.WR-P-E-G.lst
Run Code Online (Sandbox Code Playgroud)

每个文件由一行或多行组成。每行由一个句子(在<sentence>标签内)组成。示例(abessijn.WR-PEA.lst)

/home/nobackup/SONAR/COMPACT/WR-P-E-A/WR-P-E-A0000364.data.ids.xml:  <sentence>Vooral mijn abessijn ruikt heerlijk kruidig .. : ) )</sentence>
/home/nobackup/SONAR/COMPACT/WR-P-E-A/WR-P-E-A0000364.data.ids.xml:  <sentence>Mijn abessijn denkt daar heel anders over .. : ) ) Maar mijn kinderen richt ik ook niet af , zit niet in mijn bloed .</sentence>
Run Code Online (Sandbox Code Playgroud)

我从每一行中提取句子,对其进行一些小的修改,然后将其命名为sentence. 接下来是一个名为 的元素leftContext,它采用node(例如 …

python regex r text-analysis bigdata

1
推荐指数
1
解决办法
671
查看次数

JavaScript搞砸了OnChange文件输入

我不明白为什么网络技术如此混乱.我正在努力完成一些非常简单的事情.但发现它有bug.

所以我要做的是在div中加载用户选择的图像.它第一次工作.但是,一旦我选择浏览并选择另一个图像,它就不起作用.这有什么不对?

<input type="file" id="imgUploadButton" class="default" name="picture" onchange="imageUploaded(event);" />
Run Code Online (Sandbox Code Playgroud)

这是Javascript代码

var selectedFile = event.target.files[0];
var reader = new FileReader();
var imgtag = document.getElementById("imageTool");

imgtag.title = selectedFile.name;
reader.onload = function(event) {
    imgtag.src = event.target.result;
 };
 reader.readAsDataURL(selectedFile);
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

1
推荐指数
1
解决办法
344
查看次数

如何在Prolog解释器中使用差异列表

当我把这个问题在一个空列表上作为差异列表时,我想测试我对这些结构的了解.然而,当我尝试一些简单的事情,比如比较不同的符号时,似乎我错了,而且我明白差异列表实际发生了什么.

?- L = [a,b,c|[d,e]]-[d,e], L = [a,b,c].
false % expected true
Run Code Online (Sandbox Code Playgroud)

我在SWI-Prolog和SICStus上测试了这个.我验证了符号,因为它是如何在Bratko的人工智能Prolog编程中编写的,第210页,但显然统一是不可能的.这是为什么?这些符号不具有相同的声明含义吗?

prolog difference-lists

1
推荐指数
1
解决办法
350
查看次数