小编Uri*_*ren的帖子

PHP 纯函数

我正在尝试识别纯函数PHP 代码中的。

纯函数是这样一种函数,其中关于函数的以下两个语句都成立:

  • 给定相同的参数值,该函数始终计算相同的结果值。函数结果值不能依赖于随着程序执行的进行或程序的不同执行之间可能发生变化的任何隐藏信息或状态,也不能依赖于来自 I/O 设备的任何外部输入。
  • 结果的评估不会导致任何语义上可观察的副作用或输出,例如可变对象的突变或输出到 I/O 设备。

(来自维基百科的定义

一个 PHP 函数是纯函数是否足够当且仅当

  • 它的所有参数都是按值传递的(没有 &参数列表中)
  • 它不使用对象成员(没有 $this在函数体中)
  • 它不使用全局变量(它不包含 global在函数体中)
  • 它不使用超全局变量(它不包含$_变量)

这些说法是真的吗?我是否缺少任何用例?

php purely-functional

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

为什么Scala需要def语句?

我是scala的新手,但我有javascript的背景.

虽然我看到需要分开valvar(可变和不可变),但我不明白为什么def应该需要这个陈述.

如果函数是真正的一等公民,就像在javascript中一样,为什么要声明它们def而不是声明val

该设计决策是基于JVM相关的约束,还是存在一些我无法理解的基础逻辑?

javascript scala immutability

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

从免费文本中提取杂货清单

我正在寻找一个python库/算法/纸张从自由文本中提取杂货列表.

例如:

"一份沙拉和两瓶啤酒"

应转换为:

{'salad':1, 'beer': 2}
Run Code Online (Sandbox Code Playgroud)

python nlp nltk

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

Python difflib的比率,quick_ratio和real_quick_ratio

我一直在使用difflibSequenceMatcher

而且我发现该ratio功能太慢了。通过阅读文档,我发现quick_ratioreal_quick_ratio那应该是更快(顾名思义),并作为上限。

但是,文档缺少对它们所做的假设或所提供的加速的描述。

我什么时候应该使用任何一个版本,我应该牺牲什么?

python diff

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

“您必须指定 input_ids 或 input_embeds”,但我确实指定了 input_ids

我训练了一个基于 BERT 的编码器解码器模型 ( EncoderDecoderModel),ed_model并以 HuggingFace 的 Transformers 模块命名。

我用的BertTokenizer是命名为input_tokenizer

我用以下方法标记了输入:

txt = "Some wonderful sentence to encode"
inputs = input_tokenizer(txt, return_tensors="pt").to(device)
print(inputs)
Run Code Online (Sandbox Code Playgroud)

输出清楚地表明 ainput_ids是返回字典


{'input_ids': tensor([[ 101, 5660, 7975, 2127, 2053, 2936, 5061,  102]], device='cuda:0'), 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0')}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试预测时,我收到此错误: ed_model.forward(**inputs)

ValueError:您必须指定 input_ids 或 input_embeds

有任何想法吗 ?

bert-language-model huggingface-transformers

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

Excel就像熊猫的公式一样

我有DataFrame这种格式的熊猫

User_id|2014-01|2014-02|2014-03|2014-04|2014-05|...|2014-12
1      |   7   | NaN   | NaN   | NaN   | NaN   |...|  NaN
2      | NaN   |   5   | NaN   | NaN   |   9   |...|  NaN
3      |   2   |   4   | NaN   | NaN   | NaN   |...|  NaN
Run Code Online (Sandbox Code Playgroud)

换句话说,列是月,索引是user_id,每个单元格包含一个整数,或NaN

这些数字表示已采取的行动,如果行动3数月后仍被视为成功,则不需要采取其他行动.

我的目标是找到成功的行动清单

在Excel中,我会写一个这样的公式:

Sheet2!E5=AND(Sheet1!E5<>"NaN",Sheet1!D5="NaN",Sheet1!C5="NaN",Sheet1!B5="NaN")
Run Code Online (Sandbox Code Playgroud)

并将它拖到其余的列,然后我会指示一个动作是否成功.

如何用熊猫高效地完成这项工作?

样本输出:

对于上面给出的示例,所需的输出应为:

User_id|2014-01|2014-02|2014-03|2014-04|2014-05|
1      |   T   |   F   |   F   |   F   |   F   |
2      |   F   |   F   |   F   |   F   | …
Run Code Online (Sandbox Code Playgroud)

python excel pandas

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

如何在VBA中更改系列名称

我有一系列使用VBA创建的图表(下面的代码).

我无法将系列名称从系列1和系列2更改为当前状态和解决方案状态.

我一直在接受

未设置对象变量或块变量

错误.

但是没有srs1srs2代码,图表工作得很好(只是错误的系列名称).

我查了解如何解决这个问题,但我收到的答案并不适用于我.
有谁知道另一种方法吗?

Sub MA()
    Dim Srs1 As Series
    Dim Srs2 As Series
    Dim i  As Integer
    Dim MAChart As Chart
    Dim f As Integer
    f = 2 * Cells(2, 14)
     For i = 1 To f Step 2
        Set MAChart = ActiveSheet.Shapes.AddChart(Left:=750, Width:=400, Top:=130 + 50 * (i - 1), Height:=100).Chart
         With MAChart
         .PlotBy = xlRows
         .ChartType = xlColumnClustered
         .SetSourceData Source:=ActiveSheet.Range("Q" & 1 + i & ":Z" & 2 + …
Run Code Online (Sandbox Code Playgroud)

excel charts vba series excel-vba

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

Spark join 总是卡在同一个任务上,我该如何调试?

我用来pyspark运行这种类型的连接:

rdd1=sc.textFile(hdfs_dir1).map(lambda row: (getKey1(row),getData1(row)))
rdd2=sc.textFile(hdfs_dir2).map(lambda row: (getKey2(row),getData2(row)))
result=rdd1.join(rdd2).collect()
Run Code Online (Sandbox Code Playgroud)

该作业执行第一个300任务的速度非常快(每个任务大约几秒),并在到达任务时挂起301/308,即使我让它运行几天。

我尝试运行pysparkshell,结果始终相同。

可能是什么原因?我该如何调试它?

apache-spark pyspark

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

在python中识别纯函数

我有一个装饰器@pure,将其注册为纯函数,例如:

@pure
def rectangle_area(a,b):
    return a*b


@pure
def triangle_area(a,b,c):
    return ((a+(b+c))(c-(a-b))(c+(a-b))(a+(b-c)))**0.5/4
Run Code Online (Sandbox Code Playgroud)

接下来,我要确定一个新定义的纯函数

def house_area(a,b,c):
    return rectangle_area(a,b) + triangle_area(a,b,c)
Run Code Online (Sandbox Code Playgroud)

显然house_area是纯函数,因为它仅调用纯函数。

如何自动发现所有纯函数(也许使用ast

python abstract-syntax-tree purely-functional

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

识别句子的主语

我一直在探索 NLP 技术,目的是确定调查评论的主题(然后将其与情感分析结合使用)。我想要发表高水平的声明,例如“10% 的调查受访者对客户经理做出了积极评价(+情绪)”。

\n\n

我的方法使用了命名实体识别(NER)。现在,我正在处理真实的数据,我开始了解与识别句子主语相关的一些复杂性和细微差别。以下是主语为客户经理的 5 个句子示例。出于演示目的,我已将命名实体以粗体显示。

\n\n
    \n
  1. 我们的客户经理很棒,他总是加倍努力!
  2. \n
  3. 我们的客户经理史蒂夫很棒,他总是加倍努力!
  4. \n
  5. 我们的客户关系经理史蒂夫很棒,他总是加倍努力!
  6. \n
  7. 史蒂文很棒,他总是加倍努力!
  8. \n
  9. 史蒂夫史密斯很棒,他总是加倍努力!
  10. \n
  11. 我们的业务经理。太棒了,他总是加倍努力!
  12. \n
\n\n

我发现三个挑战增加了我的任务的复杂性

\n\n
    \n
  1. 同义词:客户经理、客户关系经理、业务经理。这在某种程度上是特定领域的,并且往往会随着调查目标受众的不同而变化。
  2. \n
  3. 缩写:Mgr。对阵经理
  4. \n
  5. 歧义 - \xe2\x80\x9cSteven\xe2\x80\x9d 是否为 \xe2\x80\x9cSteve Smith\xe2\x80\x9d & 因此是\n\xe2\x80\x9caccount manager\xe2\x80\x9d。
  6. \n
\n\n

其中同义词问题是最常见的问题,其次是歧义问题。根据我所看到的,缩写问题在我的数据中并不常见。

\n\n

是否有任何 NLP 技术可以帮助以相对较高的置信度处理这些问题?

\n

python nlp text-analysis

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