aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md46
1 files changed, 46 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..13b1fdb
--- /dev/null
+++ b/README.md
@@ -0,0 +1,46 @@
+# Synonymiser
+Use a database to programmatically synonymise words and phrases.
+Developed from work associated with http://txt.1bpm.net/Cicerone/
+
+## Requirements
+* Python (Developed with 2.7)
+* PostgreSQL
+* Peewee for Python
+
+## Installation
+The source is provided with no setup.py or other installation and the idea is
+that it can be used directly or assimilated into other Python projects
+directly.
+
+* Load the gzipped sql file in the sql directory to your PostgreSQL instance.
+* In the synonymiser directory, rename config.dist.py to config.py and edit the
+containing values to reflect your PostgreSQL installation.
+
+## Usage
+
+### Standalone
+synonymiser.py can be called directly and has a number of command line options.
+It can handle a single word or a phrase given as an argument, or take input
+piped to stdin. Some of the following options only make sense for synonymising
+a single word:
+
+* -h , --help : show help
+* -o , --offensive : include words marked as offensive in the database (default
+is don't)
+* -l LIMIT , --limit LIMIT : limit the number of synonyms returned to LIMIT.
+Only relevant when providing a single word.
+* -s SORTING , --sorting SORTING : sort the list of synonyms, available options
+are random, alpha and none. Only relevant when providing a single word.
+
+
+### Imported to Python project
+The synonymiser directory can be used as a subpackage in your Python project
+or you can just use the three files config.py, synonymiser.py and db.py
+accordingly. The functions intended to be exposed are:
+* synonymise(line, offensives=False) : synonymise a line of text, replacing
+each word with randomly selected synonyms, only selecting words marked as
+offensive if offensives is True. Returns a string.
+* get_synonyms(word, limit=1, sorting=SORTING.RANDOM, offensives=False) : get
+synonyms for word, limited to the number specified by limit, where sorting can
+be SORTING.RANDOM, SORTING.ALPHA or SORTING.NONE, only selecting words marked
+as offensive if offensives is True. Returns a list.