本文整理汇总了Python中composes.composition.lexical_function.LexicalFunction._MIN_SAMPLES方法的典型用法代码示例。如果您正苦于以下问题:Python LexicalFunction._MIN_SAMPLES方法的具体用法?Python LexicalFunction._MIN_SAMPLES怎么用?Python LexicalFunction._MIN_SAMPLES使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类composes.composition.lexical_function.LexicalFunction
的用法示例。
在下文中一共展示了LexicalFunction._MIN_SAMPLES方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_simple_train_compose_intercept
# 需要导入模块: from composes.composition.lexical_function import LexicalFunction [as 别名]
# 或者: from composes.composition.lexical_function.LexicalFunction import _MIN_SAMPLES [as 别名]
def test_simple_train_compose_intercept(self):
#TODO test a1_car twice in the phrase list
train_data = [("a1", "car", "a1_car"),
("a1", "man", "a1_man"),
]
#model with train and then compose
learner_ = LstsqRegressionLearner(intercept=True)
model = LexicalFunction(learner=learner_)
model._MIN_SAMPLES = 1
model.train(train_data, self.n_space, self.an_space)
new_space = model.function_space
np.testing.assert_array_almost_equal(new_space.cooccurrence_matrix.mat,
np.mat([[0.66666667,0.33333333,
-0.33333333,0.33333333,
0.66666667,0.33333333]]),
7)
self.assertTupleEqual(new_space.element_shape, (2,3))
self.assertListEqual(new_space.id2row, ["a1"])
self.assertListEqual(new_space.id2column, [])
comp_space = model.compose(train_data, self.n_space)
np.testing.assert_array_almost_equal(comp_space.cooccurrence_matrix.mat,
self.an_space.cooccurrence_matrix.mat, 10
)
self.assertListEqual(comp_space.id2row, ["a1_car", "a1_man"])
self.assertListEqual(comp_space.id2column, self.ft)
#new model, without training
model2 = LexicalFunction(function_space=new_space, intercept=True)
model2._MIN_SAMPLES = 1
comp_space = model2.compose(train_data, self.n_space)
self.assertListEqual(comp_space.id2row, ["a1_car", "a1_man"])
self.assertListEqual(comp_space.id2column, [])
np.testing.assert_array_almost_equal(comp_space.cooccurrence_matrix.mat,
self.n_space.cooccurrence_matrix.mat,
8)
#recursive application
comp_space2 = model2.compose([("a1", "a1_car", "a1_a1_car"),
("a1", "a1_man", "a1_a1_man")],
comp_space)
self.assertListEqual(comp_space2.id2row, ["a1_a1_car", "a1_a1_man"])
self.assertListEqual(comp_space.id2column, [])
np.testing.assert_array_almost_equal(comp_space2.cooccurrence_matrix.mat,
self.n_space.cooccurrence_matrix.mat,
8)
self.assertEqual(comp_space.element_shape, (2,))
self.assertEqual(comp_space2.element_shape, (2,))
示例2: test_train_intercept
# 需要导入模块: from composes.composition.lexical_function import LexicalFunction [as 别名]
# 或者: from composes.composition.lexical_function.LexicalFunction import _MIN_SAMPLES [as 别名]
def test_train_intercept(self):
a1_mat = DenseMatrix(np.mat([[3,4],[5,6]]))
a2_mat = DenseMatrix(np.mat([[1,2],[3,4]]))
train_data = [("a1", "man", "a1_man"),
("a2", "car", "a2_car"),
("a1", "boy", "a1_boy"),
("a2", "boy", "a2_boy")
]
n_mat = DenseMatrix(np.mat([[13,21],[3,4],[5,6]]))
n_space = Space(n_mat, ["man", "car", "boy"], self.ft)
an1_mat = (a1_mat * n_mat.transpose()).transpose()
an2_mat = (a2_mat * n_mat.transpose()).transpose()
an_mat = an1_mat.vstack(an2_mat)
an_space = Space(an_mat, ["a1_man","a1_car","a1_boy","a2_man","a2_car","a2_boy"], self.ft)
#test train
model = LexicalFunction(learner=LstsqRegressionLearner(intercept=True))
model._MIN_SAMPLES = 1
model.train(train_data, n_space, an_space)
a_space = model.function_space
a1_mat.reshape((1,4))
#np.testing.assert_array_almost_equal(a1_mat.mat,
# a_space.cooccurrence_matrix.mat[0])
a2_mat.reshape((1,4))
#np.testing.assert_array_almost_equal(a2_mat.mat,
# a_space.cooccurrence_matrix.mat[1])
self.assertListEqual(a_space.id2row, ["a1", "a2"])
self.assertTupleEqual(a_space.element_shape, (2,3))
#test compose
a1_mat = DenseMatrix(np.mat([[3,4,5,6]]))
a2_mat = DenseMatrix(np.mat([[1,2,3,4]]))
a_mat = a_space.cooccurrence_matrix
a_space = Space(a_mat, ["a1", "a2"], [], element_shape=(2,3))
model = LexicalFunction(function_space=a_space, intercept=True)
model._MIN_SAMPLES = 1
comp_space = model.compose(train_data, n_space)
self.assertListEqual(comp_space.id2row, ["a1_man", "a2_car", "a1_boy", "a2_boy"])
self.assertListEqual(comp_space.id2column, [])
self.assertEqual(comp_space.element_shape, (2,))
np.testing.assert_array_almost_equal(comp_space.cooccurrence_matrix.mat,
an_mat[[0,4,2,5]].mat, 8)
示例3: test_min_samples1
# 需要导入模块: from composes.composition.lexical_function import LexicalFunction [as 别名]
# 或者: from composes.composition.lexical_function.LexicalFunction import _MIN_SAMPLES [as 别名]
def test_min_samples1(self):
#TODO test a1_car twice in the phrase list
train_data = [("bla3", "man", "a1_car"),
("a1", "car", "a1_car"),
("bla2", "man", "a1_car"),
("a1", "man", "a1_man"),
("bla1", "man", "a1_car")
]
#model with train and then compose
learner_ = LstsqRegressionLearner(intercept=True)
model = LexicalFunction(learner=learner_)
model._MIN_SAMPLES = 2
model.train(train_data, self.n_space, self.an_space)
new_space = model.function_space
np.testing.assert_array_almost_equal(new_space.cooccurrence_matrix.mat,
np.mat([[0.66666667,0.33333333,
-0.33333333,0.33333333,
0.66666667,0.33333333]]),
7)
self.assertTupleEqual(new_space.element_shape, (2,3))
self.assertListEqual(new_space.id2row, ["a1"])
self.assertListEqual(new_space.id2column, [])
示例4: test_min_samples2
# 需要导入模块: from composes.composition.lexical_function import LexicalFunction [as 别名]
# 或者: from composes.composition.lexical_function.LexicalFunction import _MIN_SAMPLES [as 别名]
def test_min_samples2(self):
train_data = [("a1", "man", "bla"),
("a1", "car", "a1_car"),
("a1", "man", "bla"),
("a1", "man", "a1_man"),
("a1", "bla", "a1_man"),
("a1", "man", "bla")
]
model = LexicalFunction()
model._MIN_SAMPLES = 5
self.assertRaises(ValueError, model.train, train_data, self.n_space, self.an_space)
示例5: test_lexical_function
# 需要导入模块: from composes.composition.lexical_function import LexicalFunction [as 别名]
# 或者: from composes.composition.lexical_function.LexicalFunction import _MIN_SAMPLES [as 别名]
def test_lexical_function(self):
self.m12 = DenseMatrix(np.mat([[3,1],[9,2]]))
self.m22 = DenseMatrix(np.mat([[4,3],[2,1]]))
self.ph2 = DenseMatrix(np.mat([[18,11],[24,7]]))
self.row = ["a", "b"]
self.ft = ["f1","f2"]
self.space1 = Space(DenseMatrix(self.m12), self.row, self.ft)
self.space2 = Space(DenseMatrix(self.ph2), ["a_a","a_b"], self.ft)
m = LexicalFunction()
m._MIN_SAMPLES = 1
self.assertRaises(IllegalStateError, m.export, self.prefix + ".lf1")
m.train([("a","b","a_b"),("a","a","a_a")], self.space1, self.space2)
m.export(self.prefix + ".lf2")
示例6: test_3d
# 需要导入模块: from composes.composition.lexical_function import LexicalFunction [as 别名]
# 或者: from composes.composition.lexical_function.LexicalFunction import _MIN_SAMPLES [as 别名]
def test_3d(self):
# setting up
v_mat = DenseMatrix(np.mat([[0,0,1,1,2,2,3,3],#hate
[0,1,2,4,5,6,8,9]])) #love
vo11_mat = DenseMatrix(np.mat([[0,11],[22,33]])) #hate boy
vo12_mat = DenseMatrix(np.mat([[0,7],[14,21]])) #hate man
vo21_mat = DenseMatrix(np.mat([[6,34],[61,94]])) #love boy
vo22_mat = DenseMatrix(np.mat([[2,10],[17,26]])) #love car
train_vo_data = [("hate_boy", "man", "man_hate_boy"),
("hate_man", "man", "man_hate_man"),
("hate_boy", "boy", "boy_hate_boy"),
("hate_man", "boy", "boy_hate_man"),
("love_car", "boy", "boy_love_car"),
("love_boy", "man", "man_love_boy"),
("love_boy", "boy", "boy_love_boy"),
("love_car", "man", "man_love_car")
]
# if do not find a phrase
# what to do?
train_v_data = [("love", "boy", "love_boy"),
("hate", "man", "hate_man"),
("hate", "boy", "hate_boy"),
("love", "car", "love_car")]
sentences = ["man_hate_boy", "car_hate_boy", "boy_hate_boy",
"man_hate_man", "car_hate_man", "boy_hate_man",
"man_love_boy", "car_love_boy", "boy_love_boy",
"man_love_car", "car_love_car", "boy_love_car" ]
n_mat = DenseMatrix(np.mat([[3,4],[1,2],[5,6]]))
n_space = Space(n_mat, ["man", "car", "boy"], self.ft)
s1_mat = (vo11_mat * n_mat.transpose()).transpose()
s2_mat = (vo12_mat * n_mat.transpose()).transpose()
s3_mat = (vo21_mat * n_mat.transpose()).transpose()
s4_mat = (vo22_mat * n_mat.transpose()).transpose()
s_mat = vo11_mat.nary_vstack([s1_mat,s2_mat,s3_mat,s4_mat])
s_space = Space(s_mat, sentences, self.ft)
#test train 2d
model = LexicalFunction(learner=LstsqRegressionLearner(intercept=False))
model._MIN_SAMPLES = 1
model.train(train_vo_data, n_space, s_space)
vo_space = model.function_space
self.assertListEqual(vo_space.id2row, ["hate_boy", "hate_man","love_boy", "love_car"])
self.assertTupleEqual(vo_space.element_shape, (2,2))
vo11_mat.reshape((1,4))
np.testing.assert_array_almost_equal(vo11_mat.mat,
vo_space.cooccurrence_matrix.mat[0])
vo12_mat.reshape((1,4))
np.testing.assert_array_almost_equal(vo12_mat.mat,
vo_space.cooccurrence_matrix.mat[1])
vo21_mat.reshape((1,4))
np.testing.assert_array_almost_equal(vo21_mat.mat,
vo_space.cooccurrence_matrix.mat[2])
vo22_mat.reshape((1,4))
np.testing.assert_array_almost_equal(vo22_mat.mat,
vo_space.cooccurrence_matrix.mat[3])
# test train 3d
model2 = LexicalFunction(learner=LstsqRegressionLearner(intercept=False))
model2._MIN_SAMPLES = 1
model2.train(train_v_data, n_space, vo_space)
v_space = model2.function_space
np.testing.assert_array_almost_equal(v_mat.mat,
v_space.cooccurrence_matrix.mat)
self.assertListEqual(v_space.id2row, ["hate","love"])
self.assertTupleEqual(v_space.element_shape, (2,2,2))
# test compose 3d
vo_space2 = model2.compose(train_v_data, n_space)
id2row1 = list(vo_space.id2row)
id2row2 = list(vo_space2.id2row)
id2row2.sort()
self.assertListEqual(id2row1, id2row2)
row_list = vo_space.id2row
vo_rows1 = vo_space.get_rows(row_list)
vo_rows2 = vo_space2.get_rows(row_list)
np.testing.assert_array_almost_equal(vo_rows1.mat, vo_rows2.mat,7)
self.assertTupleEqual(vo_space.element_shape, vo_space2.element_shape)
示例7: test_simple_3d_intercept
# 需要导入模块: from composes.composition.lexical_function import LexicalFunction [as 别名]
# 或者: from composes.composition.lexical_function.LexicalFunction import _MIN_SAMPLES [as 别名]
def test_simple_3d_intercept(self):
train_data1 = [("drive_car", "I", "I_drive_car"),
("read_man", "You", "You_read_man"),
("read_man", "I", "I_read_man"),
("drive_car", "You", "You_drive_car"),
("drive_man", "You", "You_drive_man"),
("drive_man", "I", "I_drive_man")
]
train_data2 = [("drive", "car", "drive_car"),
("drive", "man", "drive_man"),
]
n_mat = DenseMatrix(np.mat([[1,2],[3,4],[5,6],[7,8]]))
svo_mat = DenseMatrix(np.mat([[1,2],[3,4],[1,2],[3,4],[3,4],[1,2]]))
n_space = Space(n_mat,["I", "You", "man", "car"],[])
svo_space = Space(svo_mat,["I_drive_car","You_read_man",
"I_read_man", "You_drive_car",
"You_drive_man", "I_drive_man"],["f1","f2"])
#test first stage train
model = LexicalFunction(learner=LstsqRegressionLearner(intercept=True))
model._MIN_SAMPLES = 1
model.train(train_data1, n_space, svo_space)
vo_space = model.function_space
np.testing.assert_array_almost_equal(vo_space.cooccurrence_matrix.mat,
np.mat([[0.6666,0.3333,-0.3333,
0.3333,0.6666,0.3333],
[0.6666,0.3333,-0.3333,
0.3333,0.6666,0.3333],
[0.6666,0.3333,-0.3333,
0.3333,0.6666,0.3333]]),
4)
self.assertTupleEqual(vo_space.element_shape, (2,3))
self.assertListEqual(vo_space.id2row, ["drive_car","drive_man","read_man"])
self.assertListEqual(vo_space.id2column, [])
#test first stage compose
comp_space = model.compose([train_data1[0]], n_space)
np.testing.assert_array_almost_equal(comp_space.cooccurrence_matrix.mat,
np.mat([[1,2]]), 8)
self.assertTupleEqual(comp_space.element_shape, (2,))
self.assertListEqual(comp_space.id2row, ["I_drive_car"])
self.assertListEqual(comp_space.id2column, ["f1","f2"])
#test second stage train
model = LexicalFunction(learner=LstsqRegressionLearner(intercept=True))
model._MIN_SAMPLES = 1
model.train(train_data2, n_space, vo_space)
v_space = model.function_space
np.testing.assert_array_almost_equal(v_space.cooccurrence_matrix.mat,
np.mat([[-0.2222,0.2222,0.4444,
-0.1111,0.1111,0.2222,
0.1111,-0.1111,-0.2222,
-0.1111,0.1111,0.2222,
-0.2222,0.2222,0.4444,
-0.1111,0.1111,0.2222]]),
4)
self.assertTupleEqual(v_space.element_shape, (2,3,3))
self.assertListEqual(v_space.id2row, ["drive"])
self.assertListEqual(v_space.id2column, [])
#test compose1
comp_space = model.compose([train_data2[0]], n_space)
np.testing.assert_array_almost_equal(comp_space.cooccurrence_matrix.mat,
np.mat([[0.6666,0.3333,-0.3333,
0.3333,0.6666,0.3333]]), 4)
self.assertTupleEqual(comp_space.element_shape, (2,3))
self.assertListEqual(comp_space.id2row, ["drive_car"])
self.assertListEqual(comp_space.id2column, [])
#test compose2
model2 = LexicalFunction(function_space=comp_space, intercept=True)
model2._MIN_SAMPLES = 1
comp_space2 = model2.compose([train_data1[0]], n_space)
np.testing.assert_array_almost_equal(comp_space2.cooccurrence_matrix.mat,
np.mat([[1,2]]), 8)
self.assertTupleEqual(comp_space2.element_shape, (2,))
self.assertListEqual(comp_space2.id2row, ["I_drive_car"])
self.assertListEqual(comp_space2.id2column, [])
#recursive application, write a wrapper around it!!!
comp_space2 = model2.compose([("drive_car", "I", "I_drive_car")], n_space)
np.testing.assert_array_almost_equal(comp_space2.cooccurrence_matrix.mat,
np.mat([[1,2]]), 8)
self.assertTupleEqual(comp_space2.element_shape, (2,))
self.assertListEqual(comp_space2.id2row, ["I_drive_car"])
self.assertListEqual(comp_space2.id2column, [])