diff --git a/scripts/build_associates.py b/scripts/build_associates.py index ff1c291..7e8ec87 100644 --- a/scripts/build_associates.py +++ b/scripts/build_associates.py @@ -244,6 +244,53 @@ def process_associates( return {"names": names, "persons": persons, "victim_names": victim_names} +def extract_name_lists(registry: list[dict]) -> tuple[set[str], set[str]]: + """Extract unique first and last names from the persons registry. + + Includes nickname expansions. Returns (first_names, last_names) as + lowercase sets, filtered to alpha-only strings of length >= 2. + """ + firsts: set[str] = set() + lasts: set[str] = set() + + for person in registry: + name = person["name"] + parts = name.strip().split() + if len(parts) < 2: + continue + first = parts[0].lower() + last = parts[-1].lower() + + if first.isalpha() and len(first) >= 2: + firsts.add(first) + # Add nicknames + if first in NICKNAMES: + for nick in NICKNAMES[first]: + if nick.isalpha() and len(nick) >= 2: + firsts.add(nick) + + if last.isalpha() and len(last) >= 2: + lasts.add(last) + + # Also process aliases + for alias in person.get("aliases", []): + alias_parts = alias.strip().split() + if len(alias_parts) < 2: + continue + af = alias_parts[0].lower() + al = alias_parts[-1].lower() + if af.isalpha() and len(af) >= 2: + firsts.add(af) + if af in NICKNAMES: + for nick in NICKNAMES[af]: + if nick.isalpha() and len(nick) >= 2: + firsts.add(nick) + if al.isalpha() and len(al) >= 2: + lasts.add(al) + + return firsts, lasts + + def download_data(data_dir: Path) -> tuple[list, list]: """Download the rhowardstone data files if not already present. @@ -291,6 +338,15 @@ def main(): OUTPUT_PATH.write_text(json.dumps(result, separators=(",", ":"))) print(f"Wrote {OUTPUT_PATH}") + # Write focused name lists + firsts, lasts = extract_name_lists(registry) + first_path = OUTPUT_PATH.parent / "associate_first_names.txt" + last_path = OUTPUT_PATH.parent / "associate_last_names.txt" + first_path.write_text("\n".join(sorted(firsts)) + "\n") + last_path.write_text("\n".join(sorted(lasts)) + "\n") + print(f"Wrote {len(firsts)} first names to {first_path}") + print(f"Wrote {len(lasts)} last names to {last_path}") + if __name__ == "__main__": main() diff --git a/unredact/data/associate_first_names.txt b/unredact/data/associate_first_names.txt new file mode 100644 index 0000000..e6de047 --- /dev/null +++ b/unredact/data/associate_first_names.txt @@ -0,0 +1,768 @@ +abbe +accuser +ace +act +activities +ad +adam +adnan +adriana +adriel +aerin +aga +ahmed +al +alan +alastair +albert +alberto +alec +alejandra +alena +alesia +alex +alexander +alexandra +alexandria +alexia +alfred +alfredo +alice +alicia +aline +alison +alistar +alix +allen +amanda +amelia +amir +amy +ana +andre +andrea +andres +andrew +andré +andrés +andy +anil +anita +ann +anna +annabelle +annie +anonymous +anouk +anthony +antoine +antonio +arda +ari +ariane +ariel +arline +arnold +arpad +arthur +ashley +attorney +audrey +austin +autumn +avram +aw +bandar +barack +barbara +barbra +barbro +barnaby +baron +baroness +barron +barry +basillia +beef +bella +ben +benham +benjamin +bennett +bernard +bernie +beth +bill +billy +blaine +bob +bobbi +bobby +borge +boris +brad +bradley +bran +brendan +brent +brett +brian +brice +brock +brooke +bruce +bryan +burt +byron +børge +cameron +camille +caren +carl +carla +carlos +carluz +carly +carmen +carol +caroline +carolyn +carrie +case +casey +cassandra +cate +catherine +cathy +cecile +cecilia +celina +ceolilia +charisma +charles +charlie +chauntae +chelsea +cheri +chief +chori +chris +christian +christie +christina +christine +christof +christopher +chuck +cindy +clare +clarence +claudia +claudius +cledus +cmc +cocoa +colleen +connie +conrad +corina +cosima +cosmo +countess +court +courtney +craig +cresencia +cristalle +crown +cuthbert +cy +cynthia +cyrus +czi +dalai +dame +damian +dan +dana +daniel +danny +daphne +darren +darrin +dashawn +dave +david +day +dean +deb +debbie +debonnaire +deborah +debra +deepak +defense +delphine +demi +denis +denise +dennis +detective +diana +diane +dick +didier +diedri +dimitar +djamel +doj +domenico +don +donald +donatella +donna +donny +dorothy +dot +dottie +dotty +doug +douglas +dougle +drew +duchess +duke +dupson +dustin +earl +ed +eddie +edgar +edmund +edouard +eduardo +edward +efrain +ehud +eileen +eleanor +electronics +eli +elie +eliezer +elisa +elissa +elizabeth +elle +ellen +elon +emad +emma +emmy +eric +erika +escort +eva +evelyn +evening +ewan +executive +fabriame +facilities +faith +felicia +fidel +flavio +fleur +forensic +forest +forrest +francis +francisco +francois +frank +fred +frederic +french +freya +frédéric +garrett +gary +gavin +gensler +geoffrey +geor +george +gerald +gerard +gerardus +gerry +ghislaine +ghulam +gianni +ginger +ginny +giovanni +girl +giuseppe +glen +glenn +global +graydon +greg +gregory +griffin +gusneme +guy +gwendolyn +haddon +hakeem +haley +hans +hardeep +harry +harvey +hasnat +hassanal +heather +helena +henry +heriberto +hilian +holly +howard +hugh +hyatt +hyperion +ian +iggy +ignacio +igor +ilan +inca +inmate +ira +isabel +itzhak +ivan +ivana +ivanka +jack +jackie +jacob +jacqui +james +jamie +jan +jane +janice +jantelle +janusz +jared +jason +jay +jb +jd +jean +jeanne +jeannie +jeff +jeffery +jeffrey +jege +jen +jenkins +jennie +jennifer +jenny +jenson +jeremy +jerry +jes +jess +jessica +jibby +jim +jimmy +jo +joan +joanna +joe +joel +joey +johanna +john +joi +joichi +jon +jonathan +jools +jordana +joscha +jose +joseph +josh +joshua +josé +juan +judge +judy +julian +julie +juliette +juror +justice +justin +kamala +kandace +karen +karin +karv +karyna +katarina +kate +katherina +katherine +kathryn +kathy +katie +katielynn +katrina +kaytlyn +keith +kelly +kellyanne +ken +kenneth +kenny +kevin +kimbal +kimberly +king +kip +kit +kristy +kyle +lady +lamine +lana +lanna +lara +larry +laura +lauren +laurie +lawrence +leah +lee +lenny +leo +leon +leonard +leonardo +leonic +leopold +les +lesley +leslie +lester +leticia +lieut +lieutenant +lilly +linda +lisa +liz +lizzy +lloyd +local +lord +loretta +lorinda +lou +luciano +lynn +maggie +magistrate +mandy +manny +manuela +marc +marco +margaret +maria +mariana +marie +mark +martha +marti +martin +marvin +mary +maryon +masha +matt +matthew +maura +maurene +maurine +mbpv +medical +meg +megan +mehmet +melania +melanie +melinda +melissa +merwin +mglindallns +michael +michelle +mick +mike +mikey +miles +minnie +minor +mira +miroslav +misha +mitchell +mohamed +mohammed +moira +mona +morning +mort +mortimer +morton +mrs +murray +mylene +myron +nacho +nadia +nancy +naomi +nat +natalia +natalie +natalya +nathan +nathaniel +neil +nelson +neri +nicholas +nick +nicola +nicolas +nicole +nili +nina +noam +noel +nolan +norman +odis +olga +oliver +olivier +onel +operations +ops +orly +orville +oscar +pamela +passenger +pat +patient +patricia +patrick +patsy +patty +paul +paula +peggy +penny +pepe +perry +pete +peter +phil +philip +philippe +phillipe +pia +pierre +pimp +plourde +potential +preet +president +prince +princess +professor +pusha +ralph +ramon +ramona +rande +randy +ray +raymond +rebecca +rec +regina +reid +reyna +rfk +rhonda +ric +ricardo +riccardo +rich +richard +rick +rina +rinaldo +rob +robert +roberta +robin +ron +ronald +rosa +rosemary +rosie +roy +rupert +rusan +ruslana +ruth +salvatore +sam +sammy +samuel +sandra +sandy +sanford +sarah +savell +scott +scotty +sean +secret +sergei +sergey +seth +sgt +shannon +sharon +shaun +shawn +shayna +sheldon +shelley +shelly +sheridan +sherrie +shirley +shu +si +sigrid +simon +simona +sir +sis +solomon +sonya +sophie +stacey +stanley +stavros +stephanie +stephen +steve +steven +strauss +stuart +suann +sublimehottie +sultan +sumner +supervisors +susan +tancredi +tatiana +tazia +teala +ted +teddy +tenzin +teresa +terje +theodore +theresa +thierry +thomas +thorbjorn +thorbjørn +tiffany +tim +timmy +timothy +tina +todd +tom +tommy +tony +tori +tova +tovah +town +tracy +trevor +tucker +ugly +una +vahe +valdson +valentino +vanessa +vera +vi +vic +vick +vicky +victor +victoria +virginia +viscount +vitaly +vittorio +vivienne +vladimir +vor +wafic +wallace +walter +warden +warren +wayne +wendi +wendy +wilbur +will +william +willy +woody +yana +yehura +zach +zina +zipora +zubair +zurab diff --git a/unredact/data/associate_last_names.txt b/unredact/data/associate_last_names.txt new file mode 100644 index 0000000..8f0d947 --- /dev/null +++ b/unredact/data/associate_last_names.txt @@ -0,0 +1,1145 @@ +acosta +adams +adelson +agnelli +agnifilo +aidala +alaggia +alessi +alexander +allen +allx +alt +altbach +althorp +amaladas +ambani +ambrose +amerling +amparo +anderson +andrea +andresen +andrew +andriano +andriesz +andrzejewski +anthony +anton +arango +araoz +arden +ariely +arm +arnault +aronoff +arougheti +ash +assaf +assed +assistant +astor +attia +attorney +axel +ayers +aznar +aznaran +bach +back +baden +bahamas +balazs +baldwin +banasiak +band +bank +bannon +barak +bard +barden +barou +barr +barrack +barrett +barrow +bartiromo +bass +bauer +beard +beaucaire +beaudouin +beck +bedminister +bedoya +beghal +belholovick +beller +belohlavek +belyakov +benatar +benedetto +benhamou +bennett +berger +berggruen +berke +berkman +berman +bernard +berry +beskardes +bettelheim +bezos +bharara +biddle +biden +biggen +biggs +birkholder +birley +biros +bishop +bismarck +bjorlin +black +blackman +blaine +blair +blaise +blanchard +blanche +blanchett +blankfein +bloomberg +bock +boehly +boies +bolivaras +bolkiah +bon +bondi +bostick +botella +botstein +bourgeois +bowie +boyden +bradbury +bradshaw +branson +brant +braylovskiy +breanon +brende +briatore +brin +brinkley +briones +broad +brochin +brockman +broida +brooks +brother +broukis +brown +brubaker +brune +brunel +bruni +brunson +bryan +bryant +bucher +buchwald +buffett +bulow +burkle +burney +burns +bush +busson +cabranes +calacanis +camaros +cambell +campbell +candy +captain +caputo +carlson +carroll +carter +carvajal +casdorph +casey +cassell +castor +castro +catsimatidis +catterton +cavett +cayne +cazaudumec +chacon +charge +chaslin +cherry +cheung +chomsky +chopra +christakis +christe +christensen +church +churkin +cipriani +clayton +cleese +clifford +clinton +clooney +cohen +colacello +colhoun +collins +colon +comey +companion +company +cong +conrad +contrin +conway +cook +coordinator +copperfield +correra +cosby +cotrin +counsel +counter +couric +cozen +cranborne +crape +crawford +cronkite +crossharbour +cruz +csakany +cunningham +cuomo +cutaia +dahl +dalce +dalton +damasio +daniels +danielson +daugerdas +david +davies +davis +dawkins +delevingne +dell +dellal +demarco +deng +denham +denish +dennett +derby +dershowitz +desantis +desori +despont +devonvoisin +deweidy +diaz +dicaprio +dickey +dickinson +dietz +diller +dimon +dios +dix +dixon +dodd +doerrig +does +dog +dolce +domenico +donahue +donissaint +donovan +doumanian +dowd +doyle +driver +drokova +duban +dubin +dubinin +duffy +dunne +durbin +eakin +eaves +ecclestone +echols +edelstein +edge +edmondson +edward +edwards +efrain +egolf +ehnbom +ehrsam +elbaum +elizabeth +elizee +elkus +ellison +elrod +engelmayer +english +epsilon +epstein +erdoes +estrada +eva +evangelista +evans +everdell +examiner +expert +fanjul +farkas +farley +farmer +faust +feinberg +fekkai +feldman +ferguson +fernich +ferren +field +fiennes +fierson +fifer +figueras +figueroa +filip +finglas +fisch +fischl +fisher +fitzpatrick +flack +flatley +flight +flinkelman +fontanella +fontanilla +ford +foreman +forester +forstmann +fowler +foxx +francis +freeman +frick +fry +fuller +furman +furstenberg +gabriel +gaffney +gagosian +gair +galtier +gany +garavani +garcia +gardner +gasparino +gates +gathy +geffen +gehry +gelb +gelernter +genovese +george +gerber +gershman +getty +gibbs +gibson +gilchrist +gillers +girl +giuffre +glassman +gleeson +glenn +goertzel +goldberg +goldberger +goldsmith +goldston +gordon +gore +gow +goyer +graafeiland +gramanov +gramza +greco +greece +green +greenberg +greenspan +griffin +griffith +grineva +grippi +groening +groff +gross +grosvenor +grubman +gruenberg +guerin +guggenheim +gunzburg +gustafson +guynes +gyatso +hadid +haidt +halada +hall +hamblin +hameroff +hammer +hammond +handler +hanna +hanson +harris +harrison +hart +hawking +hazell +healey +healy +heller +helm +helu +henry +herman +hernandez +hervey +hesse +heuvel +hicks +hill +hillis +hilton +hobson +hoch +hodge +hoffman +hoiby +holder +holding +holland +hollander +holman +hooft +horner +horowitz +host +howard +hughes +hurley +hurwitz +husband +hyle +høiby +iali +icahn +ii +iii +inc +indyke +ingle +ipanema +ito +iv +iveagh +jackson +jagger +jagland +jaiglif +jaiglé +james +jane +janklow +jarecki +jean +jeffrey +jeffries +jenny +jo +johanaoff +johnson +johnstone +jones +jongh +jordan +josephson +joslin +juice +julié +junkermann +juul +kahn +kalin +kamen +kaplan +kaptchuk +karan +karp +kastrin +kates +katzmann +keita +kellen +keller +kellerhals +kennedy +kent +kermode +kerney +kerry +kervey +kessler +khan +khashoggi +killary +kim +kirby +kissinger +klein +kleman +knuckles +koch +kofman +konigsberg +koo +koons +koppel +korshunova +kosslyn +kotick +kotkin +kotzig +kovylina +kracen +krape +krassner +krauss +kravis +kravitz +krischer +krove +kurylenko +kushner +kydd +lajcak +lajčák +lal +laliberte +laliberté +lama +lambro +lamine +lamster +landon +lang +langley +larsen +lateef +laudan +laude +lauder +lauren +lavalee +lavrov +layborne +leach +ledefus +lee +lefcourt +lefkowitz +legoretta +leonov +leopold +lerner +lester +leval +leventhal +levy +lewis +licata +lieutenant +lifshitz +ligne +lindeman +linderman +lipper +listerman +livingston +lloyd +loftus +long +lopez +lourie +love +lowell +loy +lt +luntz +luster +lutnick +lynch +lynn +ma +macarthur +macdonald +macpherson +madelson +madoff +madrigal +magaziner +malekian +maloof +malyshov +mandelson +mandy +mann +manners +mano +mantooth +mapp +marchiolo +marcinko +marcinkova +marie +marino +markus +marra +marrero +marsh +martin +martinez +mason +massaro +matevousian +mathis +mauro +maxwell +mayer +mazzella +mazzucchelli +mcc +mccarthy +mccawley +mcdonald +mcgoldrick +mcgregor +mckinnon +mcmahon +mcmillen +mcsorley +mctavern +meade +mebane +meister +meistor +melissa +mellon +menchel +menendez +menninger +mermelstein +mezvinsky +michelle +midelfart +mikeladze +miller +minkoff +minsky +mitchell +mitrovich +mnuchin +moe +molinsky +molotkova +molova +molyneux +monaco +monckton +moon +moonves +moore +morris +morrison +morrisson +moskowitz +mottola +mucinska +mueller +mugabe +mugnier +mugrabi +mullen +murdoch +murray +musk +myarold +myhrbold +myhrvold +nader +nair +nardello +nathan +neal +nedwick +negroponte +neilson +netman +new +newhouse +newton +nikolic +niro +nodgyne +noel +nogueras +norman +novich +nowak +nowell +nuara +nygard +obama +obrist +oestericher +officer +oh +okula +olmert +olson +omer +one +oosterbaan +ormond +ovitz +owens +oxman +oz +pacano +pagano +page +pagliuca +pagliucca +painter +palheo +papapetru +paris +parker +parkyns +parse +parsons +pascal +pashcow +pasithay +pastrana +pauley +paulson +pavlos +pavoncelli +payette +pecorino +pedgeon +pen +pence +penza +perelman +perenchio +perlman +perry +perrylang +personnel +peters +peterson +petreike +petrucci +phelan +pickholz +pierce +pierressaint +pigozzi +pinault +pinker +pinto +pistro +pittman +pivar +plant +plaskett +plepler +plourde +pluorde +podesta +podgurski +pollack +pomerantz +poole +pop +potter +pottinger +pottruck +pozhidaeva +preska +previn +priel +pritzker +psychologist +puri +purl +putin +qc +rael +raimbault +ramo +randall +ransome +rapoport +rasheed +raskin +rathgeb +ratner +reaud +recarey +redaction +reddage +redding +redefie +redeker +redfearn +redgate +redlinger +redstone +reif +reiter +remnick +renta +resnick +reyes +reynolds +riabenkova +ribis +richard +richardson +ridgway +riordan +ritchie +rivers +rizzo +roberts +robertson +robles +robson +rocchio +rockefeller +rockyn +rodafe +roddy +roderfer +rodgers +rodriguez +rodriquez +rohrbach +romero +romney +rooney +rosa +rose +rosenberg +rosh +rosovsky +ross +rossmiller +rotert +roth +rothman +rothschild +rothstein +rowan +roxburgh +roxbury +rubenstein +rubin +rubinstein +rubio +rudd +rueber +ruemmler +rutherford +rutland +rutledge +sacco +sachs +sacks +saffian +safra +said +saipher +salazar +salisbury +salman +salnick +samson +sanchez +sansbeez +sasselov +saud +saunders +sawyer +saylor +scaramucci +scarola +schantz +schanz +schiff +schiffer +schmidt +schnabel +schoeman +schoen +schoettle +schumi +schwartz +schwarzman +scully +seckel +serby +serrano +seymour +shanks +shantz +shapiro +shay +shechtman +sheehan +shephard +sherer +shiechtman +shouetle +shuliak +siad +siegal +siegel +sills +simanova +simmonds +simmons +simon +sims +sinofsky +sjoberg +skinner +slick +slim +sloman +smith +sorokina +soros +sosa +southgate +spacey +spamm +spector +spencer +spielberg +spinella +spodek +spouse +springsteen +staff +staley +stapp +starr +starves +steen +stein +steinberg +steiner +steinhardt +stepanian +stephanopoulos +stern +sternheim +sterntheim +stevens +stewart +stiller +stoddard +stoetter +stone +stopeck +strauss +streisand +stroll +stunt +styron +sulayem +sullivan +sultan +summers +sussman +swalwell +sweden +sweet +taaki +tagoya +tang +tarnita +tartaglione +taubman +tayler +taylor +teal +technician +tegreene +tein +tellez +teodorani +thiel +thirsk +thomas +thompson +thornburg +thorne +thurman +tindall +ting +tisch +titre +todt +tooby +toporek +torie +townsend +toylo +tramo +trivers +trizaskoma +trujillo +trump +trzaskoma +tucker +tuckerman +turner +tuttle +tweed +umekubo +valdez +valenzuela +vance +vazquez +vega +verenia +verglas +versace +vicars +vickers +victim +vilar +villacis +villafana +villanueva +villapania +villaraigosa +villarreal +visoski +vongerichten +vrablic +värmland +wagner +walker +wallace +wallert +walters +waltrip +wang +ward +wasche +wasserman +watts +webber +weber +weill +weinberg +weingarten +weinstein +wesley +westminster +wexner +whippet +white +wiebracht +wiesel +wilczek +wild +williams +willis +wills +wilson +wintour +wissing +witnesses +witt +wojcicki +wolfe +wolff +woods +worrell +wright +wyler +wynn +yackee +yarovesky +yeager +york +zagat +zaitshik +zelnick +zelnickova +zicherman +zinoviev +zuckerberg +zuckerman +zuma