2

我有使用 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 来输入被识别为 NER 标记的位置并找到该位置!

这可能吗?

我正在考虑创建一个正则表达式来提取任何标记为位置、组织或人员的信息,并将其提供给 Google,看看它是否具有与之对应的纬度和经度坐标。或者取一行中标记为 NER 的 2-3 个单词并将它们添加为整个地址。

我只是不确定我实际上是如何将这些信息提供给谷歌的!?

然后,我将使用 Json 响应,使用 Google Geocoder 匹配的地址将文本文件链接到地图。

任何见解或想法将不胜感激!谢谢

4

1 回答 1

1

您可以使用JavaScript 的 Split 函数来获取带有分隔符|的数据并将数据转换为数组。假设您的数据是这种 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 演示。在 firefox 或 google chrome 的控制台工具上使用 firebug,您可以看到数据输出,如果您在创建标记和地理编码方面需要帮助,请告诉我。

于 2011-03-23T14:37:03.573 回答