Pages

Showing posts with label python. Show all posts
Showing posts with label python. Show all posts

Friday, February 24, 2012

Стемування українських слів з допомогою python і словників openoffice



Встановлюємо залежності:

sudo apt-get install hunspell libhunspell libhunspell-dev myspell-uk
sudo pip install -e svn+http://pyhunspell.googlecode.com/svn/trunk/#egg=pyhunspell


В консолі python: 

>>> import hunspell
>>> hobj = hunspell.HunSpell('/usr/share/hunspell/uk_UA.dic', '/usr/share/hunspell/uk_UA.aff')
>>> print hobj.stem('маму')[0]
мама

Інші ніштяки:


>>> print hobj.spell('маме')
False
>>> print hobj.spell('мамо')
True

>>> for i in hobj.suggest('маме'):
...     print i
... 
мам
мама
маже
мами
мамі
мале
мамо
саме
мате
маму
Мамай
макраме
мадер
марен


Ще

Monday, February 14, 2011

asterisk-ami-pgsql

http://code.google.com/p/asterisk-ami-pgsql/


Що це

Спроба надати доступ до інтерфейсу AMI  voip сервера Asterisk за допомогою мови sql використовуючи як проміжний рівень сервер  PostgreSQL

Можливості і переваги

  • Використання стандартних бібліотек для роботи з sql з довільної мови програмування
  • Використання усіх можливостей мови запитів sql для отримання доступу до внутрішньої інформації сервера voip - ви можете використовувати функції проекту як звичайні таблички сервера баз даних, здійснювати сортування, фільтрацію, проводити операції групування, операції обєднання з іншими табличками бази даних

Залежності

  • Postgresql з встановленим plpython
  • Asterisk сервер із увімкненим та налаштованим AMI інтерфейсом
  • Інсталятори пакетів Python setuptools або pip
  • Модуль pyst


Встановлення

* Завантажити код проекта
* Встановити pyst: easy_install pyst
* Виконати інсталяційний скрипт проекта: psql -U postgres asterisk -f install.sql
* Додати свій сервер та сконфігурований на ньому акаунт в табличку asterisk.managers

Приклади

Подзвонити в контакт-центр Білого дому

asterisk=# select asterisk.originate_async('localhost', 'SIP/117', '92024561111', 'default', 1);
originate_async
-----------------
t
(1 row)


Переглянути номери, які знаходяться в онлайні, обмежившись трьома

asterisk=# select * from asterisk.sippeers('localhost') where ipport <> '0' limit 3;
ipport |   status   | chanobjecttype | natsupport | objectname | realtimedevice | dynamic | acl | videosupport | channeltype |   ipaddress    |   event   
--------+------------+----------------+------------+------------+----------------+---------+-----+--------------+-------------+----------------+-----------
5060   | OK (5 ms)  | peer           | yes        | 216        | no             | yes     | no  | no           | SIP         | 10.1.10.4      | PeerEntry
2254   | OK (12 ms) | peer           | yes        | 215        | no             | yes     | no  | no           | SIP         | 10.1.10.3      | PeerEntry
2253   | OK (12 ms) | peer           | yes        | 214        | no             | yes     | no  | no           | SIP         | 10.1.10.3      | PeerEntry
(3 rows)


Friday, May 21, 2010

Неблокуючий (а значить дуже легкий  і швидкий) вебсервер на пайтоні. Ідеально підходить для ріалтайм вебсервісів, які мають просто писатися і швидко відпрацьовувати

http://www.tornadoweb.org/documentation

Також по темі

Sunday, January 10, 2010

helpfull ispell tools

ispell-try

Утилітка для тестування ispell синтаксису. Помічна (ДУУУУЖЕ) при написанні власних словників (наприклад для побудови лексем в повнотекстовому пошуку). Дозволяє включати різноманітні модифікатори і відразу бачити всі можливі словоформи.

Для української мови необхідно мати відповідний словник і зробити наступну заміну в коді


#dictionary = 'lietuviu'
#encoding = 'ISO-8859-13'
dictionary = 'ukrainian'
encoding = 'koi8-u'


ispell + python

Різноманітні варіанти використання іспелл з пітона

Забавляння з SIM card рідером

Попав в руки прикольний девайс виробництва китайських друзів. Ціна - кілька баксів. Попробував його поковиряти - що ж умільці змогли впхати туди за таку мізерну ціну.




Перше за все цікаво шо це в технічному плані:

lsusb
Bus 002 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Тобто це звичайний usb2serial конвертер

Йдемо далі. Софт було знайдено тут http://ladyada.net/make/simreader/download.html

Софт позиціонується під віндовс, але написаний на пітоні, тому легко запустився в лінуксі. Єдине шо прийшлось підкрутити - це назва пристрою до якого він конектиться. Точніше я подивився який пристрій створюється в лінуксі і створив з нього симлінк на пристрій якого очікує софтіна

frutella:~# dmesg
[58146.401870] usb 2-1: pl2303 converter now attached to ttyUSB0
frutella:~# ln -s /dev/ttyUSB0 /dev/cu.PL2303-3B1

Від гуя теж досить легко можна відвчити.

В результаті штука дозволяє:
- читати, бекапити і ресторити адресну книжку й смс
- переглядати технічну інформацію по сімці (різні серіали, коди тощо)
- міняти пінкоди карточки :-)

- розлочувати залочену (через неправильно введені коди) сімку :-)

Що ще? Будемо ковиряти далі...

Saturday, January 9, 2010

Два відкриття тижня

Directed Acyclic Word Graph
PLY (Python Lex-Yacc) - Пітоняча обгортка над lex/yacc

В купі з hadoop map/reduce виглядає багатообіцяюче. Схоже скоро таки появиться якась аналітика/дата майнінг на ньюсах. Таки чистого full text search інструментарію малувато.

Подивився в неті кілька анотацій лінгвістичних дисертацій. Щось таки люди роблять в галузі аналізу текстів. Принаймні філологи :-)