Twython не импортирует только английские твиты?

Я использую метод именно этот, но когда я пытаюсь указать только английский с lang ="en" и все другие варианты, которые я мог придумать, не работают. Это то, что я ввожу (даже с ключевыми словами, чтобы еще больше ограничить это), и это все еще не дает мне только английский. Я пробовал с ключевыми словами и без них. Я пытаюсь создать контрольный корпус из 200 000+ твитов с возможностью поиска только на английском языке для исследовательского проекта, и я не хочу просматривать такое количество твитов вручную. Идеи?

>>> from nltk.twitter import Twitter
>>> tw = Twitter()
>>> tw.tweets(keywords='Delicacy, reptile, death, hold, dark, column, gifted, surgeon, brave, fashion, pearl, diamond, bent, sparkle, present, missing, shadow, holiday, glide, scanner, luster, immunity, devour, discipline, barbaric, fortunate, heart, puzzle, ache, crystal', 
        limit=10000, lang="en", to_screen=False)
Writing to /Users/rhiannalavalla/twitter-files/tweets.20170521-235221.json
Written 10000 Tweets

person rlavalla    schedule 01.08.2017    source источник


Ответы (1)


Параметр lang передается в твиттер API поиска, поэтому вы запрашиваете "английский " твиты. Но вы пользовались твиттером? Вам не нужно объявлять язык каждого твита, поэтому Twitter не может точно ограничить ваши результаты. Опция lang, очевидно, соответствует языку, выбранному авторами для своего пользовательского интерфейса, а не языку отдельных твитов.

Чтобы ограничить ваши результаты твитами на английском языке, выполняйте поиск по хэштегам и/или идентификаторам пользователей, которые могут быть интересны только носителям английского языка (специфика будет зависеть от того, для чего предназначен ваш корпус). В качестве альтернативы (или, возможно, в дополнение) вы можете попробовать алгоритм автоматической идентификации языка, чтобы отфильтровать подозрительные твиты. nltk поставляется с langid корпусом статистики языковых триграмм, который можно использовать для обучения распознавателя.

person alexis    schedule 02.08.2017