{"id":34060999,"url":"https://github.com/intersystems/iknow","last_synced_at":"2026-04-09T03:33:37.060Z","repository":{"id":37963762,"uuid":"220304549","full_name":"intersystems/iknow","owner":"intersystems","description":"Community development repository for iKnow","archived":false,"fork":false,"pushed_at":"2025-11-19T01:57:22.000Z","size":192368,"stargazers_count":53,"open_issues_count":17,"forks_count":21,"subscribers_count":18,"default_branch":"master","last_synced_at":"2026-01-02T16:42:09.765Z","etag":null,"topics":["intersystems-iknow","nlp"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/intersystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-11-07T18:37:08.000Z","updated_at":"2025-11-19T01:57:25.000Z","dependencies_parsed_at":"2024-08-13T17:55:10.457Z","dependency_job_id":null,"html_url":"https://github.com/intersystems/iknow","commit_stats":{"total_commits":1104,"total_committers":18,"mean_commits":"61.333333333333336","dds":0.6313405797101449,"last_synced_commit":"58db4acef23f17abdbadad8c57079893f6dced37"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/intersystems/iknow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intersystems%2Fiknow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intersystems%2Fiknow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intersystems%2Fiknow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intersystems%2Fiknow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/intersystems","download_url":"https://codeload.github.com/intersystems/iknow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intersystems%2Fiknow/sbom","scorecard":{"id":491602,"data":{"date":"2025-08-11","repo":{"name":"github.com/intersystems/iknow","commit":"18d4b985b4303fe8b61c9e46b1390022cefaf7e3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/CI.yml:1","Warn: no topLevel permission defined: .github/workflows/clean-cache.yml:1","Warn: no topLevel permission defined: .github/workflows/dependency-update.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 8 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:96: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:101: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:106: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:129: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:133: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:138: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:157: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:183: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:188: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:193: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:203: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:215: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:247: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:252: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:257: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:262: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:274: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:287: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yml:300: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:318: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:322: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:328: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:333: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:338: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:343: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:348: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yml:356: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yml:396: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yml:81: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/CI.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/clean-cache.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/clean-cache.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:133: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:145: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:169: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:179: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:201: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:213: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:235: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependency-update.yml:247: update your workflow using https://app.stepsecurity.io/secureworkflow/intersystems/iknow/dependency-update.yml/master?enable=pin","Warn: pipCommand not pinned by hash: actions/deploy.sh:57","Warn: pipCommand not pinned by hash: .github/workflows/CI.yml:209","Warn: pipCommand not pinned by hash: .github/workflows/clean-cache.yml:23","Warn: pipCommand not pinned by hash: .github/workflows/dependency-update.yml:100","Warn: pipCommand not pinned by hash: .github/workflows/dependency-update.yml:136","Warn: pipCommand not pinned by hash: .github/workflows/dependency-update.yml:204","Warn: pipCommand not pinned by hash: .github/workflows/dependency-update.yml:238","Info:   0 out of  44 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of   7 pipCommand dependencies pinned","Info:   1 out of   1 nugetCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-19T19:18:49.631Z","repository_id":37963762,"created_at":"2025-08-19T19:18:49.631Z","updated_at":"2025-08-19T19:18:49.631Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31584630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["intersystems-iknow","nlp"],"created_at":"2025-12-14T04:29:44.714Z","updated_at":"2026-04-09T03:33:37.054Z","avatar_url":"https://github.com/intersystems.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI Status](https://github.com/intersystems/iknow/workflows/CI/badge.svg)](https://github.com/intersystems/iknow/actions?query=workflow%3A%22CI%22) [![PyPI version](https://img.shields.io/pypi/v/iknowpy?logo=pypi)](https://pypi.org/project/iknowpy) [![Python versions](https://img.shields.io/pypi/pyversions/iknowpy?logo=python)](https://pypi.org/project/iknowpy)\n\n# iKnow\n\n**iKnow** is a library for Natural Language Processing that identifies entities (phrases) and their semantic context in natural language text in English, German, Dutch, French, Spanish, Portuguese, Swedish, Russian, Ukrainian, Czech and Japanese. It was originally developed by [i.Know](https://www.linkedin.com/company/i.know/about/) in Belgium, acquired by [InterSystems](https://www.intersystems.com) in 2010 to be embedded in its Caché and [IRIS Data Platform](http://www.intersystems.com/iris) products. InterSystems published the iKnow engine as open source in 2020. \n\n[![Getting started with iKnow](https://img.youtube.com/vi/VkR6rcv4_aA/0.jpg)](https://www.youtube.com/watch?v=VkR6rcv4_aA)\n\nThis readme file has everything you need to get started, but make sure you click through to the **[wiki](https://github.com/intersystems/iknow/wiki)** for more details on any of these subjects.\n\n- [iKnow](#iknow)\n- [Using iKnow](#using-iknow)\n  - [From Python](#from-python)\n  - [From C++](#from-c)\n  - [From InterSystems IRIS](#from-intersystems-iris)\n  - [From Different Platforms](#from-other-platforms)\n- [Understanding iKnow](#understanding-iknow)\n  - [Entities](#entities)\n  - [Attributes](#attributes)\n  - [How it works](#how-it-works)\n- [Building the iKnow Engine](#building-the-iknow-engine)\n- [Contributing to iKnow](#contributing-to-iknow)\n\n# Using iKnow\n\n## From Python\n\nThe easiest way to see for yourself what iKnow does with text is by giving it a try! Thanks to our [Python interface](https://github.com/intersystems/iknow/wiki/Getting-Started), that only takes two simple steps:\n\n1. Use `pip` to install the `iknowpy` module as follows:\n\n   ```Shell\n   pip install iknowpy\n   ```\n\n2. From your Python prompt, instantiate the engine and start indexing:\n\n   ```Python\n   import iknowpy\n   \n   engine = iknowpy.iKnowEngine()\n\n   # show supported languages\n   print(engine.get_languages_set())\n\n   # index some text\n   text = 'This is a test of the Python interface to the iKnow engine.'\n   engine.index(text, 'en')\n\n   # print the raw results\n   print(engine.m_index)\n\n   # or make it a little nicer\n   for s in engine.m_index['sentences']:\n       for e in s['entities']:\n           print('\u003c'+e['type']+'\u003e'+e['index']+'\u003c/'+e['type']+'\u003e', end=' ')\n       print('\\n')\n   ```\n\nIf you are looking for another programming language or interface, check out the other [APIs](https://github.com/intersystems/iknow/wiki/APIs). For more on the Python interface, move on to the [Getting Started](https://github.com/intersystems/iknow/wiki/Getting-Started) section in the wiki!\n\n## From C++\n\nThe main C++ API file is [engine.h](https://github.com/intersystems/iknow/blob/master/modules/engine/src/engine.h#L203), defining the class `iKnowEngine` with the main entry point:\n\n```C++\nindex(TextSource, language)\n```\n\n After indexing all data is stored in `iknowdata::Text_Source m_index`. \"iknowdata\" is the namespace used for all classes that contain output data. Fore more details, please refer to the [API overview](https://github.com/intersystems/iknow/wiki/APIs) on the wiki.\n\n\n## From InterSystems IRIS\n\nFor many years, the iKnow engine has been available as an embedded service on the InterSystems IRIS Data Platform. The obvious advantage of packaging it with a database is that indexing results from many documents can be stored in a single repository, enabling corpus-wide analytics through practical APIs. See the [iKnow documentation](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GIKNOW) for IRIS or browse the InterSystems Developer Community's articles on setting up an [iKnow domain](https://community.intersystems.com/post/creating-domain-iknow-domain-architect), [browsing it](https://community.intersystems.com/post/iknow-demo-apps-part-1-knowledge-portal) and [using iFind](https://community.intersystems.com/post/free-text-search-way-search-your-text-fields-sql-developers-are-hiding-you) (iKnow-powered text search)\n\nThe [InterSystems IRIS Community Edition](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=ACLOUD) is available from Docker Hub free of charge.\n\n## From Different Platforms\n\nSince version 1.3, a C-interface is available, enabling communication with the iKnow engine in a JSON encoded request/response style:\n```C\nconst char* j_response;\niknow_json(R\"({\"method\" : \"index\", \"language\" : \"en\", \"text_source\" : \"Hello World\"})\", \u0026j_response);\n```\nMost API functionality is available in a serialized json format.\n\n# Understanding iKnow\n\n## Entities\n\niKnow identifies phrase boundaries that define **Entities**, entirely based on the syntactic structure of the sentences, rather than relying on an upfront dictionary or pretrained model. This makes iKnow well-suited for initial exploration of a new corpus. \niKnow Entities are not [Named Entities](https://en.wikipedia.org/wiki/Named_entity) in the NER sense, but rather the word groups that need to be considered together, representing a concept or relationship as coined by the text author in its entirety. The following examples clearly show the importance of this phrase level to fully capture what the author meant:\n\n| iKnow Entity | Meaning |\n|-|-|\n| *Dopamine* | small molecule |\n| *Dopamine receptor* | drug target |\n| *Dopamine receptor antagonist* | chemical drug |\n| *Dopamine receptor gene* | gene, molecular sequence |\n| *Dopamine receptor gene mutation* | physiological process |\n\niKnow will label every entity with a simple role that is either *concept* (usually corresponding to Noun Phrases in POS lingo) or *relation* (verbs, prepositions, ...). Typical stop words that have little meaning of their own get categorized as *PathRelevant* (e.g. pronouns) or *NonRelevant* parts, depending on whether they play a role in the sentence structure or are just linguistic fodder.\n\nIn the following sample sentence, we've highlighted **concepts**, \u003cu\u003erelations\u003c/u\u003e and *PathRelevants* separately.\n\n\u003e **Belgian geuze** \u003cu\u003eis\u003c/u\u003e **well-known** \u003cu\u003eacross\u003c/u\u003e the **continent** \u003cu\u003efor\u003c/u\u003e *its* **delicate balance**.\n\n[Read more...](https://github.com/intersystems/iknow/wiki/Entities)\n\n## CRC's\n\nAs of v1.4, the iKnow engine now also produces Concept-Relation-Concept clusters (aka CRC's)\n\n[Read more...](https://github.com/intersystems/iknow/wiki/Concept-Relation-Concept)\n\n## Attributes\n\nBeyond this simple phrase recognition, iKnow also captures the context of these entities through **semantic attributes**. Attributes label spans (of entities) within a sentence that share a semantic context. Most attributes start from a *marker term* and are then, through linguistic rules, expanded left and right as appropriate per the syntactic structure of the sentence. iKnow's main contribution is in this fine-grained expansion, which has been shown to be more accurate than many ML-based techniques.\n\niKnow supports the following attribute types:\n\n- **Negation**: iKnow tags all entities participating in a negation, as opposed to an (implied) affirmative context.\n\n  \u003e \u003cu\u003eAfter discussing\u003c/u\u003e *his* **nausea**, the **\\[**\u003cspan style=\"color: red\"\u003e**patient** \u003cu\u003edidn't report suffering from\u003c/u\u003e **chest pain**, **shortness** \u003cu\u003eof\u003c/u\u003e **breath** \u003cu\u003eor\u003c/u\u003e **tickling\\]**\u003c/span\u003e.\n\n- **Sentiment**: based on a user-supplied list of marker terms, iKnow will identify spans with either a positive or negative sentiment (through separate attributes). Overlapping negation attributes will reverse the sentiment in some language models.\n\n  \u003e \u003cspan style=\"color: green\"\u003e**\\[** *I* \u003cu\u003eliked\u003c/u\u003e *the* **striped pijamas\\]**\u003c/span\u003e, \u003cu\u003ebut\u003c/u\u003e the **\\[slippers** \u003cu\u003edidn't really fit with\u003c/u\u003e *it* **\\]**.\n\n- **Measurements**, **Time**, **Frequency** and **Duration**: all entities \"participating\" in an expression of something measurable or time-related will be tagged, enabling efficient recognition of facts in long stretches of natural language text.\n\n  \u003e Upon **exam** **\\[two weeks ago\\]** *the* **\\[patient's weight** was **146.5 pounds\\]**.\n\n- **Certainty**: this attribute is a work in progress. See the corresponding [wiki section](https://github.com/intersystems/iknow/wiki/Attributes) for more details.\n\nSome attributes are not available for all languages yet. See the [wiki section](https://github.com/intersystems/iknow/wiki/Language-model-guidelines) for more details.\n\n## How it works\n\nSome InterSystems-era resources on how iKnow works:\n- A recent [introductory video](https://www.youtube.com/watch?v=VkR6rcv4_aA)\n- A not-so-recent [playlist](https://www.youtube.com/watch?v=QfbqISDFC1s\u0026list=PLp4xNHWZ7IQmUwbtvHsiZnn2nblxjug15\u0026index=1) on our video channel\n- A fun animation of our unique bottom-up approach in [Japanese](https://www.youtube.com/watch?v=yOVP6visOfo) and [Russian](https://www.youtube.com/watch?v=dNJHWxgVr5I) (English version embedded [here](https://learning.intersystems.com/course/view.php?id=114))\n\n[Read more...](https://github.com/intersystems/iknow/wiki/Approach)\n\n\n\n# Building the iKnow Engine\n\nThe [source code](https://github.com/intersystems/iknow/wiki/Source-Code) for the iKnow engine is written in C++ and includes .sln files for building with [Microsoft Visual Studio 2019 Community Edition](https://visualstudio.microsoft.com/vs/community/) and Makefiles for building in Linux/Unix. \n\nPlease refer to [this wiki page](https://github.com/intersystems/iknow/wiki/Build-Process) for more on the overall build process.\n\n\n# Contributing to iKnow\n\nYou are welcome to contribute to iKnow's engine code and language models. Check out the [Wiki](https://github.com/intersystems/iknow/wiki) for more details on how they work and the [Issues](https://github.com/intersystems/iknow/issues) and [Projects](https://github.com/intersystems/iknow/wiki/Projects) sections for any particular work on the horizon.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintersystems%2Fiknow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintersystems%2Fiknow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintersystems%2Fiknow/lists"}