MXNM (multicultural name comparison function)

The MXNM comparison function is used to compare personal names from non-Latin languages where the characters might have multiple pronunciations. Like other XNM comparison functions, MXNM uses cmpargs to specify the type of phonetic function to be applied.

Number of roles
1
Weight table
mpi_wgtsval, mpi_wgthead
Other tables
mpi_cmpspec, mpi_strequi (NICKNAME), mpi_cmphead

The MXNM comparison function compares the two strings in an iterative manner, first looping through one of the compare strings and then through the other. The tokens are compared against one another during each iteration.

The result of each token match can be one of the following options.
  • Initial match
  • Partial match
  • Exact match
  • Phonetic match
  • Nickname match
  • Total name mismatch

If the two tokens are in the same place in both comparison strings, the weight is increased by a factor of 20. If they are off by one position, it is increased by 10. If not, the weight is retained as is. The name weight is then the sum of the individual weight token comparisons.

MXNM parameters

There are two types of parameters that are used by MXNM. The first set of parameters are used during the comparison step of weight generation. The second set of parameters use the outputs from weight generation and are used during the actual data comparison to determine a final score.

The following two parameters are used for position bonus in the mpi_wgtsval table.
  • __POSITION_EXACT /*  (two tokens match exactly and are in the same position, the default is 20 */)
  • __POSITION_ADJ /* (two tokens are off by one position, the default is 10 */)

Comparison parameters

The following partial string match parameters are used for penalties in the comparison to determine the final score.
  • __INITIAL_ADJWGT
  • __INITIAL_MINWGT
  • __INITIAL_MAXWGT
  • __NICKNAME_ADJWGT
  • __NICKNAME_MINWGT
  • __NICKNAME_MAXWGT
  • __PHONETIC_ADJWGT
  • __PHONETIC_MINWGT
  • __PHONETIC_MAXWGT