2016-10-07 5 views
0

Я играл с 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 возвращает следующие объекты: enter image description here

Проблема в том, "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":[ ] 

},

Любая помощь высоко ценится!

ответ

1

Иногда очень сложно использовать базовые алгоритмы для устранения неоднозначности сущностей, особенно. когда контекста недостаточно. Сознание не помогает в этом, потому что наглядность показывает, насколько центральным является сущность, независимо от ее типа. В этом конкретном случае вы могли бы потенциально использовать предоставленные метаданные (например, URL-адрес википедии) для дальнейшей оценки того, действительно ли объект является местоположением.

Смежные вопросы