小编Vla*_*ecs的帖子

在SpaCy中使用PhraseMatcher查找多种匹配类型

SpaCy文档和示例显示,PhraseMatcher类可用于匹配文档中的标记序列.必须提供将匹配的序列词汇表.

在我的应用程序中,我的文档是令牌和短语的集合.有不同类型的实体.数据是远程自然语言(文档是具有半随机顺序的关键字集).我想找到多种类型的匹配.

例如:

yellow boots for kids
Run Code Online (Sandbox Code Playgroud)

如何使用SpaCy的PhraseMatches找到颜色(例如黄色),产品类型(例如靴子)和年龄(例如孩子)的匹配?这是一个很好的用例吗?如果不同的实体匹配重叠(例如颜色在颜色列表和材料列表中匹配),是否可以生成所有独特的案例?

我不能真正使用序列标记器,因为数据结构松散且含糊不清.我有一个实体列表(例如颜色,愤怒,产品类型)和相关的值列表.

一个想法是实例化多个PhraseMatcher对象,每个实体一个,分别进行匹配,然后合并结果.每个实体类型都将获得自己的词汇表.这听起来很简单但效率不高,尤其是合并部分.值列表相当大.在走这条路之前,我想知道这是一个好主意,还是有更简单的方法可以用SpaCy做到这一点.

python nlp spacy

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

使numpy ndarray矩阵对称

我有一个70x70 numpy ndarray,主要是对角线.唯一的非对角线值是对角线以下.我想使矩阵对称.

作为Matlab世界的新手,我无法让它在没有循环的情况下工作.在MATLAB中很简单:

W = max(A,A')
Run Code Online (Sandbox Code Playgroud)

A'矩阵转置在哪里,max()函数注意使W矩阵是对称的.

在Python中有没有一种优雅的方式呢?

示例样本A矩阵是:

1 0 0 0
0 2 0 0
1 0 2 0
0 1 0 3
Run Code Online (Sandbox Code Playgroud)

所需的输出矩阵W是:

1 0 1 0
0 2 0 1
1 0 2 0
0 1 0 3
Run Code Online (Sandbox Code Playgroud)

python matlab numpy matrix

7
推荐指数
2
解决办法
7397
查看次数

平铺不同大小的矩形

我正在寻找一些指向算法的指针,这些算法应该允许平铺不重叠不同大小的矩形.

给定一组不同大小的矩形,将它们平铺在大小为H x W且没有重叠的区域上.目标是最大化使用的空间或相反 - 最小化间隙面积.如果没有足够的空间,请继续进行相同大小的第二个区域,依此类推.

假设每个矩形的宽度和高度小于拼接区域的相应尺寸.矩形不会旋转或以其他方式转换 - 即它们的边是水平的或垂直的.

我不是在寻找完成的代码,只是好奇什么方法/算法最适合用来解决这个问题.

algorithm optimization tiling

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

通过多处理获取函数的标准输出

我有一个 Python 函数,它接受一个参数并将许多文本行打印到标准输出。我获取该函数的标准输出并提取相关信息。

对该函数的调用成本非常高,需要几分钟才能完成。为了加快计算速度,我使用 Python 多处理来并行运行该函数。现在的问题是如何区分每个worker的stdout?

跟踪每个工作人员输出到标准输出的最简单方法是什么?我可以将每个工作人员的输出重定向到某个文件描述符,然后读取另一端的每个文件描述符吗?

注意:我无法控制写入标准输出的函数。

python

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

求和矢量中所有唯一的对差异

我有以下问题:给定一个x长度向量n,找到除了向量元素的唯一成对差异的总和.
人们不应该考虑仅仅交换操作数的对,只考虑其中一个(例如,不考虑(x_i - x_j)是否(x_j - x_i)计算).

例如:

v = [4, 2, 1, 5]
Run Code Online (Sandbox Code Playgroud)

总和:(4-2)+(4-1)+(4-5)+(2-1)+(2-5)+(1-5)

使用两个嵌套的for循环很容易做到这一点.我需要在Python中非常有效地计算它,因为每个这样的和然后与非常大和稀疏的矩阵一起使用.我反复处理大小为数万个元素的向量.

有更优雅的方法吗?在R中,可以使用outer函数而不是乘法,使用差分运算符,然后取矩阵的上三对角部分并计算结果矩阵的和.

python

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

小写除xml标记之外的所有文本

我有大量标记字符串:

watch <TEAM>Philly's</TEAM> Game
what's on <TIME>Wednesday night eight o'clock</TIME>
Run Code Online (Sandbox Code Playgroud)

我想小写除XML标记之外的所有文本.即

watch <TEAM>philly's</TEAM> game
what's on <TIME>wednesday night eight o'clock</TIME>
Run Code Online (Sandbox Code Playgroud)

我可以使用awk小写所有文本:

awk '{print tolower($0)}' file.txt
Run Code Online (Sandbox Code Playgroud)

但不知道如何避免XML标签.欢迎任何语言/工具.

xml linux awk sed

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

标签 统计

python ×4

algorithm ×1

awk ×1

linux ×1

matlab ×1

matrix ×1

nlp ×1

numpy ×1

optimization ×1

sed ×1

spacy ×1

tiling ×1

xml ×1