In Everyday English

In Everyday English

Written by Dylan Holmes

Table of Contents

1 How doctors speak

"There’s a linguist’s saying about English speakers that we go to work in Latin and come home in Anglo-Saxon. Meaning that much of our professional language (words like office, supervisor, colleague — even computer and telephone) comes from the Latin-derived French. While the language of home (house, hearth, fire) comes to us from the German-derived Anglo-Saxon. To use Latin is to ally yourself with all of these powerful connotations at once: mystery, power, and formalism."

—M. G. DuPree

Experts often need their own language in order to speak clearly and quickly. But too often medical jargon separates the people from their health: when medical knowledge is written by experts for experts, we lose the ability to control and manage our health for ourselves.

Maybe in the beginning, physicians deliberately made up complicated words to distance themselves from the untrained masses. Maybe we in western culture often want that distance — culturally speaking, western doctors are priests, not shamans, and so their power and authority stems from their training. Maybe medical jargon makes it easier for patients and their doctors to believe that doctors are all-powerful.

Or maybe doctors simply used new words because they needed more precise and efficient terms. And maybe we are shedding lofty words in favor of everyday words and moving away from an authoritarian model of medicine. This work is part of such a project.

2 A program which explains medical jargon

This article describes a program which I call WELLSPEAK. It is a Javascript plugin for your web browser—specifically for Wikipedia—and it explains what complicated words mean by breaking apart their etymological roots.

etymology-2.png

For example, if you read an article containing the phrase chronic hepatitis, WELLSPEAK will translate the phrase as long-lasting liver-swelling. In this way, the program translates long, obscure Latinate phrases into plain English.

The structure of the program is standard: it simply searches for words that it can break apart into pieces which it understands. The power of WELLSPEAK comes from a hand-made glossary of around 380 roots, linking "-itis" to "swelling", "hepat-" to "kindney", and so on.

WELLSPEAK is not an etymological dictionary — it guesses the meaning of words from their roots, rather than looking them up from an authoritative source. And as a consequence, it sometimes guesses the wrong roots. But what WELLSPEAK lacks in correctness, it makes up for in flexibility: WELLSPEAK is a model of my own strategy for understanding new words by breaking them apart. By deploying its knowledge of roots, WELLSPEAK can even understand rare words and words that have just been coined. By exposing the roots of words, WELLSPEAK makes jargon make sense. Take a look at this screenshot of WELLSPEAK in action:

etymology-1.png

WELLSPEAK is a proof-of-concept companion for the reader of medical jargon. My aim in writing it was to help readers understand passages where — too often — the vocabulary itself is the main obstacle. Its glosses are designed to shed light on what words mean, and in so doing to empower the reader.

3 Other references

4 Program source

The source of the program is displayed in two parts for ease of reading. The first part consists of the entire Greasemonkey script except for the definitions of the approximately 380 root words. The second part consists of the definitions of all the roots.

I've left intact the comments where I've deliberated over different choices of gloss.

4.1 The search program

// ==UserScript==
// @name        wellspeak
// @namespace   logical.ai
// @include     https://en.wikipedia.org/*
// @version     1
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @grant       none
// ==/UserScript==
var roots = [];
var endings = [];
var anglish = {};
var excluded = {};


var contains = function(coll, x) {
   for(var i in coll) {
     if(coll[i] == x) {
       return true; 
     }
   }
   return false;
}

var exclude = function(word) {
   excluded[word] = true;
};
var add_root = function(root,meaning) {
   roots.push(root);anglish[root] = meaning;
};
var add_suffix = function(root,meaning) {
   endings.push(root);anglish[root] = meaning;
};

var cmp_length = function(a,b){return Math.sign(b.length - a.length);};
var init_vars = function() {

   // SNIP ------ THE DATABASE OF ROOTS GOES HERE ------
   // END SNIP.

  roots.sort(cmp_length);
  endings.sort(cmp_length);

};

