Commit Graph

5167 Commits

Author SHA1 Message Date
Al
c5ad080fb0 [similarity] moving stopword tokens array to a separate function in acronym token alignments 2017-12-29 02:42:22 -05:00
Al
f1e6886536 [similarity/dedupe] adding options for acronym alignments and address phrase matches in Soft-TFIDF. Acronym alignments will give higher similarity to NYU vs. "New York University" whereas phrase matches would match known phrases that share the same canonical like "Cty Rd" vs. "C.R." vs. "County Road" within the Soft-TFIDF similarity calculation. 2017-12-29 02:39:49 -05:00
Al
24a77ea03f [fix] another valgrind error in counting transposes in our counting affine gap implementation (mixed indices) 2017-12-29 00:04:24 -05:00
Al
cabdbfccd2 [fix] using same order in root expansions 2017-12-28 23:55:41 -05:00
Al
8fd4242eb8 [fix] bug in Jaro distance 2017-12-28 23:54:10 -05:00
Al
b90c3dab4b [similarity/dedupe] adding Soft-TFIDF implementation with several different fallback qualifiers for the max-sim function (Damerau-Levenshtein and libpostal's new bucketed affine gap method for detecting abbreviations), but keeping Jaro-Winkler as the secondary similarity function in the final distance metric. Overall this should results in higher similarity values when one of the tokens may not quite match the pure secondary threshold in terms of Jaro-Winkler but may match on one of the other criteria. 2017-12-28 04:34:46 -05:00
Al
33bb90d94b [utils] adding place.h header, which converts parser-like output into an object that can be used for comparisons. Currently single-value, but could use cstring_arrays for fields instead. 2017-12-27 22:13:04 -05:00
Al
d731339811 [expand] fixing case where too many permutations were getting added for longer strings due to the new-ish ordinal suffix handling, using string_tree_num_tokens instead of string_tree_num_strings throughout to check for previously added words, using new is_likely_roman_numeral API 2017-12-27 21:48:54 -05:00
Al
b4fdc51bf9 [numex] changing is_roman_numeral to is_likely_roman_numeral to get rid of most of the false positives like \"La\" in Spanish which could be L(=50) + the ordinal suffix \"a\", but in practice it never means that. For Roman numerals that are shorter than two characters (whether on their own like "DC" or "MD", or attached to a potential ordinal suffix like \"Ce\" in French), will be ignored unless they're composed of more likely, smaller, Roman numerals: I, V, and X, so VI, IX, etc. are expanded as Roman numerals but LI is not. 2017-12-27 19:38:02 -05:00
Al
b17b2bdcc4 [dictionaries] adding hill/hills to synonyms lists in English. In general any ambiguous street types that can also be part of a core street name can also be stored in synonyms 2017-12-27 19:12:01 -05:00
Al
bb9f6a4c6b Merge branch 'master' into lieu_api 2017-12-26 10:47:29 -05:00
Al Barrentine
1e7cc23b81 Merge pull request #292 from oschwald/greg/fix-leak
Fix leak of normalized value in early return
2017-12-26 10:44:27 -05:00
Gregory Oschwald
1bb6278446 Fix leak of normalized value in early return 2017-12-25 19:33:07 -08:00
Al
2afcd74779 [test] adding E Ctr St tests 2017-12-25 01:38:50 -05:00
Al
152761fcbc [expand] adding improvements to root expansions (using possible phrase roots even if they're abbreviated e.g. "E Ctr St", adding special valid components check for root expansions beyond what's stored in the build address dictionaries), removing spaces before checking unique strings, only splitting numeric from alpha in the case of non-ordinals, using cstring_array internally and char ** in the public API 2017-12-25 01:37:42 -05:00
Al
b4ce042f80 [dictionaries] removing ave/avens/aves from ambiguous 2017-12-25 00:29:52 -05:00
Al
a3f39be0d4 [fix] reverting gazetteer changes as it would affect the parser features as well and require retraining 2017-12-24 23:51:35 -05:00
Al
acbebc9ecf [build] adding new source files for near dupe hashing and the command-line program to the Makefile 2017-12-24 12:44:10 -05:00
Al
f3a626463a [api] adding API functions for near dupe hashes to the public header 2017-12-24 12:43:28 -05:00
Al
8b75c44026 [dedupe] adding a test program for near dupe hashing that simply prints out the results. Automated tests in the works 2017-12-24 12:41:44 -05:00
Al
acfdb50d7c [dedupe] adding near-dupe hashing function, which can be thought of as the blocking function in record linkage or as a form of locally sensitive hashing in general document deduping. The goal is, if two addresses/names are the same, they should share at least one hash. These hashes can also be used as an inverted index (DB, ES, hashtable, etc.). Uses the double metaphone for name words in Latin script (otherwise each individual token, and sequences of two tokens in the case of ideograms for e.g. Chinese, Japanese, Korean, etc.) 2017-12-24 02:47:45 -05:00
Al
6c6e5062e0 [gazetteers] removing stopwords, etc. from numeric type components, adding street type expansions to name components 2017-12-24 02:19:41 -05:00
Al
c78566c241 [utils] adding cstring_array_extend and string_tree_clear 2017-12-24 01:46:20 -05:00
Al
4e3d868bd0 [parser] adding label constants to address_parser header 2017-12-24 01:45:50 -05:00
Al
3e554b8033 [dictionaries] adding ambiguous expansions in English 2017-12-24 00:53:24 -05:00
Al
03c89bcf3c [dictionaries] adding "a" to English stopwords, "service" and "services" to English place names 2017-12-23 19:49:05 -05:00
Al
1fd5433bc5 [dictionaries] adding associates/association to company types 2017-12-23 19:36:03 -05:00
Al
7d42c94b19 [dictionaries] adding "for" to English stopword dictionaries 2017-12-23 18:14:14 -05:00
Al
dfc9064b0f [dictionaries] adding Stores to place names dictionary 2017-12-23 18:13:46 -05:00
Al
e432243256 [dictionaries] adding "7 11" as a name for 7-eleven, even though it's completely numeric. Only affects the house/name component in deduping, so should be fine 2017-12-19 15:11:47 -05:00
Al
d03ce4e058 [expand] remove blank expansions and strip spaces 2017-12-18 18:17:16 -05:00
Al Barrentine
66b32ee377 Merge pull request #289 from AeroXuk/FixWindowsLog
Removing console colors for Windows builds
2017-12-18 17:42:33 -05:00
AeroXuk
f6157224ed Removing console colors for Windows builds. 2017-12-18 18:33:50 +00:00
Al
ff3c7ab3b6 [test] PO box expansion tests 2017-12-17 22:12:37 -05:00
Al
f63a9cc579 [expand] adding number phrases as ignorable in PO boxes 2017-12-17 22:12:12 -05:00
Al
27f4eb2721 [test] unit expansion tests 2017-12-17 22:01:30 -05:00
Al
f7326e52f6 [test] level expansion tests 2017-12-17 22:00:03 -05:00
Al
727469b736 [expand] no longer delete phrases in cases like "PH 1" for units, where there's a phrase that can accompany numbered units and thus be ignored similar to "Apt 1" but that phrase may also be a qualifier (i.e. Apt 1 and Penthouse 1 are not the same) 2017-12-17 21:57:25 -05:00
Al
1d22da603f [test] house number expansion tests 2017-12-17 20:17:28 -05:00
Al
bfdb6b8f87 [test] adding header to fix warning 2017-12-17 20:17:01 -05:00
Al
26a6d9684d [test] adding tests for root-only expansions. Mostly English tests for the moment to deal with the various edge cases, but is also important for Spanish where "Calle" is so common that it's often omitted, same with French and "rue", etc. 2017-12-17 20:00:48 -05:00
Al
a1db4d7734 [expand/normalize] the split_alpha_from_numeric option now applies to both e.g. A1 and 1A since we now strip out ordinal suffixes prior to normalization 2017-12-17 19:53:15 -05:00
Al
8b2a4d1ecf [api] adding libpostal_expand_address_root to the public API. This will attempt to delete tokens that can be safely ignored. It's deterministic and rule-based, but is informed by libpostal's fairly comprehensive dictionaries, and should work relatively well across languages for deduping purposes. 2017-12-17 17:46:26 -05:00
Al
9eef46adee [expand] in cases like "Avenue D" where there are two phrases, one is ambiguous (and canonical) but not necessarily edge-ignorable (pre/post-directional), allow deletion of the other token (so "Avenue" in this case). Also allows skipping in cases where the language classifier may predict a second language with some small probability, such as French for a short string like "Avenue D" (in addition to English). If the token was ignorable in the highest probability language, ignore it in both. 2017-12-17 17:24:27 -05:00
Al
3f7abd5b24 [expand] adding a method that allows hash/equality comparisons of addresses like "100 Main" with "100 S Main St." or units like "Apt 101" vs. "#101". Instead of expanding the phrase abbreviations, this version tries its best to delete all but the root words in a string for a specific component. It's probably not perfect, but does handle a number of edge cases related to pre/post directionals in English e.g. "E St" will have a root word of simply "E", "Avenue E" => "E", etc. Also handles a variety of cases where the phrase could be a thoroughfare type but is really a root word such as "Park Pl" or the famous "Avenue Rd". This can be used for near dupe hashing to catch possible dupes for later analysis. Note that it will normalize "St Marks Pl" and "St Marks Ave" to the same thing, which is sometimes warranted (if the user typed the wrong thoroughfare), but can also be reconciled at deduping time. 2017-12-17 15:48:11 -05:00
Al
d0364ab6fb [expand] adding method for checking phrase is in multiple dictionaries, and a helper method for determining whether an address phrase has a canonical interpretation 2017-12-17 03:14:00 -05:00
Al
272ee3b965 [dictionaries] adding a few more ambiguous expansions in English 2017-12-17 03:11:46 -05:00
Travis
e1d89b5d62 [auto][ci skip] Adding data files from Travis build #323 2017-12-12 14:57:29 +00:00
Al Barrentine
22ee778c8c Merge pull request #285 from dmvianna/master
melbourne city toponym
2017-12-12 09:44:49 -05:00
Daniel Vianna
daa9cb2896 melbourne city toponym 2017-12-12 09:33:44 +11:00