Code Monkey home page Code Monkey logo

acronym's Introduction

ACRONYM (Acronym CReatiON for You and Me)

=====

A python-based tool for creating English-ish Acronyms from your fancy project

ACRONYM is described in this paper released on the arXiv: https://arxiv.org/abs/1903.12180

ACRONYM can be installed using pip:

$ pip install acronym

Alternatively, you can clone this repository, navigate to the main directory, and run:

$ make install

To use, run like the following:

$ acronym "the long name of your very fancy project"
Collecting word corpus
Identifying matching acronyms
Process Complete
(Score) ACRONYM   : Spelling
============================================================
(   35) TELAMON   : ThE Long nAMe of yOur very faNcy project
(   35) THEOGAMY  : THE lOnG nAMe of your very fancY project
(   35) THEOGONY  : THE lOnG name of yOur very faNcY project
(   34) THEOMANCY : THE lOng naMe of your very fANCY project
(   32) TAVERT    : The long nAme of your VEry fancy pRojecT
(   32) TAREFA    : The long nAme of youR vEry FAncy project
(   31) TELERAN   : ThE Long namE of your veRy fANcy project
(   30) TELFER    : ThE Long name oF your vEry fancy pRoject
(   30) THENAR    : THE long Name of your very fAncy pRoject
(   30) TARPOT    : The long nAme of youR very fancy PrOjecT
(   30) THEREAT   : THE long name of youR vEry fAncy projecT
(   30) TORYFY    : The lOng name of youR verY FancY project
(   30) THREAP    : THe long name of youR vEry fAncy Project
(   30) TELARY    : ThE Long nAme of your veRy fancY project
(   30) THEAVE    : THE long nAme of your Very fancy projEct
(   30) TEAPOT    : ThE long nAme of your very fancy PrOjecT
(   29) THONGMAN  : THe lONG naMe of your very fANcy project
(   29) THERENCE  : THE long name of youR vEry faNCy projEct
(   28) TONNER    : The lONg Name of your vEry fancy pRoject
(   28) TENNER    : ThE loNg Name of your vEry fancy pRoject
(   28) TERVEE    : ThE long name of youR VEry fancy projEct
(   28) TAVERN    : The long nAme of your VERy faNcy project
(   28) TEEVEE    : ThE long namE of your VEry fancy projEct
(   28) TYRANT    : The long name of YouR very fANcy projecT
(   28) TELEUT    : ThE Long namE of yoUr very fancy projecT
(   28) TAUREAN   : The long nAme of yoUR vEry fANcy project
(   27) TAVER     : The long nAme of your VEry fancy pRoject
(   27) TEARER    : ThE long nAme of youR vEry fancy pRoject
(   27) TERRANCE  : ThE long name of youR veRy fANCy projEct
(   27) TAYER     : The long nAme of Your vEry fancy pRoject

Acronym Scoring System New in Version 2.0.0

For each capitalized letter in the acronym:
   * 10 points if first letter in a word (with exception of first letter)
   * 3 point if second or last letter in a word
   * 1 point otherwise
   * N bonus points if begins an N-length valid sub-word
       (ex: multiVariable -> 8 bonus points)
   * 2 bonus points if immediately following another capitalizd letter

optional arguments:

  -h, --help            show this help message and exit
  --min-length MIN_LENGTH
                        minimum length acronym to generate (default: 4)
  --max-length MAX_LENGTH
                        maximum length acronym to generate (default: 9)
  --max-results MAX_RESULTS
                        maximum number of options to generate (default: 30)
  --output OUTPUT       file to save results (prints to STDOUT if not given)
                        (default: STDOUT)
  --strict, -s          How strictly should the words be related to real
                        English? (-s for strict, -ss for very strict)
                        (default: None)

acronym's People

Contributors

bacook17 avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

acronym's Issues

Unexpected

Not sure if it can be considered as an issue but I'm pretty sure it can cause issue. (not in software itself)
I tried to create an acronyme for my project "NIAEI Cosmic Ray Logger" and the results was a little unexpected.

user@computer:~$ acronym "NIAEI Cosmic Ray Logger" --nested
some_path/existing_acronyms.txt
Collecting word corpus
Comparing to known acronyms
Identifying matching acronyms
Process Complete
NIGGER NIaei cosmic ray loGGER
NAGGE NiAei cosmic ray loGGEr
NAOMI NiAei cOsMIc ray logger
NASAL NiAei coSmic rAy Logger
NASCE NiAei coSmiC ray loggEr
NICER NIaei Cosmic ray loggER
NIECE NIaEi cosmiC ray loggEr
NIGER NIaei cosmic ray loGgER
NAIL NiAei cosmIc ray Logger
NAME NiAei cosMic ray loggEr
NEAR NiaEi cosmic rAy loggeR
NEER NiaEi cosmic ray loggER
NERE NiaEi cosmic Ray loggEr
NERO NiaEi cosmic Ray lOgger
NICE NIaei cosmiC ray loggEr
NILE NIaei cosmic ray LoggEr
NOSE Niaei cOSmic ray loggEr

I see dictionaries describe the word shown in bold, however it might be a good idea to have a flag in acronym to prevend such results.

unexpected: Initial downloading of word corpus

the download of the word corpus should move into a dedicated command line option "--init" or something like this.

it is somewhat unexpected that the first run of the cli tool will download something, without asking the user.

make this an importable lib

hi, i find the tool pretty use full, and it would be nice if you could make this a lib, with a stable interface, that can be imported into other projects.

for this i would suggest that the logic to choose "corpus" should move into find_acronyms

Should be able to generate its own name

$ acronym "acronym creation for you and me" --min-length 7 --max-length 7 --strict
Collecting word corpus
Identifying matching acronyms
Process Complete
ACETONE ACronym crEaTion for yOu aNd mE
AMATORY AcronyM creATion fOR You and me
ANYMORE AcroNYM creation fOR you and mE
ANYTIME AcroNYm creaTIon for you and ME

$ acronym "acronym creation for you and me" --min-length 7 --max-length 7
Collecting word corpus
Identifying matching acronyms
Process Complete
ACCARON ACronym CreAtion foR yOu aNd me
ANYMORE AcroNYM creation fOR you and mE
ANYRATE AcroNYm cReATion for you and mE

Should check 1st letters of words first

Just tried this on an existing, hand-crafted acronym. It got the one we use, but not as elegant as it should be given the same acronym could be generated form the 1st letter of each word. Might be good to check/include acronyms made up of the 1st letters of each word.

output of acronym
BEAST BayEsiAn extinction and Stellar Tool

actual
BEAST Bayesian Extinction And Stellar Tool

Very cool tool - BTW!

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.