Awlify
A very basic tool that takes in a sentence of text and outputs the same text, annotated with information about whether any of its words are in the Academic Word List.
installing
pip install awlify
and if you haven't used spacy on your system before, you'll need to install the model we're using here with the command below:
python -m spacy download en_core_web_sm
tests
python -m unittest
usage inside a file
from awlify import awlify
result = awlify('please inform me of the academic words in this sentence')
print(result)
{"data": {"sentence": "please inform me of the academic words in this sentence", "awl_words": [{"index": 5, "word": "academic", "meta": {"head": "academy", "sublist": 5}}]}}
usage from the command line
python -m awlify 'this is a sentence to check'
{"data": {"sentence": "this is a sentence to check", "awl_words": []}}
expected input / output
format for output:
{
"data": {
"sentence": "THIS IS THE ORIGINAL SENTENCE",
"awl_words": [
{
"index": INDEX_OF_AWL_WORD_FOUND,
"word": "AWL_WORD_FOUND",
"meta": {
"head": "THE_HEADWORD_FROM_THE_AWL",
"sublist": THE_AWL_SUBLIST_OF_THE_WORD
}
}
]
}
}
example input for a simple sentence (no AWL words):
simple_sentence = awlify('this is a sentence')
example output for a simple sentence (no AWL words):
{
"data": {
"sentence": "this is a sentence",
"awl_words": []
}
}
example input for a complex sentence (a few AWL words):
complex_sentence = awlify('the economic recovery is ongoing and potentially problematic')
example output for a complex sentence (a few AWL words):
{
"data": {
"sentence": "the economic recovery is ongoing and potentially problematic",
"awl_words": [
{
"index": 1,
"word": "economic",
"meta": {
"head": "economy",
"sublist": 1
}
},
{
"index": 2,
"word": "recovery",
"meta": {
"head": "recover",
"sublist": 6
}
},
{
"index": 6,
"word": "potentially",
"meta": {
"head": "potential",
"sublist": 2
}
}
]
}
}
NOTES
The current implementation of the sentence tokenization uses spacy, and so it's a bit heavier than absolutely necessary, since we're not taking advantage of any of the more advanced characteristics of the package.
In theory, it could probably perform 98% as well with just a simple regex, so I might add the option to do that in the future if there aren't any real use cases for needing the full weight of spacy.
REFERENCES
Coxhead, Averil (2000) A New Academic Word List. TESOL Quarterly, 34(2): 213-238.
Release files for awlify 1.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| awlify-1.1.2.tar.gz | 19.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| awlify-1.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.4 kB
Release files / awlify-1.1.2.tar.gz
| Download URL | awlify-1.1.2.tar.gz |
|---|---|
| Size | 19.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e9881c19331da26d57e760923e2340ca096e9e4862546a568c9e545cbc772d9
|
|
BLAKE2b-256 checksum How to use checksums |
5bcf148ee90c5282c32f71e0a3dc3b2530998dae20fb826d98e5248f9d47ceb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.6.3
|
Release files / awlify-1.1.2-py3-none-any.whl
| Download URL | awlify-1.1.2-py3-none-any.whl |
|---|---|
| Size | 19.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4e5b51cefeef52189fa383ce1c8df8d570c6d7e266cd2de0f9dafdd2526ba0cd
|
|
BLAKE2b-256 checksum How to use checksums |
4b2f077051d052d673086a372afe368bc03f2478666fb8bcc29866f4ed36ce03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.6.3
|