node-postal icon indicating copy to clipboard operation
node-postal copied to clipboard

language_classifier binding

Open jtara1 opened this issue 1 year ago • 0 comments

Build

node-gyp configure
node-gyp build

There shouldn't be any errors.

Test

test.js

const postal = require('./build/Release/language_classifier');

const simpleInputs = [
  'street',
  'calle',
];

// from libpostal address expansion
const inputs = [
  "200 santa monica pier santa monica coahuila 90401 usa",
  "200 santa monica pier santa monica compania 90401 usa",
  "200 santa monica pier santa monica compania anonima 90401 usa",
  "200 santa monica pier santa monica calle 90401 usa",
  "200 santa monica pier santa monica ca 90401 usa",
  "200 santa monica pier santa monica casa 90401 usa",
  "200 santa monica pier santa monica cagliari 90401 usa",
  "200 santa monica pier santa monica california 90401 usa",
  "200 santa monica pier santa monica companhia anonima 90401 usa"
];

for (const input of simpleInputs.concat(inputs)) {
  const result = postal.language_classifier(input);
  console.log(input, result);  
}

const address = "200 santa monica pier santa monica california 90401 usa";
const addressWords = address
  .split(' ')
  // .filter(str => isNaN(parseFloat(str)));

for (const word of addressWords) {
  const result = postal.language_classifier(word);
  console.log(word, result);
}

Test Output Sample

street [ { language: 'en', probability: 0.9975550392228959 } ]
calle [ { language: 'es', probability: 0.9948278315613933 } ]
200 santa monica pier santa monica coahuila 90401 usa [ { language: 'es', probability: 0.9889375382113144 } ]


ERR   Language classification returned NULL
   at libpostal_classify_language (libpostal.c:209) errno: Inappropriate ioctl for device
90401 undefined

jtara1 avatar Jul 01 '23 02:07 jtara1