All Projects → anetschka → greek_scansion

anetschka / greek_scansion

Licence: other
Python library for automatic analysis of Ancient Greek hexameter. The algorithm uses linguistic rules and finite-state technology.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to greek scansion

doccano-transformer
The official tool for transforming doccano format into common dataset formats.
Stars: ✭ 87 (+443.75%)
Mutual labels:  annotation
openMIC
Meter Information Collection System
Stars: ✭ 15 (-6.25%)
Mutual labels:  meter
SkillNER
A (smart) rule based NLP module to extract job skills from text
Stars: ✭ 69 (+331.25%)
Mutual labels:  rule-based
strongs-dictionary-xml
Strong's Greek Dictionary in XML with real Greek
Stars: ✭ 65 (+306.25%)
Mutual labels:  greek
fit
easy storage Object on SharedPreferences
Stars: ✭ 53 (+231.25%)
Mutual labels:  annotation
MethodScope
Reduce repetitive inheritance works in OOP world using @MethodScope.
Stars: ✭ 33 (+106.25%)
Mutual labels:  annotation
prodoc.nvim
a neovim comment and annotation plugin using coroutine
Stars: ✭ 47 (+193.75%)
Mutual labels:  annotation
mllp
The code of AAAI 2020 paper "Transparent Classification with Multilayer Logical Perceptrons and Random Binarization".
Stars: ✭ 15 (-6.25%)
Mutual labels:  rule-based
ansible-docgen
Generate documentation from annotated Ansible Playbooks and Roles
Stars: ✭ 61 (+281.25%)
Mutual labels:  annotation
VIAN
No description or website provided.
Stars: ✭ 18 (+12.5%)
Mutual labels:  annotation
rita-dsl
A Domain Specific Language (DSL) for building language patterns. These can be later compiled into spaCy patterns, pure regex, or any other format
Stars: ✭ 60 (+275%)
Mutual labels:  rule-based
frontend-toolkit
Tools, documentation and resources for creating front-end pages and apps in Hypothesis
Stars: ✭ 18 (+12.5%)
Mutual labels:  annotation
dart sealed
Dart and Flutter sealed class generator and annotations, with match methods and other utilities. There is also super_enum compatible API.
Stars: ✭ 16 (+0%)
Mutual labels:  annotation
ATGValidator
iOS validation framework with form validation support
Stars: ✭ 51 (+218.75%)
Mutual labels:  rule-based
greek-reference
An ancient Greek lexicon and grammar for Android.
Stars: ✭ 22 (+37.5%)
Mutual labels:  greek
BACTpipe
BACTpipe: An assembly and annotation pipeline for bacterial genomics
Stars: ✭ 19 (+18.75%)
Mutual labels:  annotation
PhpSpecSkipExampleExtension
Skip your PhpSpec examples through annotations
Stars: ✭ 35 (+118.75%)
Mutual labels:  annotation
bioportal web ui
A Rails application for biological ontologies
Stars: ✭ 20 (+25%)
Mutual labels:  annotation
SmartSpin2k
Transform your spin bike into a Smart Trainer!
Stars: ✭ 88 (+450%)
Mutual labels:  meter
aptk
A toolkit project to enable you to build annotation processors more easily
Stars: ✭ 28 (+75%)
Mutual labels:  annotation

greek_scansion

greek_scansion is designed to automatically annotate Ancient Greek hexameter. That is, it tries, for any valid hexameter verse, to find the correct sequence of long and short syllables.

The repository contains the program code and two evaluation scripts. Further information on both is provided in the appropriate folders. Since this project is the result of academic work, the folder thesis contains a long explanation on the project's motivation, background, and implementation details (in German). English readers will find a description of the approach and algorithm in this paper.

Bug fixes and improvements

My knowledge of Ancient Greek is very limited. If you are a philologist or have expert knowledge on Ancient Greek and know how to improve the linguistic parts of the programme, please, do one of the following:

  • open an issue detailing the problem and your improvement,
  • or fork the repo, change the code, and make a pull request.

Citing

Anne-Kathrin Schumann, Christoph Beierle, Norbert Blößner: "Using finite-state machines to automatically scan Ancient Greek hexameter". Digital Scholarship in the Humanities 37(1), pp.242-253. PDF.

License

The project is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike license.

Requirements and setup

Machine

The project has been developed and tested on a Windows 10 machine, using Python 3.6.4.

Obligatory requirements

The finite-state automata have been implemented using the transitions module by Alexander Neumann.

The finite-state transducer uses the Helsinki Finite-State Tools.

If needed

I exported my Greek verses from a heritage MySQL database, using a MySQL Python Connector. If you have a similar requirement, you might consider trying this. Otherwise, you obviously don't need to bother.

I also tried out the syllabification module by James Tauber. In the end, I didn't use it for my annotations, so if you don't want to install it, you can get rid of this part of the code.

The baseline script references the Classical Language Toolkit (CLTK). On my machine, I managed to run this only from the Ubuntu subsystem. AND it actually does not properly annotate hexameter verses. So this dependency is very much an optional one.

A reasonable baseline can be got from Hope Ranker's hexameter library.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].