Я играл с Google Natural Language API и, в частности, использовал распознавание местоположений для извлечения мест из HN "Who Is Hiring" page. Если я передаю текст, напримерПроблемы с распознаванием местонахождения объектов Google NL
Blockai | Сан-Франциско, Калифорния | CV/ML и грузозахватные Инженеры - https://blockai.com "
(от https://news.ycombinator.com/item?id=12631335)
Тогда NL API возвращает следующие объекты:
Проблема в том, "ML" и" CV «они распознаются как местоположения, но на самом деле они означают« машинное обучение »и« компьютерное зрение »соответственно. Я предполагаю, что алгоритм заключает, что CV/ML - это места, потому что они близки к другим местоположениям (Сан-Франциско, Калифорния) в текст
Мне было интересно, как я могу распознать такие «поддельные» местоположения на выходе API? Я подумал, что, возможно, использование параметра «Salience» поможет, но я не уверен, какое эмпирическое правило было бы подходящим. Я даже нашел API иногда ответы с значениями Salience, которые больше 1, несмотря на то, что документы говорят, что эти значения "в [0, 1,0] диапазона.", Fe:
{
"name":"San Francisco",
"type":"LOCATION",
"metadata":{
"wikipedia_url":"http://en.wikipedia.org/wiki/San_Francisco"
},
"salience":1.4515763148665428,
"mentions":[ ]
},
Любая помощь высоко ценится!