Полиглот не обнаруживает несколько языков - PullRequest
1 голос
/ 20 мая 2019

Я тестирую пакет polyglot в Python для обнаружения языков в документе со смешанными языками.

Я не ожидаю от него самого точного прогноза, но начало с пакета не возвращает ничего, кромеодин язык в качестве ответа даже для текстов, в которых есть 2 или 3 языка.

Тексты, которые я использую, содержат в среднем 20 слов, таких как:

text = 'Je travaillais en France. Je suis tres heureux. I work in London. I grew up in Manchester.'

Я всегдаполучите что-то вроде следующего - нет ответов на нескольких языках:

Prediction is reliable: True
Language 1: name: English     code: en       confidence:  98.0 read bytes:   682
Language 2: name: un          code: un       confidence:   0.0 read bytes:     0
Language 3: name: un          code: un       confidence:   0.0 read bytes:     0

Это далеко не пример в его документах:

> China (simplified Chinese: 中国; traditional Chinese: 中國),
> 
> name: English     code: en       confidence:  71.0 read bytes:   887
> name: Chinese     code: zh_Hant  confidence:  11.0 read bytes:  1755
> name: un          code: un       confidence:   0.0 read bytes:     0

Даже если честнокогда я запускаю детектор с китайско-английским примером выше, я получаю ответ на смешанный язык.

Код просто следующий:

from polyglot.detect import Detector

text = 'Je travaillais en France. Je suis tres heureux. I work in London. I grew up in Manchester.'

answer = Detector(text)

print(answer)

Почему это происходит?

PS

Кроме того, в случае обнаружения языка одного (даже очень распространенного) слова polyglot довольно плохо. Например, для слова quantita (которое является итал.иан) он возвращает английский.

Я знаю, что многие из этих пакетов могут быть в основном успешными при наличии большого текста, но удивительно, что они не могут даже захватить даже эти простые слова.

Textblob, кажется, даже хорош для отдельных слов, но вы можете отправить очень ограниченное количество запросов к нему (в обоих случаях, возможно, потому что он использует Google API).

...