Skip to main content

Simple Text similarity python

Project description

pykosinus

pykosinus is an open-source Python library for text similarity search scoring. It provides a fast and memory-efficient way to calculate cosine similarity scores, making it suitable for various text similarity applications. The library is designed to be user-friendly and encourages contributions from the community.

Installation

To install pykosinus, make sure you have Python 3.8.17 or higher installed. Then, you can install the library using pip:

pip install pykosinus

Additional Library for Mac Users

If you are using pykosinus on a Mac, you may need to install the GCC compiler to enable certain features. GCC is a widely used compiler for various programming languages.

To install GCC on macOS, you can use Homebrew, a popular package manager for macOS. Follow these steps to install GCC using Homebrew:

  • Open a terminal window.
  • Install Homebrew by running the following command:
[/bin/bash](VALID_FILE) -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Install GCC by running the following command:
brew install gcc
  • Verify the installation by running the following command:
gcc --version
  • Set gfortran
export FC=gfortran
  • Verify gfortran installation
gfortran --version
  • Install openblas and set pkg config openblas
brew install openblas
export PKG_CONFIG_PATH="/opt/homebrew/opt/openblas/lib/pkgconfig"

Usage

To use pykosinus in your Python project, you can follow these steps:

  • Import the necessary modules and classes:
from pykosinus import Content
from pykosinus.lib.scoring import TextScoring
  • Create an instance of the TextScoring class, providing the collection name as a parameter:
similarity = TextScoring(collection_name)
  • Set the contents to be searched using the push_contents method, passing a list of Content objects:
contents = [
    Content(
        content="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
        identifier="blog-1",
        section="blog_title",
    ),
    Content(
        content="Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
        identifier="blog-2",
        section="blog_title",
    ),
    Content(
        content="Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.",
        identifier="blog-3",
        section="blog_title",
    ),
    # Add more contents as needed
]
similarity.push_contents(contents)
  • Initialize the similarity search by calling the initialize method:
similarity.initialize()
  • Perform a similarity search by calling the search method, providing a keyword and an optional threshold:
results = similarity.search(keyword="search keyword", threshold=0.2)
  • The search method returns a list of ScoringResult objects, which contain the relevant information about the search results. You can access the properties of each result, such as identifier, content, section, similar, and score.
for result in results:
    print(
        result.identifier, result.content, result.section, result.similar, result.score
    )

Contributing

pykosinus welcomes contributions from the community. If you would like to contribute to the library, please follow these steps:

  • Fork the pykosinus repository on GitHub.
  • Create a new branch for your feature or bug fix.
  • Make your changes and commit them with descriptive commit messages.
  • Push your changes to your forked repository.
  • Submit a pull request to the master pykosinus repository, explaining the changes you have made.

Versioning

pykosinus is currently in version 0.2.0. We encourage continuous development and contributions from other contributors to improve and expand the library.

License

pykosinus is released under the MIT License.

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

pykosinus-0.2.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pykosinus-0.2.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file pykosinus-0.2.0.tar.gz.

File metadata

  • Download URL: pykosinus-0.2.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.28.2 requests-toolbelt/1.0.0 urllib3/1.26.15 tqdm/4.65.0 importlib-metadata/6.7.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.6

File hashes

Hashes for pykosinus-0.2.0.tar.gz
Algorithm Hash digest
SHA256 22b85509b3ac9f41f2128b792bc7d95b94a51a56b2506e645ec13980175f4a60
MD5 83d4f495353af187e217ba1711c474d9
BLAKE2b-256 7551d8353919f1848644cad9a6d94d385dd42f0cc66f7152a95abe2c725ba12e

See more details on using hashes here.

File details

Details for the file pykosinus-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pykosinus-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.28.2 requests-toolbelt/1.0.0 urllib3/1.26.15 tqdm/4.65.0 importlib-metadata/6.7.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.6

File hashes

Hashes for pykosinus-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 919d87fd16abfc240b044c666d21435e88d77bac894ea9b720862e070c3d5005
MD5 bedc503d8b6acafb9d72893ba7c0bc19
BLAKE2b-256 9de697274dca348e368e90b26f9e7c6e2800ee78b9771c5e8c16b5b9d40552c3

See more details on using hashes here.

Supported by

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