Удаление неанглийских слов из предложения в python - PullRequest
2 голосов
/ 27 октября 2010

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

/\u02b0w\u025bn w\u025bn unstressed \u02b0w\u0259n w\u0259n/ 

Мне нужно только слово "без ударения" в этом предложении.Как я могу это сделать?спасибо

Ответы [ 3 ]

3 голосов
/ 27 октября 2010

PyEnchant может быть простым вариантом для вас. Я не знаю о его скорости, но вы можете делать такие вещи, как:

>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.check("Hello")
True
>>> d.check("Helo")
False
>>>

Учебное пособие найдено здесь , оно также имеет опции для возврата предложений, которые вы можете снова сделать для другого запроса или чего-то еще. Кроме того, вы можете проверить, есть ли ваш результат в latin-1 (is_utf8 () excists, не знаю, если is_latin-1 () также, возможно, использовать что-то вроде Enca , который обнаруживает кодировку текстовых файлов, на основе знания своего языка.)

1 голос
/ 27 октября 2010

Вы можете использовать PyWordNet.Это интерфейс Python для WordNet.Просто разбейте свое предложение на пробелы и проверьте, есть ли каждое слово в словаре.

1 голос
/ 27 октября 2010

Вы можете сравнить полученные слова со словарем английских слов, например / usr / share / dict / words в системе BSD.

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

...