[api] adding pairwise-dupe functions/structs to the public header
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include "address_dictionary.h"
|
#include "address_dictionary.h"
|
||||||
#include "address_parser.h"
|
#include "address_parser.h"
|
||||||
|
#include "dedupe.h"
|
||||||
#include "expand.h"
|
#include "expand.h"
|
||||||
|
|
||||||
#include "language_classifier.h"
|
#include "language_classifier.h"
|
||||||
@@ -108,6 +109,47 @@ char **libpostal_place_languages(size_t num_components, char **labels, char **va
|
|||||||
return languages;
|
return languages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_t libpostal_is_name_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options) {
|
||||||
|
return is_name_duplicate(value1, value2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_t libpostal_is_street_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options) {
|
||||||
|
return is_street_duplicate(value1, value2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_t libpostal_is_house_number_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options) {
|
||||||
|
return is_house_number_duplicate(value1, value2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_t libpostal_is_po_box_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options) {
|
||||||
|
return is_po_box_duplicate(value1, value2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_t libpostal_is_unit_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options) {
|
||||||
|
return is_unit_duplicate(value1, value2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_t libpostal_is_floor_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options) {
|
||||||
|
return is_floor_duplicate(value1, value2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_t libpostal_is_postal_code_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options) {
|
||||||
|
return is_postal_code_duplicate(value1, value2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_t libpostal_is_toponym_duplicate(size_t num_components1, char **labels1, char **values1, size_t num_components2, char **labels2, char **values2, libpostal_duplicate_options_t options) {
|
||||||
|
return is_toponym_duplicate(num_components1, labels1, values1, num_components2, labels2, values2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_similarity_t libpostal_is_name_duplicate_fuzzy(size_t num_tokens1, char **tokens1, double *token_scores1, size_t num_tokens2, char **tokens2, double *token_scores2, libpostal_duplicate_similarity_options_t options) {
|
||||||
|
return is_name_duplicate_fuzzy(num_tokens1, tokens1, token_scores1, num_tokens2, tokens2, token_scores2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
libpostal_duplicate_status_similarity_t libpostal_is_street_duplicate_fuzzy(size_t num_tokens1, char **tokens1, double *token_scores1, size_t num_tokens2, char **tokens2, double *token_scores2, libpostal_duplicate_similarity_options_t options) {
|
||||||
|
return is_street_duplicate_fuzzy(num_tokens1, tokens1, token_scores1, num_tokens2, tokens2, token_scores2, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void libpostal_address_parser_response_destroy(libpostal_address_parser_response_t *self) {
|
void libpostal_address_parser_response_destroy(libpostal_address_parser_response_t *self) {
|
||||||
if (self == NULL) return;
|
if (self == NULL) return;
|
||||||
|
|
||||||
|
|||||||
@@ -200,6 +200,47 @@ LIBPOSTAL_EXPORT char **libpostal_near_dupe_hashes_languages(size_t num_componen
|
|||||||
|
|
||||||
LIBPOSTAL_EXPORT char **libpostal_place_languages(size_t num_components, char **labels, char **values, size_t *num_languages);
|
LIBPOSTAL_EXPORT char **libpostal_place_languages(size_t num_components, char **labels, char **values, size_t *num_languages);
|
||||||
|
|
||||||
|
// Pairwise dupe methods
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
LIBPOSTAL_NULL_DUPLICATE_STATUS = -1,
|
||||||
|
LIBPOSTAL_NON_DUPLICATE = 0,
|
||||||
|
LIBPOSTAL_POSSIBLE_DUPLICATE_NEEDS_REVIEW = 3,
|
||||||
|
LIBPOSTAL_LIKELY_DUPLICATE = 6,
|
||||||
|
LIBPOSTAL_EXACT_DUPLICATE = 9,
|
||||||
|
} libpostal_duplicate_status_t;
|
||||||
|
|
||||||
|
typedef struct libpostal_duplicate_options {
|
||||||
|
size_t num_languages;
|
||||||
|
char **languages;
|
||||||
|
} libpostal_duplicate_options_t;
|
||||||
|
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_t libpostal_is_name_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options);
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_t libpostal_is_street_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options);
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_t libpostal_is_house_number_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options);
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_t libpostal_is_po_box_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options);
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_t libpostal_is_unit_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options);
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_t libpostal_is_floor_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options);
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_t libpostal_is_postal_code_duplicate(char *value1, char *value2, libpostal_duplicate_options_t options);
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_t libpostal_is_toponym_duplicate(size_t num_components1, char **labels1, char **values1, size_t num_components2, char **labels2, char **values2, libpostal_duplicate_options_t options);
|
||||||
|
|
||||||
|
// Pairwise fuzzy dupe methods, return status & similarity
|
||||||
|
|
||||||
|
typedef struct libpostal_duplicate_similarity_options {
|
||||||
|
size_t num_languages;
|
||||||
|
char **languages;
|
||||||
|
double needs_review_threshold;
|
||||||
|
double likely_dupe_threshold;
|
||||||
|
} libpostal_duplicate_similarity_options_t;
|
||||||
|
|
||||||
|
typedef struct libpostal_duplicate_status_similarity {
|
||||||
|
libpostal_duplicate_status_t status;
|
||||||
|
double similarity;
|
||||||
|
} libpostal_duplicate_status_similarity_t;
|
||||||
|
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_similarity_t libpostal_is_name_duplicate_fuzzy(size_t num_tokens1, char **tokens1, double *token_scores1, size_t num_tokens2, char **tokens2, double *token_scores2, libpostal_duplicate_similarity_options_t options);
|
||||||
|
LIBPOSTAL_EXPORT libpostal_duplicate_status_similarity_t libpostal_is_street_duplicate_fuzzy(size_t num_tokens1, char **tokens1, double *token_scores1, size_t num_tokens2, char **tokens2, double *token_scores2, libpostal_duplicate_similarity_options_t options);
|
||||||
|
|
||||||
// Setup/teardown methods
|
// Setup/teardown methods
|
||||||
|
|
||||||
LIBPOSTAL_EXPORT bool libpostal_setup(void);
|
LIBPOSTAL_EXPORT bool libpostal_setup(void);
|
||||||
|
|||||||
Reference in New Issue
Block a user