haspirater

detect aspirated 'h' in French words
git clone https://a3nm.net/git/haspirater/
Log | Files | Refs | README

commit a49fbbf985126728f3c080f92294e5f260e706a0
parent e39914f76fc93e47ea3ebdaadfaad213b7d8de49
Author: Antoine Amarilli <a3nm@a3nm.net>
Date:   Mon, 30 May 2011 16:38:36 -0400

add exceptions from wiktionary

Diffstat:
README | 7+++++--
additions | 1+
haspirater.json | 2+-
haspirater.pdf | 0
4 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/README b/README @@ -28,7 +28,7 @@ haspirater is a tool to detect if a French word starts with an aspirated 'h' or not. It is not based on a list of words but on a trie trained from a corpus, which ensures that it should do a reasonable job for unseen words which are similar to known ones, without carrying a big -exceptions list. The json trie used is less than 5 Kio, and the lookup +exceptions list. The json trie used is less than 10 Kio, and the lookup script is 40 lines of Python. == 2. Usage == @@ -48,7 +48,10 @@ one possibility is returned even when both are attested. The training data used by haspirater.py is loaded at runtime from the haspirater.json file which has been trained from French texts taken from Project Gutenberg <www.gutenberg.org>, from the list in the Wikipedia -article <http://fr.wikipedia.org/wiki/H_aspir%C3%A9>, and from a custom +article <http://fr.wikipedia.org/wiki/H_aspir%C3%A9>, from the +categories in the French Wiktionary +<http://fr.wiktionary.org/wiki/Catégorie:Mots_à_h_muet> and +<http://fr.wiktionary.org/wiki/Catégorie:Mots_à_h_aspiré> and from a custom set of exceptions. If you want to create your own data, or adapt the approach here to other linguistic features, read on. diff --git a/additions b/additions @@ -27,3 +27,4 @@ 0 hadopisme 1 hadopi 0 hellénisme +0 hiatus diff --git a/haspirater.json b/haspirater.json @@ -1 +1 @@ -["0", {"a": ["1", {" ": ["1", {}], "c": ["1", {}], "b": ["0", {"i": ["0", {}], "a": ["1", {}]}], "d": ["1", {"a": ["1", {}], "d": ["1", {}], "j": ["1", {}], "o": ["1", {"p": ["1", {"i": ["1", {" ": ["1", {}], "s": ["0", {}]}]}]}], "\u00ee": ["1", {}], "r": ["0", {}]}], "g": ["1", {}], "i": ["1", {}], "h": ["1", {}], "m": ["1", {}], "l": ["1", {"a": ["1", {}], "b": ["1", {}], "e": ["1", {"i": ["0", {}], "c": ["1", {}], "r": ["1", {}], "t": ["1", {}]}], "d": ["1", {}], "i": ["0", {}], "\u00e8": ["0", {"t": ["1", {}], "n": ["0", {}]}], "l": ["1", {"a": ["0", {}], " ": ["1", {}], "e": ["1", {}], "i": ["1", {}], "s": ["1", {}], "u": ["0", {}]}], "o": ["1", {}], "s": ["1", {}], "t": ["1", {}]}], "\u00ef": ["1", {}], "n": ["1", {}], "q": ["1", {}], "p": ["1", {}], "s": ["1", {}], "r": ["1", {"a": ["1", {}], "c": ["1", {}], "e": ["1", {}], "d": ["1", {}], "g": ["1", {}], "f": ["1", {}], "i": ["1", {}], "k": ["1", {}], "m": ["0", {}], "l": ["1", {}], "o": ["1", {}], "n": ["1", {}], "p": ["1", {}], "r": ["1", {}], "t": ["1", {}], "v": ["1", {}]}], "u": ["1", {}], "v": ["1", {}], "y": ["1", {}], "\u00ff": ["0", {}]}], " ": ["0", {}], "\u00e2": ["1", {}], "e": ["0", {"a": ["1", {"r": ["1", {}], "u": ["1", {"m": ["1", {}], "t": ["0", {}]}]}], "i": ["1", {}], "m": ["1", {}], "l": ["0", {"l": ["0", {"\u00e9": ["0", {}], "e": ["0", {}], "o": ["1", {}]}], "v": ["0", {}]}], "n": ["1", {}], "p": ["1", {}], "s": ["1", {}], "r": ["0", {"c": ["1", {"h": ["1", {}], "u": ["0", {}]}], "b": ["0", {}], "m": ["0", {"\u00e9": ["0", {}], "i": ["0", {"t": ["1", {"a": ["0", {}], "i": ["1", {}]}], "n": ["0", {}]}]}], "n": ["1", {}], "s": ["1", {}], "t": ["1", {}]}], "u": ["0", {"s": ["1", {}], "r": ["0", {" ": ["0", {}], "e": ["0", {}], "t": ["1", {}]}], "l": ["1", {}], "/": ["1", {}]}], "x": ["0", {}]}], "i": ["0", {"a": ["1", {}], " ": ["1", {}], "c": ["1", {}], "b": ["1", {}], "e": ["0", {" ": ["1", {}], "r": ["0", {" ": ["0", {}]}], "m": ["1", {}]}], "d": ["1", {}], "g": ["1", {}], "f": ["1", {}], "\u00e9": ["1", {}], "h": ["1", {}], "l": ["1", {"a": ["0", {"i": ["1", {}], "r": ["0", {}]}], "b": ["1", {}], "e": ["1", {}], "d": ["1", {"e": ["1", {"s": ["0", {}], "g": ["1", {}]}]}], "o": ["1", {}]}], "n": ["1", {"d": ["1", {"i": ["1", {}], "o": ["0", {}]}]}], "p": ["0", {"p": ["0", {"i": ["1", {}], "o": ["0", {}]}], "h": ["1", {}], " ": ["1", {}]}], "s": ["0", {"s": ["1", {}], "t": ["0", {}]}], "r": ["1", {"a": ["1", {}], "o": ["1", {"s": ["1", {}], "n": ["0", {}]}]}], "t": ["1", {}], "v": ["0", {}]}], "\u00e8": ["1", {"r": ["1", {}], "b": ["0", {}], "l": ["1", {}]}], "\u00ea": ["1", {}], "l": ["1", {}], "o": ["0", {" ": ["1", {}], "c": ["1", {}], "b": ["1", {}], "d": ["1", {}], "g": ["1", {}], "f": ["0", {}], "m": ["0", {"\u00e9": ["0", {}], "a": ["1", {}], "m": ["0", {}], "e": ["1", {}], "o": ["0", {}]}], "l": ["1", {"\u00e0": ["1", {}], "l": ["1", {}], "o": ["0", {}], "d": ["1", {}]}], "o": ["1", {}], "n": ["0", {" ": ["1", {}], "d": ["1", {}], "g": ["1", {}], "o": ["0", {}], "n": ["0", {"i": ["1", {}], "\u00ea": ["0", {}], "e": ["0", {}]}], "s": ["1", {}], "t": ["1", {}]}], "q": ["1", {}], "p": ["1", {}], "s": ["0", {"a": ["1", {}], "p": ["0", {}], "t": ["0", {}]}], "r": ["0", {"a": ["0", {}], "d": ["1", {}], "i": ["0", {"z": ["0", {}], "o": ["1", {}]}], "m": ["1", {}], "l": ["0", {}], "n": ["1", {}], "s": ["1", {}], "r": ["0", {}]}], "u": ["1", {}], "t": ["1", {}], "y": ["1", {}]}], "\u00e9": ["0", {"s": ["0", {}], "r": ["1", {"i": ["0", {"s": ["1", {}], "t": ["0", {}]}], "\u00e9": ["0", {}], "a": ["1", {}], "o": ["1", {"s": ["1", {}], "\u00ef": ["0", {}], "n": ["1", {}]}]}], "m": ["0", {}], "l": ["0", {"i": ["0", {}], "a": ["1", {" ": ["1", {}], "s": ["0", {}]}], "e": ["1", {}]}], "b": ["0", {}]}], "u": ["0", {"a": ["1", {}], "c": ["1", {}], "b": ["1", {}], "e": ["1", {}], "d": ["0", {}], "g": ["1", {}], "p": ["1", {}], "\u00e9": ["1", {}], "m": ["0", {"a": ["0", {"i": ["0", {"s": ["1", {}], "n": ["0", {}]}], "g": ["1", {}], "n": ["0", {}]}], " ": ["1", {}], "b": ["0", {"l": ["0", {}], "o": ["1", {}]}], "e": ["0", {" ": ["1", {}], "r": ["1", {}], "u": ["0", {"x": ["1", {}], "r": ["0", {}]}], "m": ["1", {}]}], "i": ["0", {}], "o": ["1", {}], "p": ["1", {}], "u": ["0", {}]}], "l": ["1", {}], "\u00ee": ["0", {}], "q": ["1", {}], "i": ["1", {"s": ["0", {}], "t": ["1", {}], "l": ["0", {}]}], "s": ["1", {}], "r": ["1", {}], "t": ["1", {}], "n": ["1", {}]}], "\u00f4": ["0", {"p": ["0", {}], "t": ["0", {}], "l": ["1", {}]}], "y": ["0", {}]}] +["0", {"a": ["1", {"o": ["1", {}], " ": ["1", {}], "c": ["1", {}], "b": ["0", {"i": ["0", {}], "a": ["1", {}], "o": ["1", {}]}], "d": ["1", {"a": ["1", {}], "d": ["1", {}], "j": ["1", {}], "o": ["1", {"p": ["1", {"i": ["1", {" ": ["1", {}], "s": ["0", {}]}]}]}], "\u00ee": ["1", {}], "r": ["0", {}]}], "g": ["1", {}], "f": ["1", {}], "i": ["1", {}], "h": ["1", {}], "m": ["1", {}], "l": ["1", {"a": ["1", {}], "b": ["1", {}], "e": ["1", {" ": ["1", {}], "c": ["1", {}], "i": ["0", {}], "n": ["1", {}], "s": ["1", {}], "r": ["1", {}], "u": ["1", {}], "t": ["1", {}], "z": ["1", {}]}], "d": ["1", {}], "i": ["1", {"b": ["1", {}], "o": ["0", {}]}], "\u00e8": ["1", {"r": ["1", {}], "t": ["1", {}], "n": ["0", {}]}], "l": ["1", {"a": ["1", {"l": ["0", {}], "g": ["1", {}]}], " ": ["1", {}], "e": ["1", {}], "i": ["1", {}], "s": ["1", {}], "u": ["0", {}]}], "o": ["1", {}], "\u00e9": ["1", {}], "s": ["1", {}], "t": ["1", {}]}], "\u00ef": ["1", {}], "n": ["1", {}], "q": ["1", {}], "p": ["1", {}], "s": ["1", {}], "r": ["1", {"a": ["1", {}], "c": ["1", {}], "e": ["1", {}], "d": ["1", {}], "g": ["1", {}], "f": ["1", {}], "i": ["1", {}], "k": ["1", {}], "m": ["0", {}], "l": ["1", {}], "o": ["1", {}], "n": ["1", {}], "p": ["1", {}], "r": ["1", {}], "t": ["1", {}], "v": ["1", {}]}], "u": ["1", {}], "t": ["1", {}], "v": ["0", {"a": ["1", {}], "e": ["0", {" ": ["1", {}], "l": ["0", {"a": ["0", {}], "\u00e2": ["0", {}], "e": ["0", {"r": ["1", {" ": ["1", {}]}], "z": ["0", {}]}], "\u00e9": ["0", {" ": ["0", {}], "s": ["0", {}], "e": ["0", {" ": ["1", {}], "s": ["0", {}]}]}], "\u00e8": ["0", {}], "l": ["0", {}], "o": ["0", {}], "i": ["0", {}]}], "n": ["1", {}], "s": ["1", {}], "r": ["1", {}], "u": ["1", {}]}], "i": ["1", {}], "\u00e8": ["0", {}], "r": ["1", {}], "u": ["1", {}]}], "y": ["1", {}], "\u00ff": ["0", {}]}], " ": ["1", {}], "\u00e2": ["1", {}], "e": ["0", {"a": ["1", {"r": ["1", {}], "u": ["1", {"m": ["1", {}], "t": ["0", {}]}]}], "i": ["1", {}], "m": ["1", {}], "l": ["0", {"l": ["0", {"\u00e9": ["0", {}], "e": ["1", {"s": ["0", {}], "b": ["1", {}]}], "o": ["1", {}]}], "v": ["0", {}]}], "n": ["1", {}], "p": ["1", {}], "s": ["1", {}], "r": ["0", {"c": ["1", {"h": ["1", {}], "u": ["0", {}]}], "b": ["0", {}], "m": ["0", {"\u00e9": ["0", {}], "i": ["0", {"t": ["1", {"a": ["0", {}], "i": ["1", {}]}], "n": ["0", {}]}]}], "n": ["1", {}], "p": ["1", {}], "s": ["1", {}], "t": ["1", {}]}], "u": ["0", {"s": ["1", {}], "r": ["0", {" ": ["0", {}], "e": ["0", {}], "t": ["1", {}]}], "l": ["1", {}], "/": ["1", {}]}], "t": ["1", {}], "x": ["0", {}]}], "i": ["0", {"a": ["1", {"t": ["1", {"a": ["1", {}], "u": ["0", {}]}]}], " ": ["1", {}], "c": ["1", {}], "b": ["0", {"e": ["0", {}], "o": ["1", {}]}], "e": ["1", {" ": ["1", {}], "r": ["0", {" ": ["0", {}]}], "m": ["1", {}]}], "d": ["1", {}], "g": ["1", {}], "f": ["1", {}], "\u00e9": ["1", {}], "h": ["1", {}], "l": ["1", {"a": ["0", {"i": ["1", {}], "r": ["0", {}]}], "b": ["1", {}], "e": ["1", {}], "d": ["1", {"e": ["1", {"s": ["0", {}], "g": ["1", {}]}]}], "o": ["1", {}]}], "n": ["1", {" ": ["1", {}], "s": ["1", {}], "d": ["1", {"i": ["1", {}], "o": ["0", {}]}]}], "p": ["0", {"p": ["0", {"i": ["1", {}], "o": ["0", {}]}], "h": ["1", {}], " ": ["1", {}]}], "s": ["0", {"s": ["1", {}], "t": ["0", {}]}], "r": ["1", {"a": ["1", {}], "o": ["1", {"s": ["1", {}], "n": ["0", {}]}]}], "t": ["1", {}], "v": ["0", {}]}], "\u00e8": ["1", {"r": ["1", {}], "b": ["0", {}], "l": ["1", {}]}], "\u00ea": ["1", {}], "l": ["1", {}], "o": ["0", {" ": ["1", {}], "c": ["1", {}], "b": ["1", {}], "d": ["1", {}], "g": ["1", {}], "f": ["0", {}], "h": ["1", {}], "m": ["0", {"a": ["1", {}], " ": ["1", {}], "e": ["1", {}], "\u00e9": ["0", {}], "m": ["0", {}], "o": ["0", {}], "i": ["0", {}]}], "l": ["1", {"\u00e0": ["1", {}], "l": ["1", {}], "o": ["0", {}], "d": ["1", {}]}], "o": ["1", {}], "n": ["0", {" ": ["1", {}], "d": ["1", {}], "g": ["1", {}], "o": ["0", {}], "n": ["0", {"i": ["1", {}], "\u00ea": ["0", {}], "e": ["0", {}]}], "s": ["1", {}], "t": ["1", {}]}], "q": ["1", {}], "p": ["1", {}], "s": ["0", {"a": ["1", {}], "p": ["0", {}], "t": ["0", {}]}], "r": ["0", {"a": ["0", {}], "d": ["1", {}], "i": ["0", {"z": ["0", {}], "o": ["1", {}]}], "m": ["1", {"i": ["1", {}], "o": ["0", {}]}], "l": ["0", {}], "n": ["1", {}], "s": ["1", {}], "r": ["0", {}]}], "u": ["1", {}], "t": ["1", {}], "w": ["1", {}], "y": ["1", {}]}], "\u00e9": ["0", {"b": ["0", {"\u00e9": ["0", {" ": ["0", {}], "c": ["1", {}], "t": ["0", {}]}], "\u00e8": ["0", {}], "r": ["0", {}], "e": ["0", {}]}], "m": ["0", {}], "l": ["0", {"i": ["0", {"p": ["1", {}], "c": ["0", {}], "o": ["0", {}]}], "a": ["1", {"i": ["1", {}], " ": ["1", {}], "s": ["0", {}], "n": ["1", {}]}], "e": ["1", {}], "\u00e9": ["1", {}], "\u00e8": ["1", {}]}], "q": ["1", {}], "s": ["0", {}], "r": ["1", {"i": ["0", {"s": ["1", {}], "t": ["0", {}]}], "\u00e9": ["0", {}], "a": ["1", {}], "o": ["1", {"s": ["1", {}], "u": ["1", {}], "\u00ef": ["0", {}], "n": ["1", {}]}]}], "t": ["0", {}]}], "\u00e1": ["1", {}], "u": ["1", {"n": ["1", {}], "\u00e9": ["1", {}], "\u00e2": ["1", {}], "a": ["1", {}], "c": ["1", {}], "b": ["1", {}], "e": ["1", {}], "d": ["0", {}], "g": ["1", {}], "i": ["1", {"e": ["1", {}], "l": ["0", {}], "o": ["1", {}], "s": ["0", {}], "r": ["1", {}], "t": ["1", {}]}], "\u00e8": ["1", {}], "m": ["0", {"a": ["0", {"i": ["0", {" ": ["1", {}], "s": ["1", {}], "e": ["1", {}], "t": ["1", {}], "n": ["0", {}]}], " ": ["1", {}], "g": ["1", {}], "n": ["0", {"i": ["0", {}], "t": ["1", {}]}]}], " ": ["1", {}], "b": ["0", {"l": ["0", {"e": ["0", {" ": ["0", {}], "s": ["1", {" ": ["1", {}]}]}]}], "o": ["1", {}]}], "e": ["0", {" ": ["1", {}], "c": ["0", {}], "m": ["1", {}], "n": ["1", {}], "r": ["1", {}], "u": ["0", {"x": ["1", {}], "r": ["0", {}]}], "z": ["1", {}]}], "i": ["0", {"f": ["0", {}], "l": ["0", {}], "o": ["1", {}], "d": ["0", {}]}], "\u00e9": ["1", {}], "\u00e8": ["1", {}], "o": ["1", {}], "p": ["1", {}], "u": ["0", {}]}], "l": ["1", {}], "o": ["1", {}], "\u00ee": ["0", {}], "q": ["1", {}], "p": ["1", {}], "s": ["1", {}], "r": ["1", {}], "t": ["1", {}], "h": ["1", {}], "z": ["1", {}]}], "\u00f4": ["0", {"p": ["0", {}], "t": ["0", {}], "l": ["1", {}]}], "y": ["0", {"a": ["1", {}], "d": ["0", {}], "g": ["0", {}], "\u00e8": ["0", {}], "m": ["0", {}], "p": ["0", {}], "s": ["0", {}], "r": ["0", {}]}]}] diff --git a/haspirater.pdf b/haspirater.pdf Binary files differ.