converse.py 文件源码

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

项目:Tzara---A-Personal-Assistant 作者: Suman7495 项目源码 文件源码
def converse(raw_sentence):
    words_in_sent = raw_sentence.split()
    if len(words_in_sent) > 1:
        bigrams = nltk.bigrams(words_in_sent)

    else:
        bigrams = Markov_generate_unigram(words_in_sent)

    text_len = 20
    generated_lines = []

    for tuples in bigrams:
        line = []
        line.append(''.join(tuples[0]).title()+" ")
        line.append(''.join(tuples[1])+" ")
        for i in range(text_len):
            next_words = Markov_generate_bigrams(tuples)
            if not next_words: 
                break
            cfdist = nltk.FreqDist(next_words)
            next_word = cfdist.max()
            line.append(next_word+" ")
            new_tuple = (tuples[1], next_word)
            del tuples
            tuples = new_tuple

        generated_lines.append(line)

    longest_line = ''
    for line in generated_lines:

        stri = ''.join(line)
        if "." in stri:
            truncate_char = "."
        elif "?" in stri:
            truncate_char = "?"
        elif "!" in stri:
            truncate_char = "!"
        try:
            stri = stri[:stri.index(truncate_char)]
        except:
            pass
        if len(line) > len(longest_line):
            longest_line = stri.strip()+"."

    return longest_line
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号