jo_kruger
jo_kruger on Hacker News
Posted by
jo_kruger on Thursday May 07, 2026 @10:08AM
from the github.com dept.
Looking for review/feedback, ideas for new features, syntax improvements, etc.
Key features: high performance, zero memory allocation, up to 19 decimal places precision, fixed size memory layout (128 bits), no panics,..
Nats-mutex is a Golang distributed lock library using NATS JetStream.
Posted by
jo_kruger on Wednesday November 20, 2024 @04:06AM
from the github.com dept.
It is like iceberg - website is just a tip... Website is interface to database of company profiles. Each of these profiles was build from corresponding corporate website.. all automatically. The process includes website crawling, page categorization, language detection, entity extraction, structured data composition, fuzzy comparison, etc... The key feature of the platform is 100% automated process which allows repeat the whole cycle for every profile on a regular base, which allows us to compare structured profiles and see all changes..
We have a platform running on more than 50 servers which includes crawlers, website categorizers, entity extractors, etc. It scans about 30 millions websites (categorized as corporate websites with content in English) on a regular base. The goal is to build a structured profile for every known company website.. and repeat this process every month in order to compare historical profile and generate "transactions" like "company X changed CEO", etc...
Posted by
jo_kruger on Monday December 03, 2018 @09:32AM
from the show-hn dept.
Posted by
jo_kruger on Monday December 03, 2018 @06:35AM
from the crowdfundinsider.com dept.
Posted by
jo_kruger on Wednesday November 28, 2018 @12:03AM
from the show-hn dept.
Posted by
jo_kruger on Wednesday October 24, 2018 @10:02AM
from the self-post dept.
The RL3 Standard Library is a collection of modules accessible to an RL3 program to simplify the programming process and remove the need to rewrite commonly used RL3 patterns and predicates.Our goal is to create a community-driven library of general NLP, unstructured and semi-structured text patterns that can empower personal, research and educational projects.We welcome any feedback and...
Posted by
jo_kruger on Wednesday October 24, 2018 @08:28AM
from the show-hn dept.
Posted by
jo_kruger on Tuesday October 23, 2018 @01:59AM
from the show-hn dept.
Posted by
jo_kruger on Monday October 22, 2018 @03:35PM
from the show-hn dept.
Posted by
jo_kruger on Monday October 22, 2018 @08:32AM
from the rl3.zorallabs.com dept.
Posted by
jo_kruger on Wednesday October 17, 2018 @07:50AM
from the self-post dept.
We are developing a rule-based NLP, NER & Information Extraction library. It is heavily based on Regex and Lookup Dictionaries. If you have an interesting / useful dictionary or a regex pattern and you are OK with sharing it with others, we would be happy to include it into our StdLib. All contributors will be mentioned / linked from the corresponding page on our wiki https://rl3.zorallabs.com
Posted by
jo_kruger on Tuesday October 09, 2018 @04:50AM
from the gizmodo.com dept.
Posted by
jo_kruger on Friday October 05, 2018 @10:42AM
from the rl3.zorallabs.com dept.
Posted by
jo_kruger on Wednesday October 03, 2018 @02:29PM
from the rl3.zorallabs.com dept.
I used RL3 to annotate words from multiple language dictionaries with total number of known words ~25 millions (i.e. 25m dictionary entries) - no problem at all
Sorry, we are working on a website - the project is quite mature (more than 10 years), but it was mostly for internal use. We just recently decided to make it public, which is not always easy to do. So we have a lot to do with documentation, etc.
Regarding your question -- there is no limitation on number of rules. But, I should say the definition of "number of rules" may be tricky. I don't see any reason to have a lot of high level rules -- i.e. annotators and asserts -- in most cases the number of annotators will be N time bigger than number of entity classes, or categories (in case of categorization task). On the other hand, there may be much more low-level rules (i.e. patterns and predicates used to form the high level rules).
Also, the built-in dawg dictionaries may help a lot - these dictionaries may handle millions of entries, behave same as other matchers (i.e. they can be used in same way as other patterns and regex matchers used), and work way faster than patterns. For instance, in RL3 you can define pattern \<{PERSON_FIRSTNAME},?\s{PERSON_LASTNAME}\> (which matches first name followed by optional comma followed by space and last name) where {PERSON_FIRSTNAME} and {PERSON_LASTNAME} are dictionaries..
This was actually one of the reasons we started RL3 -- make rules development not so expensive. Note, we started it more than 10 years ago as purely internal product. And just several months ago we decided to make it public (and currently it is free for personal / research and educational use). At the end, we were able to enable team of linguists (i.e. we actually searched for linguists - not even computational linguists) to write and support large library of NER patterns. Partially, it was possible due to named patterns -- i.e. we were able to develop sort of core library of patterns by small team of expensive resources (programmers and pro comp. linguists), and larger library of patterns based on this core...
We started RL3 (more than 10 years ago) because we had several projects with a huge number of patterns. We found other projects (present at that moment) were too heavy on a syntax, which make it complicated to support / manage large library of patterns. So, we tried to keep the power of regex, add new features (like named patterns, modules, templates and lookup dictionaries) but minimize additional syntax... as result we were able to enable team of computational linguists (i.e. not programmers) quite easily develop and support huge libraries of NER patterns and document classification rules.
It is actually based on regex (on a low level). But the key difference -- it allows named patterns, modules, templates, and kind of classes. So, you may have a separate module with a definitions of related patterns - for instance, module for date and time patterns, module for location patterns, etc... then, you can include required module to your project and refer to these patterns (by name) from your own patterns.. like "{PERSON_NAME}[,:\s]?{JOB_TITLE}" may be a pattern which matches person name followed by optional punctuation and the by job title... where PERSON_NAME and JOB_TITLE are quite complicated patterns defined somewhere else.
Another key difference - it supports huge lookup dictionaries -- i.e. part of your pattern may be reference to dictionary which may contain thousands or even millions of entries... so, PERSON_NAME can be a dictionary.
...
It is free for non-commercial (personal, research and educational) use
Posted by
jo_kruger on Friday September 28, 2018 @07:03AM
from the rl3.zorallabs.com dept.
Posted by
jo_kruger on Sunday September 23, 2018 @09:17AM
from the rl3.zorallabs.com dept.
Posted by
jo_kruger on Friday September 21, 2018 @11:02AM
from the rl3.zorallabs.com dept.