Random Sentence Extraction from Text

  • Share this:

Code introduction


This function generates a random sentence with a specified length range from the given text.


Technology Stack : Hypothesis

Code Type : Function

Code Difficulty : Intermediate


                
                    
def random_sentence_length(text, min_length=5, max_length=30):
    """
    This function generates a random sentence from the given text with a specified minimum and maximum length.
    It uses the Hypothesis library to create a random substring of the text that is a valid sentence.

    :param text: The input text from which to generate a sentence.
    :param min_length: The minimum length of the sentence.
    :param max_length: The maximum length of the sentence.
    :return: A random sentence from the text.
    """
    from hypothesis import Verbosity, Hypothesis
    from hypothesis.specs import WordSpec

    def is_valid_sentence(sentence):
        return 5 <= len(sentence) <= 30

    sentence_spec = WordSpec(min_length=min_length, max_length=max_length)
    hypothesis = Hypothesis()
    sentence = hypothesis.suggest(sentence_spec)
    
    while not is_valid_sentence(sentence):
        sentence = hypothesis.suggest(sentence_spec)
    
    return sentence                
              
Tags: