Pages

Sunday, March 11, 2012

celery + openvz container




Якщо при  спробі запуску celery

root@celery01:/opt/celery# celeryd --loglevel=INFO

Отриужмо наступну помилку


  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 75, in __init__
    sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 38] Function not implemented
[2012-03-11 19:58:40,749: INFO/MainProcess] process shutting down

Перевірте права доступу до шаред меморі і якщо вони мають наступний вигляд

root@celery01:/opt/celery# ls -ld /dev/shm
drwxr-xr-x 2 root root 4096 Feb 17 22:19 /dev/shm

Прописуємо

none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0 

в /etc/fstab і рестартуємо систему.

Перевіряємо. Має бути:

root@celery01:/# ls -ld /dev/shm
drwxrwxrwt 2 root root 40 Mar 11 20:06 /dev/shm

Після цього процес celery запускається нормально

Friday, March 2, 2012

Визначення мови, якою написаний матеріал

При nlp обробці текстів, частіше за все, бажано знати, якою мовою цей текст написано. Це потрібно, щоб застосувати для роботи з ним відповідні алгоритми чи інструменти.

Як же можна визначити мову документу? Найпростіший спосіб - якщо мова має якісь специфічні та властиві лише їй символи (українська літера є чи ї, російська літера ы). Але, навіть у цьому випадку, теоретично, може зустрітися текст, який не містить таких літер-маркерів.

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

На думку спав дещо подібний підхід - матеріал написано тією мовою, якою написано більшість його слів. А як можна перевірити чи слово написане якоюсь мовою? Спробувати застосувати до нього стемер мови.  Якшо стемер зумів підібрати для слова стем - з великою імовірністю, це валідне слово цієї мови.

Цей підхід я перевірив на наборі текстів українською і російською мовою. Алгоритм помилився в 3 випадках на 20 тисяч статей.