Group Abstract Group Abstract

Message Boards Message Boards

Is it possible to use Wolfram|Alpha to compress a text string?

GROUPS:
Is it possible to use Wolfram|Alpha to compress a text string so that you could use the string in a tweet and thereby circumvent the 140 charcter limit.  In order for this to be useful, it would have to be necessary for the recipient to be able to uncompress the string with with Wolfram|Alpha.  (please delete this question - I see why it's not possible.  Thanks, George Wolfe)
POSTED BY: George Wolfe
Answer
3 months ago
From running a few tests on W|A it appears not. 

But the additional question is whether it'd be worth it.  Use something like this to experiment with this problem. 

 Framed@DynamicModule[{text = "", compressed},
  Column[{
    TextCell["Type Text here \[DownArrow]", "Text"],
    InputField[Dynamic[text], String, ContinuousAction -> True,
     FieldSize -> {30, 5}],
    TextCell[
     Row[{"Compressed Version:\n ",
       Dynamic[compressed = Compress@text]}], "Text"],
    TextCell[
    Row[{"Original Text Length: ", Dynamic[StringLength[text]]}],
    "Text"],
   TextCell[
    Row[{"Compressed Text Length: ",
      Dynamic[StringLength[compressed]]}], "Text"],
   TextCell[
    Row[{"Useful?: ",
      Dynamic[StringLength[compressed] < StringLength[text]]}], "Text"]
   },
  Alignment -> Left]
]


But a quick exploration of one of the works of Jane Austin suggests that it is not worth one's while...
janeAustin =
  Import["http://www.gutenberg.org/cache/epub/21839/pg21839.txt"];

tweets = StringJoin /@ Partition[Characters[janeAustin], 140];

Histogram[StringLength[Compress[#]] & /@ tweets, Frame -> True]

POSTED BY: David Reiss
Answer
3 months ago
Thanks, David. Interesting and clever.  By testing the compression of various sentences and also non-sentence text strins with your app, it appears that normal sentences don't have enough repeated characters to take advantage of compression. Strings with repeted sequenced do.

This is a great demonstration.
POSTED BY: George Wolfe
Answer
3 months ago
P.S.  I didn't notice your comment about deleting the quesiton!  But perhaps it's worth keeping as an example of how in the Wolfram Language one can explore a question like this in 3 lines of code that would take dozens of lines in many other  languages...
POSTED BY: David Reiss
Answer
3 months ago
I also think this is rather a good question and Reiss response is great - well worth keeping the thread.
POSTED BY: Sam Carrettie
Answer
3 months ago