poet.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:reddit-iambic-pentameter 作者: pmichel31415 项目源码 文件源码
def __init__(self, config_file):
        """Constructor"""
        # Load options
        util.load_config(self, config_file)
        # Set up the collection of verses
        self.verses = load_verses(self.general.output_file)
        self.n_verses = len(self.verses)
        # Store the verses by rhyme
        self.rhymes = defaultdict(lambda: set())
        for i, verse in enumerate(self.verses):
            self.rhymes[poetry.verse_rhyme(verse)].add(i)
        # Total number of rhymes
        self.n_rhymes = len(self.rhymes)
        for k, v in self.rhymes.items():
            self.rhymes[k] = list(v)
        # Probability of picking a rhyme
        # This probability is proportional to the number of verses for each rhyme.
        # In particular, for rhymes with only one verse, the probability is set to 0
        self.p_rhymes = {r: (len(v) - 1) for r, v in self.rhymes.items()}
        self.names_rhymes, self.p_rhymes = zip(*self.p_rhymes.items())
        self.p_rhymes = np.asarray(self.p_rhymes, dtype=float)
        self.p_rhymes /= self.p_rhymes.sum()
        # Title generator
        self.tg = title.get_title_generator(self.title)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号