Open source LLM that outperforms ChatGPT search mode, Gemini, and Perplexity
HN user
miket
Stanford AI Lab. Founder, Diffbot. http://miketung.com @mikektung
Here's a good way to identify how entity-dense your text is: https://demo.nl.diffbot.com/
Much easier to exit than standard vim!
Any question asking about the letters of words is bound to underwhelm because GPT3 is trained on sub-word tokens, so it does not have random access to individual letters. The word "prime" is tokenized as a single token, instead of 5 characters:
https://www.diffbot.com/products/extract/ works pretty well.
MediaWiki, the software that Wikipedia uses is open source and Wikibase, the software that WikiData uses is also open source
To put it plainly, if you don't have enough data to train a machine learning model, what, exactly, are your options? There is only one option: to do the work by hand. Wikipedia, with its army of volunteers, has a much better shot at getting results this way than any previous effort.
The training data for machine translation models is also human-created. Given some fixed amount of human hours, would you rather them be spent annotating text that can train a translation system that can be used for many things, or a system that can just be used for this project? It all depends on the yield that you get per man-hour.
Hi, founder of Diffbot here, we are an AI research company spinout from Stanford that generate the world's largest knowledge graph from crawling the whole web. I didn't want to comment, but I see a lot of misunderstandings here about knowledge graphs, abstract representations of language, and the extent as to which this project uses ML.
First of all, having a machine-readable database of knowledge(i.e. Wikidata) is no doubt a great thing. It's maintained by a large community of human curators and always growing. However, generating actually useful natural language that rivals the value you get from reading a Wikipedia page from an abstract representation is problematic.
If you look at the walkthrough for how this would work (https://github.com/google/abstracttext/blob/master/eneyj/doc...), this project does not use machine and uses CFG-like production rules to generate natural sentences. Works great for generating toy sentences like "X is a Y".
However, human languages are not programming languages. Many natural languages, like German and Finnish, are so syntactically and morphologically complex that there is no compact ruleset that can describe them. (those that have taken grammar class can relate to the number of exceptions to the ruleset)
Additionally, not every sentence in a typical Wikipedia article can be easily represented in a machine-readable factual format. Plenty of text is opinion, subjective, or describes notions that don't have an proper entity. Of course there are ways that engineer around this, however they will exponential grow the complexity of your ontology, number of properties, and make for a terrible user experience for the annotators.
A much better and direct approach to the stated intention of making the knowledge accessible to more readers is to advance the state of machine translation, which would capture nuance and non-facts present in the original article. Additionally, exploring ML-based ways of NL generation from the dataset this will produce will have academic impact.
The article hardly supports its conclusion with these cherry-picked examples; however, the core reason these results don't meet the author's expectations is that Google's AI does not understand the content of webpages well enough to identify the publication date accurately (at least anywhere near as accurately as a human can). Google's publication date is based on whether it found changes to the HTML on its own crawl date (which is very noisy due to today's dynamically generated website) or based on schema.org/microdata, which as other commentators point it is game-able for purposes of SEO, or simply missing on most sites.
As a contrast, take a look at how Diffbot, an AI system that understands the content of the page by using computer vision and NLP techniques on it, interprets the page in question:
https://www.diffbot.com/testdrive/?url=https://www.reddit.co...
It can reliably extract the publication date on each post, without resorting to using site-specific rules. (You can try it on other discussion threads and article pages, that have a visible publication date).
When people think about using computers for Natural Language Processing, they often think about end-tasks like classification, translation, question answering, and models like BERT that model the statistical regularities in text. However, these tasks only measure indirectly how much the system has understood the meaning of the text, are largely unexplainable black boxes, and require reams of training data.
NLP is good enough that we can now explicitly measure how well a system reads text in terms of what knowledge is extracted from it. This task is called Knowledge Base Population, and we've released the first reproducible dataset called KnowledgeNet that measures this task, along with an open source state-of-the-art baseline.
Direct link to the Github repo: https://github.com/diffbot/knowledge-net EMNLP paper: https://www.aclweb.org/anthology/D19-1069.pdf
Seconded on Insomnia - I switched to it when encountering a bug in the encoding of the curl command generation in Postman, and haven't looked back.
I think there can very much be two segments. Both a high-volume self-service segment (I know this is what I prefer when evaluating developer tools) as well as a high-touch enterprise segment for training and implementation (think Bloomberg Terminal model). Diffbot has a free 14 day self-service evaluation for its individual extraction API, but it is not quite implemented yet for the Knowledge Graph.
Much of the knowledge that humans derive from reading text is implicit rather than explicit. The derived knowledge is also context-dependent and probabilistic, i.e. they are not binary facts but we assign a degree of confidence to them.
In the context of that sentence "She was a .. physicist and chemist who conducted .. research on radioactivity.", I think most people would say a physicist or a chemist who conducts research is a researcher. In other contexts, such as in your example, that would be a questionable inference. What you're describing is why natural language understanding is hard--it's context-dependent and not syntactic.
"She did research." http://relex.diffbot.com:8085/?text=She%20did%20research. "She was a researcher." http://relex.diffbot.com:8085/?text=She%20was%20a%20research....
Return different outputs from a state-of-the-art relation extraction system.
The initial example: http://relex.diffbot.com:8085/?text=Marie%20Curie%20was%20bo....
In your example, being a coder is not inferred: http://relex.diffbot.com:8085/?text=He%27s%20a%20hard-surfac....
Here is how a relation extraction system would represent these two concepts "live" (i.e. place of residence) and "visit" (a temporary location), as well as the temporality of the statements.
http://relex.diffbot.com:8085/?text=I%20live%20in%20Japan.%2....
You can try a live demo of Diffbot's knowledge extraction from text here: http://relex.diffbot.com:8085
Obligatory XKCD: https://xkcd.com/2054/
We are trying to build a global knowledge graph from the web using AI at diffbot.com.
The main downfall of the Semantic web efforts are not technological, but due to a misalignment of incentives. Semantic web formats require content creators to annotate metadata for machines where webpages are intended for human readers.
We think that the main way to achieve a practical semantic web is to have AI synthesize a Knowledge Graph from applying CV/NLP techniques to understanding all webpages. More about our project here:
https://www.zdnet.com/article/the-web-as-a-database-the-bigg...
Interesting idea! Is there any way to customize what the user sees next in the video based upon how they answer a question?
Founder here. There are many differences in the result when you have an automated system building a Knowledge Graph vs. a human one.
Obvious one is scale, Wikipedia has on order 10M entities and represents the work of thousands of humans whereas the Diffbot KG has 10B entities and is discovering about 120M each day, and is largely limited by the number of machines running the algorithms in the datacenter. The properties and facts indexed about each entity are also a superset because it is not limited to those that would be worthwhile for a human to curate. Lastly, it can be more accurate than facts found in a single source because the automated system utilizes multiple sources of that fact found across the web to estimate a probability of the accuracy of the fact.
The result is that you have a Knowledge Graph that is more useful for work and business because they are the entities you interact with day to day, not the "head" entities that optimize for popularity and the constraints of human curation.
We've tried Neo4J, ArangoDB, as well as many others to store the triples. Neo4J locked up at around 100M entities, and also the loading/injection times weren't sufficient build the KG at a regular interval. However, we are closely following any developments in these projects as they improve. There is more detail in this interview here: https://www.zdnet.com/article/the-web-as-a-database-the-bigg...
Founder here. The internet is full of contradictory statements, but that doesn't mean we can't attempt to form a useful model of reality. Humans do, just to get through daily life and AI can do the same as well.
As you point out, the concept "sugar-free" does not equate to there being no "sugar" in the dish. Perhaps it means to folks something closer to that fact that no added sugar was explicit in the recipe. The word "sugar" itself has many meanings (the well-known problem of word Polysemy). So there are several similar but distinct concepts at involved here and an entity could have the value of true for one of these and false for another.
Founder here. OpenCyc (as well as Freebase) are human attempts to enter and curate a structured knowledge base. Likewise DBPedia is a set of scripts that extract Wikipedia infoboxes (semi-structured data which is also human crowd-sourced).
The Diffbot Knowledge Graph is built by applying computer vision and natural language processing techniques to reading all the pages on the web (which can be in any structure and human language) and extracting it into a structured form, without the element of human annotation in the build pipeline.
Interesting parallel between this result and the technique of "dropout" which is a key technique used today in training neural networks that has found to prevent the network from overfitting to a locally optimal solution by randomly disconnecting nodes.
So, in other words, $25B worth of attention is transferred from iOS users to Google[1], which Google pays Apple $3B for this access.
[1] https://www.recode.net/2017/7/24/16020330/google-digital-mob...
A developer-friendly API to do this is Diffbot (https://www.diffbot.com/)
From the complaint: "Space Data started offering commercial wireless services in 2004 from a constellation of altitude controlled balloons which drift in the stratosphere. Since that time, it has extended the technology to service the U.S. Armed Services with deployments on four continents. "
"Examples of Space Data confidential information and trade secrets include, but are not limited to, accumulation of weather data, launch methods, launch timing, balloon types, altitude regulation, business methods, business models, financial information, technology solutions, and unique knowledge and interpretation of weather data, wherein this knowledge and interpretation is not available in public, which for example includes knowledge of the winds between 60,000 and 100,000 foot altitudes. "
Check out http://sirius.clarity-lab.org/