var translate_greek = function(word) {
 console.log(word);


  if(word == "" || excluded[word.toLowerCase()]){return [];}
  var ret = [];
  $(endings.concat(roots)).each(function(i,end){

     var full = end;
     var part = end;
     full = full.replace(/\|/g,"") ;
     part = end.match(/^[^\|]+/)[0];



     // the ending of the word exactly matches an entry
     if(word.length >= full.length && 
        word.substring(word.length-full.length).toLowerCase() == full) {
       console.log("<",full); 
       console.log("<<",word.substring(0,word.length-full.length)); 
       if(word.length == full.length) {
            // the word has been completely translated
            if(!contains(endings, full)){
            ret.push([anglish[end]]);
            }

        }
        else { 

           // the beginning of the word still needs to be translated
           var recur = translate_greek(word.substring(0,word.length-full.length));

           $(recur).each(function(j,r){
             ret.push(r.concat(anglish[end]));
           });
        }
     }

    // the ending of the word matches just the stem of an entry + a (possibly modified) vowel

    if(part != full && 
      word.charAt(word.length-1).match(/[aeiou]/i) && 
       word.substring(word.length-part.length-1, word.length-1).toLowerCase() == part){
       //console.log(">> partial", word, word.substring(0,word.length-part.length-1), part); 
       console.log("MODIFIED VOWEL");
      if(word.length == full.length) {
            // the word has been completely translated
           ret.push([anglish[end]]);
        }
        else { 
           // the beginning of the word still needs to be translated
           var recur = translate_greek(word.substring(0,word.length-part.length-1));
           $(recur).each(function(j,r){
             ret.push(r.concat(anglish[end]));
           });
        }
    }

     if(part != full && 
       word.substring(word.length-part.length, word.length).toLowerCase() == part){

      if(word.length == part.length) {
            // the word has been completely translated
           ret.push([anglish[end]]);
        }
        else { 
           // the beginning of the word still needs to be translated
           var recur = translate_greek(word.substring(0,word.length-part.length));
           $(recur).each(function(j,r){
             ret.push(r.concat(anglish[end]));
           });
        }
    }




  });
  return ret;
}; 


var decorate = function(pieces, original) {
  console.log(pieces.join(" "));
  var tmp = pieces.filter(function(x){return !!x}).join("-");
  if(original.charAt(0).toUpperCase() == original.charAt(0)) {
    tmp = tmp.charAt(0).toUpperCase() + tmp.slice(1);
  }
  return "[[" + original + '|' + tmp + ']]';
};
$("body").ready(function(){
  var stylish = "color:#0a0; border-radius:0.15em; background:#efc;";
  init_vars();
  console.log(translate_greek("pathophysiology"));

  $("p, b, i, u, a, span, strong, h1, h2, h3, h4, h5, h6, th, td,li").contents().filter(function(x){return this.nodeType==3}).each(function(i,x){
      var xs = x.substringData(0,x.length);
      xs = xs.split(" "); ///[ ,:\.!;]+/
      var ret = [];
      $(xs).each(function(j, y){
         var z = translate_greek(y);
        ret.push((z.length > 0 && y.length >= 4) ? decorate(z[0],y) : y);
      });
      x.replaceData(0, ret.join(" ").length, ret.join(" "));
  });
  $(document.documentElement).html(function(i,val){
    return val.replace(/\[\[([^\]]+)\|([^\]]+)\]\]/g," <span style='"+stylish+"'>$2 [<i>$1</i>]</span>");
   // return val.replace(/(\[\[[^\]+\]\])/,"<span style='background:#ff0;'>asdf</span>");
  });


});

