image

The InterSystems DBMS has a built-in technology for working with non-structured data called iKnow and a full-text search technology called iFind. We decided to take a dive into both and make something useful. As the result, we have DocSearch — a web application for searching in InterSystems documentation using iKnow and iFind.

8 18
0 1.4K

This is the second article in a series on iKnow demo applications, showcasing how the concepts and context provided through iKnow's unique bottom-up approach can be used to implement relevant use cases and help users be more productive in their daily tasks. Last week's article discussed the Knowledge Portal, a straightforward tool to browse iKnow indexing results.

This week, we'll look into the Set Analysis demo, a slightly more advanced application where you'll be using the concepts identified by iKnow to organize your content into sets of documents. The original version of this demo was developed by Danny Wijnschenk & Alain Houf for an academy session at GS2015, but the app has evolved significantly since then.

5 10
0 1.3K

Hello!

I'm trying to make a simple hello world program for iKnow but the documentation only shows examples using the scripting language or XML XData.

The domain is already created and configured, what I hope for is to be able to work with the data in some high-level language.

Is it possible to do something like this:


int domainId = 1;
IKnow iknow = new IKnow( domainId );
List concepts = iknow.getTopConcepts();

Any feedback will be greatly appreciated!

1 8
0 439

Hi,

I created an iKnow domain, where I supplied dictionaries, blacklist, metadata and stemming. The datasource is a table.

I would like to use iFind semantic search feature. It is said in the documentation that iFind use iKnow semantic analysis. But I want iFind to use the iKnow domain configuration I created earlier earlier. How can I do that ?

Regards,

Jack Abdo.

0 7
0 362

I'm in a process of acquiring a corpus of documents on educational courses.

For example there is an educational course called "OOP" and it can have documents from 2008, 2009, ... 2016 etc.
And there are a lot of these courses, each one with programs from different years (hopefully)

So 1 document is 1 programm of one course for one year.

I want to calculate how much does a course changes per year.

0 7
0 515

InterSystems has decided to stop further development of the InterSystems IRIS Natural Language Processing, formerly known as iKnow, technology and label it as deprecated as of the 2023.3 release of InterSystems IRIS. InterSystems will continue to support existing customers using the technology, but does not recommend starting new development projects outside of the core text exploration use cases it was originally designed for.

7 7
0 642
Question
· Feb 5, 2020
%iFind.Highlight

Hi

I've been working with SQL using an iFind index to search text. Using the %iFind.Highlight function in my SELECT statement I can get text back that highlights the found words using <b> and </b>

I am aware that using ##class(%iFind.Utils).Highlight, I can pass a parameter to override the <b> tag and use instead a <span> tag with style to change the background color of the found words.

Is there a way to override the <b> tag from a SQL statement?

Thanks

0 6
0 252
Question
· Jun 26, 2017
iFind and HTML text

I have a class with text property, which contains html text (usually pieces, so it may be invalid), here's a sample value:

<div moreinfo="none">Word1 Word2</div><br>
<a href = "123" >Word3</a>

When I add iFind index on text, there are at least two problems:

1 4
0 433

The iKnow documentation shows an example for adding sources to a domain after an initial loading of sources.

The example uses text files. However, our data is now in Cache SQL tables.

Is it possible to add sources from a Cache SQL table, and is there an example of how this is done?

Thank you.

0 3
0 375

InterSystems' iKnow technology allows you to identify the concepts in natural language texts and the relations that link them together. As that's still a fairly abstract definition, we produced this video to explain what that means in more detail. But when meeting with customers, what really counts is a compelling demonstration, on data that makes sense to them, so they understand the value in identifying these concepts over classic top-down approaches. That's why it's probably worth spending a few articles on some of the demo apps and tools we've built to work with iKnow.

In the first article in this series, we'll start with the Knowledge Portal, a simple query interface to explore the contents of your domain.

6 3
0 1.5K
Article
· Nov 9, 2015 1m read
iFind Search Portal

A simple and rather automated search portal leveraging iFind capabilities for rich text search in 2016.1. It has simple faceting, result ranking, highlighting of search results etc and just works off any table you point it to that has an iFind index by appending ?t=MyPackage.TableName to the URL.

See also https://github.com/bdeboe/isc-iknow-ifindportal for more details and the latest version.

0 3
0 399
Question
· Feb 26, 2016
No Namespaces found

Hello!

I'm trying to use iKnow but I get the following error "No iKnow-enabled namespaces found" in the Management Portal.

It was working on the 2015.2.2 version but now on 2016.2.0 it doesn't. I very new to Caché and iKnow so it's probably a simple problem.

I was able to create a iKnow domain using the terminal and I can view it in the learning portal (http://localhost:57772/csp/sys/exp/_iKnow.UI.IndexingResults.zen).

0 2
0 443

Hello!

My group and I are currently doing a research project on natural language processing and iKnow plays a big role in this project. I am aware that the algorithms iKnow use aren't public, and I respect that.

My question is, are there any public documents/research that explains, at least part of, the algorthims iKnow uses and the motivations for using them?

1 2
0 361

In Cache'/Ensemble, by specifying the objectsPackage parameter, dictionaries (and other objects) get projected to tables that can be accessed by SQL queries.

But in IRIS (IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2019.1 (Build 507U) Mon Feb 25 2019 13:47:16 EST), when I created a dictionary with ##class(%iKnow.Matching.DictionaryAPI).CreateDictionary(), it does not get projected to a table.

The class APIs correctly retrieve information about this dictionary.

Am I missing something with IRIS, or is there any issues about this?

0 2
0 290

If you've worked with iKnow domain definitions, you know they allow you to easily define multiple data locations iKnow needs to fetch its data from when building a domain. If you've worked with DeepSee cube definitions, you'll know how they tie your cube to a source table and allow you to not just build your cube, but also synchronize it, only updating the facts that actually changed since the last time you built or synced the cube. As iKnow also supports loading from non-table data sources like files, globals and RSS feeds, the same tight synchronization link doesn't come out of the box. In this article, we'll explore two approaches for modelling DeepSee-like synchronization from table data locations using callbacks and other features of the iKnow domain definition infrastructure.

3 2
0 375