Skip to main content

This CLI tool compares files or directories with cosine similarity.

Project description

cosSim - See how similar your files are

It is hard to determine how similar two text files are. Without much complication, cosSim uses simple tokenization and vectorization with which a word similarity can be calculated.

This is very usefull in cases where the context is not important, but the spelling has a big impact (as in OCR with pdf files).

This Project has been brought to life with the help of the AfZ (Archive of Contemporary History) at the ETH Zürich.

Overview

The tool is suited to compare texts that do not depend on context, but rather rely on correct spelling. The output is presented in percent. Some use cases could be:

  • comparing two different OCR outputs to a ground truth

  • comparing hand written digitalized text with a ground truth

  • checking if your AI has a correct spelling regarding your ground truth

So if you want to get a similarity in terms of semantics, this is not the right tool for you.

The CLI tool uses the NLTK Library to tokenize the texts, Numpy to store the vector data and the cosine similarity to compare the vectors.

Guide

The following shows how to get and use cosSim.

Installation

$ pip install cosSim

If you would rather like to customize the code to your needs, grab a stable version under "Releases".

Usage

The CLI can be used in two ways. It is able to compare two files or directories to a ground truth. It can also compare one file or directory to a ground truth. The amout of files or directories is specified in the positional argument behind the command:

$ cosSim path_to_dir_or_file

or

$ cosSim path_to_dir_or_file another_path

The programm recognises with the --dir or --file flag, which kind of parsing you would like to do. So if you desire to compare two files to the integrated corpus, simply type:

$ cosSim path1 path2 --file

Because the integrated corpus mostly generates an output, that represents language similarty (that is not useful in many cases), cosSim accepts your ground truth under the --base flag:

$ cosSim path1 path2 --file --base path_to_ground_truth

Regarding language support right now, cosSim supports

  • german
  • english

tokenization as well as corpora. If neede, more language support will be added in the future. You can specify the language by adding de or en to the --lang flag. If no language is explicitly stated, the program defaults to german.

Of course you can access a help menu in within the CLI by adding --help or -h to the end of the line.

Common error messages

Because the program uses the nltk library, there is a possibility that an error occurs, which notes a missing installation. In order to prevent this from happening again, see their dedicated documentation regarding these rather small problems.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cosSim-0.1.0.tar.gz (49.2 kB view details)

Uploaded Source

Built Distribution

cosSim-0.1.0-py3-none-any.whl (48.8 kB view details)

Uploaded Python 3

File details

Details for the file cosSim-0.1.0.tar.gz.

File metadata

  • Download URL: cosSim-0.1.0.tar.gz
  • Upload date:
  • Size: 49.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for cosSim-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f0faff845bf712eb3e653a5690978ab44f25da9f4c9bc550762af14c8e2a2b23
MD5 50cc4a93e174c43d7b17473b3c868745
BLAKE2b-256 c752d50f089e2d75a5d9f0d22fda9ca4d95eb8c22770d638a2fe1da0c61d08c9

See more details on using hashes here.

File details

Details for the file cosSim-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cosSim-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for cosSim-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22aca1af01bc27b6292e761e4262dd2ca767464b5491275ebe365d5c560b9d77
MD5 c2400275789a15e5e2951598972795b1
BLAKE2b-256 71ff11d2c6c8fd659d50dda81986a47f2ac937b2b8ebe9827c8cc64c31f382dd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page