├── LICENSE ├── README.md ├── logo.png ├── setup.py ├── test_values.py ├── test_word_forms.py └── word_forms ├── __init__.py ├── adj_to_adv.txt ├── constants.py ├── en-verbs.txt ├── lemmatizer.py └── word_forms.py /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Dibya Chakravorty 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | word forms logo 2 | 3 | ## Accurately generate all possible forms of an English word 4 | 5 | Word forms can accurately generate all possible forms of an English word. It can conjugate verbs. It can connect different 6 | parts of speeches e.g noun to adjective, adjective to adverb, noun to verb etc. It can pluralize singular nouns. It does this all in one function. Enjoy! 7 | 8 | ## Examples 9 | 10 | Some very timely examples :-P 11 | 12 | ```python 13 | >>> from word_forms.word_forms import get_word_forms 14 | >>> get_word_forms("president") 15 | >>> {'n': {'presidents', 'presidentships', 'presidencies', 'presidentship', 'president', 'presidency'}, 16 | 'a': {'presidential'}, 17 | 'v': {'preside', 'presided', 'presiding', 'presides'}, 18 | 'r': {'presidentially'}} 19 | >>> get_word_forms("elect") 20 | >>> {'n': {'elects', 'electives', 'electors', 'elect', 'eligibilities', 'electorates', 'eligibility', 'elector', 'election', 'elections', 'electorate', 'elective'}, 21 | 'a': {'eligible', 'electoral', 'elective', 'elect'}, 22 | 'v': {'electing', 'elects', 'elected', 'elect'}, 23 | 'r': set()} 24 | >>> get_word_forms("politician") 25 | >>> {'n': {'politician', 'politics', 'politicians'}, 26 | 'a': {'political'}, 27 | 'v': set(), 28 | 'r': {'politically'}} 29 | >>> get_word_forms("am") 30 | >>> {'n': {'being', 'beings'}, 31 | 'a': set(), 32 | 'v': {'was', 'be', "weren't", 'am', "wasn't", "aren't", 'being', 'were', 'is', "isn't", 'been', 'are', 'am not'}, 33 | 'r': set()} 34 | >>> get_word_forms("ran") 35 | >>> {'n': {'run', 'runniness', 'runner', 'runninesses', 'running', 'runners', 'runnings', 'runs'}, 36 | 'a': {'running', 'runny'}, 37 | 'v': {'running', 'run', 'ran', 'runs'}, 38 | 'r': set()} 39 | >>> get_word_forms('continent', 0.8) # with configurable similarity threshold 40 | >>> {'n': {'continents', 'continency', 'continences', 'continent', 'continencies', 'continence'}, 41 | 'a': {'continental', 'continent'}, 42 | 'v': set(), 43 | 'r': set()} 44 | ``` 45 | As you can see, the output is a dictionary with four keys. "r" stands for adverb, "a" for adjective, "n" for noun 46 | and "v" for verb. Don't ask me why "r" stands for adverb. This is what WordNet uses, so this is why I use it too :-) 47 | 48 | Help can be obtained at any time by typing the following: 49 | 50 | ```python 51 | >>> help(get_word_forms) 52 | ``` 53 | 54 | ## Why? 55 | In Natural Language Processing and Search, one often needs to treat words like "run" and "ran", "love" and "lovable" 56 | or "politician" and "politics" as the same word. This is usually done by algorithmically reducing each word into a 57 | base word and then comparing the base words. The process is called Stemming. 58 | For example, the [Porter Stemmer](http://text-processing.com/demo/stem/) reduces both "love" and "lovely" 59 | into the base word "love". 60 | 61 | Stemmers have several shortcomings. Firstly, the base word produced by the Stemmer is not always a valid English word. 62 | For example, the Porter Stemmer reduces the word "operation" to "oper". Secondly, the Stemmers have a high false negative rate. 63 | For example, "run" is reduced to "run" and "ran" is reduced to "ran". This happens because the Stemmers use a set of 64 | rational rules for finding the base words, and as we all know, the English language does not always behave very rationally. 65 | 66 | Lemmatizers are more accurate than Stemmers because they produce a base form that is present in the dictionary (also called the Lemma). So the reduced word is always a valid English word. However, Lemmatizers also have false negatives because they are not very good at connecting words across different parts of speeches. The [WordNet Lemmatizer](http://textanalysisonline.com/nltk-wordnet-lemmatizer) included with NLTK fails at almost all such examples. "operations" is reduced to "operation" and "operate" is reduced to "operate". 67 | 68 | Word Forms tries to solve this problem by finding all possible forms of a given English word. It can perform verb conjugations, connect noun forms to verb forms, adjective forms, adverb forms, plularize singular forms etc. 69 | 70 | ## Bonus: A simple lemmatizer 71 | 72 | We also offer a very simple lemmatizer based on ``word_forms``. Here is how to use it. 73 | 74 | ```python 75 | >>> from word_forms.lemmatizer import lemmatize 76 | >>> lemmatize("operations") 77 | 'operant' 78 | >>> lemmatize("operate") 79 | 'operant' 80 | ``` 81 | 82 | Enjoy! 83 | 84 | ## Compatibility 85 | 86 | Tested on Python 3 87 | 88 | ## Installation 89 | 90 | Using `pip`: 91 | 92 | ``` 93 | pip install -U word_forms 94 | ``` 95 | 96 | ### From source 97 | Or you can install it from source: 98 | 99 | 1. Clone the repository: 100 | 101 | ``` 102 | git clone https://github.com/gutfeeling/word_forms.git 103 | ``` 104 | 105 | 2. Install it using `pip` or `setup.py` 106 | 107 | ``` 108 | pip install -e word_forms 109 | % or 110 | cd word_forms 111 | python setup.py install 112 | ``` 113 | 114 | ## Acknowledgement 115 | 116 | 1. [The XTAG project](http://www.cis.upenn.edu/~xtag/) for information on [verb conjugations](word_forms/en-verbs.txt). 117 | 2. [WordNet](http://wordnet.princeton.edu/) 118 | 119 | ## Maintainer 120 | 121 | Hi, I am Dibya and I maintain this repository. I would love to hear from you. Feel free to get in touch with me 122 | at dibyachakravorty@gmail.com. 123 | 124 | ## Contributors 125 | 126 | - Tom Aarsen @CubieDev is a major contributor and is singlehandedly responsible for v2.0.0. 127 | - Sajal Sharma @sajal2692 ia a major contributor. 128 | - Pamphile Roy @tupui is responsible for the PyPI package. 129 | 130 | ## Contributions 131 | 132 | Word Forms is not perfect. In particular, a couple of aspects can be improved. 133 | 134 | 1. It sometimes generates non dictionary words like "runninesses" because the pluralization/singularization algorithm is 135 | not perfect. At the moment, I am using [inflect](https://pypi.python.org/pypi/inflect) for it. 136 | 137 | If you like this package, feel free to contribute. Your pull requests are most welcome. 138 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gutfeeling/word_forms/1ad4b74a15093c0ab996b99639f7a963c5974f44/logo.png -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | 3 | with open("README.md", "r", encoding="utf-8") as fh: 4 | long_description = fh.read() 5 | 6 | setup(name="word_forms", 7 | version="2.1.0", 8 | description="Generate all possible forms of an English word.", 9 | long_description=long_description, 10 | long_description_content_type="text/markdown", 11 | author="Dibya Chakravorty", 12 | author_email="dibyachakravorty@gmail.com", 13 | url="https://github.com/gutfeeling/word_forms", 14 | packages=["word_forms"], 15 | package_data={"word_forms" : ["en-verbs.txt", "adj_to_adv.txt"]}, 16 | include_package_data=True, 17 | install_requires=["inflect==4.1.0", "nltk>=3.3"], 18 | classifiers=[ 19 | "Programming Language :: Python :: 3", 20 | "License :: OSI Approved :: MIT License", 21 | "Operating System :: OS Independent", 22 | ], 23 | python_requires='>=3.6', 24 | ) 25 | -------------------------------------------------------------------------------- /test_values.py: -------------------------------------------------------------------------------- 1 | # Test values must be in the form [(text_input, expected_output), (text_input, expected_output), ...] 2 | test_values = [ 3 | ( 4 | "president", 5 | { 6 | "n": { 7 | "president", 8 | "presidentship", 9 | "presidencies", 10 | "presidency", 11 | "presidentships", 12 | "presidents", 13 | }, 14 | "r": {"presidentially"}, 15 | "a": {"presidential"}, 16 | "v": {"presiding", "presides", "preside", "presided"}, 17 | }, 18 | ), 19 | ( 20 | "elect", 21 | { 22 | "n": { 23 | "elector", 24 | "elects", 25 | "electors", 26 | "elective", 27 | "electorates", 28 | "elect", 29 | "electives", 30 | "elections", 31 | "electorate", 32 | "eligibility", 33 | "election", 34 | "eligibilities", 35 | }, 36 | "r": set(), 37 | "a": {"elect", "electoral", "elective", "eligible"}, 38 | "v": {"elect", "elects", "electing", "elected"}, 39 | }, 40 | ), 41 | ( 42 | "running", 43 | { 44 | "n": { 45 | "runninesses", 46 | "runnings", 47 | "runs", 48 | "running", 49 | "runniness", 50 | "runners", 51 | "runner", 52 | "run", 53 | }, 54 | "a": {"running", "runny"}, 55 | "v": {"running", "ran", "runs", "run"}, 56 | "r": set(), 57 | }, 58 | ), 59 | ( 60 | "run", 61 | { 62 | "n": { 63 | "runninesses", 64 | "runnings", 65 | "runs", 66 | "running", 67 | "runniness", 68 | "runners", 69 | "runner", 70 | "run", 71 | }, 72 | "a": {"running", "runny"}, 73 | "v": {"running", "ran", "runs", "run"}, 74 | "r": set(), 75 | }, 76 | ), 77 | ( 78 | "operations", 79 | { 80 | "n": { 81 | "operators", 82 | "operations", 83 | "operation", 84 | "operative", 85 | "operator", 86 | "operatives", 87 | }, 88 | "a": {"operant", "operative"}, 89 | "v": {"operated", "operating", "operate", "operates"}, 90 | "r": {"operatively"}, 91 | }, 92 | ), 93 | ( 94 | "operate", 95 | { 96 | "n": { 97 | "operators", 98 | "operations", 99 | "operation", 100 | "operative", 101 | "operator", 102 | "operatives", 103 | }, 104 | "a": {"operant", "operative"}, 105 | "v": {"operated", "operating", "operate", "operates"}, 106 | "r": {"operatively"}, 107 | }, 108 | ), 109 | ( 110 | "invest", 111 | { 112 | "n": { 113 | "investitures", 114 | "investors", 115 | "investiture", 116 | "investor", 117 | "investments", 118 | "investings", 119 | "investment", 120 | "investing", 121 | }, 122 | "a": set(), 123 | "v": {"invested", "invests", "invest", "investing"}, 124 | "r": set(), 125 | }, 126 | ), 127 | ( 128 | "investments", 129 | { 130 | "n": { 131 | "investitures", 132 | "investors", 133 | "investiture", 134 | "investor", 135 | "investments", 136 | "investings", 137 | "investment", 138 | "investing", 139 | }, 140 | "a": set(), 141 | "v": {"invested", "invests", "invest", "investing"}, 142 | "r": set(), 143 | }, 144 | ), 145 | ( 146 | "conjugation", 147 | { 148 | "n": {"conjugate", "conjugation", "conjugates", "conjugations"}, 149 | "a": {"conjugate"}, 150 | "v": {"conjugating", "conjugated", "conjugate", "conjugates"}, 151 | "r": set(), 152 | }, 153 | ), 154 | ( 155 | "do", 156 | { 157 | "n": {"does", "doer", "doers", "do"}, 158 | "a": set(), 159 | "v": { 160 | "doing", 161 | "don't", 162 | "does", 163 | "didn't", 164 | "do", 165 | "doesn't", 166 | "done", 167 | "did", 168 | }, 169 | "r": set(), 170 | }, 171 | ), 172 | ( 173 | "word", 174 | { 175 | "n": {"words", "word", "wordings", "wording"}, 176 | "a": set(), 177 | "v": {"words", "word", "worded", "wording"}, 178 | "r": set(), 179 | }, 180 | ), 181 | ( 182 | "love", 183 | { 184 | "a": {"lovable", "loveable"}, 185 | "n": {"love", "lover", "lovers", "loves"}, 186 | "r": set(), 187 | "v": {"love", "loved", "loves", "loving"}, 188 | }, 189 | ), 190 | ( 191 | "word", 192 | { 193 | "n": {"words", "word", "wordings", "wording"}, 194 | "a": set(), 195 | "v": {"words", "word", "worded", "wording"}, 196 | "r": set(), 197 | }, 198 | ), 199 | ( 200 | "verb", 201 | { 202 | "n": {"verbs", "verb"}, 203 | "a": {"verbal"}, 204 | "v": {"verbifying", "verbified", "verbify", "verbifies"}, 205 | "r": {"verbally"}, 206 | }, 207 | ), 208 | ( 209 | "genetic", 210 | { 211 | "n": {"geneticist", "genetics", "geneticists", "genes", "gene"}, 212 | "a": {"genic", "genetic", "genetical"}, 213 | "v": set(), 214 | "r": {"genetically"}, 215 | }, 216 | ), 217 | ( 218 | "politician", 219 | { 220 | "r": {"politically"}, 221 | "a": {"political"}, 222 | "n": {"politician", "politicians", "politics"}, 223 | "v": set(), 224 | }, 225 | ), 226 | ( 227 | "death", 228 | { 229 | "n": {"death", "dying", "deaths", "die", "dyings", "dice"}, 230 | "a": {"dying", "deathly"}, 231 | "v": {"died", "die", "dying", "dies"}, 232 | "r": {"deathly"}, 233 | }, 234 | ), 235 | ( 236 | "attitude", 237 | { 238 | "n": {"attitudes", "attitude"}, 239 | "a": set(), 240 | "v": { 241 | "attitudinise", 242 | "attitudinized", 243 | "attitudinize", 244 | "attitudinizes", 245 | "attitudinizing", 246 | }, 247 | "r": set(), 248 | }, 249 | ), 250 | ( 251 | "cheek", 252 | { 253 | "n": {"cheek", "cheekinesses", "cheeks", "cheekiness"}, 254 | "a": {"cheeky"}, 255 | "v": {"cheek", "cheeks", "cheeked", "cheeking"}, 256 | "r": {"cheekily"}, 257 | }, 258 | ), 259 | ( 260 | "world", 261 | { 262 | "n": {"worldliness", "world", "worldlinesses", "worlds"}, 263 | "a": {"worldly", "world"}, 264 | "v": set(), 265 | "r": set(), 266 | }, 267 | ), 268 | ("lake", {"n": {"lake", "lakes"}, "a": set(), "v": set(), "r": set()}), 269 | ( 270 | "guitar", 271 | { 272 | "n": {"guitarist", "guitarists", "guitar", "guitars"}, 273 | "a": set(), 274 | "v": set(), 275 | "r": set(), 276 | }, 277 | ), 278 | ( 279 | "presence", 280 | { 281 | "n": { 282 | "presenter", 283 | "present", 284 | "presents", 285 | "presentness", 286 | "presenters", 287 | "presentnesses", 288 | "presentments", 289 | "presentations", 290 | "presences", 291 | "presence", 292 | "presentment", 293 | "presentation", 294 | }, 295 | "a": {"present"}, 296 | "v": {"present", "presents", "presenting", "presented"}, 297 | "r": {"presently"}, 298 | }, 299 | ), 300 | ( 301 | "enthusiasm", 302 | { 303 | "n": {"enthusiasm", "enthusiasms"}, 304 | "a": {"enthusiastic"}, 305 | "v": set(), 306 | "r": {"enthusiastically"}, 307 | }, 308 | ), 309 | ( 310 | "organization", 311 | { 312 | "n": {"organizers", "organization", "organizations", "organizer"}, 313 | "a": set(), 314 | "v": {"organize", "organized", "organizing", "organizes"}, 315 | "r": set(), 316 | }, 317 | ), 318 | ( 319 | "player", 320 | { 321 | "n": { 322 | "plays", 323 | "playlet", 324 | "playings", 325 | "players", 326 | "playing", 327 | "playlets", 328 | "play", 329 | "player", 330 | }, 331 | "a": set(), 332 | "v": {"plays", "play", "playing", "played"}, 333 | "r": set(), 334 | }, 335 | ), 336 | ( 337 | "transportation", 338 | { 339 | "n": { 340 | "transporters", 341 | "transportation", 342 | "transportations", 343 | "transporter", 344 | "transport", 345 | "transports", 346 | }, 347 | "a": set(), 348 | "v": {"transport", "transporting", "transports", "transported"}, 349 | "r": set(), 350 | }, 351 | ), 352 | ( 353 | "television", 354 | { 355 | "n": {"televisions", "television"}, 356 | "a": set(), 357 | "v": {"televising", "televise", "televises", "televised"}, 358 | "r": set(), 359 | }, 360 | ), 361 | ( 362 | "cousin", 363 | {"n": {"cousins", "cousin"}, "a": {"cousinly"}, "v": set(), "r": set()}, 364 | ), 365 | ( 366 | "ability", 367 | {"n": {"abilities", "ability"}, "a": {"able"}, "v": set(), "r": {"ably"}}, 368 | ), 369 | ("chapter", {"n": {"chapters", "chapter"}, "a": set(), "v": set(), "r": set()}), 370 | ( 371 | "appearance", 372 | { 373 | "n": { 374 | "appearances", 375 | "apparitions", 376 | "appearance", 377 | "apparencies", 378 | "apparentness", 379 | "apparentnesses", 380 | "apparition", 381 | "apparency", 382 | }, 383 | "a": {"apparent"}, 384 | "v": {"appears", "appeared", "appear", "appearing"}, 385 | "r": {"apparently"}, 386 | }, 387 | ), 388 | ( 389 | "drawing", 390 | { 391 | "n": { 392 | "drawings", 393 | "drawers", 394 | "draws", 395 | "drawer", 396 | "drawees", 397 | "drawee", 398 | "draw", 399 | "drawing", 400 | }, 401 | "a": set(), 402 | "v": {"draws", "drew", "drawn", "draw", "drawing"}, 403 | "r": set(), 404 | }, 405 | ), 406 | ( 407 | "university", 408 | {"n": {"university", "universities"}, "a": set(), "v": set(), "r": set()}, 409 | ), 410 | ( 411 | "performance", 412 | { 413 | "n": { 414 | "performings", 415 | "performing", 416 | "performances", 417 | "performance", 418 | "performer", 419 | "performers", 420 | }, 421 | "a": set(), 422 | "v": {"performs", "performing", "performed", "perform"}, 423 | "r": set(), 424 | }, 425 | ), 426 | ("revenue", {"n": {"revenue", "revenues"}, "a": set(), "v": set(), "r": set()}), 427 | # Some Verbs 428 | ( 429 | "cling", 430 | { 431 | "n": {"cling", "clings"}, 432 | "a": set(), 433 | "v": {"clung", "cling", "clinging", "clings"}, 434 | "r": set(), 435 | }, 436 | ), 437 | ( 438 | "decrease", 439 | { 440 | "n": {"decrease", "decreases"}, 441 | "a": set(), 442 | "v": {"decrease", "decreases", "decreased", "decreasing"}, 443 | "r": set(), 444 | }, 445 | ), 446 | ( 447 | "wonder", 448 | { 449 | "n": { 450 | "wonder", 451 | "wonderment", 452 | "wonderments", 453 | "wonders", 454 | "wonderers", 455 | "wonderer", 456 | }, 457 | "a": {"wondrous"}, 458 | "v": {"wondering", "wonder", "wonders", "wondered"}, 459 | "r": {"wondrous", "wondrously"}, 460 | }, 461 | ), 462 | ( 463 | "rest", 464 | { 465 | "n": {"rest", "rests", "resters", "rester"}, 466 | "a": set(), 467 | "v": {"rest", "rests", "resting", "rested"}, 468 | "r": set(), 469 | }, 470 | ), 471 | ( 472 | "mutter", 473 | { 474 | "n": { 475 | "mutterer", 476 | "mutterers", 477 | "muttering", 478 | "mutter", 479 | "mutterings", 480 | "mutters", 481 | }, 482 | "a": set(), 483 | "v": {"muttering", "muttered", "mutters", "mutter"}, 484 | "r": set(), 485 | }, 486 | ), 487 | ( 488 | "implement", 489 | { 490 | "n": {"implementations", "implement", "implements", "implementation"}, 491 | "a": {"implemental"}, 492 | "v": {"implemented", "implement", "implements", "implementing"}, 493 | "r": set(), 494 | }, 495 | ), 496 | ( 497 | "evolve", 498 | { 499 | "n": {"evolution", "evolutions"}, 500 | "a": {"evolutionary"}, 501 | "v": {"evolved", "evolve", "evolves", "evolving"}, 502 | "r": {"evolutionarily"}, 503 | }, 504 | ), 505 | ( 506 | "allocate", 507 | { 508 | "n": {"allocations", "allocators", "allocation", "allocator"}, 509 | "a": {"allocable", "allocatable"}, 510 | "v": {"allocating", "allocates", "allocated", "allocate"}, 511 | "r": set(), 512 | }, 513 | ), 514 | ( 515 | "flood", 516 | { 517 | "n": {"flood", "flooding", "floodings", "floods"}, 518 | "a": set(), 519 | "v": {"flooding", "flooded", "flood", "floods"}, 520 | "r": set(), 521 | }, 522 | ), # Should there be `flooded` in 'a' here? 523 | ( 524 | "bow", 525 | { 526 | "n": {"bows", "bow"}, 527 | "a": set(), 528 | "v": {"bows", "bowing", "bowed", "bow"}, 529 | "r": set(), 530 | }, 531 | ), 532 | ( 533 | "advocate", 534 | { 535 | "n": { 536 | "advocates", 537 | "advocator", 538 | "advocacy", 539 | "advocacies", 540 | "advocators", 541 | "advocate", 542 | }, 543 | "a": set(), 544 | "v": {"advocates", "advocating", "advocated", "advocate"}, 545 | "r": set(), 546 | }, 547 | ), 548 | ( 549 | "divert", 550 | { 551 | "n": {"diversions", "diversionists", "diversionist", "diversion"}, 552 | "a": {"diversionary"}, 553 | "v": {"diverted", "diverts", "divert", "diverting"}, 554 | "r": set(), 555 | }, 556 | ), 557 | # Some adjectives 558 | ( 559 | "sweet", 560 | { 561 | "n": {"sweetnesses", "sweets", "sweetness", "sweet"}, 562 | "a": {"sweet"}, 563 | "v": set(), 564 | "r": {"sweet", "sweetly"}, 565 | }, 566 | ), 567 | ( 568 | "glossy", 569 | { 570 | "n": {"glossiness", "glossy", "glossies", "glossinesses"}, 571 | "a": {"glossy"}, 572 | "v": set(), 573 | "r": {"glossily"}, 574 | }, 575 | ), 576 | ( 577 | "relevant", 578 | { 579 | "n": {"relevancies", "relevance", "relevancy", "relevances"}, 580 | "a": {"relevant"}, 581 | "v": set(), 582 | "r": {"relevantly"}, 583 | }, 584 | ), 585 | ( 586 | "aloof", 587 | {"n": {"aloofnesses", "aloofness"}, "a": {"aloof"}, "v": set(), "r": {"aloof"}}, 588 | ), 589 | ( 590 | "therapeutic", 591 | { 592 | "n": { 593 | "therapists", 594 | "therapies", 595 | "therapy", 596 | "therapist", 597 | "therapeutic", 598 | "therapeutics", 599 | }, 600 | "a": {"therapeutical", "therapeutic"}, 601 | "v": set(), 602 | "r": {"therapeutically"}, 603 | }, 604 | ), 605 | ( 606 | "obviously", 607 | { 608 | "n": {"obviousnesses", "obviousness"}, 609 | "a": {"obvious"}, 610 | "v": set(), 611 | "r": {"obviously"}, 612 | }, 613 | ), 614 | ( 615 | "jumpy", 616 | { 617 | "n": {"jumpings", "jumpiness", "jumpinesses", "jump", "jumping", "jumps"}, 618 | "a": {"jumpy"}, 619 | "v": {"jump", "jumping", "jumped", "jumps"}, 620 | "r": set(), 621 | }, 622 | ), 623 | ( 624 | "venomous", 625 | {"n": {"venom", "venoms"}, "a": {"venomous"}, "v": set(), "r": {"venomously"}}, 626 | ), 627 | ( 628 | "laughable", 629 | { 630 | "n": {"laugher", "laughs", "laughers", "laugh"}, 631 | "a": {"laughable"}, 632 | "v": {"laughing", "laughs", "laughed", "laugh"}, 633 | "r": {"laughably"}, 634 | }, 635 | ), 636 | ( 637 | "demonic", 638 | { 639 | "n": {"demons", "demon", "demonizations", "demonization"}, 640 | "a": {"demonic"}, 641 | "v": {"demonized", "demonizing", "demonizes", "demonize"}, 642 | "r": set(), 643 | }, 644 | ), 645 | ( 646 | "knotty", 647 | { 648 | "n": {"knot", "knottiness", "knots", "knottinesses"}, 649 | "a": {"knotty"}, 650 | "v": {"knotted", "knotting", "knots", "knot"}, 651 | "r": set(), 652 | }, 653 | ), # Is `knottinesses` a valid plural? 654 | ( 655 | "little", 656 | { 657 | "n": {"little", "littlenesses", "littles", "littleness"}, 658 | "a": {"little"}, 659 | "v": set(), 660 | "r": {"little"}, 661 | }, 662 | ), # Is `littlenesses` a valid plural? 663 | ( 664 | "puzzling", 665 | { 666 | "n": { 667 | "puzzle", 668 | "puzzlers", 669 | "puzzler", 670 | "puzzlement", 671 | "puzzlements", 672 | "puzzles", 673 | }, 674 | "a": {"puzzling"}, 675 | "v": {"puzzle", "puzzled", "puzzles", "puzzling"}, 676 | "r": set(), 677 | }, 678 | ), 679 | ( 680 | "overrated", 681 | { 682 | "n": {"overratings", "overrating"}, 683 | "a": set(), 684 | "v": {"overrated", "overrating", "overrate", "overrates"}, 685 | "r": set(), 686 | }, 687 | ), 688 | ( 689 | "walk", 690 | { 691 | "n": {"walking", "walks", "walkings", "walker", "walk", "walkers"}, 692 | "a": {"walking"}, 693 | "v": {"walked", "walking", "walk", "walks"}, 694 | "r": set(), 695 | }, 696 | ), 697 | ( 698 | "walking", 699 | { 700 | "n": {"walking", "walks", "walkings", "walker", "walk", "walkers"}, 701 | "a": {"walking"}, 702 | "v": {"walked", "walking", "walk", "walks"}, 703 | "r": set(), 704 | }, 705 | ), 706 | ( 707 | "be", 708 | { 709 | "n": {"beings", "being"}, 710 | "a": set(), 711 | "v": { 712 | "wasn't", 713 | "being", 714 | "be", 715 | "are", 716 | "was", 717 | "am", 718 | "isn't", 719 | "is", 720 | "aren't", 721 | "been", 722 | "weren't", 723 | "were", 724 | "am not", 725 | }, 726 | "r": set(), 727 | }, 728 | ), 729 | ( 730 | "am", 731 | { 732 | "n": {"beings", "being"}, 733 | "a": set(), 734 | "v": { 735 | "wasn't", 736 | "being", 737 | "be", 738 | "are", 739 | "was", 740 | "am", 741 | "isn't", 742 | "is", 743 | "aren't", 744 | "been", 745 | "weren't", 746 | "were", 747 | "am not", 748 | }, 749 | "r": set(), 750 | }, 751 | ), 752 | ( 753 | "run", 754 | { 755 | "n": { 756 | "runnings", 757 | "run", 758 | "runninesses", 759 | "runner", 760 | "runniness", 761 | "running", 762 | "runs", 763 | "runners", 764 | }, 765 | "a": {"running", "runny"}, 766 | "v": {"running", "ran", "run", "runs"}, 767 | "r": set(), 768 | }, 769 | ), 770 | ( 771 | "ran", 772 | { 773 | "n": { 774 | "runnings", 775 | "run", 776 | "runninesses", 777 | "runner", 778 | "runniness", 779 | "running", 780 | "runs", 781 | "runners", 782 | }, 783 | "a": {"running", "runny"}, 784 | "v": {"running", "ran", "run", "runs"}, 785 | "r": set(), 786 | }, 787 | ), 788 | ( 789 | "blanket", 790 | { 791 | "n": {"blanket", "blankets"}, 792 | "a": {"blanket"}, 793 | "v": {"blankets", "blanketed", "blanketing", "blanket"}, 794 | "r": set(), 795 | }, 796 | ), 797 | ] -------------------------------------------------------------------------------- /test_word_forms.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | from word_forms.word_forms import get_word_forms 5 | import unittest 6 | 7 | 8 | class TestWordForms(unittest.TestCase): 9 | """ 10 | Simple TestCase for a specific input to output, one instance generated per test case for use in a TestSuite 11 | """ 12 | 13 | def __init__(self, text_input: str, expected_output: dict, description: str = ""): 14 | super().__init__() 15 | self.text_input = text_input 16 | self.expected_output = expected_output 17 | self.description = description 18 | 19 | def setUp(self): 20 | pass 21 | 22 | def tearDown(self): 23 | pass 24 | 25 | def runTest(self): 26 | self.assertEqual( 27 | get_word_forms(self.text_input), self.expected_output, self.description 28 | ) 29 | 30 | 31 | if __name__ == "__main__": 32 | from test_values import test_values 33 | suite = unittest.TestSuite() 34 | suite.addTests( 35 | TestWordForms(inp, out, f"get_word_forms({repr(inp)})") 36 | for inp, out in test_values 37 | ) 38 | unittest.TextTestRunner().run(suite) 39 | -------------------------------------------------------------------------------- /word_forms/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gutfeeling/word_forms/1ad4b74a15093c0ab996b99639f7a963c5974f44/word_forms/__init__.py -------------------------------------------------------------------------------- /word_forms/adj_to_adv.txt: -------------------------------------------------------------------------------- 1 | { 2 | "abaxial": "abaxially", 3 | "abject": "abjectly", 4 | "able": "ably", 5 | "abnormal": "abnormally", 6 | "abominable": "abominably", 7 | "aboral": "aborad", 8 | "abortive": "abortively", 9 | "abrupt": "abruptly", 10 | "absent": "absently", 11 | "absentminded": "absentmindedly", 12 | "absolute": "absolutely", 13 | "abstemious": "abstemiously", 14 | "abstracted": "abstractedly", 15 | "abstract": "abstractly", 16 | "abstruse": "abstrusely", 17 | "absurd": "absurdly", 18 | "abundant": "abundantly", 19 | "abusive": "abusively", 20 | "academic": "academically", 21 | "accelerando": "accelerando", 22 | "accidental": "accidentally", 23 | "accommodating": "accommodatingly", 24 | "accurate": "accurately", 25 | "accusing": "accusingly", 26 | "acoustic": "acoustically", 27 | "across-the-board": "across_the_board", 28 | "active": "actively", 29 | "actual": "actually", 30 | "acute": "acutely", 31 | "adagio": "adagio", 32 | "adamant": "adamantly", 33 | "adaxial": "adaxially", 34 | "adequate": "adequately", 35 | "adjectival": "adjectivally", 36 | "administrative": "administratively", 37 | "admirable": "admirably", 38 | "adorable": "adorably", 39 | "adoring": "adoringly", 40 | "adrift": "adrift", 41 | "adroit": "adroitly", 42 | "adulterous": "adulterously", 43 | "advantageous": "advantageously", 44 | "adverbial": "adverbially", 45 | "adverse": "adversely", 46 | "advertent": "advertently", 47 | "aerial": "aerially", 48 | "aesthetic": "aesthetically", 49 | "affable": "affably", 50 | "affected": "affectedly", 51 | "affecting": "affectingly", 52 | "affectionate": "affectionately", 53 | "affirmative": "affirmatively", 54 | "afoot": "afoot", 55 | "aggravating": "aggravatingly", 56 | "aggressive": "aggressively", 57 | "agile": "agilely", 58 | "agonizing": "agonizingly", 59 | "agreeable": "agreeably", 60 | "aimless": "aimlessly", 61 | "alarming": "alarmingly", 62 | "alert": "alertly", 63 | "algebraic": "algebraically", 64 | "alleged": "allegedly", 65 | "allegorical": "allegorically", 66 | "allegretto": "allegretto", 67 | "allegro": "allegro", 68 | "alliterative": "alliteratively", 69 | "alone": "alone", 70 | "aloof": "aloof", 71 | "alphabetical": "alphabetically", 72 | "alternate": "alternately", 73 | "alternative": "alternatively", 74 | "altruistic": "altruistically", 75 | "amazing": "amazingly", 76 | "ambiguous": "ambiguously", 77 | "ambitious": "ambitiously", 78 | "amiable": "amiably", 79 | "amicable": "amicably", 80 | "amok": "amok", 81 | "amorous": "amorously", 82 | "ample": "amply", 83 | "amuck": "amuck", 84 | "amusing": "amusingly", 85 | "anachronistic": "anachronistically", 86 | "analogous": "analogously", 87 | "analytic": "analytically", 88 | "anarchic": "anarchically", 89 | "anatomical": "anatomically", 90 | "ancient": "anciently", 91 | "andante": "andante", 92 | "angelic": "angelically", 93 | "angry": "angrily", 94 | "animated": "animatedly", 95 | "anisotropic": "anisotropically", 96 | "annoying": "annoyingly", 97 | "annual": "annually", 98 | "anomalous": "anomalously", 99 | "anonymous": "anonymously", 100 | "antagonistic": "antagonistically", 101 | "antecedent": "antecedently", 102 | "anterior": "anteriorly", 103 | "antithetic": "antithetically", 104 | "anxious": "anxiously", 105 | "apathetic": "apathetically", 106 | "apologetic": "apologetically", 107 | "appalling": "appallingly", 108 | "apparent": "apparently", 109 | "appealing": "appealingly", 110 | "appositive": "appositively", 111 | "appreciable": "appreciably", 112 | "appreciative": "appreciatively", 113 | "apprehensive": "apprehensively", 114 | "appropriate": "appropriately", 115 | "approving": "approvingly", 116 | "apt": "aptly", 117 | "architectural": "architecturally", 118 | "arch": "archly", 119 | "ardent": "ardently", 120 | "arduous": "arduously", 121 | "arguable": "arguably", 122 | "argumentative": "argumentatively", 123 | "aristocratic": "aristocratically", 124 | "arithmetic": "arithmetically", 125 | "arrogant": "arrogantly", 126 | "artful": "artfully", 127 | "articulate": "articulately", 128 | "artificial": "artificially", 129 | "artistic": "artistically", 130 | "artless": "artlessly", 131 | "ascetic": "ascetically", 132 | "asexual": "asexually", 133 | "ashamed": "ashamedly", 134 | "asleep": "asleep", 135 | "assertive": "assertively", 136 | "assiduous": "assiduously", 137 | "assured": "assuredly", 138 | "astonishing": "astonishingly", 139 | "astronomic": "astronomically", 140 | "astute": "astutely", 141 | "asymptotic": "asymptotically", 142 | "atonal": "atonally", 143 | "atrocious": "atrociously", 144 | "attentive": "attentively", 145 | "attractive": "attractively", 146 | "attributive": "attributively", 147 | "atypical": "atypically", 148 | "audacious": "audaciously", 149 | "audible": "audibly", 150 | "aural": "aurally", 151 | "auspicious": "auspiciously", 152 | "austere": "austerely", 153 | "authentic": "authentically", 154 | "authoritative": "authoritatively", 155 | "autocratic": "autocratically", 156 | "automatic": "automatically", 157 | "avaricious": "avariciously", 158 | "avid": "avidly", 159 | "avowed": "avowedly", 160 | "awful": "awfully", 161 | "awkward": "awkwardly", 162 | "axial": "axially", 163 | "axiomatic": "axiomatically", 164 | "backstage": "backstage", 165 | "bacterial": "bacterially", 166 | "bad": "badly", 167 | "bald": "baldly", 168 | "baleful": "balefully", 169 | "balmy": "balmily", 170 | "baneful": "banefully", 171 | "bantering": "banteringly", 172 | "barbarous": "barbarously", 173 | "barefaced": "barefacedly", 174 | "bare": "barely", 175 | "base": "basely", 176 | "bashful": "bashfully", 177 | "bawdy": "bawdily", 178 | "beastly": "beastly", 179 | "beautiful": "beautifully", 180 | "becoming": "becomingly", 181 | "befitting": "befittingly", 182 | "belated": "belatedly", 183 | "believable": "believably", 184 | "belligerent": "belligerently", 185 | "beneficial": "beneficially", 186 | "benevolent": "benevolently", 187 | "benignant": "benignantly", 188 | "benign": "benignly", 189 | "beseeching": "beseechingly", 190 | "bestial": "bestially", 191 | "bewildered": "bewilderedly", 192 | "bewitching": "bewitchingly", 193 | "biannual": "biannually", 194 | "biennial": "biennially", 195 | "bilateral": "bilaterally", 196 | "bilingual": "bilingually", 197 | "bimonthly": "bimonthly", 198 | "binaural": "binaurally", 199 | "biochemical": "biochemically", 200 | "biological": "biologically", 201 | "biradial": "biradially", 202 | "biting": "bitingly", 203 | "bitter": "bitterly", 204 | "biweekly": "biweekly", 205 | "biyearly": "biyearly", 206 | "blameless": "blamelessly", 207 | "bland": "blandly", 208 | "blank": "blankly", 209 | "blasphemous": "blasphemously", 210 | "blatant": "blatantly", 211 | "bleak": "bleakly", 212 | "blessed": "blessedly", 213 | "blind": "blindly", 214 | "blissful": "blissfully", 215 | "blithe": "blithely", 216 | "bloody": "bloodily", 217 | "bloodless": "bloodlessly", 218 | "bluff": "bluffly", 219 | "blunt": "bluntly", 220 | "boastful": "boastfully", 221 | "bodily": "bodily", 222 | "boisterous": "boisterously", 223 | "bold": "boldly", 224 | "bombastic": "bombastically", 225 | "bonny": "bonnily", 226 | "boorish": "boorishly", 227 | "boring": "boringly", 228 | "boundless": "boundlessly", 229 | "bounteous": "bounteously", 230 | "bountiful": "bountifully", 231 | "boyish": "boyishly", 232 | "boylike": "boylike", 233 | "brash": "brashly", 234 | "brave": "bravely", 235 | "brazen": "brazenly", 236 | "breathless": "breathlessly", 237 | "breezy": "breezily", 238 | "brief": "briefly", 239 | "bright": "brightly", 240 | "brilliant": "brilliantly", 241 | "brisk": "briskly", 242 | "broad-minded": "broad-mindedly", 243 | "broad": "broadly", 244 | "brotherly": "brotherly", 245 | "brusque": "brusquely", 246 | "brutish": "brutishly", 247 | "bumptious": "bumptiously", 248 | "buoyant": "buoyantly", 249 | "bureaucratic": "bureaucratically", 250 | "busy": "busily", 251 | "buxom": "buxomly", 252 | "cagy": "cagily", 253 | "calculating": "calculatingly", 254 | "callous": "callously", 255 | "calm": "calmly", 256 | "calumnious": "calumniously", 257 | "candid": "candidly", 258 | "canny": "cannily", 259 | "canonical": "canonically", 260 | "cantankerous": "cantankerously", 261 | "capable": "capably", 262 | "capricious": "capriciously", 263 | "captious": "captiously", 264 | "captivating": "captivatingly", 265 | "careful": "carefully", 266 | "careless": "carelessly", 267 | "carnal": "carnally", 268 | "casual": "casually", 269 | "catalytic": "catalytically", 270 | "catastrophic": "catastrophically", 271 | "categorical": "categorically", 272 | "caudal": "caudal", 273 | "causal": "causally", 274 | "caustic": "caustically", 275 | "cautious": "cautiously", 276 | "cavalier": "cavalierly", 277 | "ceaseless": "ceaselessly", 278 | "centennial": "centennially", 279 | "central": "centrally", 280 | "cerebral": "cerebrally", 281 | "ceremonial": "ceremonially", 282 | "ceremonious": "ceremoniously", 283 | "certain": "certainly", 284 | "chaotic": "chaotically", 285 | "characteristic": "characteristically", 286 | "chary": "charily", 287 | "charitable": "charitably", 288 | "charming": "charmingly", 289 | "chaste": "chastely", 290 | "chatty": "chattily", 291 | "cheap": "cheaply", 292 | "cheeky": "cheekily", 293 | "cheery": "cheerily", 294 | "chemical": "chemically", 295 | "chief": "chiefly", 296 | "childish": "childishly", 297 | "chintzy": "chintzily", 298 | "chivalrous": "chivalrously", 299 | "choral": "chorally", 300 | "chromatic": "chromatically", 301 | "chromatographic": "chromatographically", 302 | "chronic": "chronically", 303 | "chronological": "chronologically", 304 | "churlish": "churlishly", 305 | "circular": "circularly", 306 | "circumspect": "circumspectly", 307 | "circumstantial": "circumstantially", 308 | "civil": "civilly", 309 | "clammy": "clammily", 310 | "clamorous": "clamorously", 311 | "clannish": "clannishly", 312 | "classical": "classically", 313 | "clean": "cleanly", 314 | "clear": "clearly", 315 | "clever": "cleverly", 316 | "climatic": "climatically", 317 | "clinical": "clinically", 318 | "cliquish": "cliquishly", 319 | "clockwise": "clockwise", 320 | "close": "closely", 321 | "cloying": "cloyingly", 322 | "clumsy": "clumsily", 323 | "coarse": "coarsely", 324 | "cognitive": "cognitively", 325 | "coherent": "coherently", 326 | "coincidental": "coincidentally", 327 | "coincident": "coincidently", 328 | "cold-blooded": "cold-bloodedly", 329 | "cold": "coldly", 330 | "collected": "collectedly", 331 | "collective": "collectively", 332 | "colloidal": "colloidally", 333 | "colloquial": "colloquially", 334 | "combative": "combatively", 335 | "comfortable": "comfortably", 336 | "comforting": "comfortingly", 337 | "comical": "comically", 338 | "commendable": "commendable", 339 | "commensal": "commensally", 340 | "commercial": "commercially", 341 | "common": "commonly", 342 | "communal": "communally", 343 | "compact": "compactly", 344 | "comparable": "comparably", 345 | "comparative": "comparatively", 346 | "compassionate": "compassionately", 347 | "compatible": "compatibly", 348 | "competent": "competently", 349 | "competitive": "competitively", 350 | "complacent": "complacently", 351 | "complaining": "complainingly", 352 | "complete": "completely", 353 | "complex": "complexly", 354 | "composed": "composedly", 355 | "comprehensive": "comprehensively", 356 | "compulsive": "compulsively", 357 | "compulsory": "compulsorily", 358 | "computational": "computationally", 359 | "con_brio": "con_brio", 360 | "concave": "concavely", 361 | "conceited": "conceitedly", 362 | "conceivable": "conceivably", 363 | "conceptual": "conceptually", 364 | "concise": "concisely", 365 | "conclusive": "conclusively", 366 | "concrete": "concretely", 367 | "concurrent": "concurrently", 368 | "condescending": "condescendingly", 369 | "confidential": "confidentially", 370 | "confident": "confidently", 371 | "confiding": "confidingly", 372 | "conformable": "conformably", 373 | "confounded": "confoundedly", 374 | "confused": "confusedly", 375 | "confusing": "confusingly", 376 | "congenial": "congenially", 377 | "conical": "conically", 378 | "conjectural": "conjecturally", 379 | "conjoint": "conjointly", 380 | "conjugal": "conjugally", 381 | "connubial": "connubial", 382 | "conscientious": "conscientiously", 383 | "conscious": "consciously", 384 | "consecutive": "consecutive", 385 | "consequent": "consequently", 386 | "considerable": "considerably", 387 | "considerate": "considerately", 388 | "consistent": "consistently", 389 | "consoling": "consolingly", 390 | "conspicuous": "conspicuously", 391 | "constant": "constantly", 392 | "constitutional": "constitutionally", 393 | "constrained": "constrainedly", 394 | "constructive": "constructively", 395 | "contagious": "contagiously", 396 | "contemporaneous": "contemporaneously", 397 | "contemptible": "contemptibly", 398 | "contemptuous": "contemptuously", 399 | "contented": "contentedly", 400 | "contextual": "contextually", 401 | "continual": "continually", 402 | "continuous": "continuously", 403 | "contractual": "contractually", 404 | "contradictory": "contradictorily", 405 | "contrary": "contrarily", 406 | "contrasting": "contrastingly", 407 | "contrite": "contritely", 408 | "controversial": "controversially", 409 | "contumacious": "contumaciously", 410 | "contumelious": "contumeliously", 411 | "convenient": "conveniently", 412 | "conventional": "conventionally", 413 | "conversational": "conversationally", 414 | "converse": "conversely", 415 | "convex": "convexly", 416 | "convincing": "convincingly", 417 | "convivial": "convivially", 418 | "convulsive": "convulsively", 419 | "cool": "coolly", 420 | "cooperative": "cooperatively", 421 | "coordinate": "coordinately", 422 | "copious": "copiously", 423 | "coquettish": "coquettishly", 424 | "cordial": "cordially", 425 | "corrupt": "corruptly", 426 | "cortical": "cortically", 427 | "cosmetic": "cosmetically", 428 | "coterminous": "coterminously", 429 | "counteractive": "counteractively", 430 | "counterclockwise": "counterclockwise", 431 | "counterintuitive": "counterintuitively", 432 | "courageous": "courageously", 433 | "courteous": "courteously", 434 | "covert": "covertly", 435 | "covetous": "covetously", 436 | "coy": "coyly", 437 | "cozy": "cozily", 438 | "crafty": "craftily", 439 | "crazy": "crazily", 440 | "creaky": "creakily", 441 | "creative": "creatively", 442 | "credible": "credibly", 443 | "creditable": "creditably", 444 | "credulous": "credulously", 445 | "criminal": "criminally", 446 | "crisp": "crisply", 447 | "critical": "critically", 448 | "crooked": "crookedly", 449 | "cross-linguistic": "cross-linguistically", 450 | "cross": "crossly", 451 | "crosstown": "crosstown", 452 | "crucial": "crucially", 453 | "crude": "crudely", 454 | "cruel": "cruelly", 455 | "crushing": "crushingly", 456 | "cryptic": "cryptically", 457 | "cryptographic": "cryptographically", 458 | "culpable": "culpably", 459 | "cultural": "culturally", 460 | "cum_laude": "cum_laude", 461 | "cumulative": "cumulatively", 462 | "cunning": "cunningly", 463 | "curious": "curiously", 464 | "current": "currently", 465 | "currish": "currishly", 466 | "cursed": "cursedly", 467 | "cursive": "cursively", 468 | "cursory": "cursorily", 469 | "curt": "curtly", 470 | "curvaceous": "curvaceously", 471 | "cussed": "cussedly", 472 | "customary": "customarily", 473 | "cute": "cutely", 474 | "cutting": "cuttingly", 475 | "cynical": "cynically", 476 | "cytophotometric": "cytophotometrically", 477 | "cytoplasmic": "cytoplasmically", 478 | "daft": "daftly", 479 | "daily": "daily", 480 | "dainty": "daintily", 481 | "damnable": "damnably", 482 | "damp": "damply", 483 | "dandy": "dandily", 484 | "dangerous": "dangerously", 485 | "daring": "daringly", 486 | "dark": "darkly", 487 | "dashing": "dashingly", 488 | "daunting": "dauntingly", 489 | "dauntless": "dauntlessly", 490 | "dazed": "dazedly", 491 | "dazzling": "dazzlingly", 492 | "dead": "deadly", 493 | "dear": "dearly", 494 | "deceitful": "deceitfully", 495 | "decent": "decently", 496 | "deceptive": "deceptively", 497 | "decided": "decidedly", 498 | "decipherable": "decipherably", 499 | "decisive": "decisively", 500 | "decorative": "decoratively", 501 | "decorous": "decorously", 502 | "deep": "deep", 503 | "defective": "defectively", 504 | "defenceless": "defenceless", 505 | "defenseless": "defenseless", 506 | "defensive": "defensively", 507 | "deferential": "deferentially", 508 | "defiant": "defiantly", 509 | "deft": "deftly", 510 | "dejected": "dejectedly", 511 | "deliberate": "deliberately", 512 | "delicate": "delicately", 513 | "delicious": "deliciously", 514 | "delighted": "delightedly", 515 | "delightful": "delightfully", 516 | "delirious": "deliriously", 517 | "delusive": "delusively", 518 | "demanding": "demandingly", 519 | "demeaning": "demeaningly", 520 | "demented": "dementedly", 521 | "democratic": "democratically", 522 | "demonstrable": "demonstrably", 523 | "demonstrative": "demonstratively", 524 | "demure": "demurely", 525 | "denominational": "denominationally", 526 | "dense": "densely", 527 | "departmental": "departmentally", 528 | "dependable": "dependably", 529 | "deplorable": "deplorably", 530 | "deprecative": "deprecatively", 531 | "depressing": "depressingly", 532 | "derisive": "derisively", 533 | "descriptive": "descriptively", 534 | "despairing": "despairingly", 535 | "desperate": "desperately", 536 | "despicable": "despicably", 537 | "despiteful": "despitefully", 538 | "despondent": "despondently", 539 | "destructive": "destructively", 540 | "determined": "determinedly", 541 | "detestable": "detestably", 542 | "detrimental": "detrimentally", 543 | "developmental": "developmentally", 544 | "devilish": "devilishly", 545 | "devious": "deviously", 546 | "devoted": "devotedly", 547 | "devout": "devoutly", 548 | "dexterous": "dexterously", 549 | "dextrous": "dextrously", 550 | "diabolic": "diabolically", 551 | "diagonal": "diagonally", 552 | "diagrammatic": "diagrammatically", 553 | "dialectic": "dialectically", 554 | "diametric": "diametrically", 555 | "dichotomous": "dichotomously", 556 | "dictatorial": "dictatorially", 557 | "didactic": "didactically", 558 | "differential": "differentially", 559 | "different": "differently", 560 | "diffident": "diffidently", 561 | "diffuse": "diffusely", 562 | "digital": "digitally", 563 | "digitate": "digitately", 564 | "diligent": "diligently", 565 | "dim": "dimly", 566 | "dingy": "dingily", 567 | "direct": "directly", 568 | "direful": "direfully", 569 | "dirty": "dirtily", 570 | "disadvantageous": "disadvantageously", 571 | "disagreeable": "disagreeably", 572 | "disappointed": "disappointedly", 573 | "disappointing": "disappointingly", 574 | "disastrous": "disastrously", 575 | "disbelieving": "disbelievingly", 576 | "disconcerting": "disconcertingly", 577 | "disconsolate": "disconsolately", 578 | "discontented": "discontentedly", 579 | "discordant": "discordantly", 580 | "discouraging": "discouragingly", 581 | "discourteous": "discourteously", 582 | "discreditable": "discreditably", 583 | "discursive": "discursively", 584 | "disdainful": "disdainfully", 585 | "disgraceful": "disgracefully", 586 | "disgusted": "disgustedly", 587 | "disgusting": "disgustingly", 588 | "dishonest": "dishonestly", 589 | "dishonorable": "dishonorably", 590 | "disingenuous": "disingenuously", 591 | "disinterested": "disinterestedly", 592 | "disjointed": "disjointedly", 593 | "disloyal": "disloyally", 594 | "dismal": "dismally", 595 | "disobedient": "disobediently", 596 | "disparaging": "disparagingly", 597 | "dispassionate": "dispassionately", 598 | "dispirited": "dispiritedly", 599 | "displeasing": "displeasingly", 600 | "disproportionate": "disproportionately", 601 | "disputatious": "disputatiously", 602 | "disquieting": "disquietingly", 603 | "disreputable": "disreputably", 604 | "disrespectful": "disrespectfully", 605 | "disruptive": "disruptively", 606 | "dissolute": "dissolutely", 607 | "distal": "distally", 608 | "distant": "distantly", 609 | "distasteful": "distastefully", 610 | "distinctive": "distinctively", 611 | "distinct": "distinctly", 612 | "distracted": "distractedly", 613 | "distressful": "distressfully", 614 | "distressing": "distressingly", 615 | "distributive": "distributively", 616 | "distributed": "distributively", 617 | "distrustful": "distrustfully", 618 | "disturbing": "disturbingly", 619 | "diverse": "diversely", 620 | "diverting": "divertingly", 621 | "divine": "divinely", 622 | "dizzy": "dizzily", 623 | "doctrinal": "doctrinally", 624 | "dogged": "doggedly", 625 | "dogmatic": "dogmatically", 626 | "doleful": "dolefully", 627 | "doltish": "doltishly", 628 | "domestic": "domestically", 629 | "domineering": "domineeringly", 630 | "dorsal": "dorsally", 631 | "dorsoventral": "dorsoventrally", 632 | "dotty": "dottily", 633 | "double": "doubly", 634 | "doubtful": "doubtfully", 635 | "dour": "dourly", 636 | "dowdy": "dowdily", 637 | "drab": "drably", 638 | "dragging": "draggingly", 639 | "dramatic": "dramatically", 640 | "drastic": "drastically", 641 | "dreadful": "dreadfully", 642 | "dreamy": "dreamily", 643 | "dreary": "drearily", 644 | "dry": "drily", 645 | "drippy": "drippily", 646 | "drooping": "droopingly", 647 | "drowsy": "drowsily", 648 | "drunken": "drunkenly", 649 | "dubious": "dubiously", 650 | "dull": "dully", 651 | "dumb": "dumbly", 652 | "dutiful": "dutifully", 653 | "dynamic": "dynamically", 654 | "eager": "eagerly", 655 | "early": "early", 656 | "earnest": "earnestly", 657 | "east": "easterly", 658 | "easy": "easy", 659 | "ebullient": "ebulliently", 660 | "eccentric": "eccentrically", 661 | "ecclesiastic": "ecclesiastically", 662 | "ecological": "ecologically", 663 | "economic": "economically", 664 | "ecstatic": "ecstatically", 665 | "editorial": "editorially", 666 | "educational": "educationally", 667 | "effective": "effectively", 668 | "efficacious": "efficaciously", 669 | "efficient": "efficiently", 670 | "effortless": "effortlessly", 671 | "effusive": "effusively", 672 | "egotistic": "egotistically", 673 | "elaborate": "elaborately", 674 | "electric": "electrically", 675 | "electronic": "electronically", 676 | "electrostatic": "electrostatically", 677 | "elegant": "elegantly", 678 | "elementary": "elementarily", 679 | "eloquent": "eloquently", 680 | "embarrassing": "embarrassingly", 681 | "eminent": "eminently", 682 | "emotional": "emotionally", 683 | "empathetic": "empathetically", 684 | "emphatic": "emphatically", 685 | "empirical": "empirically", 686 | "emulous": "emulously", 687 | "enchanting": "enchantingly", 688 | "encouraging": "encouragingly", 689 | "endearing": "endearingly", 690 | "endless": "endlessly", 691 | "endogenous": "endogenously", 692 | "enduring": "enduringly", 693 | "energetic": "energetically", 694 | "engaging": "engagingly", 695 | "enigmatic": "enigmatically", 696 | "enjoyable": "enjoyably", 697 | "enormous": "enormously", 698 | "enterprising": "enterprisingly", 699 | "enthralling": "enthrallingly", 700 | "enthusiastic": "enthusiastically", 701 | "entire": "entirely", 702 | "enviable": "enviably", 703 | "envious": "enviously", 704 | "environmental": "environmentally", 705 | "episodic": "episodically", 706 | "equable": "equably", 707 | "equal": "equally", 708 | "equitable": "equitably", 709 | "equivocal": "equivocally", 710 | "erect": "erectly", 711 | "erotic": "erotically", 712 | "erratic": "erratically", 713 | "erroneous": "erroneously", 714 | "erudite": "eruditely", 715 | "eschatological": "eschatologically", 716 | "especial": "especially", 717 | "essential": "essentially", 718 | "esthetic": "esthetically", 719 | "eternal": "eternally", 720 | "ethical": "ethically", 721 | "ethnic": "ethnically", 722 | "euphemistic": "euphemistically", 723 | "evasive": "evasively", 724 | "even": "evenly", 725 | "eventual": "eventually", 726 | "everlasting": "everlastingly", 727 | "evident": "evidently", 728 | "evil": "evilly", 729 | "evolutionary": "evolutionarily", 730 | "exact": "exactly", 731 | "exasperating": "exasperatingly", 732 | "excellent": "excellently", 733 | "exceptional": "exceptionally", 734 | "excessive": "excessively", 735 | "excited": "excitedly", 736 | "exciting": "excitingly", 737 | "exclusive": "exclusively", 738 | "excruciating": "excruciatingly", 739 | "exorbitant": "exorbitantly", 740 | "expansive": "expansively", 741 | "expectant": "expectantly", 742 | "expedient": "expediently", 743 | "expeditious": "expeditiously", 744 | "expensive": "expensively", 745 | "experimental": "experimentally", 746 | "expert": "expertly", 747 | "explicit": "explicitly", 748 | "explosive": "explosively", 749 | "exponential": "exponentially", 750 | "express": "expressly", 751 | "exquisite": "exquisitely", 752 | "extemporaneous": "extemporaneously", 753 | "extemporary": "extemporarily", 754 | "extensive": "extensively", 755 | "external": "externally", 756 | "extortionate": "extortionately", 757 | "extraordinary": "extraordinarily", 758 | "extravagant": "extravagantly", 759 | "extreme": "extremely", 760 | "exuberant": "exuberantly", 761 | "exultant": "exultantly", 762 | "exulting": "exultingly", 763 | "facetious": "facetiously", 764 | "facial": "facially", 765 | "factual": "factually", 766 | "faddy": "faddily", 767 | "faddish": "faddishly", 768 | "faint": "faintly", 769 | "fair": "fairly", 770 | "faithful": "faithfully", 771 | "faithless": "faithlessly", 772 | "false": "falsely", 773 | "faltering": "falteringly", 774 | "familiar": "familiarly", 775 | "famous": "famously", 776 | "fanatic": "fanatically", 777 | "fanciful": "fancifully", 778 | "farcical": "farcically", 779 | "fascinating": "fascinatingly", 780 | "fashionable": "fashionably", 781 | "fast": "fast", 782 | "fastidious": "fastidiously", 783 | "fatal": "fatally", 784 | "fateful": "fatefully", 785 | "fatuous": "fatuously", 786 | "faulty": "faultily", 787 | "faultless": "faultlessly", 788 | "favorable": "favorably", 789 | "fearful": "fearfully", 790 | "fearless": "fearlessly", 791 | "fearsome": "fearsomely", 792 | "feasible": "feasibly", 793 | "feckless": "fecklessly", 794 | "federal": "federally", 795 | "feeble": "feebly", 796 | "felicitous": "felicitously", 797 | "ferocious": "ferociously", 798 | "fervent": "fervently", 799 | "fervid": "fervidly", 800 | "feudal": "feudally", 801 | "feverish": "feverishly", 802 | "fictitious": "fictitiously", 803 | "fiendish": "fiendishly", 804 | "fierce": "fiercely", 805 | "fiery": "fierily", 806 | "fifth": "fifthly", 807 | "figurative": "figuratively", 808 | "filthy": "filthily", 809 | "final": "finally", 810 | "financial": "financially", 811 | "fine": "finely", 812 | "finite": "finitely", 813 | "firm": "firmly", 814 | "fiscal": "fiscally", 815 | "fishy": "fishily", 816 | "fitful": "fitfully", 817 | "fit": "fitly", 818 | "fixed": "fixedly", 819 | "flabby": "flabbily", 820 | "flagrant": "flagrantly", 821 | "flamboyant": "flamboyantly", 822 | "flashy": "flashily", 823 | "flat": "flatly", 824 | "flawless": "flawlessly", 825 | "fleet": "fleetly", 826 | "flexible": "flexibly", 827 | "flimsy": "flimsily", 828 | "flippant": "flippantly", 829 | "flirtatious": "flirtatiously", 830 | "florid": "floridly", 831 | "fluent": "fluently", 832 | "focal": "focally", 833 | "fond": "fondly", 834 | "foolish": "foolishly", 835 | "forbidding": "forbiddingly", 836 | "forceful": "forcefully", 837 | "forcible": "forcibly", 838 | "forgetful": "forgetfully", 839 | "forgivable": "forgivably", 840 | "forgiving": "forgivingly", 841 | "forlorn": "forlornly", 842 | "formal": "formally", 843 | "formidable": "formidably", 844 | "formless": "formlessly", 845 | "forte": "forte", 846 | "fortissimo": "fortissimo", 847 | "fortnightly": "fortnightly", 848 | "fortuitous": "fortuitously", 849 | "fortunate": "fortunately", 850 | "foul": "foully", 851 | "fourfold": "fourfold", 852 | "fourth": "fourth", 853 | "foxy": "foxily", 854 | "fractious": "fractiously", 855 | "frank": "frankly", 856 | "frantic": "frantically", 857 | "fraternal": "fraternally", 858 | "fraudulent": "fraudulently", 859 | "freakish": "freakishly", 860 | "free": "freely", 861 | "frenetic": "frenetically", 862 | "frenzied": "frenziedly", 863 | "frequent": "frequently", 864 | "fresh": "freshly", 865 | "fretful": "fretfully", 866 | "frightening": "frighteningly", 867 | "frigid": "frigidly", 868 | "frisky": "friskily", 869 | "frivolous": "frivolously", 870 | "frontal": "frontally", 871 | "frosty": "frostily", 872 | "frothy": "frothily", 873 | "frowning": "frowningly", 874 | "frugal": "frugally", 875 | "fruitless": "fruitlessly", 876 | "frumpy": "frumpily", 877 | "frumpish": "frumpishly", 878 | "fugal": "fugally", 879 | "full": "fully", 880 | "fulsome": "fulsomely", 881 | "functional": "functionally", 882 | "fundamental": "fundamentally", 883 | "funny": "funnily", 884 | "furious": "furiously", 885 | "furtive": "furtively", 886 | "fussy": "fussily", 887 | "futile": "futilely", 888 | "gay": "gaily", 889 | "gainful": "gainfully", 890 | "gallant": "gallantly", 891 | "game": "gamely", 892 | "garish": "garishly", 893 | "garrulous": "garrulously", 894 | "gaudy": "gaudily", 895 | "genealogical": "genealogically", 896 | "general": "generally", 897 | "generic": "generically", 898 | "generous": "generously", 899 | "genetic": "genetically", 900 | "genial": "genially", 901 | "genteel": "genteelly", 902 | "gentle": "gently", 903 | "genuine": "genuinely", 904 | "geographic": "geographically", 905 | "geological": "geologically", 906 | "geometric": "geometrically", 907 | "geothermal": "geothermally", 908 | "giddy": "giddily", 909 | "gingerly": "gingerly", 910 | "girlish": "girlishly", 911 | "glacial": "glacially", 912 | "glad": "gladly", 913 | "glaring": "glaringly", 914 | "gleeful": "gleefully", 915 | "glib": "glibly", 916 | "global": "globally", 917 | "gloomy": "gloomily", 918 | "glorious": "gloriously", 919 | "glossy": "glossily", 920 | "glowering": "gloweringly", 921 | "glowing": "glowingly", 922 | "glum": "glumly", 923 | "gluttonous": "gluttonously", 924 | "good-natured": "good-naturedly", 925 | "gorgeous": "gorgeously", 926 | "governmental": "governmentally", 927 | "graceful": "gracefully", 928 | "graceless": "gracelessly", 929 | "gracious": "graciously", 930 | "gradual": "gradually", 931 | "grammatical": "grammatically", 932 | "grandiloquent": "grandiloquently", 933 | "grandiose": "grandiosely", 934 | "grand": "grandly", 935 | "graphic": "graphically", 936 | "grateful": "gratefully", 937 | "gratifying": "gratifyingly", 938 | "grating": "gratingly", 939 | "gratuitous": "gratuitously", 940 | "grave": "gravely", 941 | "gravitational": "gravitationally", 942 | "gray": "grayly", 943 | "greasy": "greasily", 944 | "great": "greatly", 945 | "greedy": "greedily", 946 | "green": "greenly", 947 | "gregarious": "gregariously", 948 | "grey": "greyly", 949 | "grievous": "grievously", 950 | "grim": "grimly", 951 | "groping": "gropingly", 952 | "gross": "grossly", 953 | "grotesque": "grotesquely", 954 | "grouchy": "grouchily", 955 | "grubby": "grubbily", 956 | "grudging": "grudgingly", 957 | "gruesome": "gruesomely", 958 | "gruff": "gruffly", 959 | "grumpy": "grumpily", 960 | "grungy": "grungily", 961 | "guarded": "guardedly", 962 | "guilty": "guiltily", 963 | "gushing": "gushingly", 964 | "guttural": "gutturally", 965 | "habitual": "habitually", 966 | "haggard": "haggardly", 967 | "half": "half", 968 | "half-and-half": "half-and-half", 969 | "halfhearted": "half-heartedly", 970 | "half-hourly": "half-hourly", 971 | "half-yearly": "half-yearly", 972 | "handy": "handily", 973 | "handsome": "handsomely", 974 | "haphazard": "haphazardly", 975 | "happy": "happily", 976 | "haptic": "haptically", 977 | "hard": "hard", 978 | "hardened": "hard", 979 | "harmful": "harmfully", 980 | "harmless": "harmlessly", 981 | "harmonic": "harmonically", 982 | "harmonious": "harmoniously", 983 | "harsh": "harshly", 984 | "hasty": "hastily", 985 | "hateful": "hatefully", 986 | "haughty": "haughtily", 987 | "hazardous": "hazardously", 988 | "hazy": "hazily", 989 | "head-to-head": "head-to-head", 990 | "headlong": "headlong", 991 | "healthy": "healthily", 992 | "hearty": "heartily", 993 | "heartless": "heartlessly", 994 | "heated": "heatedly", 995 | "heavy": "heavily", 996 | "hebdomadal": "hebdomadally", 997 | "hectic": "hectically", 998 | "heedful": "heedfully", 999 | "heedless": "heedlessly", 1000 | "heinous": "heinously", 1001 | "helpful": "helpfully", 1002 | "helpless": "helplessly", 1003 | "hermetic": "hermetically", 1004 | "heroic": "heroically", 1005 | "hesitant": "hesitantly", 1006 | "hideous": "hideously", 1007 | "hierarchical": "hierarchically", 1008 | "hieroglyphic": "hieroglyphically", 1009 | "high-handed": "high-handedly", 1010 | "high-minded": "high-mindedly", 1011 | "high": "highly", 1012 | "hilarious": "hilariously", 1013 | "hindering": "hinderingly", 1014 | "histological": "histologically", 1015 | "historical": "historically", 1016 | "historic": "historically", 1017 | "hoarse": "hoarsely", 1018 | "homeostatic": "homeostatically", 1019 | "homogeneous": "homogeneously", 1020 | "honest": "honestly", 1021 | "honorable": "honorably", 1022 | "hopeful": "hopefully", 1023 | "hopeless": "hopelessly", 1024 | "horizontal": "horizontally", 1025 | "horrible": "horribly", 1026 | "horrid": "horridly", 1027 | "horrifying": "horrifyingly", 1028 | "horticultural": "horticulturally", 1029 | "hospitable": "hospitably", 1030 | "hostile": "hostilely", 1031 | "hot": "hotly", 1032 | "hourly": "hourly", 1033 | "huffy": "huffily", 1034 | "humane": "humanely", 1035 | "human": "humanly", 1036 | "humble": "humbly", 1037 | "humiliating": "humiliatingly", 1038 | "humorless": "humorlessly", 1039 | "humorous": "humorously", 1040 | "hungry": "hungrily", 1041 | "hurried": "hurriedly", 1042 | "husky": "huskily", 1043 | "hydraulic": "hydraulically", 1044 | "hygienic": "hygienically", 1045 | "hyperbolic": "hyperbolically", 1046 | "hypnotic": "hypnotically", 1047 | "hypocritical": "hypocritically", 1048 | "hypothalamic": "hypothalamically", 1049 | "hypothetical": "hypothetically", 1050 | "hysterical": "hysterically", 1051 | "icy": "icily", 1052 | "ideal": "ideally", 1053 | "identical": "identically", 1054 | "identifiable": "identifiably", 1055 | "ideographic": "ideographically", 1056 | "idiomatic": "idiomatically", 1057 | "idiotic": "idiotically", 1058 | "idle": "idly", 1059 | "idolatrous": "idolatrously", 1060 | "idyllic": "idyllically", 1061 | "ignoble": "ignobly", 1062 | "ignominious": "ignominiously", 1063 | "ignorant": "ignorantly", 1064 | "illegal": "illegally", 1065 | "illegible": "illegibly", 1066 | "illegitimate": "illegitimately", 1067 | "illiberal": "illiberally", 1068 | "illicit": "illicitly", 1069 | "illogical": "illogically", 1070 | "illustrious": "illustriously", 1071 | "imaginative": "imaginatively", 1072 | "immaculate": "immaculately", 1073 | "immature": "immaturely", 1074 | "immeasurable": "immeasurably", 1075 | "immediate": "immediately", 1076 | "immense": "immensely", 1077 | "imminent": "imminently", 1078 | "immoderate": "immoderately", 1079 | "immodest": "immodestly", 1080 | "immoral": "immorally", 1081 | "immovable": "immovably", 1082 | "immunological": "immunologically", 1083 | "immutable": "immutably", 1084 | "impartial": "impartially", 1085 | "impassive": "impassively", 1086 | "impatient": "impatiently", 1087 | "impeccable": "impeccably", 1088 | "impenitent": "impenitently", 1089 | "imperative": "imperatively", 1090 | "imperceptible": "imperceptibly", 1091 | "imperfect": "imperfectly", 1092 | "imperial": "imperially", 1093 | "imperious": "imperiously", 1094 | "impermissible": "impermissibly", 1095 | "impersonal": "impersonally", 1096 | "impertinent": "impertinently", 1097 | "impetuous": "impetuously", 1098 | "impious": "impiously", 1099 | "impish": "impishly", 1100 | "implausible": "implausibly", 1101 | "implicit": "implicitly", 1102 | "impolite": "impolitely", 1103 | "important": "importantly", 1104 | "importunate": "importunately", 1105 | "imposing": "imposingly", 1106 | "impossible": "impossibly", 1107 | "impotent": "impotently", 1108 | "impracticable": "impracticably", 1109 | "imprecise": "imprecisely", 1110 | "impregnable": "impregnably", 1111 | "impressive": "impressively", 1112 | "improbable": "improbably", 1113 | "improper": "improperly", 1114 | "improvident": "improvidently", 1115 | "imprudent": "imprudently", 1116 | "impudent": "impudently", 1117 | "impulsive": "impulsively", 1118 | "in_vitro": "in_vitro", 1119 | "in_vivo": "in_vivo", 1120 | "inaccessible": "inaccessibly", 1121 | "inaccurate": "inaccurately", 1122 | "inadequate": "inadequately", 1123 | "inadvertent": "inadvertently", 1124 | "inadvisable": "inadvisably", 1125 | "inalienable": "inalienably", 1126 | "inane": "inanely", 1127 | "inappropriate": "inappropriately", 1128 | "inarticulate": "inarticulately", 1129 | "inattentive": "inattentively", 1130 | "inaudible": "inaudibly", 1131 | "inaugural": "inaugurally", 1132 | "inauspicious": "inauspiciously", 1133 | "incautious": "incautiously", 1134 | "incessant": "incessantly", 1135 | "incestuous": "incestuously", 1136 | "incidental": "incidentally", 1137 | "incisive": "incisively", 1138 | "incoherent": "incoherently", 1139 | "incomparable": "incomparably", 1140 | "incompatible": "incompatibly", 1141 | "incompetent": "incompetently", 1142 | "incomplete": "incompletely", 1143 | "inconceivable": "inconceivably", 1144 | "inconclusive": "inconclusively", 1145 | "incongruous": "incongruously", 1146 | "inconsequent": "inconsequently", 1147 | "inconsiderate": "inconsiderately", 1148 | "inconsistent": "inconsistently", 1149 | "inconspicuous": "inconspicuously", 1150 | "incontrovertible": "incontrovertibly", 1151 | "inconvenient": "inconveniently", 1152 | "incorrect": "incorrectly", 1153 | "increasing": "increasingly", 1154 | "incredible": "incredibly", 1155 | "incredulous": "incredulously", 1156 | "incriminating": "incriminatingly", 1157 | "incurable": "incurably", 1158 | "indecent": "indecently", 1159 | "indecisive": "indecisively", 1160 | "indecorous": "indecorously", 1161 | "indefatigable": "indefatigably", 1162 | "indefinite": "indefinitely", 1163 | "indelible": "indelibly", 1164 | "independent": "independently", 1165 | "indescribable": "indescribably", 1166 | "indeterminable": "indeterminably", 1167 | "indifferent": "indifferently", 1168 | "indigenous": "indigenously", 1169 | "indignant": "indignantly", 1170 | "indirect": "indirectly", 1171 | "discreet": "indiscreetly", 1172 | "indiscriminate": "indiscriminately", 1173 | "indistinct": "indistinctly", 1174 | "individualistic": "individualistically", 1175 | "individual": "individually", 1176 | "indolent": "indolently", 1177 | "indubitable": "indubitably", 1178 | "indulgent": "indulgently", 1179 | "industrial": "industrially", 1180 | "industrious": "industriously", 1181 | "ineffable": "ineffably", 1182 | "ineffective": "ineffectively", 1183 | "ineffectual": "ineffectually", 1184 | "inefficacious": "inefficaciously", 1185 | "inefficient": "inefficiently", 1186 | "inelegant": "inelegantly", 1187 | "ineluctable": "ineluctably", 1188 | "inept": "ineptly", 1189 | "inequitable": "inequitably", 1190 | "inescapable": "inescapably", 1191 | "inevitable": "inevitably", 1192 | "inexact": "inexactly", 1193 | "inexcusable": "inexcusably", 1194 | "excusable": "inexcusably", 1195 | "inexorable": "inexorably", 1196 | "inexpedient": "inexpediently", 1197 | "inexpert": "inexpertly", 1198 | "inextricable": "inextricably", 1199 | "infectious": "infectiously", 1200 | "infelicitous": "infelicitously", 1201 | "infernal": "infernally", 1202 | "infinite": "infinitely", 1203 | "inflexible": "inflexibly", 1204 | "influential": "influentially", 1205 | "informal": "informally", 1206 | "informative": "informatively", 1207 | "infrequent": "infrequently", 1208 | "ingenuous": "ingenuously", 1209 | "inglorious": "ingloriously", 1210 | "ingratiating": "ingratiatingly", 1211 | "inherent": "inherently", 1212 | "inhospitable": "inhospitably", 1213 | "inhumane": "inhumanely", 1214 | "inimitable": "inimitably", 1215 | "iniquitous": "iniquitously", 1216 | "initial": "initially", 1217 | "injudicious": "injudiciously", 1218 | "injurious": "injuriously", 1219 | "innate": "innately", 1220 | "innocent": "innocently", 1221 | "inoffensive": "inoffensively", 1222 | "inopportune": "inopportunely", 1223 | "inordinate": "inordinately", 1224 | "inorganic": "inorganically", 1225 | "inquiring": "inquiringly", 1226 | "inquisitive": "inquisitively", 1227 | "insane": "insanely", 1228 | "insatiable": "insatiably", 1229 | "inscriptive": "inscriptively", 1230 | "inscrutable": "inscrutably", 1231 | "insecticidal": "insecticidally", 1232 | "insecure": "insecurely", 1233 | "insensate": "insensately", 1234 | "insensible": "insensibly", 1235 | "insensitive": "insensitively", 1236 | "inseparable": "inseparably", 1237 | "insidious": "insidiously", 1238 | "insignificant": "insignificantly", 1239 | "insincere": "insincerely", 1240 | "insipid": "insipidly", 1241 | "insistent": "insistently", 1242 | "insolent": "insolently", 1243 | "inspirational": "inspirationally", 1244 | "instantaneous": "instantaneously", 1245 | "instinctive": "instinctively", 1246 | "institutional": "institutionally", 1247 | "instructive": "instructively", 1248 | "insufficient": "insufficiently", 1249 | "insulting": "insultingly", 1250 | "insuperable": "insuperably", 1251 | "integral": "integrally", 1252 | "intellectual": "intellectually", 1253 | "intelligent": "intelligently", 1254 | "intelligible": "intelligibly", 1255 | "intemperate": "intemperately", 1256 | "intense": "intensely", 1257 | "intentional": "intentionally", 1258 | "intent": "intently", 1259 | "interchangeable": "interchangeably", 1260 | "interdepartmental": "interdepartmental", 1261 | "interesting": "interestingly", 1262 | "interminable": "interminably", 1263 | "intermittent": "intermittently", 1264 | "internal": "internally", 1265 | "international": "internationally", 1266 | "interracial": "interracially", 1267 | "interrogative": "interrogatively", 1268 | "intimate": "intimately", 1269 | "tolerable": "intolerably", 1270 | "intolerant": "intolerantly", 1271 | "intractable": "intractably", 1272 | "intradermal": "intradermally", 1273 | "intramuscular": "intramuscularly", 1274 | "intransitive": "intransitively", 1275 | "intravenous": "intravenously", 1276 | "intrepid": "intrepidly", 1277 | "intricate": "intricately", 1278 | "intrinsic": "intrinsically", 1279 | "intuitive": "intuitively", 1280 | "invariable": "invariably", 1281 | "inventive": "inventively", 1282 | "invidious": "invidiously", 1283 | "invincible": "invincibly", 1284 | "invisible": "invisibly", 1285 | "inviting": "invitingly", 1286 | "involuntary": "involuntarily", 1287 | "inward": "inwardly", 1288 | "irate": "irately", 1289 | "ironical": "ironically", 1290 | "irrational": "irrationally", 1291 | "irregular": "irregularly", 1292 | "irrelevant": "irrelevantly", 1293 | "irreparable": "irreparably", 1294 | "irreproachable": "irreproachably", 1295 | "irresistible": "irresistibly", 1296 | "irresolute": "irresolutely", 1297 | "irresponsible": "irresponsibly", 1298 | "irretrievable": "irretrievably", 1299 | "irreverent": "irreverently", 1300 | "irreversible": "irreversibly", 1301 | "irrevocable": "irrevocably", 1302 | "irritable": "irritably", 1303 | "irritating": "irritatingly", 1304 | "isotropic": "isotropically", 1305 | "jagged": "jaggedly", 1306 | "jarring": "jarringly", 1307 | "jaunty": "jauntily", 1308 | "jealous": "jealously", 1309 | "jeering": "jeeringly", 1310 | "jejune": "jejunely", 1311 | "jerky": "jerkily", 1312 | "jesting": "jestingly", 1313 | "jocose": "jocosely", 1314 | "jocular": "jocular", 1315 | "joint": "jointly", 1316 | "joking": "jokingly", 1317 | "journalistic": "journalistically", 1318 | "jovial": "jovially", 1319 | "joyful": "joyfully", 1320 | "joyless": "joylessly", 1321 | "joyous": "joyously", 1322 | "jubilant": "jubilantly", 1323 | "judicial": "judicially", 1324 | "jurisprudential": "jurisprudentially", 1325 | "justifiable": "justifiably", 1326 | "just": "justly", 1327 | "keen": "keenly", 1328 | "killing": "killingly", 1329 | "kind": "kindly", 1330 | "kinesthetic": "kinesthetically", 1331 | "knavish": "knavishly", 1332 | "knowing": "knowingly", 1333 | "laborious": "laboriously", 1334 | "lackadaisical": "lackadaisically", 1335 | "laconic": "laconically", 1336 | "lame": "lamely", 1337 | "languid": "languidly", 1338 | "languorous": "languorously", 1339 | "largo": "largo", 1340 | "lascivious": "lasciviously", 1341 | "last": "last", 1342 | "late": "late", 1343 | "later": "later", 1344 | "lateral": "laterally", 1345 | "laudable": "laudably", 1346 | "laughable": "laughably", 1347 | "lavish": "lavishly", 1348 | "lawful": "lawfully", 1349 | "lax": "laxly", 1350 | "lazy": "lazily", 1351 | "learned": "learnedly", 1352 | "legal": "legally", 1353 | "legible": "legibly", 1354 | "legislative": "legislatively", 1355 | "legitimate": "legitimately", 1356 | "leisurely": "leisurely", 1357 | "lengthy": "lengthily", 1358 | "lenient": "leniently", 1359 | "lethargic": "lethargically", 1360 | "lewd": "lewdly", 1361 | "lexical": "lexically", 1362 | "liberal": "liberally", 1363 | "licentious": "licentiously", 1364 | "licit": "licitly", 1365 | "lifeless": "lifelessly", 1366 | "light-handed": "light-handedly", 1367 | "light": "lightly", 1368 | "lightsome": "lightsomely", 1369 | "limited": "limitedly", 1370 | "limnological": "limnologically", 1371 | "limpid": "limpidly", 1372 | "lineal": "lineally", 1373 | "linear": "linearly", 1374 | "lingual": "lingually", 1375 | "linguistic": "linguistically", 1376 | "listless": "listlessly", 1377 | "literal": "literally", 1378 | "livid": "lividly", 1379 | "local": "locally", 1380 | "lofty": "loftily", 1381 | "logarithmic": "logarithmically", 1382 | "logical": "logically", 1383 | "logogrammatic": "logogrammatically", 1384 | "long-winded": "long-windedly", 1385 | "long": "longest", 1386 | "longitudinal": "longitudinally", 1387 | "loose": "loosely", 1388 | "lopsided": "lopsidedly", 1389 | "loquacious": "loquaciously", 1390 | "loud": "loudly", 1391 | "loving": "lovingly", 1392 | "lowering": "loweringly", 1393 | "loyal": "loyally", 1394 | "lucid": "lucidly", 1395 | "lucky": "luckily", 1396 | "ludicrous": "ludicrously", 1397 | "lugubrious": "lugubriously", 1398 | "lukewarm": "lukewarmly", 1399 | "lurid": "luridly", 1400 | "luscious": "lusciously", 1401 | "lustful": "lustfully", 1402 | "lusty": "lustily", 1403 | "luxuriant": "luxuriantly", 1404 | "luxurious": "luxuriously", 1405 | "lyrical": "lyrically", 1406 | "macroscopical": "macroscopically", 1407 | "mad": "madly", 1408 | "magical": "magically", 1409 | "magisterial": "magisterially", 1410 | "magna_cum_laude": "magna_cum_laude", 1411 | "magnanimous": "magnanimously", 1412 | "magnetic": "magnetically", 1413 | "magnificent": "magnificently", 1414 | "magniloquent": "magniloquently", 1415 | "majestic": "majestically", 1416 | "maladroit": "maladroitly", 1417 | "malevolent": "malevolently", 1418 | "malicious": "maliciously", 1419 | "malignant": "malignantly", 1420 | "malign": "malignly", 1421 | "manageable": "manageably", 1422 | "managerial": "managerially", 1423 | "mandatory": "mandatorily", 1424 | "manful": "manfully", 1425 | "mangy": "mangily", 1426 | "maniacal": "maniacally", 1427 | "manifest": "manifestly", 1428 | "manipulative": "manipulatively", 1429 | "manual": "manually", 1430 | "marginal": "marginally", 1431 | "marked": "markedly", 1432 | "martial": "martially", 1433 | "marvelous": "marvellously", 1434 | "masochistic": "masochistically", 1435 | "massive": "massively", 1436 | "masterful": "masterfully", 1437 | "materialistic": "materialistically", 1438 | "material": "materially", 1439 | "maternal": "maternally", 1440 | "mathematical": "mathematically", 1441 | "matrilineal": "matrilineally", 1442 | "mature": "maturely", 1443 | "mawkish": "mawkishly", 1444 | "maximal": "maximally", 1445 | "meager": "meagerly", 1446 | "meandering": "meanderingly", 1447 | "meaningful": "meaningfully", 1448 | "mean": "meanly", 1449 | "meanspirited": "meanspiritedly", 1450 | "measurable": "measurably", 1451 | "measured": "measuredly", 1452 | "mechanical": "mechanically", 1453 | "medial": "medially", 1454 | "medical": "medically", 1455 | "medicinal": "medicinally", 1456 | "meditative": "meditatively", 1457 | "meek": "meekly", 1458 | "mellow": "mellowly", 1459 | "melodic": "melodically", 1460 | "melodious": "melodiously", 1461 | "melodramatic": "melodramatically", 1462 | "memorable": "memorably", 1463 | "menacing": "menacingly", 1464 | "mendacious": "mendaciously", 1465 | "menial": "menially", 1466 | "mental": "mentally", 1467 | "merciful": "mercifully", 1468 | "merciless": "mercilessly", 1469 | "mere": "merely", 1470 | "meretricious": "meretriciously", 1471 | "meritorious": "meritoriously", 1472 | "merry": "merrily", 1473 | "messy": "messily", 1474 | "metabolic": "metabolically", 1475 | "metaphorical": "metaphorically", 1476 | "metaphysical": "metaphysically", 1477 | "meteorologic": "meteorologically", 1478 | "methodical": "methodically", 1479 | "methodological": "methodologically", 1480 | "meticulous": "meticulously", 1481 | "metonymic": "metonymically", 1482 | "metrical": "metrically", 1483 | "microscopical": "microscopically", 1484 | "microscopic": "microscopically", 1485 | "mild": "mildly", 1486 | "military": "militarily", 1487 | "mincing": "mincingly", 1488 | "mindful": "mindfully", 1489 | "mindless": "mindlessly", 1490 | "minimal": "minimally", 1491 | "ministerial": "ministerially", 1492 | "minute": "minutely", 1493 | "miraculous": "miraculously", 1494 | "mirthful": "mirthfully", 1495 | "miserable": "miserably", 1496 | "misleading": "misleadingly", 1497 | "mistaken": "mistakenly", 1498 | "misty": "mistily", 1499 | "mistrustful": "mistrustfully", 1500 | "mocking": "mockingly", 1501 | "moderate": "moderately", 1502 | "modest": "modestly", 1503 | "modish": "modishly", 1504 | "moist": "moistly", 1505 | "momentous": "momentously", 1506 | "monaural": "monaurally", 1507 | "monolingual": "monolingually", 1508 | "monosyllabic": "monosyllabically", 1509 | "monotonous": "monotonously", 1510 | "monstrous": "monstrously", 1511 | "monthly": "monthly", 1512 | "moody": "moodily", 1513 | "moony": "moonily", 1514 | "morbid": "morbidly", 1515 | "mordacious": "mordaciously", 1516 | "morose": "morosely", 1517 | "morphological": "morphologically", 1518 | "most": "mostly", 1519 | "motionless": "motionlessly", 1520 | "mournful": "mournfully", 1521 | "moving": "movingly", 1522 | "mulish": "mulishly", 1523 | "multifarious": "multifariously", 1524 | "multilateral": "multilaterally", 1525 | "multiplicative": "multiplicatively", 1526 | "multiple": "multiply", 1527 | "mundane": "mundanely", 1528 | "municipal": "municipally", 1529 | "munificent": "munificently", 1530 | "murderous": "murderously", 1531 | "murky": "murkily", 1532 | "musical": "musically", 1533 | "musicological": "musicologically", 1534 | "musing": "musingly", 1535 | "mute": "mutely", 1536 | "mutual": "mutually", 1537 | "mysterious": "mysteriously", 1538 | "mystical": "mystically", 1539 | "naive": "naively", 1540 | "naked": "nakedly", 1541 | "narrow-minded": "narrow-mindedly", 1542 | "narrow": "narrowly", 1543 | "nasal": "nasally", 1544 | "nasty": "nastily", 1545 | "national": "nationally", 1546 | "natty": "nattily", 1547 | "natural": "naturally", 1548 | "naughty": "naughtily", 1549 | "neat": "neatly", 1550 | "nebulous": "nebulously", 1551 | "necessary": "necessarily", 1552 | "neck_and_neck": "neck_and_neck", 1553 | "needful": "needfully", 1554 | "needless": "needlessly", 1555 | "nefarious": "nefariously", 1556 | "negative": "negatively", 1557 | "neglectful": "neglectfully", 1558 | "negligent": "negligently", 1559 | "nerveless": "nervelessly", 1560 | "nervy": "nervily", 1561 | "nervous": "nervously", 1562 | "neurobiological": "neurobiological", 1563 | "neurotic": "neurotically", 1564 | "nice": "nicely", 1565 | "nimble": "nimbly", 1566 | "nip_and_tuck": "nip_and_tuck", 1567 | "noble": "nobly", 1568 | "nocturnal": "nocturnally", 1569 | "noiseless": "noiselessly", 1570 | "noisy": "noisily", 1571 | "nominal": "nominally", 1572 | "nonchalant": "nonchalantly", 1573 | "noncompetitive": "noncompetitively", 1574 | "noncomprehensive": "noncomprehensively", 1575 | "nonlexical": "nonlexically", 1576 | "nonspecific": "nonspecifically", 1577 | "nonverbal": "nonverbally", 1578 | "nonviolent": "nonviolently", 1579 | "northeastward": "northeastwardly", 1580 | "northerly": "northerly", 1581 | "northwestward": "northwestwardly", 1582 | "noticeable": "noticeably", 1583 | "noxious": "noxiously", 1584 | "numb": "numbly", 1585 | "numerical": "numerically", 1586 | "nutritional": "nutritionally", 1587 | "nutty": "nuttily", 1588 | "obdurate": "obdurately", 1589 | "obedient": "obediently", 1590 | "objectionable": "objectionably", 1591 | "objective": "objectively", 1592 | "obligatory": "obligatorily", 1593 | "obliging": "obligingly", 1594 | "oblique": "obliquely", 1595 | "obnoxious": "obnoxiously", 1596 | "obscene": "obscenely", 1597 | "obscure": "obscurely", 1598 | "obsequious": "obsequiously", 1599 | "observable": "observably", 1600 | "observant": "observantly", 1601 | "observing": "observingly", 1602 | "obsessional": "obsessionally", 1603 | "obsessive": "obsessively", 1604 | "obstinate": "obstinately", 1605 | "obstreperous": "obstreperously", 1606 | "obstructive": "obstructively", 1607 | "obtrusive": "obtrusively", 1608 | "obtuse": "obtusely", 1609 | "obvious": "obviously", 1610 | "occasional": "occasionally", 1611 | "odd": "oddly", 1612 | "odious": "odiously", 1613 | "offensive": "offensively", 1614 | "offhanded": "offhandedly", 1615 | "official": "officially", 1616 | "officious": "officiously", 1617 | "ominous": "ominously", 1618 | "onerous": "onerously", 1619 | "opaque": "opaquely", 1620 | "open": "openly", 1621 | "operational": "operationally", 1622 | "operative": "operatively", 1623 | "opportune": "opportunely", 1624 | "opposite": "oppositely", 1625 | "oppressive": "oppressively", 1626 | "optical": "optically", 1627 | "optimal": "optimally", 1628 | "optimistic": "optimistically", 1629 | "optional": "optionally", 1630 | "opulent": "opulently", 1631 | "oral": "orad", 1632 | "ordinary": "ordinarily", 1633 | "organic": "organically", 1634 | "organizational": "organizationally", 1635 | "original": "originally", 1636 | "ornamental": "ornamentally", 1637 | "osmotic": "osmotically", 1638 | "ostensible": "ostensibly", 1639 | "ostentatious": "ostentatiously", 1640 | "outlandish": "outlandishly", 1641 | "outrageous": "outrageously", 1642 | "outspoken": "outspokenly", 1643 | "outstanding": "outstandingly", 1644 | "outward": "outwardly", 1645 | "overbearing": "overbearingly", 1646 | "overpowering": "overpoweringly", 1647 | "overt": "overtly", 1648 | "overwhelming": "overwhelmingly", 1649 | "owlish": "owlishly", 1650 | "pacific": "pacifically", 1651 | "pacifistic": "pacifistically", 1652 | "painful": "painfully", 1653 | "painless": "painlessly", 1654 | "painstaking": "painstakingly", 1655 | "palatable": "palatably", 1656 | "pale": "palely", 1657 | "pallid": "pallidly", 1658 | "palmate": "palmately", 1659 | "palpable": "palpably", 1660 | "paradoxical": "paradoxically", 1661 | "parasitic": "parasitically", 1662 | "pardonable": "pardonably", 1663 | "parental": "parentally", 1664 | "parenteral": "parenterally", 1665 | "parenthetical": "parenthetically", 1666 | "parochial": "parochially", 1667 | "partial": "partially", 1668 | "particular": "particularly", 1669 | "passionate": "passionately", 1670 | "passive": "passively", 1671 | "patchy": "patchily", 1672 | "patent": "patently", 1673 | "paternal": "paternally", 1674 | "pathetic": "pathetically", 1675 | "pathogenic": "pathogenically", 1676 | "pathological": "pathologically", 1677 | "patient": "patiently", 1678 | "patrilineal": "patrilineally", 1679 | "patriotic": "patriotically", 1680 | "patronising": "patronisingly", 1681 | "patronizing": "patronizingly", 1682 | "peaceable": "peaceably", 1683 | "peaceful": "peacefully", 1684 | "peculiar": "peculiarly", 1685 | "pedagogic": "pedagogically", 1686 | "pedantic": "pedantically", 1687 | "peevish": "peevishly", 1688 | "pejorative": "pejoratively", 1689 | "pellucid": "pellucidly", 1690 | "penal": "penally", 1691 | "penetrating": "penetratingly", 1692 | "penetrative": "penetratively", 1693 | "penitential": "penitentially", 1694 | "penitent": "penitently", 1695 | "pensive": "pensively", 1696 | "penurious": "penuriously", 1697 | "perceptible": "perceptibly", 1698 | "perceptive": "perceptively", 1699 | "perceptual": "perceptually", 1700 | "peremptory": "peremptorily", 1701 | "perennial": "perennially", 1702 | "perfect": "perfectly", 1703 | "perfidious": "perfidiously", 1704 | "perfunctory": "perfunctorily", 1705 | "perilous": "perilously", 1706 | "periodical": "periodically", 1707 | "peripheral": "peripherally", 1708 | "perky": "perkily", 1709 | "permanent": "permanently", 1710 | "permissible": "permissibly", 1711 | "permissive": "permissively", 1712 | "pernicious": "perniciously", 1713 | "perpendicular": "perpendicularly", 1714 | "perpetual": "perpetually", 1715 | "perplexed": "perplexedly", 1716 | "persevering": "perseveringly", 1717 | "persistent": "persistently", 1718 | "personal": "personally", 1719 | "perspicuous": "perspicuously", 1720 | "persuasive": "persuasively", 1721 | "pertinacious": "pertinaciously", 1722 | "pertinent": "pertinently", 1723 | "pert": "pertly", 1724 | "pervasive": "pervasively", 1725 | "perverse": "perversely", 1726 | "pessimistic": "pessimistically", 1727 | "petty": "pettily", 1728 | "pettish": "pettishly", 1729 | "petulant": "petulantly", 1730 | "pharmacological": "pharmacologically", 1731 | "phenomenal": "phenomenally", 1732 | "philanthropic": "philanthropically", 1733 | "philatelic": "philatelically", 1734 | "philosophical": "philosophically", 1735 | "phlegmatic": "phlegmatically", 1736 | "phonemic": "phonemic", 1737 | "phonetic": "phonetically", 1738 | "photoelectric": "photoelectrically", 1739 | "photographic": "photographically", 1740 | "photometric": "photometrically", 1741 | "phylogenetic": "phylogenetically", 1742 | "physical": "physically", 1743 | "physiological": "physiologically", 1744 | "pianissimo": "pianissimo", 1745 | "piano": "piano", 1746 | "pictorial": "pictorially", 1747 | "picturesque": "picturesquely", 1748 | "piercing": "piercingly", 1749 | "pigheaded": "pig-headedly", 1750 | "piggish": "piggishly", 1751 | "pinnate": "pinnately", 1752 | "pious": "piously", 1753 | "piquant": "piquantly", 1754 | "piratical": "piratically", 1755 | "piteous": "piteously", 1756 | "pithy": "pithily", 1757 | "pitiable": "pitiably", 1758 | "pitiful": "pitifully", 1759 | "pitiless": "pitilessly", 1760 | "placating": "placatingly", 1761 | "placid": "placidly", 1762 | "plaguy": "plaguily", 1763 | "plain": "plainly", 1764 | "plaintive": "plaintively", 1765 | "plastic": "plastically", 1766 | "plausible": "plausibly", 1767 | "playful": "playfully", 1768 | "pleasant": "pleasantly", 1769 | "pleasing": "pleasingly", 1770 | "pleasurable": "pleasurably", 1771 | "plenary": "plenarily", 1772 | "plenteous": "plenteously", 1773 | "plentiful": "plentifully", 1774 | "plodding": "ploddingly", 1775 | "plucky": "pluckily", 1776 | "pneumatic": "pneumatically", 1777 | "poetic": "poetically", 1778 | "poignant": "poignantly", 1779 | "pointed": "pointedly", 1780 | "pointless": "pointlessly", 1781 | "poisonous": "poisonously", 1782 | "polemic": "polemically", 1783 | "polite": "politely", 1784 | "political": "politically", 1785 | "polygonal": "polygonally", 1786 | "polyphonic": "polyphonically", 1787 | "polysyllabic": "polysyllabically", 1788 | "pompous": "pompously", 1789 | "ponderous": "ponderously", 1790 | "poor": "poorly", 1791 | "popish": "popishly", 1792 | "popular": "popularly", 1793 | "pornographic": "pornographically", 1794 | "portentous": "portentously", 1795 | "positive": "positively", 1796 | "possessive": "possessively", 1797 | "possible": "possibly", 1798 | "posthumous": "posthumously", 1799 | "postoperative": "postoperatively", 1800 | "potential": "potentially", 1801 | "potent": "potently", 1802 | "powerful": "powerfully", 1803 | "powerless": "powerlessly", 1804 | "practicable": "practicably", 1805 | "practical": "practically", 1806 | "pragmatic": "pragmatically", 1807 | "praiseworthy": "praiseworthily", 1808 | "precarious": "precariously", 1809 | "precedented": "precedentedly", 1810 | "precipitate": "precipitately", 1811 | "precipitous": "precipitously", 1812 | "precise": "precisely", 1813 | "precocious": "precociously", 1814 | "predicative": "predicatively", 1815 | "predictable": "predictably", 1816 | "predominant": "predominantly", 1817 | "preeminent": "preeminently", 1818 | "preferential": "preferentially", 1819 | "premature": "prematurely", 1820 | "preponderant": "preponderantly", 1821 | "prepositional": "prepositionally", 1822 | "prescient": "presciently", 1823 | "presentable": "presentably", 1824 | "present": "presently", 1825 | "presidential": "presidentially", 1826 | "pressing": "pressingly", 1827 | "presumable": "presumably", 1828 | "presumptuous": "presumptuously", 1829 | "pretentious": "pretentiously", 1830 | "preternatural": "preternaturally", 1831 | "pretty": "prettily", 1832 | "previous": "previously", 1833 | "priggish": "priggishly", 1834 | "primary": "primarily", 1835 | "primitive": "primitively", 1836 | "prim": "primly", 1837 | "principal": "principally", 1838 | "prissy": "prissily", 1839 | "private": "privately", 1840 | "probabilistic": "probabilistically", 1841 | "probable": "probably", 1842 | "problematic": "problematically", 1843 | "prodigal": "prodigally", 1844 | "prodigious": "prodigiously", 1845 | "productive": "productively", 1846 | "profane": "profanely", 1847 | "professed": "professedly", 1848 | "professional": "professionally", 1849 | "professorial": "professorially", 1850 | "proficient": "proficiently", 1851 | "profitless": "profitlessly", 1852 | "profligate": "profligately", 1853 | "profound": "profoundly", 1854 | "progressive": "progressively", 1855 | "prohibitive": "prohibitively", 1856 | "prominent": "prominently", 1857 | "promiscuous": "promiscuously", 1858 | "promising": "promisingly", 1859 | "prompt": "promptly", 1860 | "proper": "properly", 1861 | "prophetic": "prophetically", 1862 | "propitious": "propitiously", 1863 | "proportional": "proportionally", 1864 | "proportionate": "proportionately", 1865 | "prosaic": "prosaically", 1866 | "prosy": "prosily", 1867 | "prosperous": "prosperously", 1868 | "protective": "protectively", 1869 | "protracted": "protractedly", 1870 | "proud": "proudly", 1871 | "provable": "provably", 1872 | "proverbial": "proverbially", 1873 | "providential": "providentially", 1874 | "provident": "providently", 1875 | "provincial": "provincially", 1876 | "provisional": "provisionally", 1877 | "provocative": "provocatively", 1878 | "provoking": "provokingly", 1879 | "prudent": "prudently", 1880 | "prudish": "prudishly", 1881 | "prurient": "pruriently", 1882 | "prying": "pryingly", 1883 | "psychic": "psychically", 1884 | "psychological": "psychologically", 1885 | "public": "publicly", 1886 | "puckish": "puckishly", 1887 | "pugnacious": "pugnaciously", 1888 | "punctilious": "punctiliously", 1889 | "punctual": "punctually", 1890 | "pungent": "pungently", 1891 | "puny": "punily", 1892 | "punishing": "punishingly", 1893 | "punitive": "punitively", 1894 | "punitory": "punitorily", 1895 | "puritanical": "puritanically", 1896 | "purposeful": "purposefully", 1897 | "purposeless": "purposelessly", 1898 | "pusillanimous": "pusillanimously", 1899 | "pyramidical": "pyramidically", 1900 | "quaint": "quaintly", 1901 | "qualitative": "qualitatively", 1902 | "quantitative": "quantitatively", 1903 | "quarterly": "quarterly", 1904 | "quavering": "quaveringly", 1905 | "queasy": "queasily", 1906 | "queer": "queerly", 1907 | "querulous": "querulously", 1908 | "questionable": "questionably", 1909 | "questioning": "questioningly", 1910 | "quick": "quickly", 1911 | "quiet": "quietly", 1912 | "quixotic": "quixotically", 1913 | "quizzical": "quizzically", 1914 | "racial": "racially", 1915 | "racy": "racily", 1916 | "radial": "radially", 1917 | "radiant": "radiantly", 1918 | "radical": "radically", 1919 | "radioactive": "radioactively", 1920 | "raffish": "raffishly", 1921 | "ragged": "raggedly", 1922 | "rakish": "rakishly", 1923 | "rampant": "rampantly", 1924 | "random": "randomly", 1925 | "rapacious": "rapaciously", 1926 | "rapid": "rapidly", 1927 | "rapturous": "rapturously", 1928 | "rare": "rarely", 1929 | "rash": "rashly", 1930 | "rasping": "raspingly", 1931 | "rational": "rationally", 1932 | "raucous": "raucously", 1933 | "ravenous": "ravenously", 1934 | "ravishing": "ravishingly", 1935 | "readable": "readably", 1936 | "realistic": "realistically", 1937 | "real": "really", 1938 | "reasonable": "reasonably", 1939 | "reassuring": "reassuringly", 1940 | "rebellious": "rebelliously", 1941 | "recent": "recently", 1942 | "receptive": "receptively", 1943 | "reciprocal": "reciprocally", 1944 | "reckless": "recklessly", 1945 | "recognizable": "recognizably", 1946 | "recurrent": "recurrently", 1947 | "red": "redly", 1948 | "reflective": "reflectively", 1949 | "reflex": "reflexly", 1950 | "refreshing": "refreshingly", 1951 | "regal": "regally", 1952 | "regimental": "regimentally", 1953 | "regional": "regionally", 1954 | "regretful": "regretfully", 1955 | "regrettable": "regrettably", 1956 | "regular": "regularly", 1957 | "relative": "relatively", 1958 | "relativistic": "relativistically", 1959 | "relentless": "relentlessly", 1960 | "relevant": "relevantly", 1961 | "reliable": "reliably", 1962 | "religious": "religiously", 1963 | "reluctant": "reluctantly", 1964 | "remarkable": "remarkably", 1965 | "reminiscent": "reminiscently", 1966 | "remorseful": "remorsefully", 1967 | "remorseless": "remorselessly", 1968 | "remote": "remotely", 1969 | "repeated": "repeatedly", 1970 | "repellent": "repellently", 1971 | "repelling": "repellingly", 1972 | "repentant": "repentantly", 1973 | "repetitive": "repetitively", 1974 | "reported": "reportedly", 1975 | "reprehensible": "reprehensibly", 1976 | "reproachful": "reproachfully", 1977 | "reproducible": "reproducibly", 1978 | "reproving": "reprovingly", 1979 | "repulsive": "repulsively", 1980 | "reputable": "reputably", 1981 | "resentful": "resentfully", 1982 | "reserved": "reservedly", 1983 | "residential": "residentially", 1984 | "resolute": "resolutely", 1985 | "resounding": "resoundingly", 1986 | "resourceful": "resourcefully", 1987 | "respectable": "respectably", 1988 | "respectful": "respectfully", 1989 | "respective": "respectively", 1990 | "resplendent": "resplendently", 1991 | "responsible": "responsibly", 1992 | "restful": "restfully", 1993 | "restive": "restively", 1994 | "restless": "restlessly", 1995 | "restrictive": "restrictively", 1996 | "retentive": "retentively", 1997 | "reticent": "reticently", 1998 | "retroactive": "retroactively", 1999 | "retrospective": "retrospectively", 2000 | "revengeful": "revengefully", 2001 | "reverential": "reverentially", 2002 | "reverent": "reverently", 2003 | "reversible": "reversibly", 2004 | "revolting": "revoltingly", 2005 | "rewarding": "rewardingly", 2006 | "rhapsodic": "rhapsodically", 2007 | "rhetorical": "rhetorically", 2008 | "rhythmical": "rhythmically", 2009 | "rich": "richly", 2010 | "ridiculous": "ridiculously", 2011 | "right": "right", 2012 | "righteous": "righteously", 2013 | "rightful": "rightfully", 2014 | "rigid": "rigidly", 2015 | "rigorous": "rigorously", 2016 | "riotous": "riotously", 2017 | "ripe": "ripely", 2018 | "risky": "riskily", 2019 | "robust": "robustly", 2020 | "roguish": "roguishly", 2021 | "rollicking": "rollickingly", 2022 | "romantic": "romantically", 2023 | "roomy": "roomily", 2024 | "rotational": "rotationally", 2025 | "rotten": "rottenly", 2026 | "rotund": "rotundly", 2027 | "rough": "roughly", 2028 | "round": "roundly", 2029 | "rowdy": "rowdily", 2030 | "royal": "royally", 2031 | "rude": "rudely", 2032 | "rueful": "ruefully", 2033 | "rugged": "ruggedly", 2034 | "ruinous": "ruinously", 2035 | "rural": "rurally", 2036 | "ruthless": "ruthlessly", 2037 | "sacred": "sacredly", 2038 | "sacrilegious": "sacrilegiously", 2039 | "sad": "sadly", 2040 | "sagacious": "sagaciously", 2041 | "sage": "sagely", 2042 | "salacious": "salaciously", 2043 | "sanctimonious": "sanctimoniously", 2044 | "sane": "sanely", 2045 | "sapient": "sapiently", 2046 | "sarcastic": "sarcastically", 2047 | "sardonic": "sardonically", 2048 | "satirical": "satirically", 2049 | "satisfactory": "satisfactorily", 2050 | "saucy": "saucily", 2051 | "savage": "savagely", 2052 | "scandalous": "scandalously", 2053 | "scanty": "scantily", 2054 | "scarce": "scarcely", 2055 | "scary": "scarily", 2056 | "scathing": "scathingly", 2057 | "scenic": "scenically", 2058 | "sceptical": "sceptically", 2059 | "schematic": "schematically", 2060 | "schismatic": "schismatically", 2061 | "scholastic": "scholastically", 2062 | "scientific": "scientifically", 2063 | "scorching": "scorching", 2064 | "scornful": "scornfully", 2065 | "scrappy": "scrappily", 2066 | "screaky": "screakily", 2067 | "screaming": "screamingly", 2068 | "scrumptious": "scrumptiously", 2069 | "scrupulous": "scrupulously", 2070 | "scurrilous": "scurrilously", 2071 | "scurvy": "scurvily", 2072 | "searching": "searchingly", 2073 | "seasonable": "seasonably", 2074 | "seasonal": "seasonally", 2075 | "secondhand": "second_hand", 2076 | "secondary": "secondarily", 2077 | "secretive": "secretively", 2078 | "secret": "secretly", 2079 | "secure": "securely", 2080 | "seductive": "seductively", 2081 | "sedulous": "sedulously", 2082 | "seeming": "seemingly", 2083 | "selective": "selectively", 2084 | "self-conceited": "self-conceitedly", 2085 | "self-conscious": "self-consciously", 2086 | "self-evident": "self-evidently", 2087 | "self-indulgent": "self-indulgently", 2088 | "self-righteous": "self-righteously", 2089 | "selfish": "selfishly", 2090 | "selfless": "selflessly", 2091 | "semantic": "semantically", 2092 | "semiannual": "semiannually", 2093 | "semimonthly": "semimonthly", 2094 | "semiweekly": "semiweekly", 2095 | "sensational": "sensationally", 2096 | "senseless": "senselessly", 2097 | "sensible": "sensibly", 2098 | "sensitive": "sensitively", 2099 | "sensual": "sensually", 2100 | "sensuous": "sensuously", 2101 | "sententious": "sententiously", 2102 | "sentimental": "sentimentally", 2103 | "separable": "separably", 2104 | "separate": "separately", 2105 | "sequential": "sequentially", 2106 | "serene": "serenely", 2107 | "serial": "serially", 2108 | "serious": "seriously", 2109 | "servile": "servilely", 2110 | "seventh": "seventhly", 2111 | "severe": "severely", 2112 | "sexual": "sexually", 2113 | "shabby": "shabbily", 2114 | "shaggy": "shaggily", 2115 | "shaky": "shakily", 2116 | "shallow": "shallowly", 2117 | "shambolic": "shambolically", 2118 | "shamefaced": "shamefacedly", 2119 | "shameful": "shamefully", 2120 | "shameless": "shamelessly", 2121 | "shapeless": "shapelessly", 2122 | "sharp": "sharply", 2123 | "sheepish": "sheepishly", 2124 | "shifty": "shiftily", 2125 | "shocking": "shockingly", 2126 | "shoddy": "shoddily", 2127 | "short": "shortly", 2128 | "showy": "showily", 2129 | "shrewd": "shrewdly", 2130 | "shrewish": "shrewishly", 2131 | "shrill": "shrilly", 2132 | "shy": "shyly", 2133 | "sickening": "sickeningly", 2134 | "sidearm": "sidearm", 2135 | "sidesplitting": "sidesplittingly", 2136 | "signal": "signally", 2137 | "significant": "significantly", 2138 | "silent": "silently", 2139 | "similar": "similarly", 2140 | "simple": "simply", 2141 | "simultaneous": "simultaneously", 2142 | "sincere": "sincerely", 2143 | "single-minded": "single-mindedly", 2144 | "single": "singly", 2145 | "singular": "singularly", 2146 | "sinuous": "sinuously", 2147 | "sinusoidal": "sinusoidally", 2148 | "sixth": "sixthly", 2149 | "sketchy": "sketchily", 2150 | "skillful": "skillfully", 2151 | "skimpy": "skimpily", 2152 | "skittish": "skittishly", 2153 | "slack": "slackly", 2154 | "slanderous": "slanderously", 2155 | "slangy": "slangily", 2156 | "slanting": "slantingly", 2157 | "slavish": "slavishly", 2158 | "sleek": "sleekly", 2159 | "sleepy": "sleepily", 2160 | "sleepless": "sleeplessly", 2161 | "slender": "slenderly", 2162 | "slighting": "slightingly", 2163 | "slight": "slightly", 2164 | "slim": "slimly", 2165 | "sloping": "slopingly", 2166 | "sloppy": "sloppily", 2167 | "slouchy": "slouchily", 2168 | "slow": "slowly", 2169 | "sluggish": "sluggishly", 2170 | "sly": "slyly", 2171 | "small-minded": "small-mindedly", 2172 | "smarmy": "smarmily", 2173 | "smart": "smartly", 2174 | "smoldering": "smolderingly", 2175 | "smooth": "smoothly", 2176 | "smouldering": "smoulderingly", 2177 | "smug": "smugly", 2178 | "smutty": "smuttily", 2179 | "snappish": "snappishly", 2180 | "sneaky": "sneakily", 2181 | "sneaking": "sneakingly", 2182 | "sneering": "sneeringly", 2183 | "snide": "snidely", 2184 | "snobbish": "snobbishly", 2185 | "snooty": "snootily", 2186 | "snug": "snugly", 2187 | "sober": "soberly", 2188 | "sociable": "sociably", 2189 | "social": "socially", 2190 | "sociobiological": "sociobiologically", 2191 | "socioeconomic": "socioeconomically", 2192 | "sociolinguistic": "sociolinguistically", 2193 | "sociological": "sociologically", 2194 | "soft": "softly", 2195 | "sole": "solely", 2196 | "solemn": "solemnly", 2197 | "solicitous": "solicitously", 2198 | "solid": "solidly", 2199 | "solitary": "solitarily", 2200 | "somber": "somberly", 2201 | "somnolent": "somnolently", 2202 | "sonorous": "sonorously", 2203 | "soothing": "soothingly", 2204 | "sordid": "sordidly", 2205 | "sore": "sorely", 2206 | "sorrowful": "sorrowfully", 2207 | "sottish": "sottishly", 2208 | "soughing": "soughingly", 2209 | "soulful": "soulfully", 2210 | "soulless": "soullessly", 2211 | "soundless": "soundlessly", 2212 | "sound": "soundly", 2213 | "sour": "sourly", 2214 | "southeastward": "southeastwardly", 2215 | "southerly": "southerly", 2216 | "southwestward": "southwestwardly", 2217 | "spacious": "spaciously", 2218 | "spare": "sparely", 2219 | "sparing": "sparingly", 2220 | "sparse": "sparsely", 2221 | "spasmodic": "spasmodically", 2222 | "spacial": "spatially", 2223 | "special": "specially", 2224 | "specific": "specifically", 2225 | "specious": "speciously", 2226 | "spectacular": "spectacularly", 2227 | "spectrographic": "spectrographically", 2228 | "speculative": "speculatively", 2229 | "speechless": "speechlessly", 2230 | "speedy": "speedily", 2231 | "spherical": "spherically", 2232 | "spicy": "spicily", 2233 | "spinal": "spinally", 2234 | "spiral": "spirally", 2235 | "spirited": "spiritedly", 2236 | "spiritual": "spiritually", 2237 | "spiteful": "spitefully", 2238 | "splendid": "splendidly", 2239 | "spontaneous": "spontaneously", 2240 | "sporadic": "sporadically", 2241 | "sporting": "sportingly", 2242 | "spotless": "spotlessly", 2243 | "spruce": "sprucely", 2244 | "spurious": "spuriously", 2245 | "squalid": "squalidly", 2246 | "square": "squarely", 2247 | "squeamish": "squeamishly", 2248 | "stable": "stably", 2249 | "stagy": "stagily", 2250 | "staid": "staidly", 2251 | "standoffish": "standoffishly", 2252 | "stark": "starkly", 2253 | "startling": "startlingly", 2254 | "statistical": "statistically", 2255 | "statutory": "statutorily", 2256 | "staunch": "staunchly", 2257 | "steadfast": "steadfastly", 2258 | "steady": "steadily", 2259 | "stealthy": "stealthily", 2260 | "steep": "steeply", 2261 | "stereotypical": "stereotypically", 2262 | "stern": "sternly", 2263 | "stertorous": "stertorously", 2264 | "sticky": "stickily", 2265 | "stiff": "stiffly", 2266 | "still": "still", 2267 | "stilted": "stiltedly", 2268 | "stingy": "stingily", 2269 | "stirring": "stirringly", 2270 | "stochastic": "stochastically", 2271 | "stocky": "stockily", 2272 | "stodgy": "stodgily", 2273 | "stoic": "stoically", 2274 | "stolid": "stolidly", 2275 | "stony": "stonily", 2276 | "stormy": "stormily", 2277 | "stout": "stoutly", 2278 | "straight": "straight", 2279 | "straightforward": "straightforwardly", 2280 | "strange": "strangely", 2281 | "strategic": "strategically", 2282 | "strenuous": "strenuously", 2283 | "strict": "strictly", 2284 | "strident": "stridently", 2285 | "striking": "strikingly", 2286 | "stringent": "stringently", 2287 | "strong": "strongly", 2288 | "structural": "structurally", 2289 | "stubborn": "stubbornly", 2290 | "studious": "studiously", 2291 | "stuffy": "stuffily", 2292 | "stunning": "stunningly", 2293 | "stupendous": "stupendously", 2294 | "stupid": "stupidly", 2295 | "sturdy": "sturdily", 2296 | "stylish": "stylishly", 2297 | "stylistic": "stylistically", 2298 | "suave": "suavely", 2299 | "subconscious": "subconsciously", 2300 | "subcutaneous": "subcutaneously", 2301 | "subjective": "subjectively", 2302 | "submissive": "submissively", 2303 | "subsequent": "subsequently", 2304 | "subservient": "subserviently", 2305 | "substantial": "substantially", 2306 | "subtle": "subtly", 2307 | "successful": "successfully", 2308 | "successive": "successively", 2309 | "succinct": "succinctly", 2310 | "sudden": "suddenly", 2311 | "sufficient": "sufficiently", 2312 | "suggestive": "suggestively", 2313 | "suitable": "suitably", 2314 | "sulky": "sulkily", 2315 | "sullen": "sullenly", 2316 | "sultry": "sultrily", 2317 | "summa_cum_laude": "summa_cum_laude", 2318 | "summary": "summarily", 2319 | "sumptuous": "sumptuously", 2320 | "sunny": "sunnily", 2321 | "superb": "superbly", 2322 | "supercilious": "superciliously", 2323 | "superficial": "superficially", 2324 | "superfluous": "superfluously", 2325 | "superlative": "superlatively", 2326 | "supernatural": "supernaturally", 2327 | "superstitious": "superstitiously", 2328 | "supine": "supinely", 2329 | "supreme": "supremely", 2330 | "sure": "surely", 2331 | "surgical": "surgically", 2332 | "surly": "surlily", 2333 | "surpassing": "surpassingly", 2334 | "surprised": "surprisedly", 2335 | "surprising": "surprisingly", 2336 | "surreptitious": "surreptitiously", 2337 | "suspicious": "suspiciously", 2338 | "sweeping": "sweepingly", 2339 | "sweet": "sweetly", 2340 | "swift": "swiftly", 2341 | "syllabic": "syllabically", 2342 | "symbiotic": "symbiotically", 2343 | "symbolic": "symbolically", 2344 | "symmetrical": "symmetrically", 2345 | "sympathetic": "sympathetically", 2346 | "symptomatic": "symptomatically", 2347 | "synchronous": "synchronously", 2348 | "synergistic": "synergistically", 2349 | "synonymous": "synonymously", 2350 | "syntactic": "syntactically", 2351 | "synthetic": "synthetically", 2352 | "systematic": "systematically", 2353 | "tacit": "tacitly", 2354 | "taciturn": "taciturnly", 2355 | "tactful": "tactfully", 2356 | "tactical": "tactically", 2357 | "tactless": "tactlessly", 2358 | "tactual": "tactually", 2359 | "talkative": "talkatively", 2360 | "talky": "talkily", 2361 | "tame": "tamely", 2362 | "tangential": "tangentially", 2363 | "tangible": "tangibly", 2364 | "tantalizing": "tantalizingly", 2365 | "tardy": "tardily", 2366 | "tart": "tartly", 2367 | "tasteful": "tastefully", 2368 | "tasteless": "tastelessly", 2369 | "tasty": "tastily", 2370 | "tatty": "tattily", 2371 | "taut": "tautly", 2372 | "tawdry": "tawdrily", 2373 | "taxonomic": "taxonomically", 2374 | "tearful": "tearfully", 2375 | "teasing": "teasingly", 2376 | "technical": "technically", 2377 | "technological": "technologically", 2378 | "tedious": "tediously", 2379 | "telegraphic": "telegraphically", 2380 | "telescopic": "telescopically", 2381 | "telling": "tellingly", 2382 | "temperamental": "temperamentally", 2383 | "temperate": "temperately", 2384 | "temporal": "temporally", 2385 | "temporary": "temporarily", 2386 | "tempting": "temptingly", 2387 | "tenacious": "tenaciously", 2388 | "tendentious": "tendentiously", 2389 | "tender": "tenderly", 2390 | "tense": "tensely", 2391 | "tentative": "tentatively", 2392 | "tenth": "tenthly", 2393 | "tenuous": "tenuously", 2394 | "terminal": "terminally", 2395 | "terrestrial": "terrestrially", 2396 | "terrible": "terribly", 2397 | "terrific": "terrifically", 2398 | "territorial": "territorially", 2399 | "terse": "tersely", 2400 | "testy": "testily", 2401 | "tetchy": "tetchily", 2402 | "thankful": "thankfully", 2403 | "theatrical": "theatrically", 2404 | "thematic": "thematically", 2405 | "theological": "theologically", 2406 | "theoretical": "theoretically", 2407 | "therapeutic": "therapeutically", 2408 | "thermal": "thermally", 2409 | "thermodynamic": "thermodynamically", 2410 | "thermostatic": "thermostatically", 2411 | "thick": "thickly", 2412 | "thievish": "thievishly", 2413 | "thin": "thinly", 2414 | "thirdhand": "thirdhand", 2415 | "thirsty": "thirstily", 2416 | "thorough": "thoroughly", 2417 | "thoughtful": "thoughtfully", 2418 | "thoughtless": "thoughtlessly", 2419 | "threatening": "threateningly", 2420 | "thrifty": "thriftily", 2421 | "thriftless": "thriftlessly", 2422 | "tidy": "tidily", 2423 | "tight": "tightly", 2424 | "timid": "timidly", 2425 | "timorous": "timorously", 2426 | "tired": "tiredly", 2427 | "tireless": "tirelessly", 2428 | "tiresome": "tiresomely", 2429 | "tolerant": "tolerantly", 2430 | "toneless": "tonelessly", 2431 | "topical": "topically", 2432 | "topographical": "topographically", 2433 | "topological": "topologically", 2434 | "topping": "toppingly", 2435 | "torpid": "torpidly", 2436 | "torturous": "torturously", 2437 | "total": "totally", 2438 | "touchy": "touchily", 2439 | "touching": "touchingly", 2440 | "tough": "toughly", 2441 | "traditional": "traditionally", 2442 | "tragic": "tragically", 2443 | "traitorous": "traitorously", 2444 | "tranquil": "tranquilly", 2445 | "transcendental": "transcendentally", 2446 | "transient": "transiently", 2447 | "transitional": "transitionally", 2448 | "transitive": "transitively", 2449 | "transitory": "transitorily", 2450 | "transparent": "transparently", 2451 | "transversal": "transversally", 2452 | "transverse": "transversely", 2453 | "treacherous": "treacherously", 2454 | "treasonable": "treasonably", 2455 | "tremendous": "tremendously", 2456 | "tremulous": "tremulously", 2457 | "trenchant": "trenchantly", 2458 | "trepid": "trepidly", 2459 | "tricky": "trickily", 2460 | "trim": "trimly", 2461 | "tripping": "trippingly", 2462 | "trite": "tritely", 2463 | "triumphant": "triumphantly", 2464 | "trivial": "trivially", 2465 | "tropical": "tropically", 2466 | "truculent": "truculently", 2467 | "true": "truly", 2468 | "trustful": "trustfully", 2469 | "trusting": "trustingly", 2470 | "truthful": "truthfully", 2471 | "tumultuous": "tumultuously", 2472 | "tuneful": "tunefully", 2473 | "tuneless": "tunelessly", 2474 | "turbulent": "turbulently", 2475 | "turgid": "turgidly", 2476 | "tutorial": "tutorially", 2477 | "typical": "typically", 2478 | "typographic": "typographically", 2479 | "ulterior": "ulteriorly", 2480 | "ultimate": "ultimately", 2481 | "ultrasonic": "ultrasonically", 2482 | "unabashed": "unabashedly", 2483 | "acceptable": "unacceptably", 2484 | "unaccompanied": "unaccompanied", 2485 | "unaccountable": "unaccountably", 2486 | "unachievable": "unachievably", 2487 | "unadvised": "unadvisedly", 2488 | "unalterable": "unalterably", 2489 | "unambiguous": "unambiguously", 2490 | "unambitious": "unambitiously", 2491 | "unanimous": "unanimously", 2492 | "unappealing": "unappealingly", 2493 | "unappreciative": "unappreciatively", 2494 | "unarguable": "unarguably", 2495 | "unashamed": "unashamedly", 2496 | "unassailable": "unassailably", 2497 | "unassertive": "unassertively", 2498 | "unassuming": "unassumingly", 2499 | "unattainable": "unattainably", 2500 | "unattractive": "unattractively", 2501 | "unavoidable": "unavoidably", 2502 | "unbecoming": "unbecomingly", 2503 | "unbelievable": "unbelievably", 2504 | "unbelieving": "unbelievingly", 2505 | "unblinking": "unblinkingly", 2506 | "unblushing": "unblushingly", 2507 | "uncanny": "uncannily", 2508 | "unceasing": "unceasingly", 2509 | "unceremonious": "unceremoniously", 2510 | "uncertain": "uncertainly", 2511 | "unchangeable": "unchangeably", 2512 | "uncharacteristic": "uncharacteristically", 2513 | "unchivalrous": "unchivalrously", 2514 | "uncivil": "uncivilly", 2515 | "unclear": "unclearly", 2516 | "uncomfortable": "uncomfortably", 2517 | "uncommon": "uncommonly", 2518 | "uncomplaining": "uncomplainingly", 2519 | "uncompromising": "uncompromisingly", 2520 | "unconcerned": "unconcernedly", 2521 | "unconditional": "unconditionally", 2522 | "unconscious": "unconsciously", 2523 | "unconstitutional": "unconstitutionally", 2524 | "uncontrolled": "uncontrollably", 2525 | "uncontroversial": "uncontroversially", 2526 | "unconventional": "unconventionally", 2527 | "unconvincing": "unconvincingly", 2528 | "uncouth": "uncouthly", 2529 | "uncritical": "uncritically", 2530 | "unctuous": "unctuously", 2531 | "undecipherable": "undecipherably", 2532 | "undemocratic": "undemocratically", 2533 | "undeniable": "undeniably", 2534 | "undependable": "undependably", 2535 | "underhand": "underhandedly", 2536 | "understanding": "understandingly", 2537 | "undeserved": "undeservedly", 2538 | "undesirable": "undesirably", 2539 | "diplomatic": "undiplomatically", 2540 | "undisputed": "undisputedly", 2541 | "undramatic": "undramatically", 2542 | "undue": "unduly", 2543 | "uneasy": "uneasily", 2544 | "unemotional": "unemotionally", 2545 | "unending": "unendingly", 2546 | "unenthusiastic": "unenthusiastically", 2547 | "unequal": "unequally", 2548 | "unequivocal": "unequivocally", 2549 | "unerring": "unerringly", 2550 | "unethical": "unethically", 2551 | "uneven": "unevenly", 2552 | "uneventful": "uneventfully", 2553 | "unexciting": "unexcitingly", 2554 | "unexpected": "unexpectedly", 2555 | "unfailing": "unfailingly", 2556 | "unfair": "unfairly", 2557 | "unfaithful": "unfaithfully", 2558 | "unfaltering": "unfalteringly", 2559 | "unfashionable": "unfashionably", 2560 | "unfavorable": "unfavorably", 2561 | "unfeeling": "unfeelingly", 2562 | "unfeigned": "unfeignedly", 2563 | "unforgettable": "unforgettably", 2564 | "unforgivable": "unforgivably", 2565 | "unforgiving": "unforgivingly", 2566 | "unfortunate": "unfortunately", 2567 | "ungraceful": "ungracefully", 2568 | "ungrammatical": "ungrammatically", 2569 | "ungrateful": "ungratefully", 2570 | "ungrudging": "ungrudgingly", 2571 | "unhappy": "unhappily", 2572 | "unhelpful": "unhelpfully", 2573 | "unhesitating": "unhesitatingly", 2574 | "unhurried": "unhurriedly", 2575 | "unhygienic": "unhygienically", 2576 | "uniform": "uniformly", 2577 | "unilateral": "unilaterally", 2578 | "unimaginable": "unimaginably", 2579 | "unimaginative": "unimaginatively", 2580 | "unimpeachable": "unimpeachably", 2581 | "unimpressive": "unimpressively", 2582 | "uninformative": "uninformatively", 2583 | "uninstructive": "uninstructively", 2584 | "unintelligent": "unintelligently", 2585 | "unintelligible": "unintelligibly", 2586 | "unintentional": "unintentionally", 2587 | "uninteresting": "uninterestingly", 2588 | "uninterrupted": "uninterruptedly", 2589 | "uninvited": "uninvitedly", 2590 | "unique": "uniquely", 2591 | "unjustifiable": "unjustifiably", 2592 | "unjust": "unjustly", 2593 | "unkind": "unkindly", 2594 | "unlawful": "unlawfully", 2595 | "unlucky": "unluckily", 2596 | "unmanageable": "unmanageably", 2597 | "unmanful": "unmanfully", 2598 | "unmelodious": "unmelodiously", 2599 | "unmemorable": "unmemorably", 2600 | "unmerciful": "unmercifully", 2601 | "unmindful": "unmindfully", 2602 | "unmistakable": "unmistakably", 2603 | "unmusical": "unmusically", 2604 | "unnatural": "unnaturally", 2605 | "unnecessary": "unnecessarily", 2606 | "unnoticeable": "unnoticeably", 2607 | "unobtrusive": "unobtrusively", 2608 | "unofficial": "unofficially", 2609 | "unoriginal": "unoriginally", 2610 | "unpalatable": "unpalatably", 2611 | "unpardonable": "unpardonably", 2612 | "unpatriotic": "unpatriotically", 2613 | "unpleasant": "unpleasantly", 2614 | "unprecedented": "unprecedentedly", 2615 | "unpredictable": "unpredictably", 2616 | "unpretentious": "unpretentiously", 2617 | "unproductive": "unproductively", 2618 | "unprofitable": "unprofitably", 2619 | "unpropitious": "unpropitiously", 2620 | "unqualified": "unqualifiedly", 2621 | "unquestionable": "unquestionably", 2622 | "unquestioning": "unquestioningly", 2623 | "unquiet": "unquietly", 2624 | "unreadable": "unreadably", 2625 | "unrealistic": "unrealistically", 2626 | "unreasonable": "unreasonably", 2627 | "unrecognizable": "unrecognizably", 2628 | "unrelenting": "unrelentingly", 2629 | "unreliable": "unreliably", 2630 | "unremarkable": "unremarkably", 2631 | "unrepentant": "unrepentantly", 2632 | "unreproducible": "unreproducibly", 2633 | "unrestrained": "unrestrainedly", 2634 | "unrighteous": "unrighteously", 2635 | "unsatisfactory": "unsatisfactorily", 2636 | "unscientific": "unscientifically", 2637 | "unscrupulous": "unscrupulously", 2638 | "unseasonable": "unseasonably", 2639 | "unselfconscious": "unselfconsciously", 2640 | "unselfish": "unselfishly", 2641 | "unsentimental": "unsentimentally", 2642 | "unshakable": "unshakably", 2643 | "unsmiling": "unsmilingly", 2644 | "unsociable": "unsociably", 2645 | "unsparing": "unsparingly", 2646 | "unspeakable": "unspeakably", 2647 | "unsporting": "unsportingly", 2648 | "unsteady": "unsteadily", 2649 | "unstinting": "unstintingly", 2650 | "unsuccessful": "unsuccessfully", 2651 | "unsuspecting": "unsuspectingly", 2652 | "unswerving": "unswervingly", 2653 | "unsympathetic": "unsympathetically", 2654 | "unsystematic": "unsystematically", 2655 | "unthinkable": "unthinkably", 2656 | "unthinking": "unthinkingly", 2657 | "untidy": "untidily", 2658 | "untimely": "untimely", 2659 | "untrue": "untruly", 2660 | "untruthful": "untruthfully", 2661 | "untypical": "untypically", 2662 | "unusual": "unusually", 2663 | "unutterable": "unutterably", 2664 | "unwanted": "unwantedly", 2665 | "unwary": "unwarily", 2666 | "unwarrantable": "unwarrantably", 2667 | "unwavering": "unwaveringly", 2668 | "unwilling": "unwillingly", 2669 | "unwitting": "unwittingly", 2670 | "unwonted": "unwontedly", 2671 | "unworthy": "unworthily", 2672 | "uppish": "uppishly", 2673 | "upright": "uprightly", 2674 | "uproarious": "uproariously", 2675 | "urbane": "urbanely", 2676 | "urgent": "urgently", 2677 | "useful": "usefully", 2678 | "useless": "uselessly", 2679 | "usual": "usually", 2680 | "usurious": "usuriously", 2681 | "utter": "utterly", 2682 | "uxorious": "uxoriously", 2683 | "vacant": "vacantly", 2684 | "vacuous": "vacuously", 2685 | "vague": "vaguely", 2686 | "vain": "vainly", 2687 | "valiant": "valiantly", 2688 | "valid": "validly", 2689 | "valorous": "valorously", 2690 | "vapid": "vapidly", 2691 | "variable": "variably", 2692 | "various": "variously", 2693 | "vast": "vastly", 2694 | "vehement": "vehemently", 2695 | "venal": "venally", 2696 | "vengeful": "vengefully", 2697 | "venomous": "venomously", 2698 | "ventral": "ventrally", 2699 | "verbal": "verbally", 2700 | "verbose": "verbosely", 2701 | "vertical": "vertically", 2702 | "vexatious": "vexatiously", 2703 | "vicarious": "vicariously", 2704 | "vicious": "viciously", 2705 | "victorious": "victoriously", 2706 | "vigilant": "vigilantly", 2707 | "vigorous": "vigorously", 2708 | "vile": "vilely", 2709 | "vindictive": "vindictively", 2710 | "violent": "violently", 2711 | "virtual": "virtually", 2712 | "virtuous": "virtuously", 2713 | "virulent": "virulently", 2714 | "visceral": "viscerally", 2715 | "viscid": "viscidly", 2716 | "visible": "visibly", 2717 | "vital": "vitally", 2718 | "vitriolic": "vitriolically", 2719 | "vivacious": "vivaciously", 2720 | "vivid": "vividly", 2721 | "vocal": "vocally", 2722 | "vocational": "vocationally", 2723 | "vociferous": "vociferously", 2724 | "volcanic": "volcanically", 2725 | "volitional": "volitionally", 2726 | "voluble": "volubly", 2727 | "volumetric": "volumetrically", 2728 | "voluntary": "voluntarily", 2729 | "voluptuous": "voluptuously", 2730 | "voracious": "voraciously", 2731 | "voyeuristic": "voyeuristically", 2732 | "vulgar": "vulgarly", 2733 | "vulnerable": "vulnerably", 2734 | "wacky": "wackily", 2735 | "wafer-thin": "wafer-thin", 2736 | "waggish": "waggishly", 2737 | "wan": "wanly", 2738 | "wanton": "wantonly", 2739 | "wary": "warily", 2740 | "warm": "warm", 2741 | "wasteful": "wastefully", 2742 | "watchful": "watchfully", 2743 | "weak": "weakly", 2744 | "wealthy": "wealthily", 2745 | "weary": "wearily", 2746 | "weighty": "weightily", 2747 | "weird": "weirdly", 2748 | "good": "well", 2749 | "west": "westerly", 2750 | "wheezy": "wheezily", 2751 | "wheezing": "wheezingly", 2752 | "wholehearted": "wholeheartedly", 2753 | "wholesome": "wholesomely", 2754 | "whole": "wholly", 2755 | "wicked": "wickedly", 2756 | "wild": "wild", 2757 | "wilful": "wilfully", 2758 | "willful": "willfully", 2759 | "willing": "willingly", 2760 | "windy": "windily", 2761 | "winsome": "winsomely", 2762 | "wise": "wisely", 2763 | "wishful": "wishfully", 2764 | "wistful": "wistfully", 2765 | "withering": "witheringly", 2766 | "witty": "wittily", 2767 | "witting": "wittingly", 2768 | "woeful": "woefully", 2769 | "wolfish": "wolfishly", 2770 | "wonderful": "wonderfully", 2771 | "wondering": "wonderingly", 2772 | "wondrous": "wondrously", 2773 | "wooden": "woodenly", 2774 | "wordy": "wordily", 2775 | "wordless": "wordlessly", 2776 | "worried": "worriedly", 2777 | "worrying": "worryingly", 2778 | "worthy": "worthily", 2779 | "worthless": "worthlessly", 2780 | "wrathful": "wrathfully", 2781 | "wretched": "wretchedly", 2782 | "wrongful": "wrongfully", 2783 | "wrongheaded": "wrongheadedly", 2784 | "wrong": "wrongly", 2785 | "wry": "wryly", 2786 | "yielding": "yieldingly", 2787 | "youthful": "youthfully", 2788 | "zealous": "zealously", 2789 | "zestful": "zestfully", 2790 | "zesty": "zestily" 2791 | } -------------------------------------------------------------------------------- /word_forms/constants.py: -------------------------------------------------------------------------------- 1 | from collections import defaultdict 2 | from pathlib import Path 3 | import json 4 | 5 | class Verb(object): 6 | def __init__(self, verbs=None): 7 | self.verbs = verbs if verbs else set() 8 | 9 | def __repr__(self): 10 | return "Verbs" + str(self.verbs) 11 | 12 | def update(self, verbs): 13 | self.verbs.update(verbs) 14 | 15 | 16 | verbs_fh = open(str(Path(__file__).parent.absolute() / "en-verbs.txt")) 17 | lines = verbs_fh.readlines() 18 | verbs_fh.close() 19 | 20 | CONJUGATED_VERB_DICT = defaultdict(Verb) 21 | for line in lines: 22 | if line[0] != ";": 23 | verbs = {string for string in line.strip().split(",") if string != ""} 24 | for verb in verbs: 25 | CONJUGATED_VERB_DICT[verb].update(verbs) 26 | 27 | adj_fh = open(str(Path(__file__).parent.absolute() / "adj_to_adv.txt")) 28 | ADJECTIVE_TO_ADVERB = json.load(adj_fh) 29 | adj_fh.close() 30 | -------------------------------------------------------------------------------- /word_forms/lemmatizer.py: -------------------------------------------------------------------------------- 1 | from word_forms.word_forms import get_word_forms 2 | 3 | 4 | def lemmatize(word): 5 | """ 6 | Out of all the related word forms of ``word``, return the smallest form that appears first in the dictionary 7 | """ 8 | forms = [word for pos_form in get_word_forms(word).values() for word in pos_form] 9 | forms.sort() 10 | forms.sort(key=len) 11 | try: 12 | return forms[0] 13 | except IndexError: 14 | raise ValueError("{} is not a real word".format(word)) 15 | 16 | 17 | -------------------------------------------------------------------------------- /word_forms/word_forms.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | try: 4 | from nltk.corpus import wordnet as wn 5 | raise_lookuperror_if_wordnet_data_absent = wn.synset("python.n.01") 6 | except LookupError: 7 | import nltk 8 | nltk.download("wordnet") 9 | from nltk.stem import WordNetLemmatizer 10 | import inflect 11 | from difflib import SequenceMatcher 12 | 13 | from .constants import CONJUGATED_VERB_DICT, ADJECTIVE_TO_ADVERB 14 | 15 | 16 | def belongs(lemma, lemma_list): 17 | """ 18 | args: 19 | - lemma : a Wordnet lemma e.g. Lemma('administration.n.02.governance') 20 | - lemma_list : a list of lemmas 21 | 22 | returns True if lemma is in lemma_list and False otherwise. 23 | 24 | The NLTK Wordnet implementation of Lemma is such that two lemmas are 25 | considered equal only if their names are the same. 26 | i.e Lemma('regulate.v.02.govern') == Lemma('govern.v.02.govern') 27 | Therefore the python statement "lemma in lemma_list" yields 28 | unexpected results. This function implements the expected 29 | behavior for the statement "lemma in list_list". 30 | """ 31 | return any( 32 | element.name() == lemma.name() and element.synset() == lemma.synset() 33 | for element in lemma_list 34 | ) 35 | 36 | 37 | def get_related_lemmas(word): 38 | """ 39 | args 40 | - word : a word e.g. "lovely" 41 | 42 | returns a list of related lemmas e.g [Lemma('cover_girl.n.01.lovely'), 43 | Lemma('lovely.s.01.lovely'), Lemma('adorable.s.01.lovely'), 44 | Lemma('comeliness.n.01.loveliness')] 45 | returns [] if Wordnet doesn't recognize the word 46 | """ 47 | return get_related_lemmas_rec(word, []) 48 | 49 | 50 | def get_related_lemmas_rec(word, known_lemmas, similarity_threshold): 51 | # Turn string word into list of Lemma objects 52 | all_lemmas_for_this_word = [ 53 | lemma 54 | for ss in wn.synsets(word) 55 | for lemma in ss.lemmas() 56 | if lemma.name() == word 57 | ] 58 | # Add new lemmas to known lemmas 59 | known_lemmas += [ 60 | lemma for lemma in all_lemmas_for_this_word if not belongs(lemma, known_lemmas) 61 | ] 62 | # Loop over new lemmas, and recurse using new related lemmas, but only if the new related lemma is similar to the original one 63 | for lemma in all_lemmas_for_this_word: 64 | for new_lemma in lemma.derivationally_related_forms() + lemma.pertainyms(): 65 | sequence_matcher_ratio = SequenceMatcher(None, word, new_lemma.name()).ratio() 66 | if ( 67 | not belongs(new_lemma, known_lemmas) 68 | and sequence_matcher_ratio > similarity_threshold 69 | ): 70 | get_related_lemmas_rec(new_lemma.name(), known_lemmas, similarity_threshold) 71 | # Return the known lemmas 72 | return known_lemmas 73 | 74 | 75 | def get_word_forms(word, similarity_threshold=0.4): 76 | """ 77 | args 78 | word : a word e.g "love" 79 | similarity_threshold: minimum levenshtein ratio e.g 0.5 (default: 0.4) 80 | 81 | returns the related word forms corresponding to the input word. the output 82 | is a dictionary with four keys "n" (noun), "a" (adjective), "v" (verb) 83 | and "r" (adverb). The value for each key is a python Set containing 84 | related word forms with that part of speech. 85 | 86 | e.g. {'a': {'lovable', 'loveable'}, 87 | 'n': {'love', 'lover', 'lovers', 'loves'}, 88 | 'r': set(), 89 | 'v': {'love', 'loved', 'loves', 'loving'}} 90 | """ 91 | words = { 92 | WordNetLemmatizer().lemmatize(word, pos) 93 | for pos in [wn.NOUN, wn.ADJ, wn.VERB, wn.ADV] 94 | } 95 | related_lemmas = [] 96 | for lemmatized_word in words: 97 | get_related_lemmas_rec(lemmatized_word, related_lemmas, similarity_threshold) 98 | related_words_dict = {"n": set(), "a": set(), "v": set(), "r": set()} 99 | for lemma in related_lemmas: 100 | pos = lemma.synset().pos() 101 | if pos == "s": 102 | pos = "a" 103 | related_words_dict[pos].add(lemma.name().lower()) 104 | 105 | for noun in related_words_dict["n"].copy(): 106 | plural = inflect.engine().plural_noun(noun) 107 | # inflect's pluralisation of nouns often fails by adding an additional "s" when pluralising 108 | # uninflectable nouns ending in -cs, such as "politics" or "genetics". We drop these cases. 109 | # In particular, if the new plural ends with a consonant + ss, while the noun itself did not 110 | # then we do *not* add the plural 111 | if not re.search("[b-df-hj-np-tv-z]ss$", plural) or re.search( 112 | "[b-df-hj-np-tv-z]ss$", noun 113 | ): 114 | related_words_dict["n"].add(plural) 115 | 116 | for verb in related_words_dict["v"].copy(): 117 | if verb in CONJUGATED_VERB_DICT: 118 | related_words_dict["v"] |= CONJUGATED_VERB_DICT[verb].verbs 119 | 120 | for adjective in related_words_dict["a"].copy(): 121 | if adjective in ADJECTIVE_TO_ADVERB: 122 | related_words_dict["r"].add(ADJECTIVE_TO_ADVERB[adjective]) 123 | 124 | return related_words_dict --------------------------------------------------------------------------------