Artykuł – Wykorzystanie formalnej analizy pojęć do analizy dziedzinowych danych tekstowych

Ostatnio ukazał się w biuletynie WAT nowy artykuł mojego autorstwa pt. Wykorzystanie formalnej analizy pojęć do analizy dziedzinowych danych tekstowych. W artykule tym opisałem proces projektowania systemu ekstrakcji informacji SEI. Projektowanie tego systemu oparłem na regułach oraz zastosowaniu formalnej analizy pojęć do ich odpowiedniego ułożenia w bazie wiedzy opisywanego systemu. Zapraszam do działu Publikacje i jak zawsze życzę miłej lektury.

Seminarium IPI PAN

Mam przyjemność zaprosić na seminarium Zespołu Podstaw Sztucznej Inteligencji, które odbędzie się w Warszawie 31 maja 2012 r. w budynku przy ul. Jana Kazimierza 5. Seminarium ma się odbywać cyklicznie co tydzień. Będą na nich prezentowane sylwetki osób z zespołu oraz ich badania. Informacje o odbytych i nadchodzących prezentacjach można znależć na stronia http://www.ipipan.waw.pl/ssi/. Na zbliżającym się seminarium przedstawię prezentację pt. „Autoreferat oraz elementy projektowania systemów informacyjnych”. W prezentacji zostanie przedstawiona sylwetka referującego, który jest absolwentem Politechniki Białostockiej – wydziału Elektrycznego kierunku Elektronika i Telekomunikacja. Na seminarium zostanie omówiona jego praca dyplomowa oraz tematyka rozprawy doktorskiej. Prace te związane są z inżynierią oprogramowania i projektowaniem systemów informacyjnych SI. Podczas prezentacji przedstawione zostaną także osiągnięcia, zainteresowania oraz aktualne projekty referującego.

Konferencja BDAS’11

Zakończyła się kolejna edycja konferencji BDAS’11. Wspaniała impreza oraz niepowtarzalna atmosfera. Zachęcam do uczestniczenia w następnych edycjach ludzi którzy jeszcze nie są pewni – naprawdę warto. Niezbędne informacje na temat konferencji jak i materiały prezentowane na sesjach plakatowych jak i planarnych można odnaleźć na stronie konferencji http://zti.aei.polsl.pl/bdas.

PHP – co robić gdy musimy wymusić typy

Jak wiadomo PHPe nie jest językiem o silnym typowaniu. W wyniku tego do funkcji możemy przesyłać praktycznie wszystko. Często brak wstępnego określania typu parametrów w deskryptorze metod/funkcji pogarsza jakość i czytelność kodu. Osobiście czytając czyjś kod lubię wiedzieć co przyjmuje funkcja/metoda tzn. jaki konkretny typ parametrów one przyjmują. Dość często powstaje różnego rodzaju pomieszania typów, czyli wchodzi string potem przemieniany jest na inta a na wyjściu na dodatek możemy dostać obiekt… Ponadto w PHPe pomimo bogatej proceduralnej biblioteki do obsługi łańcuchów znaków nie istnieje jej wersja obiektowa, a szkoda… Z tego też względu pokusiłem opisać szkicowe rozwiązanie umożliwiające połączenie przyjemnego z pożytecznym tj. utworzenie klasy osłonowej na typ String ułatwiającej operację na obiektach tego typu. Rozwiązanie to daje:
1. Możliwość pośredniego rzutowania na dobrze zdefiniowany typ String
2. Możliwość sprawdzania typu String przez interpreter, tego czy przekazujemy prawidłowy parametr do funkcji/metody
3. Ustala konwencję w kodowaniu i aplikacji.
W miarę możliwość w następnych dniach postaram się opisać prezentowane rozwiązanie. Póki co ograniczę się do przedstawienia samego kodu. Czytaj dalej

PHP – co robić gdy potrzeba coś przeciążyć?

