{"id":17914218,"url":"https://github.com/knadh/mlphone","last_synced_at":"2025-03-23T23:30:46.435Z","repository":{"id":5967689,"uuid":"7189237","full_name":"knadh/mlphone","owner":"knadh","description":" MLphone (Python, PHP) is a phonetic algorithm for indexing Malayalam words by their pronounciation, like Metaphone for English. The algorithm generates three Romanized phonetic keys (hashes) of varying phonetic proximities for a given Malayalam word.","archived":false,"fork":false,"pushed_at":"2020-09-17T18:05:29.000Z","size":8,"stargazers_count":31,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-19T00:18:02.980Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knadh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-16T09:39:09.000Z","updated_at":"2025-03-14T18:19:05.000Z","dependencies_parsed_at":"2022-07-21T12:18:08.260Z","dependency_job_id":null,"html_url":"https://github.com/knadh/mlphone","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knadh%2Fmlphone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knadh%2Fmlphone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knadh%2Fmlphone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knadh%2Fmlphone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knadh","download_url":"https://codeload.github.com/knadh/mlphone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245186440,"owners_count":20574551,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T19:56:54.015Z","updated_at":"2025-03-23T23:30:46.131Z","avatar_url":"https://github.com/knadh.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MLphone (Python, PHP)\nMLphone is a phonetic algorithm for indexing Malayalam words by their pronunciation, like Metaphone for English. The algorithm generates three Romanized phonetic keys (hashes) of varying phonetic affinities for a given Malayalam word.\n\nFull documentation: http://nadh.in/code/mlphone\n\nLicensed under GNU GPL v2 license.\n\n# Intro\nMLphone is a phonetic algorithm for indexing Malayalam words by their pronunciation,\nlike Metaphone for English. The algorithm generates three Romanized phonetic keys (hashes) of varying\nphonetic affinities for a given Malayalam word.\n\nThe\talgorithm takes into account the context sensitivity of sounds, syntactic and\nphonetic gemination, compounding, modifiers, and other known exceptions to produce\nRomanized phonetic hashes of increasing phonetic affinity that are very faithful\nto the pronunciation of the original Malayalam word.\n\n\u003cul\u003e\n\t\u003cli\u003ekey0 =\ta broad phonetic hash comparable to a Metaphone key that\n\t\t\tdoesn't account for hard sounds (ഷ, ണ..) or phonetic modifiers\u003c/li\u003e\n\n\t\u003cli\u003ekey1 =\tis a slightly more inclusive hash that accounts for hard sounds\u003c/li\u003e\n\n\t\u003cli\u003ekey2 =\thighly inclusive and narrow hash that accounts for hard sounds\n\t\t\tand phonetic modifiers\u003c/li\u003e\n\u003c/ul\u003e\n\nMLphone was created to aid spelling tolerant Malayalam word search, but may \nbe useful in tasks like spell checking, word suggestion etc.\n\n# Examples\n\u003ctable width=\"100%\" cellspacing=\"0\" class=\"list\"\u003e\n\t\u003cthead\u003e\n\t\t\u003ctd\u003eWord\u003c/td\u003e\n\t\t\u003ctd\u003ekey0\u003c/td\u003e\n\t\t\u003ctd\u003ekey1\u003c/td\u003e\n\t\t\u003ctd\u003ekey2\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eTransliteration\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eMetaphone\u003c/td\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eനീലക്കുയില്‍\u003c/td\u003e\n\t\t\u003ctd\u003eNLKYL\u003c/td\u003e\n\t\t\u003ctd\u003eNLKYL\u003c/td\u003e\n\t\t\u003ctd\u003eN4LK25Y4L\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eNeelakkuyil‍\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eNLKYL\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eമൃഗം\u003c/td\u003e\n\t\t\u003ctd\u003eMRK3\u003c/td\u003e\n\t\t\u003ctd\u003eMRK3\u003c/td\u003e\n\t\t\u003ctd\u003eMRK3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eMrugam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eMRKM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eമ്രിഗം\u003c/td\u003e\n\t\t\u003ctd\u003eMRK3\u003c/td\u003e\n\t\t\u003ctd\u003eMRK3\u003c/td\u003e\n\t\t\u003ctd\u003eMRK3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eMrigam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eMRKM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eഉത്സവം\u003c/td\u003e\n\t\t\u003ctd\u003eU0SV3\u003c/td\u003e\n\t\t\u003ctd\u003eU0SV3\u003c/td\u003e\n\t\t\u003ctd\u003eU0SV3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eUthsavam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eU0SFM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eഉല്‍സവം\u003c/td\u003e\n\t\t\u003ctd\u003eU0SV3\u003c/td\u003e\n\t\t\u003ctd\u003eU0SV3\u003c/td\u003e\n\t\t\u003ctd\u003eU0SV3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eUl‍savam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eULSFM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eവാഹനം\u003c/td\u003e\n\t\t\u003ctd\u003eVHN3\u003c/td\u003e\n\t\t\u003ctd\u003eVHN3\u003c/td\u003e\n\t\t\u003ctd\u003eVHN3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eVaahanam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eFHNM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eവിഹനനം\u003c/td\u003e\n\t\t\u003ctd\u003eVHNN3\u003c/td\u003e\n\t\t\u003ctd\u003eVHNN3\u003c/td\u003e\n\t\t\u003ctd\u003eV4HNN3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eVihananam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eFHNNM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eരാഷ്ട്രീയം\u003c/td\u003e\n\t\t\u003ctd\u003eRSTRY3\u003c/td\u003e\n\t\t\u003ctd\u003eRS1TRY3\u003c/td\u003e\n\t\t\u003ctd\u003eRS1TR4Y3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eRaashtreeyam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eRXTRYM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eകണ്ണകി\u003c/td\u003e\n\t\t\u003ctd\u003eKNK\u003c/td\u003e\n\t\t\u003ctd\u003eKNK\u003c/td\u003e\n\t\t\u003ctd\u003eKN2K4\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eKannaki\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eKNK\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eകന്യക\u003c/td\u003e\n\t\t\u003ctd\u003eKNYK\u003c/td\u003e\n\t\t\u003ctd\u003eKNYK\u003c/td\u003e\n\t\t\u003ctd\u003eKNYK\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eKanyaka\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eKNYK\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eമനം\u003c/td\u003e\n\t\t\u003ctd\u003eMN3\u003c/td\u003e\n\t\t\u003ctd\u003eMN3\u003c/td\u003e\n\t\t\u003ctd\u003eMN3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eManam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eMNM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eമണം\u003c/td\u003e\n\t\t\u003ctd\u003eMN3\u003c/td\u003e\n\t\t\u003ctd\u003eMN13\u003c/td\u003e\n\t\t\u003ctd\u003eMN13\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eManam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eMNM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eവിഭക്ത്യാഭാസം\u003c/td\u003e\n\t\t\u003ctd\u003eVBK0YBS3\u003c/td\u003e\n\t\t\u003ctd\u003eVBK0YBS3\u003c/td\u003e\n\t\t\u003ctd\u003eV4BK0YBS3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eVibhakthyaabhaasam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eFBHK0YBHSM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eവലയം\u003c/td\u003e\n\t\t\u003ctd\u003eVLY3\u003c/td\u003e\n\t\t\u003ctd\u003eVLY3\u003c/td\u003e\n\t\t\u003ctd\u003eVLY3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eValayam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eFLYM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eവളയം\u003c/td\u003e\n\t\t\u003ctd\u003eVLY3\u003c/td\u003e\n\t\t\u003ctd\u003eVL1Y3\u003c/td\u003e\n\t\t\u003ctd\u003eVL1Y3\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eValayam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eFLYM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eരഥം\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eRatham\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eR0M\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eരദം\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eRadam\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eRTM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eരത്തം\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eRattham\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eRTM\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003eരധം\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd\u003eR03\u003c/td\u003e\n\t\t\u003ctd class=\"en\"\u003eRadham\u003c/td\u003e\n\t\t\u003ctd class=\"meta\"\u003eRTHM\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\n# Usage\nThe algorithm's available in Python and PHP\n\n\n### Python\n```python\nfrom mlphone import MLphone\n\nconverter = MLphone()\nkeys = converter.compute(ml_str)\n```\n\n### PHP\n```php\n\u003c?php\n\trequire 'mlphone.php';\n\n\t$keys = MLphone::compute($ml_str);\n?\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknadh%2Fmlphone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknadh%2Fmlphone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknadh%2Fmlphone/lists"}