Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion nephosem/core/matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,10 @@ def __init__(self, matrix):

@property
def dataframe(self):
return pd.SparseDataFrame(self.matrix).to_dense()
# return pd.SparseDataFrame(self.matrix).to_dense()
# The code is outdated. Use the following instead.
return pd.DataFrame.sparse.from_spmatrix(self.matrix).sparse.to_dense()


def __getitem__(self, arg):
return self._get_value(arg)
Expand Down
4 changes: 3 additions & 1 deletion nephosem/specutils/mxcalc.py
Original file line number Diff line number Diff line change
Expand Up @@ -506,7 +506,9 @@ def compute_token_weights(tcPositionMTX, twMTX, booleanize = True, tokenFormat='
missing_types = []
tokens = tcPositionMTX.row_items
types = set(twMTX.row_items) # set of target types
tcmx_type = np.bool if booleanize else tcPositionMTX.matrix.dtype
# tcmx_type = np.bool if booleanize else tcPositionMTX.matrix.dtype
# Adding _ to make sure it works with numpy 1.26.4 in Google Colab
tcmx_type = np.bool_ if booleanize else tcPositionMTX.matrix.dtype
bool_tcmx = tcPositionMTX.matrix.astype(tcmx_type, copy=True).toarray()
twmx = twMTX.matrix.toarray() # transform to dense matrix (numpy.ndarray)
resmx = np.zeros(bool_tcmx.shape)
Expand Down
342 changes: 342 additions & 0 deletions nephosem/tests/data/StanfDepSents.templates.graphml.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,342 @@
<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<key id="n1" for="node" attr.name="LEMMA" attr.type="string">
<default>(\w+)</default>
</key>
<key id="n2" for="node" attr.name="POS" attr.type="string">
<default>\w+</default>
</key>
<key id="e1" for="edge" attr.name="DEPREL" attr.type="string"/>
<graph id="1" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubj)$</data>
</edge>
</graph>
<graph id="2" edgedefault="directed">
<node id="1">
<data key="n1">\w+</data>
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<node id="3">
<data key="n2">(JJ)</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubj)$</data>
</edge>
<edge source="1" target="3">
<data key="e1">(acomp)</data>
</edge>
</graph>
<graph id="4" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<node id="3">
<data key="n2">(JJ)</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubj)$</data>
</edge>
<edge source="1" target="3">
<data key="e1">(acomp)</data>
</edge>
</graph>
<graph id="5" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<node id="3">
<data key="n2">(IN)</data>
</node>
<node id="4">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubj)</data>
</edge>
<edge source="1" target="3">
<data key="e1">(prep)</data>
</edge>
<edge source="3" target="4">
<data key="e1">(pobj)</data>
</edge>
</graph>
<graph id="6" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<node id="3">
<data key="n2">(IN)</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubj)</data>
</edge>
<edge source="1" target="3">
<data key="e1">(prep)</data>
</edge>
</graph>
<graph id="7" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(IN)</data>
</node>
<node id="3">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(prep)</data>
</edge>
<edge source="2" target="3">
<data key="e1">(pobj)</data>
</edge>
</graph>
<graph id="9" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<node id="3">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubj)$</data>
</edge>
<edge source="1" target="3">
<data key="e1">(dobj)</data>
</edge>
</graph>
<graph id="10" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(dobj)</data>
</edge>
</graph>
<graph id="11" edgedefault="directed">
<node id="1">
<data key="n1">(\w+)</data>
<data key="n2">(V)\w*</data>
</node>
<node id="1"/>
<node id="2">
<data key="n1">(\w+)</data>
<data key="n2">(N)\w+</data>
</node>
<node id="3">
<data key="n1">(\w+)</data>
<data key="n2">(N)\w+</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubj)$</data>
</edge>
<edge source="1" target="3">
<data key="e1">(dobj)</data>
</edge>
</graph>
<graph id="12" edgedefault="directed">
<node id="1">
<data key="n2">(N)\w*</data>
</node>
<node id="2">
<data key="n2">(JJ)</data>
</node>
<edge source="1" target="2">
<data key="e1">(amod)</data>
</edge>
</graph>
<graph id="14" edgedefault="directed">
<node id="1">
<data key="n2">(JJ)</data>
</node>
<node id="2">
<data key="n2">(RB)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(advmod)</data>
</edge>
</graph>
<graph id="15" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubjpass)</data>
</edge>
</graph>
<graph id="16" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n1">by</data>
<data key="n2">IN</data>
</node>
<node id="3">
<data key="n2">(N)\w*</data>
</node>
<node id="4">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(agent)</data>
</edge>
<edge source="2" target="3">
<data key="e1">pobj</data>
</edge>
<edge source="1" target="4">
<data key="e1">(nsubjpass)</data>
</edge>
</graph>
<graph id="17" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n1">by</data>
<data key="n2">IN</data>
</node>
<node id="3">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(agent)</data>
</edge>
<edge source="2" target="3">
<data key="e1">pobj</data>
</edge>
</graph>
<graph id="18" edgedefault="directed">
<node id="1">
<data key="n2">(N)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(appos)</data>
</edge>
</graph>
<graph id="20" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n1">\w+</data>
<data key="n2">(N)\w*</data>
</node>
<node id="3">
<data key="n2">(N)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubj)</data>
</edge>
<edge source="2" target="3">
<data key="e1">(conj)</data>
</edge>
</graph>
<graph id="22" edgedefault="directed">
<node id="1">
<data key="n1">\w+</data>
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<node id="3">
<data key="n2">(V)\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(nsubj)</data>
</edge>
<edge source="1" target="3">
<data key="e1">(conj)</data>
</edge>
</graph>
<graph id="24" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n1">\w+</data>
<data key="n2">\w*</data>
</node>
<node id="3">
<data key="n1">\w+</data>
<data key="n2">\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(dobj)</data>
</edge>
<edge source="1" target="3">
<data key="e1">(dative)</data>
</edge>
</graph>
<graph id="25" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<node id="3">
<data key="n1">\w+</data>
<data key="n2">\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(dobj)</data>
</edge>
<edge source="1" target="3">
<data key="e1">(dative)</data>
</edge>
</graph>
<graph id="26" edgedefault="directed">
<node id="1">
<data key="n2">(V)\w*</data>
</node>
<node id="2">
<data key="n2">(N)\w*</data>
</node>
<node id="3">
<data key="n1">\w+</data>
<data key="n2">\w*</data>
</node>
<edge source="1" target="2">
<data key="e1">(dative)</data>
</edge>
<edge source="1" target="3">
<data key="e1">(dobj)</data>
</edge>
</graph>
</graphml>