This program generates random Hebrew sentences based on a Hebrew text. It was developed as an understanding test, to let people test whether they understand classic Hebrew texts. The rationale behind the project is explained here.
The name "parody generator" is from Wikipedia: "Parody generators are computer programs which generate syntactically correct, but meaningless text in the style of a particular writer".
The corpora folder contains the parsed texts and their data files:
- ShmonaKvazim - "Eight Files", by Rav Avraham Itzhak Hacohen Kook
- Rambam - "Mishne Tora", by Rav Moshe Ben Maimon
- Herzl - "Altneuland", Old-New Land, by Binyamin Zeev Herzl
ImitatorProject is a Java project with the following console applications (main programs):
- mainTasks.MeasureFrequencies - gets as input a corpus tagged with parts of speech, and creates files with statistical measurements.
- mainTasks.SentenceCreator - gets as input the statistical measurements, and generates random sentences.
- puzzles.PuzzleCreator - gets as input the statistical measurements, and generates puzzles with a mix of real and random sentences.
ImitatorNet is a web application, based on Java and socket.io, for creating and displaying puzzles. It depends on:
The main server program is ImitatorServer, and the client entry point is client/index.html .
Install Java 1.7.
git clone https://github.com/erelsgl/parody-generator.git
cd parody-generator/ImitatorProject mvn install
Make sure it is installed correctly: mvn exec:java -Dexec.mainClass=puzzles.PuzzleCreator
cd parody-generator/ImitatorNet mvn install
Edit the options in the file server.sh, then run:
Then, in a browser, open the file: client/index.html
Look at the web console and make sure it connects to the server (it should say: "CLIENT: connecting to..." and then "CLIENT: connected to...").
- Scientific supervision: Prof. Moshe Koppel.
- M.Sc. thesis: Roni (Aharon) Vered (2007-2009).
- Desktop application programming ("Imitator"): Vladimir Torgovitzki and Yuri Yeverbaum (2010).
- Web application and algorithm enhancements: Erel Segal-Halevi (2011-2013).