小编Mat*_*tW.的帖子

读取 spacy 中的文本文件语料库

我看到的使用 spacy 的所有示例都只是在单个文本文件(尺寸很小)中读取。如何将文本文件语料库加载到 spacy 中?

我可以通过腌制语料库中的所有文本来使用 textacy 来做到这一点:

docs =  textacy.io.spacy.read_spacy_docs('E:/spacy/DICKENS/dick.pkl', lang='en')

for doc in docs:
    print(doc)
Run Code Online (Sandbox Code Playgroud)

但我不清楚如何使用这个生成器对象(文档)进行进一步分析。

另外,我宁愿使用 spacy,而不是 textacy。

spacy 也无法读取单个大文件(~ 2000000 个字符)。

任何帮助表示赞赏...

拉维

nlp pipeline generator multiprocessing spacy

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

将验证上下文传递给关联模型

我使用上下文在模型生命周期的不同点调用特定验证:

model Address
    validates :city, presence: true
    validates :street, presence: true, on: :send_letter
end

incomplete_address = Address.new(city: 'Berlin')
incomplete_address.valid? # => true
incomplete_address.valid?(:send_letter) # => false
Run Code Online (Sandbox Code Playgroud)

这对于上面的简单情况来说效果很好。但是,据我所知,任何关联对象的上下文都会被忽略:

model Address
    belongs_to :country
    validates :street, presence: true, on: :send_letter
    validates_associated :country
end

model Country
    has_many :addresses
    validates :iso_alpha_3, presence: true, size: 3, on: :send_letter
end

incomplete_address = Address.new(street: 'Oranienstr', country: Country.new(name: 'Germany', iso_alpha_3: 'Invalid iso code')

incomplete_address.valid? # => true
incomplete_address.valid?(:send_letter) # => true
incomplete_address.country.valid?(:send_letter) => false
Run Code Online (Sandbox Code Playgroud)

问题:这是预期的行为,还是我遇到的错误?或者我犯了概念错误?在这种情况下验证关联模型的最优雅的方法是什么?

validation ruby-on-rails associations

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

Ecto查询字符串字段包含其他字符串

我正在构建一个简单的搜索功能,我想找到字符串字段中包含字符串的所有记录.

这是我尝试过的.

term = "Moby"
MyApp.Book
|> where([p], String.contains?(p, term))
|> order_by(desc: :inserted_at)
Run Code Online (Sandbox Code Playgroud)

这将返回以下书籍:

  • 白鲸记
  • Sandich Moby Lean
  • 我的Mobyand示例

但我得到:

`String.contains?(p, term)` is not a valid query expression
Run Code Online (Sandbox Code Playgroud)

elixir sql-like ecto

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

扩展NSMutableArray以像Java数组一样工作

我正在为iphone制作RPG游戏.我想要做的是有一个库存,只允许您持有特定数量的特定类型的项目.我想这样做我只是扩展NSMutableArray并添加限制.我无法弄清楚这样做的最好方法.这是我头脑中的想法......

Backpack.h

@interface Backpack : NSMutableArray {
  Class * arrayClass;
  NSMutableArray * array;
  int limit;
}

-(id) initWithClass:(Class) type andLimit:(int) num;

@end
Run Code Online (Sandbox Code Playgroud)

Backpack.m

@implementation Backpack

  -(id)initWithClass:(Class) type andLimit:(int) num {

    arrayClass = type;
    limit = num;
    array = [NSMutableArray new];
    return self;

  }

  -(void)insertObject:(id) object atIndex:(int) index {

    if([object isKindOfClass:arrayClass] && index < limit) {
      // Insert it
    } else {
      // Throw Exception
    }

  }

@end
Run Code Online (Sandbox Code Playgroud)

arrays objective-c nsmutablearray

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

如何使用变量访问支柱数据?

我有一个这样的支柱数据集;

vlan_tag_id:
  nginx: 1
  apache: 2
  mp: 3
  redis: 4
Run Code Online (Sandbox Code Playgroud)

在公式sls文件中我这样做;

{% set tag = pillar.get('vlan_tag_id', 'u') %}
Run Code Online (Sandbox Code Playgroud)

所以现在我有一个变量tag,这是一个字典{'apache': 2, 'nginx': 1, 'redis': 4, 'mp': 3}

在运行时,我传递一个支柱数据,app其值将是

1. apache
2. nginx
3. redis
4. mp
Run Code Online (Sandbox Code Playgroud)

因此,如果在运行时我通过,apache我想要一些能让我获得价值的东西2

我不能这样做,{{ salt['pillar.get']('vlan_tag_id:app', '')}}因为app本身就是一个变量.

我尝试了{{salt'pillar.get'}},但它会抛出错误.

我怎样才能做到这一点 ?

jinja2 salt-stack

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