grewpy package

Submodules

grewpy.corpus module

Grew module : anything you want to talk about graphs Graphs are represented either by a dict (called dict-graph), or by an str (str-graph).

class grewpy.corpus.AbstractCorpus[source]

Bases: object

edge_diff(other, edge_criterion=<function AbstractCorpus.<lambda>>)[source]

given two corpora, outputs the number of common edges, only left ones and only right ones. It also outputs precision, recall and f-measure.

edge_diff_up_to(other, edge_transform=<function AbstractCorpus.<lambda>>)[source]
class grewpy.corpus.Corpus(data)[source]

Bases: AbstractCorpus

apply(Grs, strat='main')[source]
clean()[source]

clean the corpus (remove from the backend memory)

count(request, clustering_parameter=[], clustering_keys=[], flat=False)[source]

Count for [request] into [corpus_index] :param request: a string request :param corpus_index: an integer given by the [corpus] function :return: the number of matching of [request] into the corpus

count_feature_values(include=None, exclude=['xpos', 'wordform', 'textform', 'SpaceAfter'])[source]

return a dict with feature names as key and subdict a value for each feature name, the subdict maps existing feature values with the number of occurrences if include is set as a list of string, only feature names in the list are taken into account else exclude defines the list of feature names in the list whihc are not taken into account

get(sent_id)[source]

return a graph corresponding to the sentence id sent_id

get_all()[source]

return a dictionary mapping sentence ids to graphs

get_id()[source]

return the id of the corpus

get_sent_ids()[source]

return the list of sentence ids

run(Grs, strat='main')[source]
search(request, clustering_parameter=[], clustering_keys=[], flat=None, deco=False, bound=None, timeout=None)[source]

Search for [request] into [corpus_index]

Parameters: request (Request): a request corpus_index: an integer given by the [corpus] function

Returns: list: the list of matching of [request] into the corpus

to_conll()[source]

return a CoNLL string for the current corpus

class grewpy.corpus.CorpusDraft(data=None)[source]

Bases: AbstractCorpus, dict

the draft is composed of
  • self, a dict mapping sentence_id to graphs

  • self._sent_ids, a list that specifies the sentence order

apply(fun)[source]

Apply fun to all graphs, return the new Corpus

to_conll()[source]

grewpy.graph module

Grew module: anything you want to talk about graphs

class grewpy.graph.Fs_edge(data)[source]

Bases: dict

compact()[source]

sud style

static parse(s)[source]

convert a string into a dictionary to be used by the constructor. 2 cases:

  • s is a dict like string f=v,g=w…

  • s in a compact string, like “comp:aux@tense/m”

return GrewError on ill formed input like “f=v,x”

class grewpy.graph.Graph(data=None, **kwargs)[source]

Bases: object

a dict mapping node keys to feature structure

with extra data:
  • an extra dict sucs mapping node keys to successors (pair of edge feature,node key)

  • the list order containing nodes linearly ordered

  • and the `meta`(data) as a dict

Param data: either
  • None: return an empty graph

  • a json formatted string

  • a file name containing a json/conll

  • a Graph: return a copy of the graph

  • or named arguments: features, sucs, meta and order

apply(Grs, strat='main')[source]
edge(n, m)[source]

given node n and m return the “first” label of an edge between n and m if it exists

edge_diff(other, edge_criterion=<function Graph.<lambda>>) array[source]

edge difference between two graphs

edge_diff_up_to(other, edge_transform=<function Graph.<lambda>>)[source]
edge_up_to(n, m, criterion)[source]
edges(n, m)[source]

given node n and m, return the set of edges between n and m

edges_up_to(n, m, criterion)[source]

search for edges between n and m verifying some criterion

classmethod from_json(data_json)[source]
from_triples(triples)[source]
greater(n, s)[source]

return True if n > s in g

json_data()[source]
lower(n, m)[source]

given node n and m in g: return True if n < m in g

run(Grs, strat='main')[source]
property sucs

successor relation

to_conll()[source]

return a CoNLL string for the given graph

to_dot()[source]

