Связывание файлов с тегами Named-Entity Recognition с картами Google с помощью API геокодирования Google - PullRequest
2 голосов
/ 22 марта 2011

У меня есть текстовые файлы, которые помечены с помощью NER, и мне нужно связать их с картой Google.

<p>Gardai|NNP|O fear|VBP|O a|DT|O 28-year-old|JJ|O man|NN|O ,|,|O missing|VBG|O from|IN|O his|PRP$|O Dublin|NNP|I-PER home|NN|O for|IN|O a|DT|I-DAT week|NN|I-DAT

Хотя местоположения помечены неправильно, т.е.Дублин помечен как человек, я хочу использовать API геокодирования Google, чтобы указать местоположение, которое помечено как помеченное NER, и найти местоположение!

Возможно ли это?

Iнамеревался создать регулярное выражение для извлечения любой информации, которая помечена как местоположение, организация или человек, и передать ее Google и посмотреть, есть ли у нее координаты широты и долготы, которые ей соответствуют.Или возьмите 2-3 слова подряд, помеченные как NER, и добавьте их как полный адрес.

Я просто не уверен, как на самом деле передать эту информацию Google!?

Затем я собираюсь использовать ответ Json, чтобы связать текстовый файл с картой, используя сопоставленный адрес Google Geocoder.

Буду очень признателен за любые идеи или идеи!Спасибо

1 Ответ

1 голос
/ 23 марта 2011

Вы можете использовать Функция разделения JavaScript , чтобы получить данные с разделителем | и превратить данные в массив.Скажем, если ваши данные в этом HTML-формате:

<p id='data'>Gardai|NNP|O fear|VBP|O a|DT|O 28-year-old|JJ|O man|NN|O ,|,|O missing|VBG|O from|IN|O his|PRP$|O Dublin|NNP|I-PER home|NN|O for|IN|O a|DT|I-DAT week|NN|I-DAT</p>

Чтобы получить данные с разделителем |, вы можете сделать следующее с помощью JavaScript:

function parseDataGeocode() {
    var mydata = document.getElementById('data').innerHTML;
    mydata = mydata.split('|');
    var locationIndexMod = 3; //this determines which element to pull from the array
    for (var i = 0; i < mydata.length; i++) {
        if (i % locationIndexMod == 0) {
            console.log(mydata[i]); //hopefully it's a location
            //do your marker creation after fetch Geocode Lat Lng
            //with mydata[i] as the location/address
        }
    }
}

window.onload = parseDataGeocode;

Здесь JSFiddle Demo .Используя Firebug в Firefox или консольном инструменте Google Chrome, вы можете увидеть вывод данных, и если вам нужна помощь с созданием маркеров и геокодирования, пожалуйста, дайте мне знать.

...