越来越大的比例的自然语言处理(NLP)任务围绕着从概率语言模型生成文本。尽管有这种趋势,但改进或在这些生成的文本中指定偏好的技术主要依赖基于直觉的启发式方法。此外,缺乏他们的动机、实践实施、成功与陷阱的统一呈现。因此,实践者必须在生成算法之间进行盲目选择,例如顶层采样或束搜索,这可能导致结果大相径庭。与此同时,语言生成研究继续批评和改进标准工具箱,进一步增加了该领域的混乱程度。在这个教程中,我们将提供一个集中而连贯的讨论,以便在选择如何从语言模型生成时进行关键的考虑。我们将涵盖一系列实证观察到的问题(如退化、幻觉、重复)及其在最近研究中提出的对应的算法解决方案(如顶层采样及其后继者)。然后,我们将在一个统一的视角下讨论这些算法的一个子集;大多数随机生成策略可以被构框为局部调整模型的概率以避免失败案例。最后,我们将讨论受控生成中的方法,这些方法不仅要确保连贯性,还要确保文本表现出特定的期望属性。我们希望NLP实践者和研究人员能够借助我们的教程,获得一个统一的框架,他们可以用来评估和贡献最新的语言生成研究。