Skip to content

Commit

Permalink
working custom corpus
Browse files Browse the repository at this point in the history
  • Loading branch information
kklot committed Sep 19, 2022
1 parent 584c844 commit e8cc1b1
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 1 deletion.
45 changes: 45 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,51 @@ Process Complete
( 27) TAYER : The long nAme of Your vEry fancy pRoject
```

*New in Version 2.0.2*

New option to add custom corpus, such as those in other languages (German,
Russian, ...) listed [here](https://wortschatz.uni-leipzig.de/en/download/).

```
--corpus, -c Path to the text file (words) to read in as corpus
(default: NULL)
```

```
acronym -c ~/Downloads/deu_news_2021_10K/deu_news_2021_10K-words.txt "Ich vermisse dich so sehr, aber du weißt es nicht, und ich kann nichts tun"
Collecting word corpus
Identifying matching acronyms
Process Complete
(Score) ACRONYM : Spelling
==============================================================================================
( 45) INDIANS : Ich vermisse dich so sehr, aber du weißt es Nicht, unD Ich kAnn NichtS tun
( 30) IDEEN : Ich vermisse Dich so sEhr, aber du weißt Es nicht, und ich kann nichts tuN
( 30) INDIA : Ich vermisse dich so sehr, aber du weißt es Nicht, unD Ich kAnn nichts tun
( 26) ISSUES : Ich vermiSSe dich so sehr, aber dU weißt Es nicht, und ich kann nichtS tun
( 25) IDEE : Ich vermisse Dich so sehr, aber du wEißt Es nicht, und ich kann nichts tun
( 25) IDRIS : Ich vermisse Dich so sehR, aber du weißt es nicht, und ich kann nIchtS tun
( 25) IVES : Ich Vermisse dich so sehr, aber du weißt Es nicht, und ich kann nichtS tun
( 25) INKA : Ich vermisse dich so sehr, aber du weißt es Nicht, und ich KAnn nichts tun
( 23) IHRES : IcH veRmisse dich so sehr, aber du weißt Es nicht, und ich kann nichtS tun
( 23) IRAK : Ich veRmisse dich so sehr, Aber du weißt es nicht, und ich Kann nichts tun
( 23) IRWIN : Ich veRmisse dich so sehr, aber du Weißt es nicht, und ich kann nIchts tuN
( 23) IHREN : IcH veRmisse dich so sehr, aber du weißt Es nicht, und ich kann nichts tuN
( 23) IVICA : Ich VermIsse dich so sehr, aber du weißt es nicht, und iCh kAnn nichts tun
( 23) IRRTE : Ich veRmisse dich so sehR, aber du weißT Es nicht, und ich kann nichts tun
( 20) IWAN : Ich vermisse dich so sehr, aber du Weißt es nicht, und ich kAnn nichts tuN
( 20) IHRE : IcH vermisse dich so sehr, abeR du weißt Es nicht, und ich kann nichts tun
( 18) IRRE : Ich veRmisse dich so sehr, abeR du weißt Es nicht, und ich kann nichts tun
( 18) ISAR : Ich vermiSse dich so sehr, AbeR du weißt es nicht, und ich kann nichts tun
( 18) IMERI : Ich verMissE dich so sehr, abeR du weißt es nicht, und ich kann nIchts tun
( 16) IRRER : Ich veRmisse dich so sehR, abER du weißt es nicht, und ich kann nichts tun
( 16) IHRER : IcH veRmisse dich so sehr, abER du weißt es nicht, und ich kann nichts tun
( 16) IRINA : Ich veRmIsse dich so sehr, aber du weißt es nicht, uNd ich kAnn nichts tun
( 13) IRIS : Ich veRmisse dich so sehr, aber du weißt es nicht, und ich kann nIchtS tun
( 13) IRAN : Ich veRmisse dich so sehr, aber du weißt es nicht, und ich kAnn nichts tuN
( 13) ISIN : Ich vermiSse dich so sehr, aber du weißt es nicht, und ich kann nIchts tuN
( 13) IUCN : Ich vermisse dich so sehr, aber dU weißt es nicht, und ich kann niChts tuN
```

Acronym Scoring System *New in Version 2.0.0*
```
For each capitalized letter in the acronym:
Expand Down
16 changes: 15 additions & 1 deletion acronym/acronym.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
#! /usr/bin/env python

__version__ = '2.0.1'
__version__ = '2.0.2'

import os
import numpy as np
import pandas as pd
import re
# import enchant
import nltk
from nltk.corpus import PlaintextCorpusReader
from .scoring import score_acronym
try:
nltk.corpus.words.ensure_loaded()
Expand Down Expand Up @@ -150,6 +152,10 @@ def find_acronyms(s, corpus, min_length=5, max_length=7):
results.index.name = 'acronym'
return results.sort_values('score', ascending=False)

def validate_file(f):
if f != 'NULL' and not os.path.exists(f):
raise argparse.ArgumentTypeError("{0} does not exist".format(f))
return f

def main():
# Setup the command-line tool
Expand All @@ -173,6 +179,9 @@ def main():
help='file to save results (prints to STDOUT if not given)')
parser.add_argument('--strict', '-s', action='count',
help='How strictly should the words be related to real English? (-s for strict, -ss for very strict)')
parser.add_argument('--corpus', '-c', default="NULL", type=validate_file,
help='Absolute path to the .txt file to read in as corpus. Overwrite the strict option')

parser.add_argument('--version', action='version', version='%(prog)s' + f'{__version__}')
args = parser.parse_args()

Expand All @@ -183,6 +192,11 @@ def main():
else:
corpus = nltk.corpus.gutenberg

if args.corpus != 'NULL':
corpus_root = os.path.dirname(args.corpus)
corpus_file = os.path.basename(args.corpus)
corpus = PlaintextCorpusReader(corpus_root, corpus_file)

results = find_acronyms(args.name, corpus,
min_length=args.min_length,
max_length=args.max_length)
Expand Down

0 comments on commit e8cc1b1

Please sign in to comment.