A Python package to assist concordance reading
Project description
Introduction to FlexiConc
FlexiConc is a Python package developed to facilitate and enhance the computational analysis of concordances, primarily intended for use in corpus linguistic research. The package is rooted in theoretical insights from the “Reading Concordances in the 21st Century” research project supported by the Arts and Humanities Research Council (AHRC) (grant references: AH/X002047/1 & AH/X002047/2) and the Deutsche Forschungsgemeinschaft (DFG) (grant reference: 508235423).
FlexiConc systematically supports analysts in organizing, filtering, and interpreting concordance data through algorithmic assistance, making complex corpus research reproducible and accountable.
What is FlexiConc?
FlexiConc provides computational methods to assist corpus linguists in systematically exploring concordances—lists of text segments centered around keywords or query matches (nodes). It enables flexible manipulation of concordances through a structured approach that includes selecting subsets of data, ordering concordance lines based on specific criteria, and grouping them into meaningful clusters or partitions.
Core Features
Concordance Views
A concordance view is a filtered, ordered, grouped, or otherwise transformed subset of a concordance, designed to help analysts identify and interpret patterns. Concordance views support "vertical reading" via traditional KWIC (Keyword in Context) format, allowing efficient examination of recurring linguistic patterns.
Core Analytical Strategies
FlexiConc is built around three main strategies:
- Selecting: Focusing on subsets of concordance lines based on criteria such as metadata categories, contextual keywords, or random sampling.
- Ordering: Arranging concordance lines either through sorting (pairwise comparisons) or ranking (based on numeric preference scores to prioritize lines of interest).
- Grouping: Organizing concordance lines into meaningful categories, either by partitioning based on explicit criteria or clustering by semantic, syntactic, or lexical similarity.
Analysis Trees
The analytical workflow in FlexiConc is structured via an analysis tree, a hierarchical history of applied algorithms and operations. Each node in the tree represents either a subset selection or a rearrangement (ordering/grouping) of concordance lines, preserving a complete record of the analyst's exploratory steps. This ensures research transparency, facilitates reproducibility, and enables easy revisiting of previous analytical steps.
Integration and Extensibility
FlexiConc is designed primarily as a backend library for integration into concordancer applications. The host application handles corpus queries, initial concordance generation, user interaction, and visualization, while FlexiConc processes concordances, applies algorithms, and manages analysis trees. This clear division ensures FlexiConc can be integrated into various concordancing environments easily.
FlexiConc's modular design supports adding new analytical algorithms seamlessly, fostering ongoing innovation and adaptability to evolving research needs.
Intended Users and Use Cases
FlexiConc is suited for:
- Corpus linguists performing qualitative and quantitative pattern analyses.
- Developers of concordance applications seeking computational backend solutions.
- Educators and researchers requiring reproducible and systematic documentation of analytical steps.
Technical Overview
FlexiConc operates on structured concordance data containing token and metadata annotations provided by the host application.
Algorithm outputs—subset selections, sorting keys, clustering information—are returned as structured concordance views, enabling host applications to provide clear visual representations.
Documentation
As of the current version, the complete documentation is still in development and the details of the API are subject to change. However, you can learn how FlexiConc works from the examples in this Jupyter notebook using FlexiConc 0.1.5.
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
Built Distribution
File details
Details for the file flexiconc-0.1.6.tar.gz
.
File metadata
- Download URL: flexiconc-0.1.6.tar.gz
- Upload date:
- Size: 69.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3802217e27c99e65f9af27a649551c91014d399eabe2ec7e9eda181addc93e9 |
|
MD5 | 9dc3dd36ef0abf0f93e46fa465197766 |
|
BLAKE2b-256 | 2588c7eae0c860dfc12f59c820ee8753232ade680acec1f1530a44994fc1336b |
File details
Details for the file flexiconc-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: flexiconc-0.1.6-py3-none-any.whl
- Upload date:
- Size: 74.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd912699618e1b390952206f3414c91260467c4987a42e1fc920047c986db5f1 |
|
MD5 | 3aeed248ffe13bc1d907e62dcf8f30e3 |
|
BLAKE2b-256 | b19eb23859e024a0c4f629040dc21997ac371ba116dc2997a91ff50603fe446b |