|
@@ -29,7 +29,7 @@ class Markov:
|
|
|
return self.generate()
|
|
|
|
|
|
text = " ".join(words)
|
|
|
- text = re.sub(r"(?:^| )?((\?\.\.)|(\.{2,})|(\!{2,})|(\?{2,})|([.?!,:;\(\)\"'\$\+\-–—…]))(?: |$)", r"\1 ", text)
|
|
|
+ text = re.sub(r"(?:^| )?((\!\?\?)|(\!\?)|(\?\!\!)|(\?\?\!)|(\?\!)|(\?\.\.)|(\.{2,})|(\!{2,})|(\?{2,})|([.?!,:;\(\)\"'\$\+\-–—…]))(?: |$)", r"\1 ", text)
|
|
|
text = text.strip()
|
|
|
|
|
|
return text
|
|
@@ -44,10 +44,15 @@ class Markov:
|
|
|
if not text:
|
|
|
return
|
|
|
|
|
|
- text = text.replace("\n", " ")
|
|
|
+ if "\n" in text:
|
|
|
+ for line in text.split("\n"):
|
|
|
+ self.extend_corpus(line)
|
|
|
+
|
|
|
+ return
|
|
|
+
|
|
|
text = re.sub(r"(@[a-z0-9_]+,?)", "", text)
|
|
|
text = re.sub("https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)", "", text)
|
|
|
- text = re.sub(r"((\?\.\.)|(\.{2,})|(\!{2,})|(\?{2,})|[.?!,:;\(\)\"'\$\+\-–—…])", r" \1 ", text)
|
|
|
+ text = re.sub(r"((\!\?\?)|(\!\?)|(\?\!\!)|(\?\?\!)|(\?\!)|(\?\.\.)|(\.{2,})|(\!{2,})|(\?{2,})|[.?!,:;\(\)\"'\$\+\-–—…])", r" \1 ", text)
|
|
|
text = text.split(" ")
|
|
|
text = map(lambda word: word.strip(), text)
|
|
|
text = filter(bool, text)
|
|
@@ -57,7 +62,7 @@ class Markov:
|
|
|
self.corpus.insert(0, text)
|
|
|
|
|
|
if len(self.corpus) > config.MARKOV_CORPUS_SIZE:
|
|
|
- self.corpus = self.corpus[: config.MARKOV_CORPUS_SIZE]
|
|
|
+ self.corpus.pop(-1)
|
|
|
|
|
|
self.counter += 1
|
|
|
|