Esempio n. 1
0
class TestSearchEngine(TestCase):
    def setUp(self):
        self.se = SearchEngine(1000,
                               'word2vec.glove.6B.300d.txt',
                               'sum',
                               forcebin=True)

    def test_execute_query_Summation(self):

        self.se.combine = 'sum'
        self.assertEqual(
            self.se.execute_query('lose', 'alcohol', False, False),
            [('booze', 23), ('laws', 228), ('lows', 578), ('dues', 621),
             ("law's", 766)])
        self.assertEqual(
            self.se.execute_query('summarize', 'warrior', False, False),
            [("samurai's", 1), ('samurais', 1), ('warriors', 100000000),
             ('somers', 100000002), ('dragon', 100000002)])

    def test_execute_query_Multiplication(self):
        self.se.combine = 'prod'
        self.assertEqual(
            self.se.execute_query('lose', 'alcohol', False, False),
            [('booze', 114), ('laws', 6501), ('dues', 9120), ("law's", 23552),
             ('lows', 38304)])
        self.assertEqual(
            self.se.execute_query('summarize', 'warrior', False, False),
            [('samurais', 1), ("samurai's", 2), ('warriors', 100000000),
             ('somers', 100000002), ('dragon', 100000002)])

    def tearDown(self):
        pass
Esempio n. 2
0
    while True:

        query = input(
            "Start search: \"Sounds like x\" \"Has to do with y\":\n> ")
        query = query.split()
        sounds_like = query[0]
        topic = query[1]

        if not query:
            break

        elif len(query) != 2:
            print("Sorry, you need to provide two arguments!")
            continue
        else:

            print(
                se.execute_query(sounds_like, topic, cmd_args.ortho,
                                 cmd_args.rhyme))
            print("Puns: (•_•)  ( •_•)>⌐■-■  (⌐■_■)")

            frs = FindRelatedSentences(topic,
                                       model,
                                       cmd_args.verbose,
                                       max_results=300,
                                       expl=cmd_args.expl)
            new_corpus = frs.filter_sentences_by_topic()
            wi = WordInsert(se.best_result, new_corpus, True, max_distance=1)
            print(wi.insert_word())
Esempio n. 3
0
    if cmd_args.ortho and cmd_args.rhyme:
        print('Looking for both orthographic matches and rhyming matches is not possible. Please choose one!')
        sys.exit()

    while True:

        query = input("Start search: \"Sounds like x\" \"Has to do with y\":\n> ")
        query = query.split()

        if not query:
            print("Bye, byeee!! Sorry, no pun available for this prompt, yet...")
            break

        elif len(query) != 2:
            print("Sorry, you need to provide two arguments!")
            continue
        else:


            sounds_like = query[0]
            topic = query[1]
            print(se.execute_query(sounds_like, topic, cmd_args.ortho, cmd_args.buckeye, cmd_args.rhyme, cmd_args.verbose))
            print("Puns: (•_•)  ( •_•)>⌐■-■  (⌐■_■)")

            frs = FindRelatedSentences(topic, model, cmd_args.verbose, max_results=300, expl=cmd_args.expl)
            new_corpus = frs.filter_sentences_by_topic()
            wi = WordInsert(se.best_result, new_corpus, True, max_distance=1, joke=cmd_args.joke)
            for s in wi.insert_word():
                print(s)