Coder Social home page Coder Social logo

anetschka / greek_scansion Goto Github PK

View Code? Open in Web Editor NEW
17.0 4.0 2.0 7.46 MB

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

License: Other

Python 100.00%
hexameter greek annotation python3 finite-state rule-based hfst meter scansion

greek_scansion's Introduction

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. English readers will find a description of the approach and algorithm in this paper. There also is a related Arxiv 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.

greek_scansion's People

Contributors

anetschka avatar breakbb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.