def get_adhoc_tokens(request): sentence = request.GET.get('sentence') module = request.GET.get('module') if not (sentence and module): raise APIException("Please provide a 'sentence', 'module' and optional 'codebook' parameter") saf = get_adhoc_result(module, sentence) serializer = ArticleLemmataSerializer() data = list(serializer.get_xtas_results(None, saf)) return Response(data)
def get_adhoc_tokens(request): sentence = request.GET.get('sentence') module = request.GET.get('module') if not (sentence and module): raise APIException( "Please provide a 'sentence', 'module' and optional 'codebook' parameter" ) saf = get_adhoc_result(module, sentence) serializer = ArticleLemmataSerializer() data = list(serializer.get_xtas_results(None, saf)) return Response(data)
def form_valid(self, form): from saf.saf import SAF from saf.clause import match_codes # Get parse sent = form.cleaned_data['sentence'] parse = get_adhoc_result('clauses_en', sent) saf = SAF(parse) tokens = saf._tokens # add codebook if 'codebook' in self.request.GET: codebook = Codebook.objects.get( pk=int(self.request.GET['codebook'])) saf.saf['codes'] = list(match_codes(saf, codebook)) # get tokens and clauses tokens = saf.resolve() clauses = list(saf.get_reduced_clauses()) # add frames for clause in clauses: add_frames(saf, clause) # provide list of all codes codes = set(flatten(t.get('codes', []) for t in tokens)) # resolve all places in the clauses for clause in clauses: for place in ['source', 'subject', 'predicate']: clause[place] = saf.resolve(clause[place]) print clauses # make tree from saf import visualize tree = visualize.get_png_bytes(saf) ctx = dict(form=form, clauses=clauses, tokens=tokens, saf=json.dumps(saf.saf, indent=2), codes=codes, tree=tree) return self.render_to_response(self.get_context_data(**ctx))
def form_valid(self, form): from saf.saf import SAF from saf.clause import match_codes # Get parse sent = form.cleaned_data['sentence'] parse = get_adhoc_result('clauses_en', sent) saf = SAF(parse) tokens = saf._tokens # add codebook if 'codebook' in self.request.GET: codebook = Codebook.objects.get(pk=int(self.request.GET['codebook'])) saf.saf['codes'] = list(match_codes(saf, codebook)) # get tokens and clauses tokens = saf.resolve() clauses = list(saf.get_reduced_clauses()) # add frames for clause in clauses: add_frames(saf, clause) # provide list of all codes codes = set(flatten(t.get('codes', []) for t in tokens)) # resolve all places in the clauses for clause in clauses: for place in ['source', 'subject', 'predicate']: clause[place] = saf.resolve(clause[place]) print clauses # make tree from saf import visualize tree = visualize.get_png_bytes(saf) ctx = dict(form=form, clauses=clauses, tokens=tokens, saf=json.dumps(saf.saf, indent=2), codes=codes, tree=tree) return self.render_to_response(self.get_context_data(**ctx))