https://www.toptal.com/machine-learning/structured-data-tree-kernels
In [1]:
s1 = "abba ist"
s2 = "abbas christlich oder abbationalist?"
In [2]:
def unique_substrings(string):
"""Return a set of all unique substrings of a given string.
The result DOES NOT include the empty string.
"""
str_len = len(string)
return {string[i:j+1] for i in range(str_len) for j in range(i, str_len)}
In [3]:
from collections import Counter
def substring_counts(string):
"""Find all substrings in the given string. Return a dict mapping
from substrings to the number of their occurrences in the string.
"""
counts = Counter()
str_len = len(string)
for i in range(str_len):
for j in range(i, str_len):
counts[string[i:j+1]] += 1
return counts
In [4]:
def all_common_substrings(s1, s2):
"""Returns a set of all substrings (incl. overlapping substrings)
that occur in both input strings.
"""
shortest_string = s1 if len(s1) <= len(s2) else s2
min_len = len(shortest_string)
substrings = unique_substrings(shortest_string)
return {sub for sub in substrings if sub in s1 and sub in s2}
In [5]:
def common_substrings_with_counts(s1, s2):
"""Return three things:
- a set of all substrings occuring in both input strings
- dict mapping from substrings in s1 to the number of their occurrences
- dict mapping from substrings in s2 to the number of their occurrences
"""
shortest_string = s1 if len(s1) <= len(s2) else s2
min_len = len(shortest_string)
s1_counts = substring_counts(s1)
s2_counts = substring_counts(s2)
return set(s1_counts).intersection(set(s2_counts)), s1_counts, s2_counts
In [6]:
common_subs, s1_counts, s2_counts = common_substrings_with_counts(s1, s2)
In [7]:
def string_kernel(s1, s2):
common_subs, s1_counts, s2_counts = common_substrings_with_counts(s1, s2)
return sum(s1_counts[common_sub] * s2_counts[common_sub]
for common_sub in common_subs)
In [8]:
from nltk.tree import ParentedTree
In [9]:
ptree = ParentedTree.fromstring('(VP (VERB saw) (NP (DET the) (NOUN dog)))')
In [10]:
print(ptree)
(VP (VERB saw) (NP (DET the) (NOUN dog)))
In [11]:
for n in ptree:
print(type(n), n)
(<class 'nltk.tree.ParentedTree'>, ParentedTree('VERB', ['saw']))
(<class 'nltk.tree.ParentedTree'>, ParentedTree('NP', [ParentedTree('DET', ['the']), ParentedTree('NOUN', ['dog'])]))
In [12]:
ptree.label()
Out[12]:
'VP'
In [13]:
ptree.treeposition()
Out[13]:
()
In [14]:
for st in ptree.subtrees():
print st
(VP (VERB saw) (NP (DET the) (NOUN dog)))
(VERB saw)
(NP (DET the) (NOUN dog))
(DET the)
(NOUN dog)
In [15]:
print type(ptree[0][0])
<type 'str'>
In [16]:
ptree.leaves()
Out[16]:
['saw', 'the', 'dog']
In [17]:
import discoursegraphs as dg
import os
%load_ext gvmagic
dis_file = os.path.join(dg.DATA_ROOT_DIR, 'rst-example1.dis')
ddg = dg.read_dis(dis_file)
In [18]:
%dotstr dg.print_dot(ddg)
In [19]:
ddg.dis_tree
Out[19]:
In [20]:
import nltk
In [21]:
nltk.__version__
Out[21]:
'3.2.5'
In [ ]:
In [22]:
ddg.dis_tree._repr_png_()
Out[22]:
u'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'
In [23]:
%dotstr dg.print_dot(dg.read_dis("/home/arne/corpora/rst_discourse_treebank/data/RSTtrees-WSJ-double-1.0/wsj_1114.out.dis", tokenize=False))
In [24]:
%dotstr dg.print_dot(dg.read_dis("/home/arne/corpora/rst_discourse_treebank/data/RSTtrees-WSJ-double-1.0/wsj_0633.out.dis", tokenize=False))
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
<ipython-input-24-68dda545ec1e> in <module>()
----> 1 get_ipython().magic(u'dotstr dg.print_dot(dg.read_dis("/home/arne/corpora/rst_discourse_treebank/data/RSTtrees-WSJ-double-1.0/wsj_0633.out.dis", tokenize=False))')
/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc in magic(self, arg_s)
2156 magic_name, _, magic_arg_s = arg_s.partition(' ')
2157 magic_name = magic_name.lstrip(prefilter.ESC_MAGIC)
-> 2158 return self.run_line_magic(magic_name, magic_arg_s)
2159
2160 #-------------------------------------------------------------------------
/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc in run_line_magic(self, magic_name, line)
2077 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
2078 with self.builtin_trap:
-> 2079 result = fn(*args,**kwargs)
2080 return result
2081
<decorator-gen-357> in dotstr(self, line)
/usr/local/lib/python2.7/dist-packages/IPython/core/magic.pyc in <lambda>(f, *a, **k)
186 # but it's overkill for just that one bit of state.
187 def magic_deco(arg):
--> 188 call = lambda f, *a, **k: f(*a, **k)
189
190 if callable(arg):
/usr/local/lib/python2.7/dist-packages/gvmagic.pyc in dotstr(self, line)
51 @line_magic
52 def dotstr(self, line):
---> 53 self._from_str(line, 'dot')
54
55 @line_magic
/usr/local/lib/python2.7/dist-packages/gvmagic.pyc in _from_str(self, line, layout_engine)
151
152 def _from_str(self, line, layout_engine):
--> 153 s = self.shell.ev(line)
154 data = run_graphviz(s, layout_engine)
155 if data:
/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc in ev(self, expr)
2427 """
2428 with self.builtin_trap:
-> 2429 return eval(expr, self.user_global_ns, self.user_ns)
2430
2431 def safe_execfile(self, fname, *where, **kw):
<string> in <module>()
/usr/local/lib/python2.7/dist-packages/discoursegraphs-0.3.2-py2.7.egg/discoursegraphs/readwrite/rst/dis.pyc in __init__(self, dis_filepath, name, namespace, tokenize, precedence)
76 self.tokens = []
77 self.dis_tree = self.disfile2tree(dis_filepath)
---> 78 self.parse_dis_tree(self.dis_tree)
79
80 if precedence:
/usr/local/lib/python2.7/dist-packages/discoursegraphs-0.3.2-py2.7.egg/discoursegraphs/readwrite/rst/dis.pyc in parse_dis_tree(self, dis_tree, indent)
110 edge_type=EdgeTypes.dominance_relation)
111
--> 112 self.parse_dis_tree(child, indent=indent+1)
113
114 else: # tree_type in ('Nucleus', 'Satellite')
/usr/local/lib/python2.7/dist-packages/discoursegraphs-0.3.2-py2.7.egg/discoursegraphs/readwrite/rst/dis.pyc in parse_dis_tree(self, dis_tree, indent)
175
176 for child in children:
--> 177 self.parse_dis_tree(child, indent=indent+1)
178
179 def get_child_types(self, children):
/usr/local/lib/python2.7/dist-packages/discoursegraphs-0.3.2-py2.7.egg/discoursegraphs/readwrite/rst/dis.pyc in parse_dis_tree(self, dis_tree, indent)
157 else:
158 assert tree_type == 'Satellite'
--> 159 raise NotImplementedError("I don't know how to combine two satellites")
160
161 elif len(child_types['Satellite']) == 1 and len(child_types['Nucleus']) == 1:
NotImplementedError: I don't know how to combine two satellites
In [ ]:
Content source: arne-cl/alt-mulig
Similar notebooks: