Repository: UAlbertaALTLab/morphodict (language: python)

Issue:
Combine search survey results into sample.csv



Discussion / hints:

Fix patch:
diff --git a/CreeDictionary/search_quality/combine_samples.py b/CreeDictionary/search_quality/combine_samples.py
new file mode 100755
index 000000000..2f5ffda45
--- /dev/null
+++ b/CreeDictionary/search_quality/combine_samples.py
@@ -0,0 +1,148 @@
+#!/usr/bin/env python3
+
+"""
+Combine samples in survey_results directory into one
+
+The algorithm is:
+
+ 1. For each word list:
+     1. For each query term, assign 1/n points to the n’th result.
+         For example, if the list has "foo: bar, baz, qux", then "bar" gets 1
+         point, "baz" gets 1/2 point, and "qux" gets 1/3 point as results for
+         "foo"
+ 2. For each query term:
+      1. Add up all the points for all the results across all lists
+      2. Sort by highest points first
+"""
+import csv
+from argparse import ArgumentParser, BooleanOptionalAction
+from collections import defaultdict
+from io import StringIO
+from pathlib import Path
+
+
+def iter_results(input_file):
+    """Yield dicts for rows from a CSV file, whether it has a header or not
+
+    The reason we don’t just add a header to every .csv file and use DictReader
+    is that these .csv files may have arbitrarily many columns.
+    """
+    reader = csv.reader(input_file)
+
+    have_header = None
+    column_count = None
+    have_notes = False
+
+    seen_queries = set()
+
+    first_row = True
+    for row_index, row in enumerate(reader):
+        print("got row", row)
+        if first_row:
+            first_row = False
+
+            have_header = row[0].lower().strip() == "query"
+            if have_header:
+                column_count = len(row)
+            if have_header and row[-1].lower().strip() == "notes":
+                if row[-2].strip():
+                    raise Exception("Must have blank column before notes column")
+                have_notes = True
+
+            if have_header:
+                # Don’t yield first line
+                continue
+
+        if have_header:
+            if len(row) > column_count:
+                raise Exception(f"More entries in row {row} than header values")
+
+        query_term = row[0].strip()
+        # max_col may be None here, but that’s ok, because `row[1:None]` is
+        # the Python way of saying `row[1:]` when the blank in the middle
+        # of `:]` is actually a variable in `row[1:max_col]` below.
+        max_col = column_count
+        if have_notes:
+            if row[column_count - 2].strip():
+                raise Exception("Must have blank column before notes column")
+            max_col = column_count - 2
+
+        values = row[1:max_col]
+        while not values[-1].strip():
+            values = values[:-1]
+
+        if query_term in seen_queries:
+            raise Exception(f"Duplicate query term {query_term}")
+        seen_queries.add(query_term)
+
+        yield {"Query": query_term, "Values": values}
+
+
+def combine_results(result_lists):
+    points = defaultdict(int)
+    for results in result_lists:
+        for i, result in enumerate(results):
+            points[result] += 1 / (i + 1)
+
+    def by_points_then_length_then_alphabetical(result):
+        """
+        First, sort by most points. Break ties using the heuristic, “shorter
+        words are easier and most likely what people want to see first,” then
+        fall back to alphabetical.
+        """
+        return (-points[result], len(result), result)
+
+    print("points are", points)
+
+    return sorted(points.keys(), key=by_points_then_length_then_alphabetical)
+
+
+def main():
+    script_dir = Path(__file__).parent
+
+    parser = ArgumentParser(
+        description="""
+        Use ranked voting to combine files in survey_sample/*.csv into
+        sample.csv.
+        """
+    )
+    parser.add_argument("--write", action=BooleanOptionalAction, default="yes")
+    parser.add_argument("--output-file", default=script_dir / "sample.csv")
+    args = parser.parse_args()
+
+    survey_files = (Path(__file__).parent / "survey_results").glob("*.csv")
+
+    queries = defaultdict(list)
+
+    for filename in survey_files:
+        with open(filename, "rt", newline="") as f:
+            for row in iter_results(f):
+                values = row["Values"]
+                query = row["Query"]
+                queries[query].append(values)
+
+    output_text = StringIO(newline="")
+
+    class LfDialect(csv.excel):
+        "Avoid git warning, “CRLF will be replaced by LF”"
+        lineterminator = "\n"
+
+    csv_out = csv.writer(output_text, dialect=LfDialect)
+    csv_out.writerow(["Query", "Nêhiyawêwin 1", "Nêhiyawêwin 2", "Nêhiyawêwin 3"])
+
+    for query, results in queries.items():
+        print(f"{query=}")
+        print(f"{results=}")
+        combined = combine_results(results)
+        print(combined)
+        csv_out.writerow([query] + combined[:3])
+
+    if args.write:
+        Path(args.output_file).write_text(output_text.getvalue())
+        print(f"Wrote to {args.output_file}")
+    else:
+        print(output_text.getvalue())
+
+
+if __name__ == "__main__":
+    main()
diff --git a/CreeDictionary/search_quality/sample.csv b/CreeDictionary/search_quality/sample.csv
index a3612c0c4..acab3218a 100644
--- a/CreeDictionary/search_quality/sample.csv
+++ b/CreeDictionary/search_quality/sample.csv
@@ -1,394 +1,549 @@
-Query,Nêhiyawêwin 1,Nêhiyawêwin 2,Nêhiyawêwin 3,,Notes
-see,wâpamêw,wâpiw,wâpahtam,,"Ignore ""\[see"""
-sees,wâpamêw,wâpiw,wâpahtam,,
-eat,mîcisow,mîciw,mowêw,,
-fire,iskotêw,,,,
-happy birthday,miyo-tipiska,,,,
-thank you,ay-hay,hay-hay,kinanâskomitin,,
-welcome,tatawâw,,,,
-'horse',misatim,mistatim,,,
-"""horse""",misatim,mistatim,,,
-beaverberry,amiskomin,amiskominak,,,
-beaverberries,amiskominak,amiskomin,,,
-beaver-berry,amiskomin,amiskominak,,,
-beaver-berries,amiskominak,amiskomin,,,
-beaver berry,amiskomin,amiskominak,,,
-beaver berries,amiskominak,amiskomin,,,
-berries,mînisa,mînis,,,
-berry,mînis,mînisa,,,
-berri,mînis,mînisa,,,
-stove pipe,okohtaskwahikan,,,,
-stove-pipe,okohtaskwahikan,,,,
-stovepipe,okohtaskwahikan,,,,
-northern lights,wâwâhtêwa,kâ-nîmihitocik,cîpayak kâ-nîmihitocik,,
-in the area,cîkâhtaw,,,,
-bread,pahkwêsikan,,,,
-yellow hat,osâwastotin,,,,
-sleep,nipâw,,,,
-nîminâniwan,nîminâniwan,nîmiw,,,
-I love you,kisâkihitin,,,,
-usual,mâna,,,,
-no,namoya,,,,
-this,ôma,awa,ôhi,,
-that,anima,,,,
-good morning,miyo-kîkisêpâyâw,,,,
-me,niya,,,,
-good bye,ekosi mâka ,,,,
-goodbye,ekosi mâka ,,,,
-work together,mâmawi-isîhcikêwin,,,,
-working together,mâmawi-isîhcikêwin,,,,
-work togeth,mâmawi-isîhcikêwin,,,,
-Cree,nêhiyaw,nêhiyawêwin,,,
-Edmonton,amiskwaciy-wâskahikan,,,,
-edmonton,amiskwaciy-wâskahikan,,,,
-hill,waciy,ispatinaw,,,
-beaver hill,natimîwiyiniwak,amiskwacîwiyiniwak,,,
-beaver hills,natimîwiyiniwak,amiskwacîwiyiniwak,,,
-Calgary,otôskwanihk,,,,
-calgary,otôskwanihk,,,,
-car,sêhkêpayîs,,,,
-water,nipiy,,,,
-telling a story,âcimêw,âcimow,,,
-on water,nipîhk,,,,"aspirational search, as result is based on inflections, not a direct definition entry"
-hello,tânisi,,,,
-difficult thing,âyiman,,,,
-many snakes,kinêpikoskâw,,,,
-there are many snakes,kinêpikoskâw,,,,
-dances,nîmiw,nîmihitow,,,
-dancing time,nîminâniwan,nîmiw,,,
-go to bed,mâci-nipa,,,,
-Merry Christmas,miyo-manitowi-kîsikânisik,,,,
-merry christmas,miyo-manitowi-kîsikânisik,,,,
-i see you,kiwâpamitin,,,,
-he sees him,wâpamêw,,,,
-she sees him,wâpamêw,,,,
-starblanket,atâhkakohp,acâhkosa kâ-otakohpit,,,
-star blanket,atâhkakohp,acâhkosa kâ-otakohpit,,,
-being taught,kiskinwahamâkosiw,,,,
-they see us,niwâpamikonânak,kiwâpamikonawak,,,
-gym,mêtawêwikamik,,,,This item and below are from NS152
-lake,sâkahikan,,,,
-juice,sîwâpoy,,,,
-hospital,âhkosîwikamik,,,,
-sock,asikan,,,,
-pail,askihk,,,,
-potato,askipwâwi,,,,
-dog,atim,nitêm,,,very irregular inflections
-doll,awâsisihkân,,,,
-tobacco,ciscêmâs,cistêmâw,,,
-fork,cîscahikanis,,,,
-girl,iskwêsis,,,,
-woman,iskwêw,,,,
-fish,kinosêw,,,,
-bacon,kohkôsiwiyin,,,,
-corn,mahtâmin,,,,
-pencil,masinahikanâhtik,,,,
-slate,masinahikanâpisk,,,,
-pen,masinahikanâpiskos,,,,
-tea,maskihkîwâpoy,tiy,nihtiy,,
-bear,maskwa,mistah-âya,kaskitêwi-maskwa,,
-glass,minihkwâcikan,minihkwêwiyâkanis,,,
-cup,minihkwâcikanis,,,,
-cat,minôs,,,,
-pants,mitâs,,,,
-feather,mêkwan,,,,
-road,mêskanaw,,,,
-soup,mîcimâpoy,,,,
-bead,mîkis,,,,
-knife,môhkomân,,,,
-little knife,môhkomânis,,,,
-moose,môswa,,,,
-toboggan,napakâhtik,,,,
-frying pan,napwên,,,,
-goose,niska,,,,
-boy,nâpêsis,,,,
-man,nâpêw,,,,
-Cree person,nêhiyaw,,,,
-tomato,okiniy,,,,
-little carrot,oskâcâskos,,,,
-carrot,oskâtâsk,,,,
-nut,pakân,,,,
-pepper,papêskomina,,,,
-apple,picikwâs,,,,
-ball,pâkâhtowân,,,,
-sun,pîsim,,,,
-skunk,sikâk,,,,
-sugar,sîwinikan,,,,
-salt,sîwîhtâkan,,,,
-money,sôniyâw,,,,
-butter,tohtôsâpoy,,,,
-milk,tohtôsâpoy,,,,
-fur,wayân,,,,
-dish,wiyâkan,,,,
-banana,wâkâs,,,,
-rabbit,wâpos,,,,
-egg,wâwi,,,,
-little spoon,êmihkwânis,,,,
-brings it,pêtawêw,pêtâw,,,
-store,atâwêwikamik,,,,
-pig,kohkôs,,,,
-shoe,maskisin,,,,
-horse,misatim,mistatim,,,
-cow,mostos,,,,
-restaurant,mîcisowikamik,,,,
-duck,sîsîp,,,,
-bank,sôniyâwikamik,,,,
-chair,têhtapiwin,,,,
-spoon,êmihkwân,,,,
-drinks,minihkwêw,,,,
-right,tâpwê,,,,
-puppy,acimosis,,,,
-land,askiy,,,,
-child,awâsis,,,,
-skin,masakay,,,,
-fingernail,maskasiy,,,,
-hand,micihciy,,,,
-finger,micihcîs,,,,
-nipple,micohcôsimis,,,,
-face,mihkwâkan,,,,
-ear,mihtawakay,,,,
-nose,mikot,,,,
-little foot,misicis,,,,
-foot,misit,,,,
-leg,miskât,,,,
-eye,miskîsik,,,,
-arm,mispiton,,,,
-head,mistikwân,,,,
-breast,mitohtôsim,,,,
-mouth,mitôn,,,,
-body,miyaw,,,,
-tooth,mîpit,,,,
-hair,mêscakâsa,,,,
-my foot,nisit,,,,
-my head,nistikwân,,,,
-who,awîna,,,,
-oh,ka,,,,
-again,kîhtwâm,,,,
-what,kîkwây,,,,
-but,mâka,,,,
-when,tânispî,tânispîhk,,,
-how,tânisi,,,,
-where,tânitê,,,,
-why,tânêhki,,,,
-far away,wâhyaw,,,,
-soon,wîpac,,,,
-so,êkosi,,,,
-and,êkwa,mîna,,,
-son,nikosis,,,,
-aunt,nikâwîs,nisikos,nitôsis,,
-mother's sister,nikâwîs,nitôsis,,,
-mother,nikâwiy,,,,
-grandfather,nimosôm,,,,
-husband,ninâpêm,,,,
-parents,ninêkihikwak,,,,
-younger sibling,nisîmis,,,,
-daughter,nitânis,,,,
-friend,nitôtêm,,,,
-father,nôhtâwiy,,,,
-sibling,nîtisân,nimis,nistês,,
-brother,nistês,nîtisân,nisîmis,,
-older brother,nistês,,,,
-sister,nimis,nîtisân,nisîmis,,
-older sister,nimis,,,,
-grandmother,nôhkom,,,,
-town,ôcênâsis,ôcênâs,,,
-bannock,pahkwêsikan,,,,
-duckling,sîsîpisis,,,,
-raisin,sôminis,,,,
-city,ôtênaw,,,,
-works,atoskêw,,,,
-named,isiyihkâsow,isiyihkâcikâtêw,,,
-names,isiyihkâsowina,isiyihkâsow,isiyihkâcikâtêw,,
-goes,itohtêw,,,,
-says,itwêw,,,,
-knows,kiskêyihtam,kiskêyimêw,nisitawêyimêw,,
-wants it,nitawêyihtam,,,,
-wants him,nitawêyimêw,,,,
-wants her,nitawêyimêw,,,,
-wants them,nitawêyimêw,,,,
-talks,pîkiskwâtêw,,,,
-sees it,wâpahtam,wâpamêw,,,
-sees him,wâpamêw,,,,
-sees her,wâpamêw,,,,
-see it,wâpahtam,wâpamêw,,,
-see him,wâpamêw,,,,
-see her,wâpamêw,,,,
-lives at,wîkiw,,,,
-a little,apisîs,,,,
-listen,mâ,,,,
-miracle,mâmaskâc,,,,
-a while,pitamâ,,,,
-gee,wahwâ,,,,
-gosh,wâcistakâc,,,,
-although,âta,,,,
-very true,tâpwe pikwâni,,,,
-piglet,kohkôsis,,,,
-tipi,mîkiwâhp,,,,
-Cree language,nêhiyawêwin,,,,
-queen,okimâskwêw,,,,
-house,wâskahikan,,,,
-Frenchman,wêmistikôsiw,,,,
-home,wîkiwin,,,,
-English language,âkayâsîmowin,,,,
-hitch,âniskamân,,,,
-diaper,âsiyân,,,,
-feels,itamahcihow,,,,
-learns,kiskinwahamâkosiw,,,,
-feels good,miyomahcihow,,,,
-understands,nisitohtam,nisitohtawêw,,,
-listens,nitohtam,,,,
-speaks Cree,nêhiyawêw,,,,
-tired,nêstosiw,,,,
-hungry,nôhtêhkatêw,,,,
-sleepy,nôhtêhkwasiw,,,,
-very,mistahi,,,,
-hat,astotin,,,,
-shorts,atâmicâsis,kîskicâsis,,,
-scarf,kîsowahpison,,,,
-book,masinahikan,,,,
-kitten,minôsis,,,,
-pony,miscacimosis,,,,
-jacket,miskotâkay,,,,
-river,sîpiy,,,,
-bowl,wiyâkanis,,,,
-dawn,pêtâpan,wâpan,,,
-wheel,wâsakâpayîs,,,,
-small,apisâsin,apisîsisiw,,,
-green,askihtakosiw,askihtakwan,,,
-short,cimisisiw,cimâsin,,,
-high,ispâw,,,,
-fast,kakwêyâhow,,,,
-clean,kanâtan,kanâtisiw,,,
-black,kaskitêsiw,kaskitêwâw,,,
-beautiful,katawasisin,katawasisiw,,,
-tall,kinosiw,kinwâw,,,
-strong,maskawisîw,maskihkîwimâkwan,,,
-red,mihkosiw,mihkwâw,,,
-big,misikitiw,misâw,,,
-nice,miyosiw,,,,
-good,miywâsin,,,,
-ugly,mâyâtan,mâyâtisiw,,,
-orange,osâwisiw,osâwâw,osâwâs,,
-grey,pihkonâkosiw,pihkonâkwan,,,
-broken,pîkopayin,pîkopayiw,,,
-blue,sîpihkosiw,sîpihkwâw,,,
-wine red,watôkimihkosiw,watôkimihkwâw,,,
-likes the taste,wîhkistêw,wîhkistam,,,
-dirty,wiyipâtan,wiyipâtisiw,,,
-pink,wâpikwanîwinâkosiw,wâpikwanîwinâkwan,,,
-white,wâpiskisiw,wâpiskâw,,,
-yellow,wâposâwisiw,wâposâwâw,,,
-delicious,wîhkasin,wîhkitisiw,,,
-purple,wîpi-sîpihkosiw,wîpi-sîpihkwâw,,,
-brown,wîposâwâw,wîpôsâwisiw,,,
-slow,yikicikâwîmakan,yîkicikâwîw,,,
-go away,awas,awasitik,,,
-just kidding,cwâ,,,,
-wait,cêskwa,,,,
-near,cîki,,,,
-that's okay,kiyâm,,,,
-ok,kiyâm,,,,
-always,kâkikê,,,,
-don't,kâya,,,,
-let's,mahti,,,,
-right now,mêkwâc,sêmâk,,,
-here,na,,,,
-because,osâm,,,,
-already,âsay,,,,
-come here,âstam,âstamitik,,,
-okay now,âw,,,,
-never mind,ekosi kîyâm,,,,
-look over there,itâpi nêtê,,,,
-well,êkosi mâka,,,,
-that's it for now,êkosi pita,,,,
-coffee,pihkahcêwâpôs,pihkahtêwâpoy,,,
-meat,wiyâs,,,,
-sit down,apiw,,,,
-has,ayâw,ayâwêw,,,
-looks,itâpiw,kitâpahtam,kitâpamêw,,
-cooks,kîsisam,kîsiswêw,piminawasow,,
-likes,miywêyihtam,,,,
-eats,mowêw,mîciw,,,
-bakes,nawacîw,,,,
-hits,pakamaham,pakamahwêw,,,
-gets up,pasikôw,,,,
-smiles,pâhpisiw,,,,
-hears,pêhtawêw,,,,
-gives a ride,pôsihêw,,,,
-rides,pôsiw,,,,
-blows on,pôtâtam,pôtâtêw,,,
-leaves,sipwêhtêw,nakasiwêw,nakatam,,
-touches,sâminam,sâminêw,,,
-sits on,têhtapiw,,,,
-gets up from bed,waniskâw,,,,
-moves,waskawîw,,,,
-goes outside,wayawîw,,,,
-since,aspin,,,,
-almost,kêkâc,,,,
-and a half,mîna âpihtâw,,,,
-from,ohci,,,,
-before,pâmwayês,,,,
-half,âpihtaw,,,,
-number,akihtâson,,,,
-minute,cipahikanis,,,,
-stove,kotawânâpisk,,,,
-clock,pîsimohkân,,,,
-hour,tipahikan,,,,
-counts,akihcikêw,akihtam,akimêw,,
-morning,kîkisêpâyâw,,,,
-day,kîsikâw,,,,
-evening,otâkosin,,,,
-waits,pêhow,,,,
-night,tipiskâw,,,,
-noon,âpihtâ-kîsikâw,,,,
-midnight,âpihtâ-tipiskâw,,,,
-amount,itahto,,,,
-only,katisk,piko,,,
-dollar,nêwopêhikan,,,,
-penny,pîwâpiskos,,,,
-safety pin,sakâskwahon,,,,
-it is Sunday,ayamihâwi-kîsikâw,,,,
-weather is,isiwêpan,,,,
-years old,itahtopiponêw,,,,
-costs,itakihtêw,itakisow,,,
-Saturday,nikotwâsiko-kîsikâw,,,,
-Wednesday,nisto-kîsikâw,,,,
-Friday,niyânano-kîsikâw,,,,
-Thursday,nêwo-kîsikâw,,,,
-Tuesday,nîso-kîsikâw,,,,
-wins,otahowêw,,,,
-Monday,pôn-âyamihêwi-kîsikâw,,,,
-earns,sôniyâhkêw,,,,
-earns money,sôniyâhkêw,,,,
-clear sky,wâsêskwan,,,,
-little star,acâhkos,,,,
-beaver,amisk,,,,
-paddle,apoy,,,,
-stone,asiniy,,,,
-star,acâhkos,atâhk,,,
-frog,ayîkis,,,,
-snow,kôna,,,,
-tree,mistik,mîtos,,,
-wood,mihta,,,,
-pipe,ospwâkan,,,,
-welfare worker,otasahkêw,,,,
-policeman,simâkan,simâkanis,,,
-muskrat,wacask,,,,
-elk,wâwâskêsiw,,,,
-tries,kocihtâw,kocihêw,kocîw,,
-gets,nâtam,nâtêw,,,
-brings,pêsiwêw,pêtâw,,,
-person,ayisiyiniw,,,,
-beer,iskwêsisâpoy,iskwêsisihkânâpoy,,,
-prays,ayamihâw,,,,
-runs,pimipahtâw,,,,
-calls,têpwêw,,,,
-speaks English,âkayâsîmow,,,,
-snake,kinêpik,,,,
-bird,piyêsîs,,,,
-puts down,ahêw,astâw,,,
-takes,itohtahêw,itohtatâw,,,
-picks up over distance,naskwênam,naskwênêw,,,
-picks up,otinam,otinêw,,,
-breaks,pîkonam,pîkonêw,,,
-carries,tahkonam,tahkonêw,,,
+Query,Nêhiyawêwin 1,Nêhiyawêwin 2,Nêhiyawêwin 3
+about,wayês,ohci,papâ
+all,kahkiyaw,kapê,mâwaci
+also,mîna,êkwa,kisik
+and,êkwa,mîna,kisik
+as,kisik,wiya,tâpiskôt
+at,itê,ihk,ispî
+back,asê,kâwi,otâhk
+be,ispayin,ayâw,ayâ
+because,osâm,wiya,ayis
+big,misi,misikitiw,kihci
+but,mâka
+by,kisiwâk,ohci,takowâc
+can,ka-kî,ta-kî,kita-kî
+child,awâsis,awâsimis,awâsisîwiw
+come,pê,pê-takosin,otihtam
+continue,â,kêyâpik,pisisik
+day,kîsikâw,awasi-wâpahki,awasi-otâkosîhk
+do,ihtiw,tôtam,tôt
+find,miskawêw,miskam,miskamâso
+first,nîkân,nistam,êkwayâc
+for,ohci,wiya,ayisk
+from,ohci,ô,nakatam
+get,nâci,ohtinêw,ohtisow
+give,miyêw,mêkiw,mêki
+go,itohtêw,itohtê,natawi
+have,ayâw,ayâ,piko
+he,wiya,wîsta
+her,wiya,wîsta
+here,ôta,na,ôtê
+him,wiya,wîsta
+his,wiya,wîsta
+hold,itinam,tahkoham,miciminikê
+how,tânisi,tâni,tânisi êkwa
+I,niya,nîsta,niya wiya
+if,kîspin,kîsâspin
+in,pîhci,ihk,atâmihk
+it,wiya,kîkway,awa
+its,wiya
+just,sôskwât,sôskwâc,mosci
+know,kiskêyihtam,kiskêyimêw,kiskêyim
+large,mahki,misi,mihcâskwan
+life,pimâtisiwin,pimâtisiwiniwi,pimâtisîtot
+like,tâpiskôc,tâpiskôt,sâkihtam
+little,apisci,apisîsisi,nisihk
+look,î,itâpiw,kitâpamêw
+make,osîhêw,kaskih,osîhtâw
+man,nâpêw,iyiniw,nâpêm
+many,mihcêt,mistahi,mihcêtiwak
+may,ka-kî,kita-kî,pakitinam
+me,niya,nîsta
+more,ayiwâk,kêyâpit,kêyâpic
+my,niya,nîya,nîsta
+new,oski
+no,namôya,môy,namoya
+not,namôya,nama,namwâc
+now,anohc,mêkwâc,sêmâk
+occur,ihkin,ispayiw,ocihcipayin
+old,kêhtê,kayâsi,kêhtê-ayiwi
+one,pêyak,aya,pêyako
+only,nayêstaw,piko,pêyak
+or,ahpô,kêmâ
+other,kotak,kotaka,kotakiya
+our,niyanân,kiyânaw,nîstanân
+people,ayisiyiniw,iyinîm,tiyinîm
+say,itwêw,ay-ît,itêw
+see,wâpamêw,wâpiw,wâpahtam
+she,wiya,wîsta
+short,cimâsin,cimisisiw,cacimâsin
+small,apisîsi,apisi,apisci
+so,êkosi,wâ,isi
+some,âtiht,kîkway,ayiwâkipayin
+take,otinam,maskamêw,manaho
+tall,kinosiw,kinwâskosi,kinosi
+tell,wîhtam,âcimo,wîhtamawêw
+than,ispic,ayiwâk,iyikohk
+that,anima,wiya,ana
+their,wiyawâw,wîstawâw,awiyakak
+them,wiyawâw,wîstawâw,awiyakak
+then,êkospî,ispî,êkospîhk
+there,itê,ita,êkota
+these,ôhi,ôki
+they,wiyawâw,wîstawâw,awiyakak
+thing,kîkway,kîkwâs,ayi
+think,itêyihtam,mâmitonêyihcikê,mâmitonêyihtam
+this,awa,ôma,êwako
+those,êwakoni,anihi,nêha
+time,êkospîhk,êkospî,nici
+to,isi,pâmwayês,pâmayas
+two,nîso,nîsi,nîsiwak
+up,ispimihk,kîhcêkosîwi,kwâskwê
+use,âpacihêw,âpacihtâ,âpatan
+very,mitoni,mistahi,mêtoni
+want,nôhtê,wîto,nitawêyimêw
+we,niyanân,kiyânaw,niyanaân
+well,miyo,wâ,êkosi mâka
+what,kîkwây,kîkwâya,âh
+when,tânispîhk,tânispî,ispî
+which,tâna,kîko,kîkw-âya
+who,awîna,awêna,awîniki
+will,ka,kita,wî
+with,asici,kiki,ohci
+woman,iskwêw,iskwêm,iskwêwiw
+work,atoskêw,atoskêwin,tôtam
+world,askiy
+would,kâh,tâh
+year,pipon,askîwin,tânitahtopiponêw
+you,kiya,kiyawâw,kîsta
+young,oski,osk-âyiwi
+your,kîstawâw,kiya,kiyawâw
+accept,ohtinam,miy-ôtinêw,miyo-otinikêw
+accomplish,pihkohtâw,kîsihcikâtêw,kaskihtamâsow
+appear,nôkosiw,nôkwan
+ash,pihko
+award,kîspinamâkosiw
+become,ispayin
+bird,piyêsîs
+bitter,wîsakisiw,wîsakan,âhkwâkamiw
+black,kaskitêwi,kaskitêsiw,kaskitêwâw
+bone,miskan
+breast,tohtôs,mitohtôsim
+bring,pêsiwêw,pêtâw
+buy,atâmêw,atâwêw
+catch,nawatinam,kâhcitinam,nawatinêw
+cause,tôcikêw
+choose,otinam,nawasônam,otinêw
+comprehend,nisitohtam
+confess,âcimow,misimisow,âcimisostâkêw
+consider,mâmitonêyihtam
+could,ka-kî,mâni mâka,kita-kî
+create,osîhcikêw
+discover,mîskwaham,mîskwahwêw
+dog,atim,nitêm
+explain,kwayaskomêw,kîhkâyâpamohêw,kwayaskomiwêw
+eye,miskîsik
+fall,pahkisin,pîhcipayiw
+fire,iskotêw,iskotêwan
+fly,pimihâw,pihkos,ôcêw
+glance,itâpipayihow,kitiskatahwêw
+grant,tahko-miyêw,ohcîstamâsow
+hair,mêscakâsa,mêstakaya,pîway
+hand,micihciy
+handle,itaham,pêtâwatâw,paminêw
+happen,ispayin
+hard,sôhki,maskawi,maskawâw
+house,wâskahikan,mîki
+inform,môskinêw,misimisow
+judge,itasiwâtêw,wiyasiwâtam,itasiwâtam
+lead,nîkânîw,pimâwahêw
+leg,miskât
+long,kino,kinosiw
+mouth,mitôn
+name,wîhyowin,isiyihkâtêw,isiyihkâtam
+navel,mitisiy
+night,tipiskâw,tipisk
+nose,mikot,miskiwan
+notice,pisiskâpamêw,pisiskâpahtam
+out,wayawî,ohci,kwayako
+prefer,iyâyaw,ayiwâkêyimêw,kâkatâc
+prepare,osîhêw,osîhtâw,wawêyîw
+read,ayamihcikêw,ayamihtâw
+red,mihkosiw,mihko,mihkwâw
+remain,kisâtam,iskopayihcikan,kisâtêw
+remember,kiskisiw
+require,manêsiw,natawêyihtâkwan,natawêyihtâkosiw
+reveal,kîhkâyâpamohiwêw,wîhtamawêw
+root,ocêpihk
+rope,pîminahkwân,pîsâkanâpiy
+run,pimipahtâw
+salt,sîwîhtâkan
+shadow,cikâstêsimowin
+smoke,kaskâpahtêw
+steal,kimotiw,kimohtiw
+suggest,kakêskihkêmow,kakêskimêw,sîhkimêw
+sweet,wîhki,sîwâw,sîwisiw
+tail,misoy
+thick,kispakisiw,kispakâw
+burn,pikihtêw
+hide,kâsôw
+tooth,mîpit
+uncover,môskinam,pâskipayiw,pâskinam
+understand,nisitohtam
+water,nipiy
+way,isi,tôtamowin,mêskanaw
+wind,yôtin
+wish,nôhtê,akawâtêw,pitanê
+work out,sêsâwi,pihkohtâw,kaskihtamâsow
+into,pîhtokwêmon
+answer,naskomêw,naskwêwasimêw
+move,âhcihêw,âhcipayiw
+gym,mêtawêwikamik
+lake,sâkahikan
+juice,sîwâpoy
+hospital,âhkosîwikamik
+sock,asikan
+pail,askihk
+potato,askipwâwi
+doll,awâsisihkân
+tobacco,ciscêmâs,cistêmâw
+fork,cîscahikanis
+girl,iskwêsis
+fish,kinosêw
+bacon,kohkôsiwiyin
+corn,mahtâmin
+pencil,masinahikanâhtik
+slate,masinahikanâpisk
+pen,masinahikanâpiskos
+tea,maskihkîwâpoy,tiy,nihtiy
+bear,maskwa,mistah-âya,kaskitêwi-maskwa
+glass,minihkwâcikan,minihkwêwiyâkanis
+cup,minihkwâcikanis
+cat,minôs
+pants,mitâs
+feather,mêkwan
+road,mêskanaw
+soup,mîcimâpoy
+bead,mîkis
+knife,môhkomân
+little knife,môhkomânis
+moose,môswa
+toboggan,napakâhtik
+frying pan,napwên
+goose,niska
+boy,nâpêsis
+Cree person,nêhiyaw
+tomato,okiniy
+little carrot,oskâcâskos
+carrot,oskâtâsk
+nut,pakân
+pepper,papêskomina
+apple,picikwâs
+ball,pâkâhtowân
+sun,pîsim
+skunk,sikâk
+sugar,sîwinikan
+money,sôniyâw
+butter,tohtôsâpoy
+milk,tohtôsâpoy
+fur,wayân
+dish,wiyâkan
+banana,wâkâs
+rabbit,wâpos
+egg,wâwi
+little spoon,êmihkwânis
+brings it,pêtawêw,pêtâw
+store,atâwêwikamik
+pig,kohkôs
+shoe,maskisin
+horse,misatim,mistatim
+cow,mostos
+restaurant,mîcisowikamik
+duck,sîsîp
+bank,sôniyâwikamik
+chair,têhtapiwin
+spoon,êmihkwân
+drinks,minihkwêw
+right,tâpwê
+puppy,acimosis
+land,askiy
+skin,masakay
+fingernail,maskasiy
+finger,micihcîs
+nipple,micohcôsimis
+face,mihkwâkan
+ear,mihtawakay
+little foot,misicis
+foot,misit
+arm,mispiton
+head,mistikwân
+body,miyaw
+my foot,nisit
+my head,nistikwân
+oh,ka
+again,kîhtwâm
+where,tânitê
+why,tânêhki
+far away,wâhyaw
+soon,wîpac
+son,nikosis
+aunt,nikâwîs,nisikos,nitôsis
+mother's sister,nikâwîs,nitôsis
+mother,nikâwiy
+grandfather,nimosôm
+husband,ninâpêm
+parents,ninêkihikwak
+younger sibling,nisîmis
+daughter,nitânis
+friend,nitôtêm
+father,nôhtâwiy
+sibling,nîtisân,nimis,nistês
+brother,nistês,nîtisân,nisîmis
+older brother,nistês
+sister,nimis,nîtisân,nisîmis
+older sister,nimis
+grandmother,nôhkom
+town,ôcênâsis,ôcênâs
+bannock,pahkwêsikan
+duckling,sîsîpisis
+raisin,sôminis
+city,ôtênaw
+works,atoskêw
+named,isiyihkâsow,isiyihkâcikâtêw
+names,isiyihkâsowina,isiyihkâsow,isiyihkâcikâtêw
+goes,itohtêw
+says,itwêw
+knows,kiskêyihtam,kiskêyimêw,nisitawêyimêw
+wants it,nitawêyihtam
+wants him,nitawêyimêw
+wants her,nitawêyimêw
+wants them,nitawêyimêw
+talks,pîkiskwâtêw
+sees it,wâpahtam,wâpamêw
+sees him,wâpamêw
+sees her,wâpamêw
+see it,wâpahtam,wâpamêw
+see him,wâpamêw
+see her,wâpamêw
+lives at,wîkiw
+a little,apisîs
+listen,mâ
+miracle,mâmaskâc
+a while,pitamâ
+gee,wahwâ
+gosh,wâcistakâc
+although,âta
+very true,tâpwe pikwâni
+piglet,kohkôsis
+tipi,mîkiwâhp
+Cree language,nêhiyawêwin
+queen,okimâskwêw
+Frenchman,wêmistikôsiw
+home,wîkiwin
+English language,âkayâsîmowin
+hitch,âniskamân
+diaper,âsiyân
+feels,itamahcihow
+learns,kiskinwahamâkosiw
+feels good,miyomahcihow
+understands,nisitohtam,nisitohtawêw
+listens,nitohtam
+speaks Cree,nêhiyawêw
+tired,nêstosiw
+hungry,nôhtêhkatêw
+sleepy,nôhtêhkwasiw
+hat,astotin
+shorts,atâmicâsis,kîskicâsis
+scarf,kîsowahpison
+book,masinahikan
+kitten,minôsis
+pony,miscacimosis
+jacket,miskotâkay
+river,sîpiy
+bowl,wiyâkanis
+dawn,pêtâpan,wâpan
+wheel,wâsakâpayîs
+green,askihtakosiw,askihtakwan
+high,ispâw
+fast,kakwêyâhow
+clean,kanâtan,kanâtisiw
+beautiful,katawasisin,katawasisiw
+strong,maskawisîw,maskihkîwimâkwan
+nice,miyosiw
+good,miywâsin
+ugly,mâyâtan,mâyâtisiw
+orange,osâwisiw,osâwâw,osâwâs
+grey,pihkonâkosiw,pihkonâkwan
+broken,pîkopayin,pîkopayiw
+blue,sîpihkosiw,sîpihkwâw
+wine red,watôkimihkosiw,watôkimihkwâw
+likes the taste,wîhkistêw,wîhkistam
+dirty,wiyipâtan,wiyipâtisiw
+pink,wâpikwanîwinâkosiw,wâpikwanîwinâkwan
+white,wâpiskisiw,wâpiskâw
+yellow,wâposâwisiw,wâposâwâw
+delicious,wîhkasin,wîhkitisiw
+purple,wîpi-sîpihkosiw,wîpi-sîpihkwâw
+brown,wîposâwâw,wîpôsâwisiw
+slow,yikicikâwîmakan,yîkicikâwîw
+go away,awas,awasitik
+just kidding,cwâ
+wait,cêskwa
+near,cîki
+that's okay,kiyâm
+ok,kiyâm
+always,kâkikê
+don't,kâya
+let's,mahti
+right now,mêkwâc,sêmâk
+already,âsay
+come here,âstam,âstamitik
+okay now,âw
+never mind,ekosi kîyâm
+look over there,itâpi nêtê
+that's it for now,êkosi pita
+coffee,pihkahcêwâpôs,pihkahtêwâpoy
+meat,wiyâs
+sit down,apiw
+has,ayâw,ayâwêw
+looks,itâpiw,kitâpahtam,kitâpamêw
+cooks,kîsisam,kîsiswêw,piminawasow
+likes,miywêyihtam
+eats,mowêw,mîciw
+bakes,nawacîw
+hits,pakamaham,pakamahwêw
+gets up,pasikôw
+smiles,pâhpisiw
+hears,pêhtawêw
+gives a ride,pôsihêw
+rides,pôsiw
+blows on,pôtâtam,pôtâtêw
+leaves,sipwêhtêw,nakasiwêw,nakatam
+touches,sâminam,sâminêw
+sits on,têhtapiw
+gets up from bed,waniskâw
+moves,waskawîw
+goes outside,wayawîw
+since,aspin
+almost,kêkâc
+and a half,mîna âpihtâw
+before,pâmwayês
+half,âpihtaw
+number,akihtâson
+minute,cipahikanis
+stove,kotawânâpisk
+clock,pîsimohkân
+hour,tipahikan
+counts,akihcikêw,akihtam,akimêw
+morning,kîkisêpâyâw
+evening,otâkosin
+waits,pêhow
+noon,âpihtâ-kîsikâw
+midnight,âpihtâ-tipiskâw
+amount,itahto
+dollar,nêwopêhikan
+penny,pîwâpiskos
+safety pin,sakâskwahon
+it is Sunday,ayamihâwi-kîsikâw
+weather is,isiwêpan
+years old,itahtopiponêw
+costs,itakihtêw,itakisow
+Saturday,nikotwâsiko-kîsikâw
+Wednesday,nisto-kîsikâw
+Friday,niyânano-kîsikâw
+Thursday,nêwo-kîsikâw
+Tuesday,nîso-kîsikâw
+wins,otahowêw
+Monday,pôn-âyamihêwi-kîsikâw
+earns,sôniyâhkêw
+earns money,sôniyâhkêw
+clear sky,wâsêskwan
+little star,acâhkos
+beaver,amisk
+paddle,apoy
+stone,asiniy
+star,acâhkos,atâhk
+frog,ayîkis
+snow,kôna
+tree,mistik,mîtos
+wood,mihta
+pipe,ospwâkan
+welfare worker,otasahkêw
+policeman,simâkan,simâkanis
+muskrat,wacask
+elk,wâwâskêsiw
+tries,kocihtâw,kocihêw,kocîw
+gets,nâtam,nâtêw
+brings,pêsiwêw,pêtâw
+person,ayisiyiniw
+beer,iskwêsisâpoy,iskwêsisihkânâpoy
+prays,ayamihâw
+runs,pimipahtâw
+calls,têpwêw
+speaks English,âkayâsîmow
+snake,kinêpik
+puts down,ahêw,astâw
+takes,itohtahêw,itohtatâw
+picks up over distance,naskwênam,naskwênêw
+picks up,otinam,otinêw
+breaks,pîkonam,pîkonêw
+carries,tahkonam,tahkonêw
+the,awa,ôma,ana
+a,pêyak,âtiht
+an,pêyak,âtiht
+able,nihtâ,nahtâ,kaskihtâw
+permit,pakitinam,pakitinêw,pakitinikâtêw
+allow,pakitinam,pakitinêw,pakitinikâtêw
+walk,nitawi,itohtêw,pimohtêw
+own,ayâw,ayawêw,tipêyimêw
+possess,ayâw,ayawêw,tipêyimêw
+sees,wâpamêw,wâpiw,wâpahtam
+eat,mîcisow,mîciw,mowêw
+happy birthday,miyo-tipiska
+thank you,ay-hay,hay-hay,kinanâskomitin
+welcome,tatawâw
+'horse',misatim,mistatim
+"""horse""",misatim,mistatim
+beaverberry,amiskomin,amiskominak
+beaverberries,amiskominak,amiskomin
+beaver-berry,amiskomin,amiskominak
+beaver-berries,amiskominak,amiskomin
+beaver berry,amiskomin,amiskominak
+beaver berries,amiskominak,amiskomin
+berries,mînisa,mînis
+berry,mînis,mînisa
+berri,mînis,mînisa
+stove pipe,okohtaskwahikan
+stove-pipe,okohtaskwahikan
+stovepipe,okohtaskwahikan
+northern lights,wâwâhtêwa,kâ-nîmihitocik,cîpayak kâ-nîmihitocik
+in the area,cîkâhtaw
+bread,pahkwêsikan
+yellow hat,osâwastotin
+sleep,nipâw
+nîminâniwan,nîminâniwan,nîmiw
+I love you,kisâkihitin
+usual,mâna
+good morning,miyo-kîkisêpâyâw
+good bye,ekosi mâka 
+goodbye,ekosi mâka 
+work together,mâmawi-isîhcikêwin
+working together,mâmawi-isîhcikêwin
+work togeth,mâmawi-isîhcikêwin
+Cree,nêhiyaw,nêhiyawêwin
+Edmonton,amiskwaciy-wâskahikan
+edmonton,amiskwaciy-wâskahikan
+hill,waciy,ispatinaw
+beaver hill,natimîwiyiniwak,amiskwacîwiyiniwak
+beaver hills,natimîwiyiniwak,amiskwacîwiyiniwak
+Calgary,otôskwanihk
+calgary,otôskwanihk
+car,sêhkêpayîs
+telling a story,âcimêw,âcimow
+on water,nipîhk
+hello,tânisi
+difficult thing,âyiman
+many snakes,kinêpikoskâw
+there are many snakes,kinêpikoskâw
+dances,nîmiw,nîmihitow
+dancing time,nîminâniwan,nîmiw
+go to bed,mâci-nipa
+Merry Christmas,miyo-manitowi-kîsikânisik
+merry christmas,miyo-manitowi-kîsikânisik
+i see you,kiwâpamitin
+he sees him,wâpamêw
+she sees him,wâpamêw
+starblanket,atâhkakohp,acâhkosa kâ-otakohpit
+star blanket,atâhkakohp,acâhkosa kâ-otakohpit
+being taught,kiskinwahamâkosiw
+they see us,niwâpamikonânak,kiwâpamikonawak
diff --git a/CreeDictionary/search_quality/sample.py b/CreeDictionary/search_quality/sample.py
index 8210db316..6241332a7 100644
--- a/CreeDictionary/search_quality/sample.py
+++ b/CreeDictionary/search_quality/sample.py
@@ -1,4 +1,5 @@
 import csv
+
 from typing import TypedDict
 
 
diff --git a/CreeDictionary/search_quality/survey_results/Alyssa.csv b/CreeDictionary/search_quality/survey_results/Alyssa.csv
new file mode 100644
index 000000000..615fd1df4
--- /dev/null
+++ b/CreeDictionary/search_quality/survey_results/Alyssa.csv
@@ -0,0 +1,135 @@
+be,ispayin
+continue,â,kêyâpic,ay
+hold,itinam,itinêw,tahkoham
+remain,iskopayihcikan
+occur,ihkin,ocihcipayin,ispayiw
+can,ta-kî,ka-kî,kita-kî
+could,mâni mâka,namôya cî
+may,ka-kî,kita-kî
+will,ka,kita
+would,kâh
+come,otihtam,pê
+do,ihtiw
+find,miskawêw,miskam,miskâkêwin,miskamowin
+get,nâci,nâcikêw,nâtam
+give,mêkiw,miyêw,miyisow
+go,natawi,awas
+have,piko
+know,kiskêyihtam,kiskêyimêw,nisitawêyimêw
+look,itâpiw,kitâpamêw,îh,î
+make,osîhtâw,osîhêw,kaskihêw
+say,itwêw,itêw,ay-itêw
+see,wâpamêw,wâpiw,wâpahtam
+take,maskamêw,itohtahêw,otinam
+tell,wîhtam,wîhtamawêw,itâtotam
+think,itêyihtam,mâmitonêyihcikêw
+use,âpacihêw,âpatisiw,âpatan
+want,nitawêyimêw,manêsiw,nôhtê,wîto
+all,kahkiyaw,kiyânaw,nanâtohk
+first,nîkân,êkwayâc,nistam
+he,wiya
+her,wiya
+him,wiya
+his,wiya
+I,niya
+it,wiya
+its,wiya
+man,nâpêw
+many,mihcêt,mistahi,mihcêtiwak
+me,niya
+one,pêyak,aya,anima
+other,kotak,kotakiya
+our,niyanân
+she,wiya
+some,âtiht
+that,anima
+their,wiyawâw
+them,wiyawâw
+these,ôhi,ôki
+they,wiyawâw
+this,awa,êwako
+those,êwakoni,anihi,êkoni
+two,nîso,nîsiwak,nîsw-âya
+we,niyanân,kiyânaw
+what,kîkwây,kîkwâya
+which,kîkw-âya,kîko,tâna
+who,awîna,awêna,awîniwa,awînihi
+you,kiya,kiyawâw
+about,wayês,papâmi,akâwâc,wâ,wî
+also,mîna,kisik,êkwa
+and,mîna,kisik,êkwa
+as,tâpiskôt,wiya,kisik
+at,ispî,ita,itê
+back,otâhk,nâway,asê
+because,wiya,ayisk,ohci
+but,mâka
+by,kisiwâk,cîki
+for,wiya,ayis,ayisk
+from,ohci,nakatam
+here,ôta,ôtê
+how,tâni
+if,kîspin,kîsâspin
+in,pîhci,asiwatêw,asiwasow
+into,pîhtokwêmon
+just,sôskwâc,tâpiskôc,sôskwât
+like,tâpiskôc,tâpiskôt,mwêhci
+more,ayiwâk,kêyâpic,kîhtwâm,kêyâpit
+no,namôya,môy,êkâwiya,môya,êkâ
+not,nama,namwâc,namôya
+now,anohc,mêkwâc,sêmâk
+only,nayêstaw,pêyak
+or,ahpô
+out,wayawî
+so,wâ,isi,êyikohk
+than,ispic,ayiwâk ohci,âstamiyikohk
+then,ispî,êkospî,êkwa
+there,ita,itê,êkota
+to,isi
+up,ispimihk
+very,mitoni,mistahi,mêtoni
+well,wâ,miyo,miyopayin
+when,ispî,ispîhk,tânispî
+with,asici,wîci,kiki
+child,awâsis
+day,kîsikâw
+life,pimâtisiwin
+people,ayisiyiniw
+thing,kîkway,ayi
+way,tôtamowin
+woman,iskwêw
+work,atoskêw,atoskêwin
+world,askiy
+year,pipon
+accomplish,kîsihcikâtêw
+work out,sêsâwi
+answer,naskomêw,naskwêwasimêw
+move,âhcihêw,âhcipayiw
+lead,pimâwahêw
+bring,pêtâw,pêsiwêw
+catch,nawatinam,nawatinêw
+become,ispayin
+create,osîhcikêw
+cause,tôcikêw
+prepare,osîhêw,osîhtâw
+understand,nisitohtam
+remember,kiskisiw
+judge,itasiwâtêw,itasiwâtam
+consider,mâmitonêyihtam
+accept,miy-ôtinêw,ohtinam,miyo-otinikêw
+steal,kimotiw
+buy,atâmêw,atâwêw
+happen,ispayin
+appear,nôkosiw,nôkwan
+choose,otinam,otinêw
+prefer,ayiwâkêyimêw,ayiwâkêyihtam
+require,natawêyihtâkwan,natawêyihtâkosiw
+wish,nôhtê,pitanê,akâwâtêw,akâwâtam
+glance,kitiskatahwêw,itâpipayihow
+notice,pisiskâpamêw,pisiskâpahtam
+read,ayamihcikêw,ayamihtâw
+handle,itaham,paminêw
+discover,mîskwaham,mîskwahwêw
+uncover,pâskipayiw,pâskîw,pâskinam
+confess,misimisow,âcimisostâkêw
+explain,kwayaskomêw,kwayaskomiwêw
+inform,môskinêw,môskinêw
diff --git a/CreeDictionary/search_quality/survey_results/Andrew.csv b/CreeDictionary/search_quality/survey_results/Andrew.csv
new file mode 100644
index 000000000..708eff180
--- /dev/null
+++ b/CreeDictionary/search_quality/survey_results/Andrew.csv
@@ -0,0 +1,68 @@
+Query,Nêhiyawêwin 1,Nêhiyawêwin 2,Nêhiyawêwin 3,,Notes
+see,wâpamêw,wâpiw,wâpahtam,,"Ignore ""\[see"""
+sees,wâpamêw,wâpiw,wâpahtam,,
+eat,mîcisow,mîciw,mowêw,,
+fire,iskotêw,,,,
+happy birthday,miyo-tipiska,,,,
+thank you,ay-hay,hay-hay,kinanâskomitin,,
+welcome,tatawâw,,,,
+'horse',misatim,mistatim,,,
+"""horse""",misatim,mistatim,,,
+beaverberry,amiskomin,amiskominak,,,
+beaverberries,amiskominak,amiskomin,,,
+beaver-berry,amiskomin,amiskominak,,,
+beaver-berries,amiskominak,amiskomin,,,
+beaver berry,amiskomin,amiskominak,,,
+beaver berries,amiskominak,amiskomin,,,
+berries,mînisa,mînis,,,
+berry,mînis,mînisa,,,
+berri,mînis,mînisa,,,
+stove pipe,okohtaskwahikan,,,,
+stove-pipe,okohtaskwahikan,,,,
+stovepipe,okohtaskwahikan,,,,
+northern lights,wâwâhtêwa,kâ-nîmihitocik,cîpayak kâ-nîmihitocik,,
+in the area,cîkâhtaw,,,,
+bread,pahkwêsikan,,,,
+yellow hat,osâwastotin,,,,
+sleep,nipâw,,,,
+nîminâniwan,nîminâniwan,nîmiw,,,
+I love you,kisâkihitin,,,,
+usual,mâna,,,,
+no,namoya,,,,
+this,ôma,awa,ôhi,,
+that,anima,,,,
+good morning,miyo-kîkisêpâyâw,,,,
+me,niya,,,,
+good bye,ekosi mâka ,,,,
+goodbye,ekosi mâka ,,,,
+work together,mâmawi-isîhcikêwin,,,,
+working together,mâmawi-isîhcikêwin,,,,
+work togeth,mâmawi-isîhcikêwin,,,,
+Cree,nêhiyaw,nêhiyawêwin,,,
+Edmonton,amiskwaciy-wâskahikan,,,,
+edmonton,amiskwaciy-wâskahikan,,,,
+hill,waciy,ispatinaw,,,
+beaver hill,natimîwiyiniwak,amiskwacîwiyiniwak,,,
+beaver hills,natimîwiyiniwak,amiskwacîwiyiniwak,,,
+Calgary,otôskwanihk,,,,
+calgary,otôskwanihk,,,,
+car,sêhkêpayîs,,,,
+water,nipiy,,,,
+telling a story,âcimêw,âcimow,,,
+on water,nipîhk,,,,"aspirational search, as result is based on inflections, not a direct definition entry"
+hello,tânisi,,,,
+difficult thing,âyiman,,,,
+many snakes,kinêpikoskâw,,,,
+there are many snakes,kinêpikoskâw,,,,
+dances,nîmiw,nîmihitow,,,
+dancing time,nîminâniwan,nîmiw,,,
+go to bed,mâci-nipa,,,,
+Merry Christmas,miyo-manitowi-kîsikânisik,,,,
+merry christmas,miyo-manitowi-kîsikânisik,,,,
+i see you,kiwâpamitin,,,,
+he sees him,wâpamêw,,,,
+she sees him,wâpamêw,,,,
+starblanket,atâhkakohp,acâhkosa kâ-otakohpit,,,
+star blanket,atâhkakohp,acâhkosa kâ-otakohpit,,,
+being taught,kiskinwahamâkosiw,,,,
+they see us,niwâpamikonânak,kiwâpamikonawak,,,
diff --git a/CreeDictionary/search_quality/survey_results/Antti.csv b/CreeDictionary/search_quality/survey_results/Antti.csv
new file mode 100644
index 000000000..ff722c69c
--- /dev/null
+++ b/CreeDictionary/search_quality/survey_results/Antti.csv
@@ -0,0 +1,24 @@
+the,awa,ôma,ana,anima
+a,pêyak,âtiht
+an,pêyak,âtiht
+be,ayâw,ispayin,ihkin,ihtakon,ihtakow,ihtâw
+continue,kêyâpik,pisisik,tapitâwi
+can,nihtâ,nahtâ,kaskihtâw,kaskihow
+able,nihtâ,nahtâ,kaskihtâw,kaskihow
+may,pakitinam,pakitinêw,pakitinikâtêw
+permit,pakitinam,pakitinêw,pakitinikâtêw
+allow,pakitinam,pakitinêw,pakitinikâtêw
+will,wî,nôhte
+want,wî,nôhte
+come,pê,ohcîw,pê-itohtêw,ohtohtêw,pê-takosin,ohcipayin
+do,tôtam,itotam,ihtiw,atoskêw
+work,tôtam,itotam,ihtiw,atoskêw
+find,miskam,miskawêw
+get,ohtisow
+give,miyêw,mêkiw
+go,nitawi,itohtêw,pimohtêw
+walk,nitawi,itohtêw,pimohtêw
+have,ayâw,ayawêw,tipêyimêw,tipêyihtam
+own,ayâw,ayawêw,tipêyimêw,tipêyihtam
+possess,ayâw,ayawêw,tipêyimêw,tipêyihtam
+know,kiskêyihtam,kiskêyimêw,nisitawêyihtam
diff --git a/CreeDictionary/search_quality/survey_results/Daniel.csv b/CreeDictionary/search_quality/survey_results/Daniel.csv
new file mode 100644
index 000000000..5697d213b
--- /dev/null
+++ b/CreeDictionary/search_quality/survey_results/Daniel.csv
@@ -0,0 +1,179 @@
+about,ohci,wayês,êtokwê
+accept,ohtinam
+accomplish,pihkohtâw,kaskihtamâsow
+all,kahkiyaw,kapê,misakâmê,mâwaci,mâmawi,mâwasako,masasko,mâwacîs,misahkamik
+also,mîna,êkwa,pêskis
+and,êkwa,mîna,kisik
+appear,nôkosiw
+as,wiya,kisik
+ash,pihko
+at,itê
+award,kîspinamâkosiw
+back,kâwi,kîwê,asê,sâsakici,mâwikan
+be,ayâw,ispayin
+because,osâm,wiya,ayis,ayisk
+become,ispayin
+big,misi,kihci,mistahi
+bird,piyêsîs
+bitter,wîsakisiw,wîsakan,âhkwâkamiw
+black,kaskitêwi,kaskitêwâw
+bone,miskan
+breast,tohtôs
+bring,pêsiwêw
+but,mâka
+buy,atâmêw
+by,takowâc,kisiwâk,cîki
+can,ka-kî,kita-kî,ta-kî,nahtâ,nihtâ
+catch,kâhcitinam
+cause,tôcikêw
+child,awâsis,awâsisîwiw
+choose,nawasônam,otinam
+come,pê,pê-takosin,ohcîw,nôkosiw,wîcêwêw
+comprehend,nisitohtam
+confess,âcimow
+consider,mâmitonêyihtam
+continue,â,pisisik,ay,kiyomâ
+could,ka-kî,kita-kî,ta-kî
+create,osîhcikêw
+day,kîsikâw
+discover,mîskwaham
+do,itôtam,tôtam,tôtawêw,ihtiw,itôtawêw,tôcikêmakan
+dog,atim
+explain,kîhkâyâpamohêw
+eye,miskîsik
+fall,pahkisin,pîhcipayiw
+find,miskawêw,miskam,miskamawêw,miskâkêw,namêhêw
+fire,iskotêw,iskotêwan
+first,nîkân,nistam,nîstamik,oski,nistam,mâwacêyas
+fly,pimihâw,pihkos,ôcêw
+for,ohci,wiya
+from,ohci,ô
+get,ohtinêw,ohtinam,nâtam,nâtêw
+give,miyêw,mêkiw
+glance,itâpipayihow
+go,itohtêw,sipwêhtêw,pimipayiw,ispîhcipayiw,pimihtin
+grant,tahko-miyêw,ohcîstamâsow
+hair,mêstakaya,pîway
+hand,micihciy
+handle,pêtâwatâw,itaham
+happen,ispayin
+hard,sôhki,sôhki,maskawi,maskawâw
+have,ayâwêw,ayâw,tipêyihtam
+he,wiya,wîsta
+her,wiya,wîsta
+here,ôta,pêci,ômatowihk
+him,wiya,wîsta
+his,wiya,wîsta
+hold,tahkoham,itinam,itinêw,tahkonêw
+house,mîki,wâskahikan
+how,tânisi,tâni,omisi isi
+I,niya,nîsta,niya wiya
+if,kîspin,kîsâspin
+in,pîhci,atâmihk,pîhtokê
+inform,misimisow
+it,wiya,kîkway,awa
+its,wiya
+judge,wiyasiwâtam
+just,sôskwât,aspin,kêtisk,sôskwâ,mwêhci
+know,kiskêyihtam,kiskêyimêw
+lead,nîkânîw
+leg,miskât
+life,pimâtisiwin
+like,tâpiskôc,sâkihtam,kisâstaw,miywêyimêw,êkotowahk
+long,kino,kinosiw
+look,kitâpahtam,kitâpamêw,nitonawêw,itâpiw
+make,osîhêw,osîhcikêw
+man,nâpêw,iyiniw
+many,mihcêt,mistahi,mihcêtiwak,tânitahto
+may,ka-kî,kita-kî,ta-kî
+me,niya,nîsta
+more,ayiwâk,kêyâpit,iyikohk,kiyâpic,âhci
+mouth,mitôn
+my,niya,nîsta
+name,wîhyowin,isiyihkâtêw,isiyihkâtam
+navel,mitisiy
+night,tipisk,tipiskâw
+no,namôya,môy,êkâwiya
+nose,miskiwan
+not,namôya,mwâc,êkâwiya,êkâ
+notice,pisiskâpamêw,pisiskâpahtam
+now,anohc,mêkwâc,sêmâk,katisk
+occur,ispayiw,ihkin,ispayin,ocihcipayin
+old,kêhtê,kayâsi
+one,pêyak,aya,pêyako
+only,nayêstaw,pêyak,têpiyâhk
+or,ahpô
+other,kotak,kotakiyiw,kotaka
+our,niyanân,kiyânaw,nîstanân,kîstanaw
+out,wayawî,ohci,kwayako
+people,ayisiyiniw
+prefer,iyâyaw,kâkatâc
+prepare,osîhêw,wawêyîw
+read,ayamihcikêw
+red,mihko,mihkosiw,mihkwâw
+remain,kisâtam,kisâtêw,pa
+remember,kiskisiw
+require,manêsiw,natawêyihtâkosiw
+reveal,kîhkâyâpamohiwêw,wîhtamawêw
+root,ocêpihk
+rope,pîminahkwân,pîsâkanâpiy
+run,pimipahtâw
+salt,sîwîhtâkan
+say,itwêw,itam,itêw
+see,wâpamêw,wâpahtam,isinam,wâpiw
+shadow,cikâstêsimowin
+she,wiya,wîsta
+small,apisîsi,apisi,pîwi
+smoke,kaskâpahtêw
+so,iyikohk,isi,wâ,tâspwâw,mâcika
+some,âtiht,ayiwâkipayin,kîkwây
+steal,kimohtiw
+suggest,kakêskihkêmow,kakêskimêw,sîhkimêw,sîhkihkêmow
+sweet,wîhki,sîwâw,sîwisiw
+tail,misoy
+take,otinam,otinêw,maskamêw,itohtam,itohtahêw
+tell,wîhtam,wîhtamawêw,atotêw,âcimêw,itâtotam
+than,ayiwâk,ispic,êyikohk
+that,wiya,anima,ôma,kâ
+their,wiyawâw,wîstawâw,awiyakak,kîkwâya,kîkwâyak
+them,wiyawâw,wîstawâw,awiyakak,kîkwâya,kîkwâyak
+then,êkospî,ispî,ôma,ici
+there,itê,êkota,isi,ita
+these,ôhi
+they,wiyawâw,wîstawâw,awiyakak,kîkwâya,kîkwâyak
+thick,kispakisiw,kispakâw
+thing,kîkway,ayiwiw
+think,itêyihtam,mâmitonêyihtam,itêyimêw,mâmitonêyimêw,mâmitonêyihtam,pakahkam
+this,awa,ôma,wiya,êwako
+those,nêha,êwakoni,anihi,nêhi
+to,isi,pâmwayês
+burn,pikihtêw
+hide,kâsôw
+tooth,mîpit
+two,nîso,nîso,nîswâw,nîsinwa
+uncover,môskinam,môskinêw,pâskinêw,pâskinam
+understand,nisitohtam
+up,ispimihk,kîhcêkosîwi,kwâskwê
+use,âpacihêw,âpacihtâw,âpatan
+very,mitoni,ahpihc,mistahi,mêtoni
+want,nôhtê,wîto,nitawêyihtam,nôhtêpayihow,natawêyimêw,nitawêyimêw
+water,nipiy
+way,isi,mêskanaw
+we,niyanân,kiyânaw,nîstanân,kîstanaw
+well,miyo,nihtâ,êkosi,nahi,aya
+what,kîkwây,kîkwâya,kîkwâyak,tânitowahk,hâ,âh,tânisi
+when,tânispîhk,ispî,ispîhk,ôma
+which,tâna,tâniki,tânima,tânihi,kâ,kîkw-âya,tâni,kêko
+who,awîna,awîniki,awêna,awêyiwa,kâ
+will,kita
+wind,yôtin
+wish,akawâtêw,akawâtam,nôhtê
+with,asici,ohci,kiki,tako
+woman,iskwêw,iskwêwiw
+work,atoskêw,atoskêwin,miyopayiw
+work out,pihkohtâw,kaskihtamâsow
+world,askiy
+would,tâh,kâh
+year,pipon,askîwin,tânitahtopiponêw
+you,kiya,kiyawâw,kîsta,kîstawâw
+your,kiya,kiyawâw,kîsta,kîstawâw
diff --git a/CreeDictionary/search_quality/survey_results/Danny.csv b/CreeDictionary/search_quality/survey_results/Danny.csv
new file mode 100644
index 000000000..5bd7404c8
--- /dev/null
+++ b/CreeDictionary/search_quality/survey_results/Danny.csv
@@ -0,0 +1,109 @@
+about,papâ,papâmi,nânitaw,wayês,wî
+all,kahkiyaw,kapê,mâwaci,mâwacîs
+also,êkwa,êkwa mîna,êkosi mîna,pêskis,tako,mîna,kisik
+and,êkwa,mîna,kisik
+as,kisik
+at,ihk
+back,asê,kâwi,kîwê,spiskwan,âwikan
+be,ayâ,ispayin
+because,ayis,ayisk,osâm,ohci,wiya,cikêmâ,êsa
+big,misi,mahki,kihci,kisci
+but,mâka
+by,ohci,ô,ôhi
+can,ka-kî,kita-kî,ta-kî,asiwacikan,kaskâpiskahw,kaskâpiskah,kaskâpiskahikâtê
+child,awâsis,awâsimis,awâsim,nihtâwikihâkan,âwaso,cawâsimis,cawâsim,tawâsimis,tawâsim,manâcimâkan,ohpikihâkan,awâsisîwi,apiscâwâsisiwi,kikiskawâwaso,kikiskaw,awâsisîwiwin,nêhiyâsis,ohpikihâkan,nihtâwikihâwaso,nihtâwikinâwaso,wâpamâwaso,ocawâsimisi,wîtôsêm,ocawâsimisi,kosisân,osk-âyim,tosk-âyim,awâsisîwiwin
+come,pê-takosin,pê,mahti,mahci
+continue,tâpitawi,pisik,kiyomâ,kêyâpic,nâspic
+day,kîsikâw,awasi-wâpahki,awasi-otâkosîhk,awasitâkosihk,kîsikâ,pôsko-kîsik,tânitahto kîsikâw,kîsikâyâpan,pêtâpan,manitowi-kîsikâ,ocêhtowi-kîsikâ,mâtinawi-kîsikâ,sôniyâskâ-kîsikâ
+do,tôt,itahkamikan,tôcikâtê,itôcikâtê
+find,miskamâso,miskamaw,miskâto,miskotâto,miskaw,itâpatakêyim,miskwêyiht,miskikâtê,miskâkani
+first,nistam,nistam mâwacêyas,nîkân,pita,pitamâ,oski,nîstamik,iyâyaw,oskac,nîkânî,nîkânîmakan
+for,ohci,ayisk,osâm,ayisk,osâmi,wiya,kiki
+from,ohci,ô,ôh
+get,nâci,pihkoho,takwâmo,nâci
+give,mêki
+go,itohtê,itohtêmakan,pimohtêmakisi,pimipayin,papâ
+have,ayâ
+he,wiya,wîsta
+her,wiya,wîsta
+here,ôta,na,nah,awîta,ômîta,ôhîta,pâh-pahki,ayâsôw,papâmi
+him,wiya,wîsta
+his,wiya,wîsta
+hold,miciminikê,micimin,micimî,sakamo,miciminamaw,tahkon,kâhcitin
+how,tânisi,tânisi êkwa,êkosi isi,ômisi isi
+I,niya,nîsta
+if,kîspin,kîsâspin
+in,pîhci,ihk,asiwacikê
+it,wiya
+its,wiya
+just,mosci,mwêhci,sôskwâc,sôskwât,têpiyâhk,kwayaskwâtisi
+know,kiskêyim,kiskêyihto,kiskêyim,nisitawêyim,kiskêyiht,nisitawêyiht,êtokê,tânisi êtikwê
+large,mahki,misi,mihcâskwan,misikiti,mistâpêwi,mihcâskoyaw
+life,pimâtisiwin,pimâtisiwiniwi,pimâtisîtot,kawikîhkâwin
+like,tâpiskôc,tâpiskôt,êkosi isi,êkotowa,êkotowi,ômisi,miywêyihto,miywêyim,cîhkêyim,takahkêyim,miywêyiht,cîhkêyiht,sâkiht,takahkêyiht
+little,apisci,apisîsisi,nisihk
+look,î,nitawâpi,naspitaw,kitâpahkê,kitâpam,kanawâpam,kitâpaht,kanawâpaht,wâpahcikê,yâkwâ,nôkosi,nôkwan,wâpi
+make,kaskih,osîhtâ
+man,nâpêw,nâpêm,iyiniw,nâpêwi,kisêyinîwi
+many,mihcêt,misahkamik,okistakêwi,mihcêti,mihcêtin,mihcên
+may,ka-kî,kita-kî
+me,niya,nîsta
+more,ayiwâk,ayiwâkês,nawac,nawat,nawach mistahi,kêyâpic,kêyâpit,kiyâpac,awasimê,awasita,âhci,iyikohk
+my,nîya,nîsta
+new,oski
+no,namôya,môya,môy,namwâc,mwâc,mwât,mwâc ahpô,êkâ,êkâwiya
+not,namôya,namwâc,mwâc,mwât,nama,êkâ,êkâwiya,ma,kîkway,êkâ kîkway
+now,anohc,êkwa
+occur,ihkin,ocihcipayin
+old,kayâsi,kêhtê,kisêyiniw,kêhtê-ayiwi,kêhcê,ayiwi,kêhtêwi,kayâs-âyiwi,kayâs-âyiwan,kisêyinîwi,kêhtê-ayiwi
+one,pêyak,ay,aya,pêyakwan,pêyako
+only,piko,nayêstaw,pêyako
+or,ahpô,kêmâ
+other,kotak,kotaka,kotakak,kotakiya,kotakiyiw,kotakiyak
+our,niyanân,kiyânaw,nîstanân,kîstânaw
+people,iyinîm,tiyinîm,ayisiyiniw,ayisiyinîm,tayisiyinîm
+say,ay-ît
+see,wâpi,wâpaht,wâpam
+she,wiya,wîsta
+short,cimâsin,cacimâsin,cimâpêkan
+small,apisci,apisi,apisî,apisîsi,apihci,apist,pîwi,apisîsisi
+so,êkosi,isi,mâcika,tâspwâ,wahwâ,wâ,ha
+some,âtiht,kîkway,kêkway,kîkwâs
+take,manaho
+tall,kinwâskosi,kinosi,kinwâ,kinwâskwan
+tell,âcimo,wîht,âcim
+than,iyikohk,êyikohk,ispic
+that,ana,anima,anihi,animêyiw,wiya
+their,wiyawâw
+them,wiyawâw
+then,êkospîhk,êkospî,êkwa,ici,ispî,ispi,mâninakisk,pâtimâ,pâtos,pôti,ôma
+there,anita,êkota,ita,itê,êkosi,isi,tasi,awêska,ayâ
+these,ôki,ôhi
+they,wiyawâw,wîstawâw
+thing,kîkway,kîkwâs,kîkwâs,ay
+think,mâmitonêyihcikê
+this,awa,ôma,ôhi,ômêyiw,êwako,êyako,êkoni,êwakoni,êwakoyiw,wiya
+those,aniki,anihi,êkonik,êwakonik,êkoni,êwakoni
+time,êkospîhk,êkospî,nici,kisik,pêskis,kîsâc
+to,isi,pâmwayês,pâmayas,pâmoyês
+two,nîso,nîsi,nîsin
+up,ispimihk
+use,âpacihtâ,ohci
+very,mitoni,mêtoni,mistahi,nâsic,misi,nipahi
+want,nôhtê,wîto,nitawêyim,natawêyim,nitawêyiht,natawêyiht
+we,niyanaân,kiyânaw
+well,miyo,nahi,nihtâ,nahtâ,miyw-âyâ
+what,kîkwây,kîkwâya,kêkwân,âh,hâ
+when,tânispîhk,tânispî,tâyispî,ispîhk,ispî,ispi,iyikohk,êyikohk,ôma,kâ
+which,kîko,kêko,tâna,kâ
+who,awîna,awêna,awîniki,awîniwa,awînih,awêyiwa,hâ,kâ
+will,ka,kika,kita,ta,tita,masinahikan
+with,asici,kiki,ohci,tako
+woman,iskwêw,iskwêm,tiskwêm,iskwêwi
+work,atoskêwin,âpatisiwin,atoskê,atoskêmakan,pimakocin,pimakotê,pimipayin
+world,askiy
+would,kâh,tâh
+year,askîwin,pipon
+you,kiya,kiyawâw
+young,oski,osk-âyiwi
+your,kîstawâw
diff --git a/CreeDictionary/search_quality/survey_results/NS152.csv b/CreeDictionary/search_quality/survey_results/NS152.csv
new file mode 100644
index 000000000..31df2b5ef
--- /dev/null
+++ b/CreeDictionary/search_quality/survey_results/NS152.csv
@@ -0,0 +1,327 @@
+Query,Nêhiyawêwin 1,Nêhiyawêwin 2,Nêhiyawêwin 3,,Notes
+gym,mêtawêwikamik,,,,
+lake,sâkahikan,,,,
+juice,sîwâpoy,,,,
+hospital,âhkosîwikamik,,,,
+sock,asikan,,,,
+pail,askihk,,,,
+potato,askipwâwi,,,,
+dog,atim,nitêm,,,very irregular inflections
+doll,awâsisihkân,,,,
+tobacco,ciscêmâs,cistêmâw,,,
+fork,cîscahikanis,,,,
+girl,iskwêsis,,,,
+woman,iskwêw,,,,
+fish,kinosêw,,,,
+bacon,kohkôsiwiyin,,,,
+corn,mahtâmin,,,,
+pencil,masinahikanâhtik,,,,
+slate,masinahikanâpisk,,,,
+pen,masinahikanâpiskos,,,,
+tea,maskihkîwâpoy,tiy,nihtiy,,
+bear,maskwa,mistah-âya,kaskitêwi-maskwa,,
+glass,minihkwâcikan,minihkwêwiyâkanis,,,
+cup,minihkwâcikanis,,,,
+cat,minôs,,,,
+pants,mitâs,,,,
+feather,mêkwan,,,,
+road,mêskanaw,,,,
+soup,mîcimâpoy,,,,
+bead,mîkis,,,,
+knife,môhkomân,,,,
+little knife,môhkomânis,,,,
+moose,môswa,,,,
+toboggan,napakâhtik,,,,
+frying pan,napwên,,,,
+goose,niska,,,,
+boy,nâpêsis,,,,
+man,nâpêw,,,,
+Cree person,nêhiyaw,,,,
+tomato,okiniy,,,,
+little carrot,oskâcâskos,,,,
+carrot,oskâtâsk,,,,
+nut,pakân,,,,
+pepper,papêskomina,,,,
+apple,picikwâs,,,,
+ball,pâkâhtowân,,,,
+sun,pîsim,,,,
+skunk,sikâk,,,,
+sugar,sîwinikan,,,,
+salt,sîwîhtâkan,,,,
+money,sôniyâw,,,,
+butter,tohtôsâpoy,,,,
+milk,tohtôsâpoy,,,,
+fur,wayân,,,,
+dish,wiyâkan,,,,
+banana,wâkâs,,,,
+rabbit,wâpos,,,,
+egg,wâwi,,,,
+little spoon,êmihkwânis,,,,
+brings it,pêtawêw,pêtâw,,,
+store,atâwêwikamik,,,,
+pig,kohkôs,,,,
+shoe,maskisin,,,,
+horse,misatim,mistatim,,,
+cow,mostos,,,,
+restaurant,mîcisowikamik,,,,
+duck,sîsîp,,,,
+bank,sôniyâwikamik,,,,
+chair,têhtapiwin,,,,
+spoon,êmihkwân,,,,
+drinks,minihkwêw,,,,
+right,tâpwê,,,,
+puppy,acimosis,,,,
+land,askiy,,,,
+child,awâsis,,,,
+skin,masakay,,,,
+fingernail,maskasiy,,,,
+hand,micihciy,,,,
+finger,micihcîs,,,,
+nipple,micohcôsimis,,,,
+face,mihkwâkan,,,,
+ear,mihtawakay,,,,
+nose,mikot,,,,
+little foot,misicis,,,,
+foot,misit,,,,
+leg,miskât,,,,
+eye,miskîsik,,,,
+arm,mispiton,,,,
+head,mistikwân,,,,
+breast,mitohtôsim,,,,
+mouth,mitôn,,,,
+body,miyaw,,,,
+tooth,mîpit,,,,
+hair,mêscakâsa,,,,
+my foot,nisit,,,,
+my head,nistikwân,,,,
+who,awîna,,,,
+oh,ka,,,,
+again,kîhtwâm,,,,
+what,kîkwây,,,,
+but,mâka,,,,
+when,tânispî,tânispîhk,,,
+how,tânisi,,,,
+where,tânitê,,,,
+why,tânêhki,,,,
+far away,wâhyaw,,,,
+soon,wîpac,,,,
+so,êkosi,,,,
+and,êkwa,mîna,,,
+son,nikosis,,,,
+aunt,nikâwîs,nisikos,nitôsis,,
+mother's sister,nikâwîs,nitôsis,,,
+mother,nikâwiy,,,,
+grandfather,nimosôm,,,,
+husband,ninâpêm,,,,
+parents,ninêkihikwak,,,,
+younger sibling,nisîmis,,,,
+daughter,nitânis,,,,
+friend,nitôtêm,,,,
+father,nôhtâwiy,,,,
+sibling,nîtisân,nimis,nistês,,
+brother,nistês,nîtisân,nisîmis,,
+older brother,nistês,,,,
+sister,nimis,nîtisân,nisîmis,,
+older sister,nimis,,,,
+grandmother,nôhkom,,,,
+town,ôcênâsis,ôcênâs,,,
+bannock,pahkwêsikan,,,,
+duckling,sîsîpisis,,,,
+raisin,sôminis,,,,
+city,ôtênaw,,,,
+works,atoskêw,,,,
+named,isiyihkâsow,isiyihkâcikâtêw,,,
+names,isiyihkâsowina,isiyihkâsow,isiyihkâcikâtêw,,
+goes,itohtêw,,,,
+says,itwêw,,,,
+knows,kiskêyihtam,kiskêyimêw,nisitawêyimêw,,
+wants it,nitawêyihtam,,,,
+wants him,nitawêyimêw,,,,
+wants her,nitawêyimêw,,,,
+wants them,nitawêyimêw,,,,
+talks,pîkiskwâtêw,,,,
+sees it,wâpahtam,wâpamêw,,,
+sees him,wâpamêw,,,,
+sees her,wâpamêw,,,,
+see it,wâpahtam,wâpamêw,,,
+see him,wâpamêw,,,,
+see her,wâpamêw,,,,
+lives at,wîkiw,,,,
+a little,apisîs,,,,
+listen,mâ,,,,
+miracle,mâmaskâc,,,,
+a while,pitamâ,,,,
+gee,wahwâ,,,,
+gosh,wâcistakâc,,,,
+although,âta,,,,
+very true,tâpwe pikwâni,,,,
+piglet,kohkôsis,,,,
+tipi,mîkiwâhp,,,,
+Cree language,nêhiyawêwin,,,,
+queen,okimâskwêw,,,,
+house,wâskahikan,,,,
+Frenchman,wêmistikôsiw,,,,
+home,wîkiwin,,,,
+English language,âkayâsîmowin,,,,
+hitch,âniskamân,,,,
+diaper,âsiyân,,,,
+feels,itamahcihow,,,,
+learns,kiskinwahamâkosiw,,,,
+feels good,miyomahcihow,,,,
+understands,nisitohtam,nisitohtawêw,,,
+listens,nitohtam,,,,
+speaks Cree,nêhiyawêw,,,,
+tired,nêstosiw,,,,
+hungry,nôhtêhkatêw,,,,
+sleepy,nôhtêhkwasiw,,,,
+very,mistahi,,,,
+hat,astotin,,,,
+shorts,atâmicâsis,kîskicâsis,,,
+scarf,kîsowahpison,,,,
+book,masinahikan,,,,
+kitten,minôsis,,,,
+pony,miscacimosis,,,,
+jacket,miskotâkay,,,,
+river,sîpiy,,,,
+bowl,wiyâkanis,,,,
+dawn,pêtâpan,wâpan,,,
+wheel,wâsakâpayîs,,,,
+small,apisâsin,apisîsisiw,,,
+green,askihtakosiw,askihtakwan,,,
+short,cimisisiw,cimâsin,,,
+high,ispâw,,,,
+fast,kakwêyâhow,,,,
+clean,kanâtan,kanâtisiw,,,
+black,kaskitêsiw,kaskitêwâw,,,
+beautiful,katawasisin,katawasisiw,,,
+tall,kinosiw,kinwâw,,,
+strong,maskawisîw,maskihkîwimâkwan,,,
+red,mihkosiw,mihkwâw,,,
+big,misikitiw,misâw,,,
+nice,miyosiw,,,,
+good,miywâsin,,,,
+ugly,mâyâtan,mâyâtisiw,,,
+orange,osâwisiw,osâwâw,osâwâs,,
+grey,pihkonâkosiw,pihkonâkwan,,,
+broken,pîkopayin,pîkopayiw,,,
+blue,sîpihkosiw,sîpihkwâw,,,
+wine red,watôkimihkosiw,watôkimihkwâw,,,
+likes the taste,wîhkistêw,wîhkistam,,,
+dirty,wiyipâtan,wiyipâtisiw,,,
+pink,wâpikwanîwinâkosiw,wâpikwanîwinâkwan,,,
+white,wâpiskisiw,wâpiskâw,,,
+yellow,wâposâwisiw,wâposâwâw,,,
+delicious,wîhkasin,wîhkitisiw,,,
+purple,wîpi-sîpihkosiw,wîpi-sîpihkwâw,,,
+brown,wîposâwâw,wîpôsâwisiw,,,
+slow,yikicikâwîmakan,yîkicikâwîw,,,
+go away,awas,awasitik,,,
+just kidding,cwâ,,,,
+wait,cêskwa,,,,
+near,cîki,,,,
+that's okay,kiyâm,,,,
+ok,kiyâm,,,,
+always,kâkikê,,,,
+don't,kâya,,,,
+let's,mahti,,,,
+right now,mêkwâc,sêmâk,,,
+here,na,,,,
+because,osâm,,,,
+already,âsay,,,,
+come here,âstam,âstamitik,,,
+okay now,âw,,,,
+never mind,ekosi kîyâm,,,,
+look over there,itâpi nêtê,,,,
+well,êkosi mâka,,,,
+that's it for now,êkosi pita,,,,
+coffee,pihkahcêwâpôs,pihkahtêwâpoy,,,
+meat,wiyâs,,,,
+sit down,apiw,,,,
+has,ayâw,ayâwêw,,,
+looks,itâpiw,kitâpahtam,kitâpamêw,,
+cooks,kîsisam,kîsiswêw,piminawasow,,
+likes,miywêyihtam,,,,
+eats,mowêw,mîciw,,,
+bakes,nawacîw,,,,
+hits,pakamaham,pakamahwêw,,,
+gets up,pasikôw,,,,
+smiles,pâhpisiw,,,,
+hears,pêhtawêw,,,,
+gives a ride,pôsihêw,,,,
+rides,pôsiw,,,,
+blows on,pôtâtam,pôtâtêw,,,
+leaves,sipwêhtêw,nakasiwêw,nakatam,,
+touches,sâminam,sâminêw,,,
+sits on,têhtapiw,,,,
+gets up from bed,waniskâw,,,,
+moves,waskawîw,,,,
+goes outside,wayawîw,,,,
+since,aspin,,,,
+almost,kêkâc,,,,
+and a half,mîna âpihtâw,,,,
+from,ohci,,,,
+before,pâmwayês,,,,
+half,âpihtaw,,,,
+number,akihtâson,,,,
+minute,cipahikanis,,,,
+stove,kotawânâpisk,,,,
+clock,pîsimohkân,,,,
+hour,tipahikan,,,,
+counts,akihcikêw,akihtam,akimêw,,
+morning,kîkisêpâyâw,,,,
+day,kîsikâw,,,,
+evening,otâkosin,,,,
+waits,pêhow,,,,
+night,tipiskâw,,,,
+noon,âpihtâ-kîsikâw,,,,
+midnight,âpihtâ-tipiskâw,,,,
+amount,itahto,,,,
+only,katisk,piko,,,
+dollar,nêwopêhikan,,,,
+penny,pîwâpiskos,,,,
+safety pin,sakâskwahon,,,,
+it is Sunday,ayamihâwi-kîsikâw,,,,
+weather is,isiwêpan,,,,
+years old,itahtopiponêw,,,,
+costs,itakihtêw,itakisow,,,
+Saturday,nikotwâsiko-kîsikâw,,,,
+Wednesday,nisto-kîsikâw,,,,
+Friday,niyânano-kîsikâw,,,,
+Thursday,nêwo-kîsikâw,,,,
+Tuesday,nîso-kîsikâw,,,,
+wins,otahowêw,,,,
+Monday,pôn-âyamihêwi-kîsikâw,,,,
+earns,sôniyâhkêw,,,,
+earns money,sôniyâhkêw,,,,
+clear sky,wâsêskwan,,,,
+little star,acâhkos,,,,
+beaver,amisk,,,,
+paddle,apoy,,,,
+stone,asiniy,,,,
+star,acâhkos,atâhk,,,
+frog,ayîkis,,,,
+snow,kôna,,,,
+tree,mistik,mîtos,,,
+wood,mihta,,,,
+pipe,ospwâkan,,,,
+welfare worker,otasahkêw,,,,
+policeman,simâkan,simâkanis,,,
+muskrat,wacask,,,,
+elk,wâwâskêsiw,,,,
+tries,kocihtâw,kocihêw,kocîw,,
+gets,nâtam,nâtêw,,,
+brings,pêsiwêw,pêtâw,,,
+person,ayisiyiniw,,,,
+beer,iskwêsisâpoy,iskwêsisihkânâpoy,,,
+prays,ayamihâw,,,,
+runs,pimipahtâw,,,,
+calls,têpwêw,,,,
+speaks English,âkayâsîmow,,,,
+snake,kinêpik,,,,
+bird,piyêsîs,,,,
+puts down,ahêw,astâw,,,
+takes,itohtahêw,itohtatâw,,,
+picks up over distance,naskwênam,naskwênêw,,,
+picks up,otinam,otinêw,,,
+breaks,pîkonam,pîkonêw,,,
+carries,tahkonam,tahkonêw,,,


Test patch:
diff --git a/CreeDictionary/search_quality/combine_samples_test.py b/CreeDictionary/search_quality/combine_samples_test.py
new file mode 100644
index 000000000..0876b22b0
--- /dev/null
+++ b/CreeDictionary/search_quality/combine_samples_test.py
@@ -0,0 +1,124 @@
+from io import StringIO
+from textwrap import dedent
+
+import pytest
+
+from search_quality.combine_samples import iter_results, combine_results
+
+
+def test_iter_results_works_with_header():
+    input_file = StringIO(
+        dedent(
+            """\
+        Query,1,2,3,,Notes
+        A,1,,,,Blah
+        B,2,3,4,,
+        """
+        ),
+        newline="",
+    )
+    assert list(iter_results(input_file)) == [
+        {"Query": "A", "Values": ["1"]},
+        {"Query": "B", "Values": ["2", "3", "4"]},
+    ]
+
+
+def test_iter_results_works_with_header_but_no_notes():
+    input_file = StringIO(
+        dedent(
+            """\
+        Query,1,2,3
+        A,1,,
+        B,2,3,4
+        """
+        ),
+        newline="",
+    )
+    assert list(iter_results(input_file)) == [
+        {"Query": "A", "Values": ["1"]},
+        {"Query": "B", "Values": ["2", "3", "4"]},
+    ]
+
+
+def test_iter_results_works_without_header():
+    input_file = StringIO(
+        dedent(
+            """\
+        A,1,2
+        B,a,b,c,d,e,f,g,h
+        """
+        ),
+        newline="",
+    )
+    assert list(iter_results(input_file)) == [
+        {"Query": "A", "Values": ["1", "2"]},
+        {"Query": "B", "Values": ["a", "b", "c", "d", "e", "f", "g", "h"]},
+    ]
+
+
+def test_iter_results_raises_on_duplicate_entry():
+    input_file = StringIO(
+        dedent(
+            """\
+        Query,1,2,3,,Notes
+        A,1,,,,Blah
+        A,2,3,4,,
+        """
+        ),
+        newline="",
+    )
+    with pytest.raises(Exception, match="Duplicate"):
+        list(iter_results(input_file))
+
+
+def test_iter_results_raises_if_no_gap_before_notes():
+    input_file = StringIO(
+        dedent(
+            """\
+        Query,1,2,3,,Notes
+        A,1,,,,Blah
+        B,2,3,4,x,
+        """
+        ),
+        newline="",
+    )
+    with pytest.raises(Exception, match="Must have blank column"):
+        list(iter_results(input_file))
+
+
+def test_iter_results_raises_if_more_columns_than_headers():
+    input_file = StringIO(
+        dedent(
+            """\
+        Query,1,2,3,,Notes
+        A,1,,,,Blah
+        B,2,3,4,,,q
+        """
+        ),
+        newline="",
+    )
+    with pytest.raises(Exception, match="More entries.*than header values"):
+        list(iter_results(input_file))
+
+
+def test_combine_results_pick_top_when_all_agree():
+    assert combine_results(
+        [["bar", "baz", "qux"], ["bar", "baz", "qux"], ["bar", "baz", "qux"]]
+    ) == ["bar", "baz", "qux"]
+
+
+def test_combine_results_use_voting_for_disagreement():
+    assert combine_results(
+        [["baz", "bar", "qux"], ["bar", "baz", "qux"], ["bar", "baz", "qux"]]
+    ) == ["bar", "baz", "qux"]
+
+
+def test_combine_results_use_voting_for_disagreement2():
+    # This matches the current survey man: a word in #2 position wins if also
+    # mentioned in #3 position on another list, versus a word only mentioned in
+    # a single list.
+    assert combine_results([["bar"], ["bar", "baz"], ["bar", "qux", "baz"]]) == [
+        "bar",
+        "baz",
+        "qux",
+    ]