Jednym z najbardziej dla mnie niekomfortowych żeczy w PHPe jest brak możliwości przeciążania czy to funkcji czy też metod w kontekście OO.  Jak wiadomo związane jest to z brakiem m.in. ścisłej kontroli typów. No cóż rzeczywistość jest jaka jest i trzeba do niej się dostosować. Najczęściej pojawiającym się zabiegiem w celu implementacji „przeciążania” metod jest użycie magicznych metod. Sposób takiej implementacji można podejrzeć w wpisie „Method Overloading in PHP5” na blogu Caught in a Web. Osobiście nie przepadam za tego rodzaju rozwiązaniami. Tak więc w wolnym czasie zacząłem główkować i kombinować jak to można by był zrobić troszkę inaczej. Z przemyśleń narodził się pomysł aby do „przeciążania”  (pseudo przeciążania) wykorzystać namespace (opis dostępny w manualu PHP oraz na stronie z poradnikami IBMa „Create better namespaces in PHP”). Pomysł bazuje na prostych zasadach:

– wykorzystaniu  bazowej przestrzeni nazw dla metod podstawowych które będą przeciążane, zaimplementowane lub nadpisane w klasach potomnych. Najlepiej wykorzystać abstrakcje,

– wykorzystaniu predefiniowanych przestrzeni nazw  do enkapsulacji przeciążanych klas i ich metod,

– zamknięcie przestrzeni bazowej i predefiniowanej w jednym pliku (daje to swego rodzaju konwencję utrzymania kodu i jego standaryzację w obrębie realizowanego projektu). Ewentualnie można odpowiednio sobie porozbijać klasy na pliki. Opisu tego rozwiązania jednak nie dokonałem i jedynie skupiłem się na podstawowej strukturze – jeden plik.

Przykładową implementację całości rozwiązania bazującego na ww. zasadach przedstawiłem poniżej. Miłego czytania i zapoznawanie się z pomysłem.  Czytaj dalej

MongoDB słów parę kilka

Przy projektowaniu baz danych w szczególności dla większych i bardziej złożonych projektów, przydają się narzędzia graficzne czy to do projektowania bazy czy też administracji. Aktualnie dla MongoDB są dostępne cztery narzędzia do administrowania i zarządzania tą bazą danych, są nimi:

– konsola MongoDB – odpowiednik konsol postgreSQL czy MySql

– GitHub – służy do wizualizacji i zarządzania klastrami

– futon4mongo

– phpMoAdmin – coś na wzór popularnego phpMyAdmin

Bliższe szczegóły i linki do ww. projektów można znaleźć w poście A Couple of Nice GUI Tools for MongoDB.

Dodatkowo, szperając po sieci odnalazłem wzmiankę na temat obiektowego mapowania dokumentów do MongoDB przez Doctrine 2.0. Zainteresowanych odsyłam na stronę bloga Doctrine MongoDB Object Document Mapper.

Spamerstwo

Niestety musiałem puki co wyłączyć możliwość komentarzy oraz włączyć logowanie w celu ich umieszczania (jeszcze nie skonfigurowane). Zostało to spowodowane przychodzącym spamem i robotami które próbowały wklejać na stronę niechciane treści.  Niestety niektórzy nie potrafią korzystać w rozsądny sposób z możliwości oferowanych przez internet i wszelkimi sposobami próbują negatywnie oddziaływać na te medium i społeczność ją tworzącą poprzez próbę wpychania niechcianych i niepotrzebnych wiadomości.

Małe podsumowanie

Ankieta ruszyła, dane powoli się zbierają…. Aktualnie wykonuje zlecenia dla Netsolution i projekt Motogarage… Artykuł do SIMIS został przyjęty należy go trochę poprawić zgodnie z uwagami recenzenta, jestem bardzo zadowolony z tego faktu. Jeszcze byłbym bardziej zadowolony gdybym mógł całkowicie poświęcić się nauce i pisaniom opracowań. Niestety nie jest różowo. Dobrze, że są zlecenia i należy się z tego cieszyć. Aktualnie pisanie nowych opracowań i artykułów trochę przystopowało, permanentny brak czasu. Będzie trzeba się mocno zorganizować i znowu napisać o tym co w głowie siedzi i przeprowadzić eksperyment który już całkiem dojrzał do tego aby go zrealizować. Na co więc czekać, do dzieła…