return a CoNLL string for the given graph

to_sentence(deco=None)[source]

return a SVG code for the given graph

to_svg(deco=None, draw_root=False)[source]

return a SVG code for the given graph

triples()[source]

return the list of edges presented as triples (n,e,s) with n-[e]-> s

grewpy.graph.sud_config = ('1', OrderedDict([('2', ':'), ('deep', '@'), ('type', '/')]))

interfaces

grewpy.grew module

Grew module : anything you want to talk about graph rewriting systems Graphs are represented by dictionaries (nodes, edges, meta informations) GRS can be build via files, explicit constructions or even strings. See doc of GREW

exception grewpy.grew.GrewError(message)[source]

Bases: Exception

A wrapper for grew-related errors

grewpy.grew.request_counter()[source]
grewpy.grew.set_config(data)[source]

Change the configuration used in the next exchanges See https://grew.fr/doc/graph/#edges for details about config

grewpy.grs module

class grewpy.grs.Add_edge(X, e, Y)[source]

Bases: Command

safe()[source]

return a clause list for a safe request

class grewpy.grs.Command(s)[source]

Bases: object

json_data()[source]
safe()[source]

return a clause list for a safe request

class grewpy.grs.Commands(*L)[source]

Bases: list

classmethod from_json(json_data)[source]
json_data()[source]
class grewpy.grs.Delete_edge(X, e, Y)[source]

Bases: Command

safe()[source]

return a clause list for a safe request

class grewpy.grs.Delete_feature(X, f)[source]

Bases: Command

class grewpy.grs.GRS(args)[source]

Bases: object

An abstract GRS. Offers the possibility to apply rewriting. The object is abstract and cannot be changed. For that, use a GRSDraft

UD2bUD = <grewpy.grs.GRS object>
apply(data, strat='main', abstract=True)[source]

run a Grs on a graph or corpus :param grs_data: a graph rewriting system or a Grew string representation of a grs :param G: the graph, either a str (in grew format) or a dict :param strat: the strategy (by default “main”) :return: the rewritten graph and an error if there is not exaclty one output graph

json()[source]
run(data, strat='main')[source]

run a Grs on a graph :param data: a graph or an AbstractCorpus :param strat: the strategy (by default “main”) :return: a dictionary mapping sid to the list of rewritten graphs

class grewpy.grs.GRSDraft(args=None)[source]

Bases: Package

A GRSDraft is a structure that gives access to the internals of a Graph Rewriting System: packages, rules, patterns, strategies, etc It cannot be used to perform rewriting, for that, use a GRS

onf(strat_name='main')[source]
rules()[source]
safe_rules()[source]

create a new grs with application of safe to each rule. self.rules() are supposed to contain only Commands of length 1 that support safe method

save(filename)[source]
class grewpy.grs.Package[source]

Bases: dict

dict mapping names to rule/package/strategies

classmethod from_json(json_data)[source]
json_data()[source]
packages()[source]
rules()[source]
strategies()[source]
class grewpy.grs.Request(*L)[source]

Bases: object

lists of ClauseList

append(*L)[source]

Append a new RequestItem to the Request L is given either as a pair (s,t) with “s in {‘pattern’,’without’,’meta’} and t : str or L[0] is a RequestItem

classmethod from_json(json_data)[source]
global_(*L)[source]
json_data()[source]
named_entities()[source]
classmethod parse(string_request)[source]
static parse_request(s: str) List[Tuple[str, str]][source]
pattern(*L)[source]
with_(*L)[source]
without(*L)[source]
class grewpy.grs.RequestItem(sort: str, *L)[source]

Bases: object

classmethod from_json(json_data: Any)[source]
json_data()[source]
class grewpy.grs.Rule(request: Request, cmd_list: Commands, lexicons=None)[source]

Bases: object

classmethod from_json(json_data)[source]
json_data()[source]
grewpy.grs.check(L)[source]
grewpy.grs.constant_UD2bUD(cls)[source]

Module contents

Grew python library All you need to use grew See grew online documentation for global informations