elfen

A python package to efficiently extract linguistic features for text/NLP datasets

https://github.com/mmmaurer/elfen

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.4%) to scientific vocabulary

Keywords

datasets linguistic-analysis linguistic-features natural-language-processing nlp
Last synced: 6 months ago · JSON representation ·

Repository

A python package to efficiently extract linguistic features for text/NLP datasets

Basic Info
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Topics
datasets linguistic-analysis linguistic-features natural-language-processing nlp
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

ELFEN - Efficient Linguistic Feature Extraction for Natural Language Datasets

This python package provides efficient linguistic feature extraction for text datasets (i.e. datasets with N text instances, in a tabular structure).

For a full overview of the features available, check the overview table, for further details and tutorials check the documentation.

The multilingual support is documented in the multilingual support table.

Installation

Install this package using the current pypi version bash python -m pip install elfen

Install this package from source bash python -m pip install git+https://github.com/mmmaurer/elfen.git

If you want to use the spacy backbone, you will need to download the respective model, e.g. "encorewebsm": ```bash python -m spacy download encorewebsm ```

To use wordnet features, download open multilingual wordnet using: bash python -m wn download omw:1.4

Note that for some languages, you will need to install another wordnet collection. For example, for German, you can use the following command:

bash python -m wn download odenet:1.4

For more information on the available wordnet collections, consult the wn package documentation.

Multiprocessing and limiting the numbers of cores used

The underlying dataframe library, polars, uses all available cores by default. If you are working on a shared server, you may want to consider limiting the resources available to polars. To do that, you will have to set the POLARS_MAX_THREADS variable in your shell, e.g.:

bash export POLARS_MAX_THREADS=8

Usage of third-party resources usable in this package

The extraction of psycholinguistic, emotion/lexicon and semantic features relies on third-party resources such as lexicons. Please refer to the original author's licenses and conditions for usage, and cite them if you use the resources through this package in your analyses.

For an overview which features use which resource, and how to export all third-party resource references in a bibtex string, consult the documentation.

Acknowledgements

While all feature extraction functions in this package are written from scratch, the choice of features in the readability and lexical richness feature areas (partially) follows the readability and lexicalrichness python packages.

We use the wn python package to extract Open Multilingual Wordnet synsets.

Citation

If you use this package in your work, for now, please cite bibtex @misc{maurer-2025-elfen, author = {Maurer, Maximilian}, title = {ELFEN - Efficient Linguistic Feature Extraction for Natural Language Datasets}, year = {2025}, publisher = {GitHub}, journal = {GitHub repository}, howpublished = {\url{https://github.com/mmmaurer/elfen}}, }

Owner

  • Name: Maximilian Maurer
  • Login: mmmaurer
  • Kind: user
  • Location: Stuttgart, Germany

MSc Computational Linguistics Student at Uni Stuttgart

Citation (CITATION.cff)

cff.version: '1.2.0'
message: 'If you use this software, please cite it as below.'
authors:
  - family-names: 'Maurer'
    given-names: 'Maximilian'
title: "ELFEN - Efficient Linguistic Feature Extraction for Natural Language Datasets"
version: '1.1.3'
date-released: '2025-03-18'
url: "https://github.com/mmmaurer/elfen"

GitHub Events

Total
  • Watch event: 2
  • Delete event: 1
  • Public event: 1
  • Push event: 32
  • Pull request event: 4
  • Fork event: 2
  • Create event: 1
Last Year
  • Watch event: 2
  • Delete event: 1
  • Public event: 1
  • Push event: 32
  • Pull request event: 4
  • Fork event: 2
  • Create event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 112 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 17
  • Total maintainers: 1
pypi.org: elfen

ELFEN - Efficient Linguistic Feature Extraction for Natural Language Datasets

  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 112 Last month
Rankings
Dependent packages count: 9.8%
Average: 32.4%
Dependent repos count: 55.0%
Maintainers (1)
Last synced: 6 months ago