while answer != "y" and answer != "n": print "Not Y or N! See similar abstracts? (Y/N)" answer = raw_input().lower() # if not, exit if answer == "n": if version.lower() == 'p': for i in range(1,size): comm.send(0, dest = i) sys.exit("Thanks for visiting!") # Calculate similarity values for given article sim_matrix = [] if version.lower() == 'p': if rank == 0: for i in range(1,size): comm.send(1, dest = i) sim_matrix = sorted(enumerate(Process.main_parallel_sim(comm, ind, abstracts, type, mattype)), key=lambda ind:ind[1]) else: tosend = comm.recv(source = 0) if tosend == 1: Process.main_parallel_sim(comm, ind, abstracts, type, mattype) elif tosend == 0: sys.exit() else: if rank == 0: sim_matrix = sorted(enumerate(Process.main_serial_sim(comm, ind, abstracts, type, mattype)), key=lambda ind:ind[1]) else: sys.exit() # print 5 most similar articles if rank == 0: print "Similar articles:\n" setabs = 0
print "Timing tfidf time ..." # Find tfidf ptfidfstart = MPI.Wtime() Process.master_tfidf(comm, abstracts, bigramdictlen) ptfidfend = MPI.Wtime() print "Timing topic modelling time ..." # topic modeling ptopicstart = MPI.Wtime() Process.master_topics(comm, abstracts) ptopicend = MPI.Wtime() print "Timing similarity measurements time ..." # test similarity psimbowstart = MPI.Wtime() Process.main_parallel_sim(comm, 0, abstracts, 'bow', 'cossim') psimbowend = MPI.Wtime() psimbigramstart = MPI.Wtime() Process.main_parallel_sim(comm, 0, abstracts, 'bigram', 'cossim') psimbigramend = MPI.Wtime() psimjacstart = MPI.Wtime() Process.main_parallel_sim(comm, 0, abstracts, 'bow', 'jaccard') psimjacend = MPI.Wtime() # print times print "Parallel times" print "Load time: %f secs" % (ploadend - ploadstart) print "Create and send dictionary time: %f secs" % (pdictend - pdictstart) print "Clean text time: %f secs" % (pcleanend - pcleanstart) print "Send abstract time: %f secs" % (pabsend - pabsstart) print "Frequency time: %f secs" % (pfreqend - pfreqstart)