コード例 #1
0
ファイル: important.py プロジェクト: KGerring/RevealMe
class FileHolder:
	import numpy as np
	from assoc_space import LabelSet, AssocSpace, SparseEntryStorage
	from conceptnet5.query import field_match, AssertionFinder

	NPZ = '/Users/Kristen/.conceptnet5/assoc/5.4.npz'

	DB_DIR = '/Users/Kristen/.conceptnet5/data/db/assertions.db'
	EDGE_DIR = '/Users/Kristen/.conceptnet5/data/assertions'
	FINDER = AssertionFinder(DB_DIR,EDGE_DIR)

	def __init__(self, npz='/Users/Kristen/.conceptnet5/assoc/5.4.npz'):
		self.npz = npz
		self.npz_dict = np.load(self.npz)
		self.u = self.npz_dict['u']
		self._assoc = self.npz_dict['assoc']
		self.assertion = self.npz_dict['assertion']
		self.sigma = self.npz_dict['sigma']

		self.labels_list = self.npz_dict['labels'].tolist()
		self.Labels = None
		self.load_label_set()
		self._cache = {}
		self.lookup = FINDER.lookup
		self.query = FINDER.query
		self.grouped = FINDER.lookup_grouped_by_feature
		self.terms = []
		self.other = []


	def load_label_set(self):
		self.Labels = LabelSet()
		for label in self.labels_list:
			self.Labels.add(label)
		return self.Labels.copy()

	def get_finder(self):
		return AssertionFinder('/Users/Kristen/.conceptnet5/data/db/assertions.db',
		                       '/Users/Kristen/.conceptnet5/data/assertions')

	def get_AssocSpace(self):
		return AssocSpace(self.u, self.sigma, LabelSet(self.labels.tolist()))
	@property
	def assoc_wrapper(self):
		return AssocSpaceWrapper(self.assoc_space, self.finder)
	@property
	def label_set(self):
		return LabelSet(self.labels.tolist())
コード例 #2
0
def test_assoc_constructor():
    # Make a nice, normal AssocSpace
    u = np.asarray([[0, 1, 0.6], [1, 0, 0.8]])
    sigma = np.asarray([0.5, 0.3, 0.2])
    labels = LabelSet(['A', 'B'])
    assoc = AssocSpace(u, sigma, labels)
    eq_(assoc.k, 3)
    assert 'assoc' not in assoc.__dict__

    # Test some error conditions
    with assert_raises(ValueError):
        AssocSpace(u, np.asarray([0.0, -0.2, -0.4]), labels)
    with assert_raises(ValueError):
        AssocSpace(u, np.asarray([0.6, 0.4]), labels)
    with assert_raises(ValueError):
        AssocSpace(u, np.asarray([0.6, 0.7, 0.2]), labels)

    # Test assoc hinting
    assoc_matrix = assoc.assoc.copy()
    assoc_hinted = AssocSpace(u, sigma, labels, assoc=assoc_matrix)
    assert np.allclose(assoc_hinted.row_named('A'), assoc.row_named('A'))
コード例 #3
0
ファイル: concept_reveal.py プロジェクト: KGerring/RevealMe
	def load_label_set(self):
		self.Labels = LabelSet()
		for label in self.labels_list:
			self.Labels.add(label)
		return self.Labels.copy()
コード例 #4
0
def test_label_set():
    # Creating a LabelSet from an existing list
    s = LabelSet(['a', 'b', 'e'])

    # add()
    s.add('d')
    s.add('c')
    s.add('d')
    eq_(len(s), 5)
    eq_(s[3], 'd')
    eq_(s[4], 'c')

    # index, __contains__, __getitem__, __iter__
    eq_(s.index('b'), 1)
    assert_raises(KeyError, s.index, 'f')
    assert 'b' in s
    assert 'q' not in s
    eq_(s[2], 'e')
    with assert_raises(IndexError):
        s[6]
    eq_(list(s), ['a', 'b', 'e', 'd', 'c'])

    # Copying generates a distinct LabelSet; __eq__ works
    s_copy = s.copy()
    eq_(s, s_copy)
    s_copy.add('f')
    eq_(len(s.items), 5)
    eq_(len(s.indices), 5)

    # merged
    s1 = LabelSet(['f', 'b', 'g', 'c'])
    merged, indices = s.merge(s1)
    eq_(len(s), 5)
    eq_(merged, LabelSet(['a', 'b', 'e', 'd', 'c', 'f', 'g']))
    eq_(indices, [5, 1, 6, 4])