def part2a_0(): """Check that you have all the features we expect""" xs = exampleInput phi = Counter({('-BEGIN-', '-FEAT-'): 1.0, ('-FEAT-', 'Beautiful'): 1.0, ('-FEAT-', 'PREV:-BEGIN-'): 1.0, ('-FEAT-', 'NEXT:2'): 1.0, ('-FEAT-', '-CAPITALIZED-'): 1.0, ('-FEAT-', '-POST-CAPITALIZED-'): 0.0}) phi_ = submission.nerFeatureFunction(0, '-BEGIN-', '-FEAT-', xs) grader.requireIsTrue( Counters.approximateEquals(phi, phi_) ) phi = Counter({('-FEAT-', '-SIZE-'): 1.0, ('-SIZE-', 'PREV:Beautiful'): 1.0, ('-SIZE-', 'NEXT:bedroom'): 1.0, ('-SIZE-', '-PRE-CAPITALIZED-'): 1.0, ('-SIZE-', '2'): 1.0, ('-SIZE-', '-POST-CAPITALIZED-'): 0.0, ('-SIZE-', '-CAPITALIZED-'): 0.0}) phi_ = submission.nerFeatureFunction(1, '-FEAT-', '-SIZE-', xs) grader.requireIsTrue( Counters.approximateEquals(phi, phi_) ) phi = Counter({('-SIZE-', '-SIZE-'): 1.0, ('-SIZE-', 'PREV:2'): 1.0, ('-SIZE-', 'bedroom'): 1.0, ('-SIZE-', 'NEXT:-END-'): 1.0, ('-SIZE-', '-CAPITALIZED-'): 0.0, ('-SIZE-', '-PRE-CAPITALIZED-'): 0.0}) phi_ = submission.nerFeatureFunction(2, '-SIZE-', '-SIZE-', xs) grader.requireIsTrue( Counters.approximateEquals(phi, phi_) )
def part1b_3(): """Check that values match our reference""" xs = exampleInput backward = [ Counter({'-SIZE-': 0.564, '-FEAT-': 0.435}), Counter({'-SIZE-': 0.567, '-FEAT-': 0.432}), Counter({'-FEAT-': 0.5, '-SIZE-': 0.5})] backward_ = submission.computeBackward(simpleCRF, xs) for vec, vec_ in zip( backward, backward_): grader.requireIsTrue( Counters.approximateEquals( vec, vec_ ) )
def part1c_1(): """Check that values match our reference""" xs = exampleInput T = [ Counter({('-BEGIN-', '-FEAT-'): 0.561, ('-BEGIN-', '-SIZE-'): 0.439}), Counter({('-FEAT-', '-SIZE-'): 0.463, ('-SIZE-', '-SIZE-'): 0.343, ('-SIZE-', '-FEAT-'): 0.096, ('-FEAT-', '-FEAT-'): 0.096}), Counter({('-SIZE-', '-SIZE-'): 0.590, ('-SIZE-', '-FEAT-'): 0.217, ('-FEAT-', '-SIZE-'): 0.151, ('-FEAT-', '-FEAT-'): 0.041}) ] T_ = submission.computeEdgeMarginals(simpleCRF, xs) for t, t_ in zip(T, T_): grader.requireIsTrue( Counters.approximateEquals(t, t_) )
def part2a_0(): """Check that you have all the features we expect""" xs = exampleInput phi = Counter({ ('-BEGIN-', '-FEAT-'): 1.0, ('-FEAT-', 'Beautiful'): 1.0, ('-FEAT-', 'PREV:-BEGIN-'): 1.0, ('-FEAT-', 'NEXT:2'): 1.0, ('-FEAT-', '-CAPITALIZED-'): 1.0, ('-FEAT-', '-POST-CAPITALIZED-'): 0.0 }) phi_ = submission.nerFeatureFunction(0, '-BEGIN-', '-FEAT-', xs) grader.requireIsTrue(Counters.approximateEquals(phi, phi_)) phi = Counter({ ('-FEAT-', '-SIZE-'): 1.0, ('-SIZE-', 'PREV:Beautiful'): 1.0, ('-SIZE-', 'NEXT:bedroom'): 1.0, ('-SIZE-', '-PRE-CAPITALIZED-'): 1.0, ('-SIZE-', '2'): 1.0, ('-SIZE-', '-POST-CAPITALIZED-'): 0.0, ('-SIZE-', '-CAPITALIZED-'): 0.0 }) phi_ = submission.nerFeatureFunction(1, '-FEAT-', '-SIZE-', xs) grader.requireIsTrue(Counters.approximateEquals(phi, phi_)) phi = Counter({ ('-SIZE-', '-SIZE-'): 1.0, ('-SIZE-', 'PREV:2'): 1.0, ('-SIZE-', 'bedroom'): 1.0, ('-SIZE-', 'NEXT:-END-'): 1.0, ('-SIZE-', '-CAPITALIZED-'): 0.0, ('-SIZE-', '-PRE-CAPITALIZED-'): 0.0 }) phi_ = submission.nerFeatureFunction(2, '-SIZE-', '-SIZE-', xs) grader.requireIsTrue(Counters.approximateEquals(phi, phi_))
def part1b_3(): """Check that values match our reference""" xs = exampleInput backward = [ Counter({ '-SIZE-': 0.564, '-FEAT-': 0.435 }), Counter({ '-SIZE-': 0.567, '-FEAT-': 0.432 }), Counter({ '-FEAT-': 0.5, '-SIZE-': 0.5 }) ] backward_ = submission.computeBackward(simpleCRF, xs) for vec, vec_ in zip(backward, backward_): grader.requireIsTrue(Counters.approximateEquals(vec, vec_))
def part1c_1(): """Check that values match our reference""" xs = exampleInput T = [ Counter({ ('-BEGIN-', '-FEAT-'): 0.561, ('-BEGIN-', '-SIZE-'): 0.439 }), Counter({ ('-FEAT-', '-SIZE-'): 0.463, ('-SIZE-', '-SIZE-'): 0.343, ('-SIZE-', '-FEAT-'): 0.096, ('-FEAT-', '-FEAT-'): 0.096 }), Counter({ ('-SIZE-', '-SIZE-'): 0.590, ('-SIZE-', '-FEAT-'): 0.217, ('-FEAT-', '-SIZE-'): 0.151, ('-FEAT-', '-FEAT-'): 0.041 }) ] T_ = submission.computeEdgeMarginals(simpleCRF, xs) for t, t_ in zip(T, T_): grader.requireIsTrue(Counters.approximateEquals(t, t_))