X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=segment.py;h=1af1b62fc8eb3270c35c4bb39a773804faf8da47;hb=4ee90e9b9683a7688d9a2b7ed972a2511530c0ba;hp=ba3ddd7405a91a40c025fcd34b5eadfa7f8d0b11;hpb=b6d64ca307d6f92a46fd5cca30832041037f46a1;p=cipher-training.git diff --git a/segment.py b/segment.py index ba3ddd7..1af1b62 100644 --- a/segment.py +++ b/segment.py @@ -11,6 +11,15 @@ def segment(text): candidates = ([first]+segment(rest) for first,rest in splits(text)) return max(candidates, key=language_models.Pwords) +@lru_cache() +def segment_wrong(text): + """Return a list of words that is the best segmentation of text. + """ + if not text: return [] + candidates = ([first]+segment(rest) for first,rest in splits(text)) + return max(candidates, key=language_models.Pwords_wrong) + + def splits(text, L=20): """Return a list of all possible (first, rest) pairs, len(first)<=L. """