Мы только что достигли своего рода кирпичной стены в нашем проекте и были бы признательны за комментарии, предложения или указания, вообще что угодно.
Постановка задачи
Создание мобильного/планшетного приложения на основе веб-технологий (html5/canvas), которое может выполнять некоторую обработку естественного языка.
Наши ограничения
- Что касается пользовательского интерфейса, мы больше полагаемся на его прототипирование с помощью технологий html5, таких как Canvas API, SVG. Он во многом соответствует нашим навыкам и обладает необходимыми возможностями.
- Библиотеки NLP более зрелые и хорошо разработаны на Python (например, NLTK).
Некоторые альтернативы, которые мы пробовали
- Javascript based libraries for NLP. They might not be as matured, but
could have proved a faster alternative if there were JS libraries for NLP.
- We found these:
- Natural https://github.com/NaturalNode/natural
- Другие библиотеки на основе JS: http://www.chrisumbel.com/article/node_js_natural_language_nlp
- Но оказалось, что они основаны на Node, и мы не смогли найти способ добавить их на страницу типа браузера, чтобы мы могли встроить их в платформу типа «PhoneGap». Мы можем ошибаться.
- We found these:
- To use Python NLP logic in our mobile app, we tried some cross
platform libraries:
- PhoneGap http://phonegap.com/
- This StackOverflow responsePhoneGap with Django Backend suggests that "you cannot run python code on iOS or Android using PhoneGap"
- Qt 5 http://qt-project.org/,
Qt5-mobilehttp://qt.digia.com/qtmobile/
- There 2 promising Python Based Qt libraries: PyQthttp://www.riverbankcomputing.com/software/pyqt/introand PySide http://qt-project.org/wiki/PySide
- This QML/Python/Qt
demohttp://qt-project.org/wiki/Using-QtWebKit-and-QML-with-PySideis
almost exactly what we want:
- There is a Python backend with JS calling python objects and vice versa using methods like: sendData(), receiveJSON() ...
- Но, похоже, он не компилируется на наших машинах, и позже мы обнаружили, что разработка PySide застопорилась и поддерживается только до Qt4.8, тогда как Qt5+ поддерживает разработку для мобильных устройств/планшетов.
- В этом сообщении блога подробно рассказывается, как некоторые разработчики приложений использовали Python для серверной части и QML для пользовательского интерфейсаhttp://blog.qt.digia.com/blog/2012/03/23/mixd-tv-leveraging-qt-quick-for-a-rich-desktop-ui-from-a-python-back-end/. Но это всего лишь описание и не дает реальной информации.
- Kivi http://kivy.org/docs/guide/packaging-ios.html#:
- Despite some niggles, it does seem to work but it doesn't seem to have a way to develop a 'UIWebView' class based iOS app, which we need to use our html5 based UI.
- Pythonista http://omz-software.com/pythonista/:
- Same problem as Kivi above. We don't want to develop the mobile app using Python, we just need a python backend for our html5 based webapp
- iOS: мы также проверили собственные библиотеки разработки iOS, но не смогли найти простой способ встроить бэкэнд-логику Python.
- Андроид: ? Кто-нибудь знает, можем ли мы встроить python в веб-приложение.
- PhoneGap http://phonegap.com/
- AJAX calls to Flask server:
- This is the last option, that we are fairly confident about. Host python logic on a Flask server and make AJAX calls from the webapp. But given its for an application for kids, we might end up making numerous AJAX calls for same part-of-speech tagging
Любая помощь/предложения приветствуются.
Qt
, документации очень мало. - person Shreyas   schedule 01.04.2014