Я хочу разбить предложение на список слов.
Для английского и европейского языков это легко, просто используйте split()
>>> "This is a sentence.".split()
['This', 'is', 'a', 'sentence.']
Но мне также нужно иметь дело с предложениями на таких языках, как китайский, которые не используют пробелы в качестве разделителя слов.
>>> u"这是一个句子".split()
[u'\u8fd9\u662f\u4e00\u4e2a\u53e5\u5b50']
Очевидно, что это не работает.
Как расколоть такое предложение в список слов?
UPDATE:
До сих пор ответы, похоже, предполагают, что для этого требуются методы обработки естественного языка и что границы слов на китайском языке неоднозначны. Я не уверен, что понимаю, почему. Языковые границы на китайском языке кажутся мне очень определенными. Каждое китайское слово/символ имеет соответствующий юникод и отображается на экране в виде отдельного слова/символа.
Итак, откуда возникает двусмысленность. Как вы можете видеть на моем выходе на консоль Python, у Python нет проблем, говоря, что мое примерное предложение составлено из 5 символов:
这 - u8fd9
是 - u662f
一 - u4e00
个 - u4e2a
句 - u53e5
子 - u5b50
Таким образом, очевидно, что у Python нет проблем, говорящих о границах слов/символов. Мне просто нужны эти слова/символы в списке.