npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

corefoo-nlp

v0.1.4

Published

In general, the intent-tree contains two types of nodes: * Structure Nodes - Who, On, In * Content Nodes - Bob, Wednesday, London

Downloads

56

Readme

In general, the intent-tree contains two types of nodes:

  • Structure Nodes - Who, On, In
  • Content Nodes - Bob, Wednesday, London

Generally, when a sentence is modelled as a tree, structure and content alternate.

   Content: "I"
      Structure: "saw"
         Content: "Bob"
            Structure: "on"
               Content: "Wednesday"

A quick thought on ambigus sentence - which turn out to be good modelling examples.

We might look at the sentence:

I saw a man on a hill with a telescope.

You might be surprised to learn that there are four reasonable interpretations of this sentence - and at least one unreasonable one. We could say, a computer can't deal with ambiguity. But, its ambigous for everyone - not just a computer. In this case, an NLP system should detect the ambiguity and seek clarification - just as we would.

The five, variations would be modelled as:

  1. There’s a man on a hill, and I’m watching him with a telescope.
   C: "I"
      S: "saw" (with my eyes)
         C: "a man"
            S: "on"
               C: "a hill"
         S: "with"
            C: "a telescope"

The 'seeing' is being done with a telescope, so "with a telescope" is below "saw".

  1. There’s a man on a hill, who I’m seeing, and he has a telescope.
   C: "I"
      S: "saw" (with my eyes)
         C: "a man"
            S: "on"
               C: "a hill"
            S: "with"
               C: "a telescope"

Now the man has the telescope, so "with a telescope" is below "a man".

  1. There’s a man, and he’s on a hill that also has a telescope on it.
   C: "I"
      S: "saw" (with my eyes)
         C: "a man"
            S: "on"
               C: "a hill"
                  S: "with"
                     C: "a telescope"

Now the hill has a telescope, so it sits below "a hill"

  1. I’m on a hill, and I saw a man using a telescope.
   C: "I"
      S: "on"
         C: "a hill"
      S: "saw" (with my eyes - guessed where this is going yet?)
         C: "a man"
            S: "with"
               C: "a telescope"

The phrase "on a hill" now belongs to "I". It could, arguably belong to "saw" if it was key that the 'seeing' was done on the hill.

  1. There’s a man on a hill, and I’m sawing him with a telescope.
   C: "I"
      S: "saw" (as if to cut in half)
         S: "with"
            C: "a telescope"
         C: "a man"
            S: "on"
               C: "a hill"

This is the same structure as 1. but now the man is in danger! The difference would be in the semantic meaning given to the verb "saw".

"Who is processing incoming-orders today?"

   C: "Who"
      S: "Is processing"
         C: "incoming-orders"
         S: timescale
            C: "today"

You could argue that 'today' belongs to 'incoming orders' because we are talking about today's orders. But really its a timescale of the allocation - thus it sits below 'is processing'. If the phrase was shortened to 'who is processing today' - 'today' obviously belongs to 'processing'.

This becomes important if the incoming orders are from yesterday: "Who is processing yesterday's incoming-orders today?"

   C: "Who"
      S: "Is processing"
         C: "incoming orders"
            S: timescale
               C: "Yesterday"
         S: timescale
            S: "Today"