Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.79 KB | None | 0 0
  1. import pickle
  2. from hyperopt import fmin, tpe, hp, Trials
  3.  
  4. '''<params>
  5. <QETopTermins>1</QETopTermins>
  6. <QEMinDocRank>0.00031185491253484665</QEMinDocRank>
  7. <QETopLemms>18</QETopLemms>
  8. <DIPowerMethodDFactor>0.35</DIPowerMethodDFactor>
  9. <PQuerryEx>true</PQuerryEx>
  10. <QEDocCount>99</QEDocCount>
  11. <DocImportance>false</DocImportance>
  12. <QEQuerrySize>14</QEQuerrySize>
  13. <TempMaxDailyAnswerSize>15</TempMaxDailyAnswerSize>
  14. <QEDEInitQuerrySize>8</QEDEInitQuerrySize>
  15. <PLambda>0.6733578927184871</PLambda>
  16. <DIDocBoundary>0.7</DIDocBoundary>
  17. <PDocCount>411</PDocCount>
  18. <PTemporalMode>true</PTemporalMode>
  19. <QEDoubleExtension>true</QEDoubleExtension>
  20. <DIMinLinkScore>0.5</DIMinLinkScore>
  21. <PSoftOr>0.2814202900764047</PSoftOr>
  22. <PKeepT>3</PKeepT>
  23. <PKeepL>6</PKeepL>
  24. <QESoftOr>0.6613598198243243</QESoftOr>
  25. <DIAlpha>0.35</DIAlpha>
  26. </params>
  27. '''
  28.  
  29. '''
  30. space = {'keep_l': hp.uniform('keep_l', 3, 7),
  31. 'keep_t': hp.uniform('keep_t',0, 5),
  32. 'top_l': hp.uniform('top_l', 10, 20),
  33. 'top_t': hp.uniform('top_t', 0, 5),
  34. 'q_size': hp.uniform('q_size', 5, 15),
  35. 'init_q_size': hp.uniform('init_q_size', 3, 10),
  36. 'QESoftOr': hp.uniform('QESoftOr', 0.2, 0.7),
  37. 'DIMinLinkScore': hp.uniform('DIMinLinkScore', 0.2, 0.8),
  38. 'QEMinDocRank': hp.uniform('QEMinDocRank', 0.0, 0.4),
  39. 'PLambda': hp.uniform('PLambda', 0.3, 0.9),
  40. 'QEDocCount': hp.uniform('QEDocCount', 50, 80),
  41. 'PDocCount': hp.uniform('PDocCount', 300, 600),
  42. 'PSoftOr': hp.uniform('PSoftOr', 0.3, 0.7),
  43. 'DIDocBoundary': hp.uniform('DIDocBoundary', 0.5, 0.9),
  44. 'DIAlpha': hp.uniform('DIAlpha', 0.2, 1),
  45. }
  46. '''
  47.  
  48. space = {
  49. #'DIMinLinkScore': hp.uniform('DIMinLinkScore', 0.2, 0.8),
  50. #'DIDocBoundary': hp.uniform('DIDocBoundary', 0.5, 0.9),
  51. #'DIAlpha': hp.uniform('DIAlpha', 0.2, 1),
  52.     'PLambda': hp.uniform('PLambda', 0.5, 0.9),
  53.     'QEQuerrySize': hp.uniform('QEQuerrySize', 7, 20),
  54.     'QETopLemms': hp.uniform('QETopLemms', 10, 20),
  55.     'QETopTermins': hp.uniform('QETopTermins', 0, 5),
  56.     'QEDEInitQuerrySize': hp.uniform('QEDEInitQuerrySize', 3, 8),
  57.     'PKeepL': hp.uniform('PKeepL', 1, 8),
  58.     'PKeepT': hp.uniform('PKeepT', 0, 4),
  59.     'QESoftOr': hp.uniform('QESoftOr', 0.2, 0.8),
  60.     'QEMinDocRank': hp.uniform('QEMinDocRank', 0.0, 0.5),
  61.     'QEDocCount': hp.uniform('QEDocCount', 20, 100),
  62.     'PDocCount': hp.uniform('PDocCount', 200, 600),
  63.     'PSoftOr': hp.uniform('PSoftOr', 0.2, 0.8),
  64. }
  65.  
  66. def func_to_minimize(space) :
  67.     print("Start func...")
  68.     evaluator.m_Config.m_Params["QEQuerrySize"] = int(space['QEQuerrySize'])
  69.     evaluator.m_Config.m_Params["QETopLemms"] = int(space['QETopLemms'])
  70.     evaluator.m_Config.m_Params["QETopTermins"] = int(space['QETopTermins'])
  71.     evaluator.m_Config.m_Params["QEDEInitQuerrySize"] = int(space['QEDEInitQuerrySize'])
  72.     evaluator.m_Config.m_Params["PKeepL"] = int(space['PKeepL'])
  73.     evaluator.m_Config.m_Params["PKeepT"] = int(space['PKeepT'])
  74.  
  75.     evaluator.m_Config.m_Params["QESoftOr"] = space['QESoftOr']
  76.     evaluator.m_Config.m_Params["QEMinDocRank"] = space['QEMinDocRank']
  77.     evaluator.m_Config.m_Params["QEDocCount"] = int(space['QEDocCount'])
  78.     evaluator.m_Config.m_Params["PDocCount"] = int(space['PDocCount'])
  79.     evaluator.m_Config.m_Params["PSoftOr"] = space['PSoftOr']
  80.    
  81.     evaluator.m_Config.m_Params["DIDocBoundary"] = 0.5 #space['DIDocBoundary']
  82.     evaluator.m_Config.m_Params["DIAlpha"] = 0.5 #space['DIAlpha']
  83.     evaluator.m_Config.m_Params["DIMinLinkScore"] = 0.5 #space['DIMinLinkScore']
  84.     evaluator.m_Config.m_Params["PLambda"] = space['PLambda']
  85.    
  86.     evaluator.m_Config.m_Params["PTemporalMode"] = "false"
  87.     evaluator.m_Config.m_Params["DocImportance"] = "false"
  88.     evaluator.m_Config.m_Params["DIPowerMethodDFactor"] = 0.35
  89.     evaluator.m_Config.m_Params["TempMaxDailyAnswerSize"] = 15
  90.     evaluator.m_Config.m_Params["PQuerryEx"] = "true"
  91.     evaluator.m_Config.m_Params["QEDoubleExtension"] = "true"
  92.     evaluator.m_Config.m_Params["DIW2VEnable"] = "false"
  93.     evaluator.m_Config.m_Params["SlvW2VEnable"] = "false"
  94.  
  95.     evaluator.parse_mapping()
  96.     evaluator.parse_gold()
  97.     evaluator.create_args("Fit")
  98.     evaluator.save_config()
  99.     evaluator.call_tss()
  100.     evaluator.parse_answer()
  101.     evaluator.compute_all_metrics()
  102.     evaluator.save_evaluation_in_file()
  103.  
  104.     score = evaluator.compute_mean_for_metric(evaluator.m_Metrics["R1"]) + evaluator.compute_mean_for_metric(evaluator.m_Metrics["R2"])
  105.     print("End func. Score = " + str(score))
  106.     return 2 - score
  107.  
  108. trials = pickle.load(open("no_temp_no_imp_18_01_18.p", "rb"))
  109.  
  110. for i in range(0, 100) :
  111.     best = fmin(
  112.         fn=func_to_minimize,
  113.         space=space,
  114.         algo=tpe.suggest,
  115.         max_evals=len(trials.trials) + 10,
  116.         trials=trials
  117.     )
  118.     pickle.dump(trials, open("no_temp_no_imp_18_01_18.p", "wb"))
  119.     print(len(trials.trials))
  120.     print(best)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement