def scalars(n=3): """Scalar example without and with disjunction; compare with Bergen et al.'s figure 5 and figure 9""" baselexicon = {'some': [r'$w_{\exists\neg\forall}$', r'$w_{\forall}$'], 'all': [r'$w_{\forall}$']} basic_lexica = Lexica(baselexicon=baselexicon) lexica = Lexica(baselexicon=baselexicon, join_closure=True, disjunction_cost=0.1) lexica.display() mod = Pragmod(lexica=lexica.lexica2matrices(), messages=lexica.messages, meanings=lexica.states, costs=lexica.cost_vector(), prior=np.repeat(1.0/len(lexica.states), len(lexica.states)), lexprior=np.repeat(1.0/len(lexica), len(lexica)), temperature=1.0) #mod.run_expertise_model(n=n, display=True, digits=4) #mod.plot_expertise_listener(output_filename='../paper/fig/scalar-expertise-listener-marginalized.pdf', n=n) mod.plot_expertise_speaker(output_filename='../paper/fig/scalar-expertise-speaker.pdf', n=n)
def manner(n=3): """Settings for Bergen et al.'s figure 6. Seems to reproduce the effects they report.""" lexica = Lexica(baselexicon={'SHORT': [r'$w_{RARE}$', r'$w_{FREQ}$'], r'long': [r'$w_{RARE}$', r'$w_{FREQ}$']}, costs={'SHORT':1.0, r'long':2.0}, null_cost=5.0, join_closure=False, disjunction_cost=0.1) lexica.display() mod = Pragmod(lexica=lexica.lexica2matrices(), messages=lexica.messages, meanings=lexica.states, costs=lexica.cost_vector(), prior=np.array([2.0/3.0, 1.0/3.0]), lexprior=np.repeat(1.0/len(lexica), len(lexica)), temperature=1.0, alpha=3.0) mod.plot_expertise_listener(output_filename='../paper/fig/manner-expertise-listener-marginalized.pdf', n=n) mod.plot_expertise_speaker(output_filename='../paper/fig/manner-expertise-speaker.pdf', n=n) mod.plot_expertise_speaker(output_filename='../paper/fig/manner-expertise-speaker-lexsum.pdf', n=n, lexsum=True)