Извлечение доменов Python из текста — проблемы с распознаванием новых TLD

С появлением новых доменов верхнего уровня (.club, .jobs и т. д.) каковы наилучшие методы извлечения/анализа доменов из текста? Мой типичный подход - регулярное выражение, однако, учитывая, что такие вещи, как имена файлов с расширениями, будут вызывать ложные срабатывания, мне нужно что-то более ограничительное.

Я заметил, что даже Google иногда неправильно распознает, ищу ли я имя файла или хочу перейти в домен. Это представляется довольно сложной проблемой. Машинное обучение потенциально может быть подходом к пониманию контекста, окружающего строку. Однако, если нет библиотеки, которая уже делает это, я не буду слишком увлекаться.

Один из подходов, о котором я думаю, — после регулярного выражения запрашивать http://data.iana.org/TLD/tlds-alpha-by-domain.txt, который содержит статический список текущих TLD и использует его в качестве фильтра. Какие-либо предложения?


person Zed    schedule 03.05.2017    source источник
comment
Я думаю, что ваш последний подход весьма плодотворен. Вы никогда не получите 100% отзыв, но ваша точность должна быть высокой.   -  person Private    schedule 03.05.2017


Ответы (1)


Это непростая проблема, и она зависит от контекста, в котором вам нужно извлечь доменные имена, и допустимого количества ложных срабатываний и отрицательных результатов, которые вы можете поддерживать. Вы действительно можете использовать список существующих в настоящее время TLD, но этот список меняется, поэтому вам необходимо убедиться, что вы принимаете во внимание достаточно недавние значения списка.

Вы сталкиваетесь с проблемами, охватываемыми движением за универсальное признание, пытаясь убедиться, что все TLD (независимо от длины, даты создания и используемых символов) равны.

Они предоставили документ о «связывании», в котором, среди прочего, есть проблема извлечения ссылок, следовательно, домена. Взгляните на их документацию: https://uasg.tech/wp-content/uploads/2017/06/UASG010-Quick-Guide-to-Linkification.pdf

Так что это может дать вам некоторые идеи, а также их Краткое руководство по адресу https://uasg.tech/wp-content/uploads/2016/06/UASG005-160302-en-quickguide-digital.pdf

person Patrick Mevzek    schedule 15.04.2018