4.2 The glossary of roots

    exclude("carbonate");
  exclude("some");  exclude("enter");
  exclude("bare");   exclude("urine");
  exclude("barbara");   exclude("gene");
    exclude("opium");  exclude("open");
    exclude("later");  exclude("dermis");
      exclude("Cuban"); exclude("arch");
   exclude("trials"); exclude("trial");
     exclude("additional"); 
   exclude("state"); exclude("states");
  exclude("gram");

  // Idiosyncratic individual words
    add_root("auto-immune","self-fighting");


  add_root("fistul|a","thinpipe");
   add_suffix("psy","slicing");
  add_root("vascul|um","bloodpipe");
  add_suffix("ar","type");
  add_root("peritone|um","bellyskin");
  add_root("non-","non");
  add_suffix("trics","skill");
  add_root("ped|o","baby");
  add_root("paed|ia","baby");
  add_root("stasis","staying");
  add_root("stat|o","staying"); //staystill
  add_root("homeo","samekind");
  add_root("peri","around");
   add_root("ventricle","pouch");
     add_root("ventriul|o","pouch");
    add_root("glyc|an","sugarchain");
    add_root("chondr|o","cartilage");
    add_root("spondyl|o","backbone");
    add_root("chronic","longlasting");
    add_root("hepat|os","liver");
    add_root("hem|o","blood");
    add_root("haem|o","blood");
    add_root("ankyl|os","crooked");
    add_root("psori|a","itch");
    add_suffix("ing", "ing");
   add_root("enthesis","connection");    add_root("entheses","connections")
    add_root("lig|a","bind");
    add_suffix("ment", "ing");



    add_root("alkal|i","saltwort");
    add_root("plexus","braid");
    add_root("enter|o","intestine");
    add_root("coron|a","crown");
    add_root("dist|o","farside");
      add_root("proxim|o","nearside");
    add_root("dors|o","backside");
    add_root("later|o","flankside");
    add_root("ventr|o","bellyside");
    add_root("endo","within");
    add_root("exo","outside");
    add_root("apo","beyond");
        add_root("palat|o","mouthroof");



  add_root("nitr|o","washingsoda");
  add_root("aponeuroses","beyondsinew");
    add_root("latissim|us","broadest");
    add_root("penn|a","feather");
    add_root("arachn|o","spider");
 add_root("en","at"); //at atop
 add_root("chem|y","pouring");
 add_suffix("try","domain");


      add_root("lymph|o","fluids");
      add_root("rheumat|o","discharge");

    add_root("chiasm|a","crisscross");
      add_root("cerebr|um","brain");
      add_root("hemi","half");

          add_root("tendon","sinew");
          add_root("tendin|o","sinew");

        add_root("rostr|o","face");

            add_root("coll|a","glue");

              add_root("naut","sailor");
              add_root("inter","within");              
  add_root("nation|al","land");

    add_root("pseud|o","substitute");

  add_root("amin|o","ammonium");


    add_root("aden|os", "gland");


  add_root("chrom|a","color");
  add_root("som|a", "body");
   add_root("homo","same");
  add_root("hetero","other");
    add_root("log|o","reckoning");
  add_root("sigm|a", "ess");
  add_root("andr|o", "man"); //man male
  add_root("gyn|o", "woman"); //woman
  add_root("gynec|o", "woman"); //woman
  add_root("mer|o", "part");
  add_root("morph|o", "shaped");
  add_root("poly", "many");
  add_root("olig|o", "several");
  add_root("heli|o", "sun");
  add_root("hydr|o", "water");
  add_root("anthrop|o", "people");
  add_root("chi", "swap");
  add_root("arch", "top"); //highup
  add_root("bio", "life");
  add_suffix("bic", "life");
  add_root("arthr|o", "joint");
  add_root("mon|o", "single"); // single, one
  add_root("di", "two");
  add_root("tri", "three");
  add_root("rhin|o", "nose");
  add_root("cer|at", "horn");
  add_root("auto", "self");
  add_root("idio", "oneofakind");
  add_root("phon|o", "sound");
  add_root("tele|o", "far");
  add_root("men|s", "month");
  add_root("path|o", "sick");
  add_root("crypt|o", "hiding"); // hidden, shadowed, covering, obscuring
  add_root("psych|o", "mind");
  add_root("phil|o", "love");
  add_root("phob|o", "fear");
  add_root("soph|o", "wisdom");
  add_root("pod|e", "foot");
  add_root("gastr|o", "stomach");
  add_root("nom|o", "law"); // law, rule, custom, trend 
  add_root("eco", "home"); // house 
  add_root("sphere", "orb"); 
  add_root("astr|o", "star"); 
  add_root("aster", "star"); 
  add_root("gon", "angle");  // angle, side ?? paragon = par(a) + akon, not -gon.
  add_root("ox|y", "sour"); 
  add_root("hal|i", "salt");  
  add_root("lith|os", "stone"); 
  add_root("calli", "beauty"); 
  add_root("geo", "earth"); 
  add_root("electr|o", "amber");
  add_root("lys|o", "crumble"); // separation, breakapart, decompose, fracture, crumble, shred, pile
  add_root("lyt", "crumble"); // separation, breakapart, decompose, fracture, crumble, shred, pile
  add_root("dox", "belief");
  add_root("para", "beyond");
  add_root("hetero", "different");
  add_root("ortho", "right"); // ? pun with: "right" angles, "right" belief
  add_root("dont", "tooth");
  add_root("bar|y", "heavy");
  add_root("hyper", "more"); // very extremely over
  add_root("hypo", "less"); // under, sub, less
  add_root("radi|o", "ray");
  add_root("an", "without");
  add_root("holo", "allaround"); // all whole total around
  add_root("cyt|e", "cell"); // cell room
  add_root("caust", "burn");
  add_root("hagio", "saint");
  add_root("gram", "info"); // message picture info
  add_root("enanti|o", "opposite"); 
  add_root("pter|a", "wing"); 
  add_root("dact|yl", "finger"); 
  add_root("cide", "killing"); 
  add_root("rex", "king"); 
  add_root("regi", "king"); 
  add_root("iso", "same"); 
  add_root("nym", "name"); 
  add_root("topo", "place"); 
  add_root("endo", "within"); 
  add_root("exo", "outsider"); //outside, outsider 
  add_root("gen|s", "bloodline");
  add_suffix("genesis", "forming");
    add_root("phag|o", "eat");
    add_root("sarc|o", "flesh");
    add_root("vertebr|um", "spine");
    add_root("gangli|on", "bundle");
    add_root("calor|i", "heat");
    add_root("therm|o", "hot");
    add_root("thalp|y", "warming");


    add_root("insul|a", "island");
  add_root("uvi|ae", "clothes");
  add_root("dis", "bad");
  add_root("eu", "good");
  add_root("lumin|a", "glow"); 
  add_root("phot|o", "light"); 
  add_root("tax|i", "movement"); 
  add_root("synth|es", "make"); 
  add_root("pyro", "fire"); 
  add_root("neuro", "brain"); 
  add_root("lept|o", "seize"); // grab holdfast 
  add_root("derm|is", "skin"); 
  add_root("cardi|o", "heart");
  add_root("mys|o", "muscle");
  add_root("my|o", "muscle");
  add_root("isc", "stop");
  add_root("hem|o", "blood");
  add_root("glob|o", "glob"); // glob corpuscule blob dollop
  add_root("kin|e", "movement");
  add_root("sthen|o", "strength");
  add_root("apo", "breakaway"); // apart, perfective, detached, tangential, sprouted, bud, offshoot
  add_root("deic", "proof");
  add_root("theo", "god");
  add_root("cra|t", "rule");
  add_root("mito", "thread");
  add_root("meio", "lessening"); //lessen diminish
  add_root("chondri|on", "granule");
  add_root("dynam|o", "force"); //power force
  add_root("vitr|e", "glass");
  add_root("viv|o", "alive");
  //add_root("par|o", "offspring");
  add_root("tom|e", "cut");
  add_root("ecto", "outof"); //ecto outof
  add_suffix("ectomy", "cutout"); //ecto outof
  add_root("endo", "inside");
  add_root("plasm", "molding"); // molded
  add_root("etio", "cause"); 
  add_root("humor", "fluid"); 
  add_root("phys|io", "nature"); 
  add_root("anteri|or", "earlier"); 

  add_root("cortex", "treebark"); 
  add_root("cortic|o", "treebark"); 


  add_root("toxic", "poison"); 
  add_root("carb|o", "coal"); 
   add_root("histo|s", "tissue"); 

  add_root("dipl", "double");
  add_root("hapl", "half"); 

  add_root("osteo", "bone"); 
    add_root("menisc|us", "crescent"); 
    add_root("phanalg|es", "finger"); // finger 



  //add_root("cre", "grow"); 
  add_root("valve", "door"); 

 add_root("fluor|o", "glow");
  add_root("opi|um","poppy");
  add_root("op|s", "face");
  add_root("cat|a", "builddown"); //downward
  add_root("ana", "buildup"); //upward //buildup
  add_root("gam|y", "coupling"); // wife coupling bonding  

  add_root("ion|o", "ion");

  add_root("pto|sis", "autumn");

  add_root("carcin|o", "cancer");
  add_suffix("tumor", "oma");

  add_suffix("phor|e", "bringer"); // bearer
  add_suffix("oid|o", "ish"); // like, ish
  add_suffix("itis", "swelling");
  add_suffix("gen", "maker");
  add_suffix("ium", "stuff");
  add_suffix("um", "stuff");
  add_suffix("ic", "type"); // kind type
  add_suffix("tic", "type"); // kind type
  add_suffix("log|y", "reckoning"); // words knowledge info fact reckoning
  add_suffix("nom|y", "laws");
  add_suffix("metr|y", "measurement"); 
    add_suffix("meter", "measurer"); 



  add_suffix("arch|y", "leadership"); // ruler leadership
  add_suffix("path|y", "sickness"); // wrongness, strangeness
  add_suffix("ist", "master"); // user, doer, practicer, craftsman, master, specialist
  add_suffix("graph|y", "writing"); 
  add_suffix("esce", "become"); 
  add_suffix("nce", "attribute"); //happening, quality, property 
  add_suffix("sis", "condition"); // status condition 
  add_suffix("tics", "field"); //  
  add_suffix("ine", "quality"); //  
   add_suffix("plasty", "reshaping"); // 

      add_root("fibr|il", "thread");
      add_root("embol|o", "plug");
    add_root("onco", "tumor");

  add_root("angi|o", "channel"); //bloodvessel ensconce channel
  add_root("lumen", "tunnel"); //tunnel light way lightway
  add_root("cub|e", "box");
  add_root("epi", "upon");
  add_root("theli|um", "nipple");
  add_root("macro", "giant");
  add_root("super", "above");
  add_root("fici|o", "surface");
  add_root("skelet|on", "skeleton");
  add_root("ecdys|o", "shed");
  add_root("botan|y", "herb");
       add_root("ur|o", "urine");
     add_root("urethr|a", "urine");

   add_root("vascul|o", "tube");
  add_root("femor", "thigh");
  add_root("micro", "small");
  add_root("dia", "apart"); // apart through
    add_root("bat|os", "pass");
  add_root("cholecyst|o", "gallbladder");
