我正在研究Python中的两个NLP项目,它们都有类似的任务来从以下句子中提取值和比较运算符:
"... greater than $10 ... ",
"... weight not more than 200lbs ...",
"... height in 5-7 feets ...",
"... faster than 30 seconds ... "
Run Code Online (Sandbox Code Playgroud)
我看到了两种不同的方法来解决这个问题,一种使用非常复杂的正则表达式,另一种使用NER(以及一些正则表达式).
如何解析这些句子中的值?我认为这是NLP中的常见任务.
期望的输出将是这样的:
输入:
"超过10美元"
输出:
{'value': 10, 'unit': 'dollar', 'relation': 'gt', 'position': 3}
Run Code Online (Sandbox Code Playgroud) 在resources.py我有:
class CategoryResource(ModelResource):
items = fields.ToManyField('ItemResource', 'items', full=True, null=False, readonly=True, related_name='items')
class Meta:
queryset = Category.objects.all().order_by('id')
include_resource_uri = False
always_return_data = True
resource_name = 'category'
Run Code Online (Sandbox Code Playgroud)
6类中约有5000种.当我制作'list'api请求即'api/1.0/category'时,它会对数据库进行大约5000次查询.我该如何优化它?我知道full = False,但它不适合我的需要.
UPD: 我发现了导致如此多查询的原因.我在ItemResource中有'类别'关系,因此tastypie为每个项生成一个选择查询.
class ItemResource(ModelResource):
categories = fields.ToManyField(CategoryResource, 'categories', null=True, readonly=True)
def dehydrate_categories(self, bundle):
categories = Category.objects.filter(owner_id=bundle.request.user.id, items__item=bundle.obj)
return [category.name for category in categories]
Run Code Online (Sandbox Code Playgroud)
当我请求CategoryResource时,显然这是不必要的数据,有没有办法将它从查询中排除?
我试图设置gulp-inject来将依赖项注入index.html.除了转换功能外,一切正常.我需要以下列方式替换部分文件路径:/frontend/src/- > /static/我尝试这样做(从某处复制粘贴):
transform : function ( filePath, file, i, length ) {
var newPath = filePath.replace('/frontend/src', '');
console.log('inject script = '+ newPath);
return '<script src="/static/' + newPath + '"></script>';
}
Run Code Online (Sandbox Code Playgroud)
执行后,我在控制台中没有任何内容(标准gulp输出除外),并且未转换的文件路径出现在结果文件中.看起来我的自定义转换不会运行,而默认转换工作正常.
我正在使用vjs-video AngularJS插件在我的应用中呈现视频.在桌面上,它在ngDialog中显示它们(通过绑定对话框窗口到ng-click of gallery元素)
它工作正常,但在手机上我想在用户点击(点击)图库项目后立即显示原生全屏播放器.我知道如何在Angular应用程序中检测移动和桌面,但下一步该怎么做?现在用户必须点击图库项目然后对话框显示,之后用户应该在对话框中第二次点击video.js播放器然后视频开始在本机播放器中播放,但我想在第一次点击后立即打开本机播放器.
是否存在Django小部件的任何示例,这些小部件对具有"通过"属性的ManyToManyFields有用吗?例如,我有这些模型(从django文档获取源代码):
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=128)
def __str__(self): # __unicode__ on Python 2
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
def __str__(self): # __unicode__ on Python 2
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person, on_delete=models.CASCADE)
group = models.ForeignKey(Group, on_delete=models.CASCADE)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
Run Code Online (Sandbox Code Playgroud)
很明显,标准的ModelMultipleChoiceField在这里不起作用.我需要在添加时填充'date_joined'和'invite_reason'.实现这一目标的最简单方法是什么?
我是小型项目的自由职业者,所有这些都是我独自完成的,没有团队.
我试着使用Git Flow.起初,一切都很好.有功能分支,有意义描述的小提交,合并.
但是这个过程总是以非常大的提交结束,直接到主分支,描述如"大更新","一些更新".
你如何解决?在我的情况下我是否需要Git Flow?
在由BaseUpdateView使用的ModelFormMixin中,方法get_success_url()有url = self.object.get_absolute_url()
,我们不需要success_url = reverse_lazy('blablabla')在视图中写入,而只需get_absolute_url()在模型中确定方法.但DeletionMixin,这是通过使用BaseDeleteView,不这样做,它需要success_url.
为什么?为什么不使这些方法相同?我不得不覆盖get_success_url我的DeleteView,所以它get_absolute_url()现在正在使用,我想要的.
或者我success_url在视图中没有正常工作?基本上,我需要的是反转ForeignKey可访问的模型的URL ,我现在这样做:
model Child (models.Model):
parent = models.ForeignKey (Parent)
def get_absolute_url (self):
return reverse ('parent-detail', kwargs = {'pk': str (self.parent.pk)})
Run Code Online (Sandbox Code Playgroud)
如何做到这一点success_url?我不能self.parent.pk在视图中写
我在 Django 项目中使用https://docs.djangoproject.com/en/1.10/ref/contrib/postgres/search/ 。如何将反向相关模型添加到搜索向量中?
class Container(models.Model):
text = models.TextField()
class Item(models.Model):
container = models.ForeignKey(Container)
text = models.TextField()
Run Code Online (Sandbox Code Playgroud)
我想在Item和Container模型text字段中进行搜索,并返回QuerySet模型Container(如果相关Item包含搜索模式)
django ×4
python ×3
angularjs ×1
django-forms ×1
django-views ×1
git ×1
git-flow ×1
gulp ×1
gulp-inject ×1
javascript ×1
mobile ×1
nlp ×1
nltk ×1
optimization ×1
postgresql ×1
spacy ×1
tastypie ×1
video ×1
video.js ×1
workflow ×1