2014-01-13 3 views
0

Из удаленного источника данных я получаю текстовые полубайты (обычно не более 100 символов), которые являются верхними. Это в основном естественный язык, но с вкрапленными аббревиатурами и перерывами (например, + и -). То, что я хотел бы сделать, - это преобразовать этот текст в удобочитаемую форму, то есть сделать большую часть этого нижнего регистра, за исключением аббревиатур и правильно использовать имена и имена существительных (это для немецкого, где еще много слов капитализируются, чем, скажем, на английском).Автоматическое преобразование текста текста

Я бы предпочел решение для Cocoa (OS X), но любой другой подход приветствуется. Я читал о NSLinguisticTagger (например, in this question), но кажется, что тегирование слов сильно зависит от уже правильно запечатленных слов.

ответ

1

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

Это просто, если вы хотите использовать существующие рамки Cocoa.

+0

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

+0

Я бы предположил, что большинство акронимов не проходят проверку орфографии или, может быть, не слишком значимы (вроде [этот вопрос] (http://stackoverflow.com/a/6298193/583834)) - возможно, проверка чего-то вроде это может сработать? если нет, ожидаете ли вы acronnyms в определенном наборе или всегда появляются новые аббревиатуры? – arturomp

Смежные вопросы