add_root("lapar|o", "softpeel");
add_root("cannul|a", "reed");
add_root("thora|c", "chest");
add_root("thromb|um", "bloodclot");
add_root("scler|a", "stiff");  
  add_root("ather|o", "porridge");  
  add_root("ster|os", "unyielding"); // double meaning: barren or stiff
    add_root("chole|ra", "bile");  
  add_root("necr|o", "death"); //deathly 
  add_root("prote|o", "protein"); 
  add_root("lip|id", "grease"); 


  add_root("sur", "over");
   add_root("zo|an", "beast");
    add_root("eu", "good");
    add_root("aort|a", "suspension");
  add_root("atri|o", "chamber");
  add_root("amyl|o", "starch");
  add_root("uter|us", "womb");
  add_root("umbil|i", "navel");
  add_root("ubiqu|o", "everywhere");
  add_root("azimuth", "overhead");
  add_root("oo", "egg");
   add_suffix("zenith", "overhead"); 
  add_suffix("cyte", "cell"); 
  add_suffix("on", "unit"); // particle unit 
  add_suffix("is", "process"); 
  // add_suffix("at", "person"); 
  add_suffix("ia", "environment");  // field system situation condition environment
  add_suffix("ical", "type"); // having trait
  add_suffix("ous", ""); // category quality 
  //add_suffix("in", "protein"); 

    add_suffix("ol", "alchohol"); //alchohol, ol

      add_root("ad", "near");

    add_root("bacteri|um", "smallrod");

  add_suffix("tome", "slice");
  add_suffix("tomy", "slice");
  add_suffix("ase", "cutter"); // enzyme suffix: cutter, snipper 
  add_suffix("ose", "sugar"); // sugar suffix
  add_suffix("al", "kind"); // type kind nature
  //add_suffix("y", "area"); 
  add_suffix("ity", "quality"); 
  add_suffix("itis", "swelling");
    add_suffix("osis", "condition"); // sickness, condition --- cf phagocytosis
  add_suffix("tosis", "condition");
  //add_suffix("ate", "matter"); // dxh
  add_suffix("ate", "things");
  add_suffix("ism", "happening"); 
  add_suffix("ary", "form"); 


    add_root("trop|e", "turntowards");

  add_root("myco", "mushroom");
    add_root("arter|y", "pipe");
     add_root("arteri|o", "pipe");
       add_root("ren|es", "kidney");  add_root("nephr|o", "kidney");
       add_root("sten|os", "narrowing");

     add_root("glyco", "sweet");

   add_suffix("aero", "air");
   add_suffix("viron", "circle");
   add_suffix("erg|y", "work");
    add_suffix("ia", "ness"); //
  add_suffix("ize", "outcome"); // making outcome (synthesize is 'maker making')
  add_suffix("ise", "outcome");
   add_suffix("tion", "process");
     add_suffix("tion", "process");
  add_suffix("s", "");
  add_suffix("scope", "seer");
  add_suffix("scop|y", "seeing");

Author: Dylan Holmes

Created: 2016-07-29 Fri 20:17

Emacs 24.5.1 (Org mode 8.3beta)

Validate