Je veux le code de la Metaphone 3 algorithme de moi-même. Est-il une description? Je sais que le code source est disponible à la vente mais ce n'est pas ce que je suis à la recherche d'.
*
* Metaphone 3 est conçue pour retourner un approximative phonétique clé (et un autre
* phonétique approximative de la clé lorsque cela est approprié) qui doit être le même pour l'anglais
* les mots, et la plupart des noms familiers aux États-unis, qui sont prononcées de même.
* La valeur de la clé est pas destiné à être un exacte phonétique, ou même phonémique,
* représentation de la parole. C'est parce qu'un certain degré de 'flou' a
* prouvé pour être utile à compenser les variations de prononciation, ainsi que
* mal à la prononciation. Par exemple, bien que les américains ne sont généralement pas au courant de cela,
* la lettre " s "est normalement prononcé" z " à la fin des mots tels que "sons".
*
* Le "approximative" de l'encodage est mise en œuvre selon les règles suivantes:
*
* (1) Toutes les voyelles sont codés de la même valeur 'A'. Si le paramètre encodeVowels
* est définie sur false, seulement initiale voyelles sera encodé à tous. Si encodeVowels est réglé
* true, 'A' sera encodé à tous les endroits dans le mot que toutes les voyelles sont normalement
* prononcé. "W" et " Y " sont traités comme des voyelles. Bien qu'il existe des différences dans
* la prononciation de " W " et " Y " dans des circonstances différentes qui conduisent à leur
* classés comme des voyelles, dans certaines circonstances, et que les consonnes dans les autres, pour les fins de
* du 'flou' élément de la Soundex et Metaphone famille d'algorithmes ils
* toujours être traité ici comme des voyelles.
*
* (2) Exprimées et non exprimées consonne paires sont mappés à la même valeur codée. Cette
* signifie que:
* 'D' et 'T' -> 'T'
* "B" et "P' -> 'P'
* "G" et " K " - > 'K'
* "Z" et " S " - > 'S'
* 'V' et 'F' -> 'F'
*
* En plus de ce qui précède voisé/non vocales règles, les " CH " et " SH "- > " X " où "X"
* représente le "-SH-" et "-CH-" sons dans Metaphone 3 codage.
Puisque l'auteur (Laurent Philips) a décidé de commercialiser l'algorithme lui-même, il est plus que probable que vous ne trouverez pas de description. Le bon endroit pour poser serait la liste de diffusion: https://lists.sourceforge.net/lists/listinfo/aspell-metaphone
eh bien, ce n'est pas la réponse que j'espérais, mais puisque vous avez réussi à trouver une (légitime) lien vers le code source, je dois vous accorder que la générosité 🙂 je ne suis pas sûr de savoir pourquoi le code source est à vendre si il est aussi disponible gratuitement (légalement), mais depuis le bounty expire dans 10 min. je devrais comprendre tout ça plus tard, et pour vous le! 🙂 en seconde opinion, il semble que le code source libre lié à la réponse est complet et fonctionnel, et très bien documenté suffisante pour être un algorithme précis, si ce n'est une réponse parfaite et définitivement acquis le bounty! 🙂 Vous êtes les bienvenus! La page liée est en demande d'abonnement, je me suis abonné et clique ensuite sur l'archive, mais il dit qu'il est limité. Pouvez-vous svp me dire comment obtenir le code ou de partager le "code source libre" ici, vous allez: code.google.com/p/google-refine/source/browse/trunk/main/src/... -- ce lien était dans l'original de la réplique et est complètement légitime (donné sous licence BSD) mais de toute façon l'auteur est d'amener d'autres personnes à supprimer le lien de la réponse. voir le "modifications" et vous trouverez le lien dans la réponse originale à cette question. PAS COOL!
Metaphone est un algorithme phonétique, un algorithme publié en 1990 pour l'indexation des mots par leur prononciation en anglais. Fondamentalement, améliore l'algorithme Soundex en utilisant des informations sur les variations et les incohérences dans l'orthographe de l'anglais et la prononciation pour produire une mesure plus précise de l'encodage, ce qui fait un meilleur travail de correspondance des mots et des noms qui ressemblent [...]
Metaphone 3 spécifiquement
[...] permet d'atteindre une précision d'environ 99% pour les mots anglais, les non-anglais des mots familiers pour les Américains, et les prénoms et noms de famille couramment trouvés dans les États-unis, ayant été élaboré en fonction de l'ingénierie moderne normes contre un harnais de test de corriger les codages.
Le Metaphone algorithme fonctionne en enlevant d'abord les non-anglais des lettres et des caractères du mot en cours de traitement. Ensuite, toutes les voyelles sont également écartées, sauf si le mot commence par une voyelle initiale, auquel cas toutes les voyelles sauf le premier sont rejetés. Enfin, tous consonents et des groupes de consonents sont mappés à leur Metaphone code. Les règles de regroupement des consonnes et des groupes de celui-ci puis de la cartographie pour metaphone codes sont assez complexes; pour une liste complète de ces conversions découvrez les commentaires dans le code source de l'article.
Maintenant, sur votre réel question:
Si vous êtes intéressé dans les détails de la Metaphone 3 de l'algorithme, je pense que vous êtes hors de la chance (à court d'acheter le code source, de la compréhension et de re-créer sur votre propre): le point de l'ensemble de pas faire de l'algorithme (dont la source que vous pouvez acheter est une instance publique, c'est que vous ne pouvez pas recréer sans payer de l'auteur pour leur effort de développement (la "algorithme précis" que vous cherchez est équivalent à fournir le code lui-même). Examiner les citations ci-dessus: le développement de l'algorithme participé à un "atelier de test de [...] les codages". Sauf si vous arrive d'avoir un tel harnais de test ou sont en mesure d'en créer un, vous ne serez pas en mesure de reproduire l'algorithme.
D'autre part, les mises en œuvre des deux premières itérations (Metaphone et Double Metaphone) sont librement disponibles (ci-dessus lien Wikipédia contient un score de liens vers des mises en œuvre dans différentes langues pour les deux), ce qui signifie que vous avez un bon point de départ dans la compréhension de ce que l'algorithme est d'environ exactement, puis l'améliorer comme bon vous semble (par exemple, en créant et en utilisant un harnais de test).
Depuis que le code des coûts de $40.00 à partir de Amorphics, il est très loin d'être outrageusement cher. Les termes de la licence interdire la redistribution du code source; si vous trouvez le code source sur le web, il n'est probablement pas obtenu illégalement. Vous pouvez cependant créer un logiciel à l'aide du code source et de distribuer les programmes compilés sans trop de restrictions. IANAL; c'est mon interprétation rapide de ce qu'il dit sur la licence de page un lien sur l'URL. l'incitation pour le vendeur est de rendre la source difficile à comprendre, de sorte que le vendeur pourrait aussi bien être la vente de fichiers binaires. j'hésite à dépenser de l'argent sur les logiciels à code source fermé. je n'ai pas encore rencontrer raisonnable code source à partir de laquelle un algorithme ne peut pas être dérivée. si c'est une machine appris de source puis la sauce secrète est un tas de fonctionnalité de poids, ce qui serait trivial pour extraire à moins que la source est obscurci. de toute façon, c'est un conflit moyen de distribution de la source, et donc ma demande pour l'algorithme lui-même. Je havenot lire le CLUF, mais je peux imaginer qu'il interdit à toute personne d'avoir la source pour le distribuer. De sorte que vous ne sera pas obtenir une réponse de gens qui ont de la source. Ceux qui n'ont pas la source ne sera pas en mesure de vous répondre parce que de ce que j'ai indiqué dans ma réponse. De sorte que votre seule option semble pour acheter de la source vous-même. Mais pourquoi voulez-vous le Metaphone 3 en particulier? Ne pourriez-vous pas utiliser les deux autres, librement disponibles les versions, aussi bien? J'ai dit expressément dans la générosité que je ne suis pas à la recherche pour le code. Il n'y a pas de raison qu'un algorithme ne peut pas être décrit, alors je crois que vous êtes mal que je ne peut pas obtenir une réponse de ceux qui en sont la source. Voir mon commentaire précédent concernant la qualité de la source. Oui, je peux et je vais tomber en arrière, mais je pensais que c'est mal d'avoir de la collectivité en général être refusé à un algorithme (pas de code). Prenez un moment pour penser à la plupart des autres algorithmes de l'industrie et de voir comment s'est-elle répandue à l'algorithme d'être supprimé. Par exemple, prendre le meilleur optimiseur de requête, la source peut être restreint, mais l'algorithme n'est pas.
Fait Metaphone3 est un algorithme avec de nombreuses règles très précises d'être à la suite de quelques cas de test de l'analyse. Il n'est donc pas seulement un pur algorithme, mais il est livré avec un supplément de connaissances du domaine. Pour obtenir ces connaissances et les règles spécifiques à l'auteur pour mettre en beaucoup d'efforts. C'est pourquoi cet algorithme n'est pas open-source.
Le lien par @Bo désigne maintenant (maintenant defucnt) projet de code source complet.
Donc voici le nouveau lien direct avec le lien vers le code Source pour Metaphone 3
https://searchcode.com/codesearch/view/2366000/
par Laurent Philips
*
* Metaphone 3 est conçue pour retourner un approximative phonétique clé (et un autre
* phonétique approximative de la clé lorsque cela est approprié) qui doit être le même pour l'anglais
* les mots, et la plupart des noms familiers aux États-unis, qui sont prononcées de même.
* La valeur de la clé est pas destiné à être un exacte phonétique, ou même phonémique,
* représentation de la parole. C'est parce qu'un certain degré de 'flou' a
* prouvé pour être utile à compenser les variations de prononciation, ainsi que
* mal à la prononciation. Par exemple, bien que les américains ne sont généralement pas au courant de cela,
* la lettre " s "est normalement prononcé" z " à la fin des mots tels que "sons".
*
* Le "approximative" de l'encodage est mise en œuvre selon les règles suivantes:
*
* (1) Toutes les voyelles sont codés de la même valeur 'A'. Si le paramètre encodeVowels
* est définie sur false, seulement initiale voyelles sera encodé à tous. Si encodeVowels est réglé
* true, 'A' sera encodé à tous les endroits dans le mot que toutes les voyelles sont normalement
* prononcé. "W" et " Y " sont traités comme des voyelles. Bien qu'il existe des différences dans
* la prononciation de " W " et " Y " dans des circonstances différentes qui conduisent à leur
* classés comme des voyelles, dans certaines circonstances, et que les consonnes dans les autres, pour les fins de
* du 'flou' élément de la Soundex et Metaphone famille d'algorithmes ils
* toujours être traité ici comme des voyelles.
*
* (2) Exprimées et non exprimées consonne paires sont mappés à la même valeur codée. Cette
* signifie que:
* 'D' et 'T' -> 'T'
* "B" et "P' -> 'P'
* "G" et " K " - > 'K'
* "Z" et " S " - > 'S'
* 'V' et 'F' -> 'F'
*
* En plus de ce qui précède voisé/non vocales règles, les " CH " et " SH "- > " X " où "X"
* représente le "-SH-" et "-CH-" sons dans Metaphone 3 codage.
OriginalL'auteur Adarsh Madrecha
Puisque l'auteur (Laurent Philips) a décidé de commercialiser l'algorithme lui-même, il est plus que probable que vous ne trouverez pas de description. Le bon endroit pour poser serait la liste de diffusion: https://lists.sourceforge.net/lists/listinfo/aspell-metaphone
mais vous pouvez aussi regarder le code source (c'est à dire les commentaires dans le code) afin de comprendre comment l'algorithme fonctionne:
http://code.google.com/p/google-refine/source/browse/trunk/main/src/com/google/refine/clustering/binning/Metaphone3.java?r=2029
en seconde opinion, il semble que le code source libre lié à la réponse est complet et fonctionnel, et très bien documenté suffisante pour être un algorithme précis, si ce n'est une réponse parfaite et définitivement acquis le bounty! 🙂
Vous êtes les bienvenus!
La page liée est en demande d'abonnement, je me suis abonné et clique ensuite sur l'archive, mais il dit qu'il est limité. Pouvez-vous svp me dire comment obtenir le code ou de partager le "code source libre"
ici, vous allez: code.google.com/p/google-refine/source/browse/trunk/main/src/... -- ce lien était dans l'original de la réplique et est complètement légitime (donné sous licence BSD) mais de toute façon l'auteur est d'amener d'autres personnes à supprimer le lien de la réponse. voir le "modifications" et vous trouverez le lien dans la réponse originale à cette question. PAS COOL!
OriginalL'auteur Bo.
De Wikipédia, l' Algorithme Metaphone est
Metaphone 3 spécifiquement
La vue d'ensemble de l'algorithme est:
Maintenant, sur votre réel question:
Si vous êtes intéressé dans les détails de la Metaphone 3 de l'algorithme, je pense que vous êtes hors de la chance (à court d'acheter le code source, de la compréhension et de re-créer sur votre propre): le point de l'ensemble de pas faire de l'algorithme (dont la source que vous pouvez acheter est une instance publique, c'est que vous ne pouvez pas recréer sans payer de l'auteur pour leur effort de développement (la "algorithme précis" que vous cherchez est équivalent à fournir le code lui-même). Examiner les citations ci-dessus: le développement de l'algorithme participé à un "atelier de test de [...] les codages". Sauf si vous arrive d'avoir un tel harnais de test ou sont en mesure d'en créer un, vous ne serez pas en mesure de reproduire l'algorithme.
D'autre part, les mises en œuvre des deux premières itérations (Metaphone et Double Metaphone) sont librement disponibles (ci-dessus lien Wikipédia contient un score de liens vers des mises en œuvre dans différentes langues pour les deux), ce qui signifie que vous avez un bon point de départ dans la compréhension de ce que l'algorithme est d'environ exactement, puis l'améliorer comme bon vous semble (par exemple, en créant et en utilisant un harnais de test).
l'incitation pour le vendeur est de rendre la source difficile à comprendre, de sorte que le vendeur pourrait aussi bien être la vente de fichiers binaires. j'hésite à dépenser de l'argent sur les logiciels à code source fermé. je n'ai pas encore rencontrer raisonnable code source à partir de laquelle un algorithme ne peut pas être dérivée. si c'est une machine appris de source puis la sauce secrète est un tas de fonctionnalité de poids, ce qui serait trivial pour extraire à moins que la source est obscurci. de toute façon, c'est un conflit moyen de distribution de la source, et donc ma demande pour l'algorithme lui-même.
Je havenot lire le CLUF, mais je peux imaginer qu'il interdit à toute personne d'avoir la source pour le distribuer. De sorte que vous ne sera pas obtenir une réponse de gens qui ont de la source. Ceux qui n'ont pas la source ne sera pas en mesure de vous répondre parce que de ce que j'ai indiqué dans ma réponse. De sorte que votre seule option semble pour acheter de la source vous-même. Mais pourquoi voulez-vous le Metaphone 3 en particulier? Ne pourriez-vous pas utiliser les deux autres, librement disponibles les versions, aussi bien?
J'ai dit expressément dans la générosité que je ne suis pas à la recherche pour le code. Il n'y a pas de raison qu'un algorithme ne peut pas être décrit, alors je crois que vous êtes mal que je ne peut pas obtenir une réponse de ceux qui en sont la source. Voir mon commentaire précédent concernant la qualité de la source.
Oui, je peux et je vais tomber en arrière, mais je pensais que c'est mal d'avoir de la collectivité en général être refusé à un algorithme (pas de code). Prenez un moment pour penser à la plupart des autres algorithmes de l'industrie et de voir comment s'est-elle répandue à l'algorithme d'être supprimé. Par exemple, prendre le meilleur optimiseur de requête, la source peut être restreint, mais l'algorithme n'est pas.
OriginalL'auteur Attila
Fait Metaphone3 est un algorithme avec de nombreuses règles très précises d'être à la suite de quelques cas de test de l'analyse. Il n'est donc pas seulement un pur algorithme, mais il est livré avec un supplément de connaissances du domaine. Pour obtenir ces connaissances et les règles spécifiques à l'auteur pour mettre en beaucoup d'efforts. C'est pourquoi cet algorithme n'est pas open-source.
Il existe une alternative de toute façon qui est open-source: Double Metaphone.
Voir ici: https://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/language/DoubleMetaphone.html
OriginalL'auteur Krzysztof Tomaszewski