Giter VIP home page Giter VIP logo

mindmeld's Introduction

MindMeld Conversational AI Platform

MindMeld

This repository contains the MindMeld Conversational AI Platform.

Introducing MindMeld

The MindMeld Conversational AI platform is among the most advanced AI platforms for building production-quality conversational applications. It is a Python-based machine learning framework which encompasses all of the algorithms and utilities required for this purpose. Evolved over several years of building and deploying dozens of the most advanced conversational experiences achievable, MindMeld is optimized for building advanced conversational assistants which demonstrate deep understanding of a particular use case or domain while providing highly useful and versatile conversational experiences.

MindMeld is the only Conversational AI platform available today that provides tools and capabilities for every step in the workflow for a state-of-the-art conversational application. The architecture of MindMeld is illustrated below.

MindMeld architecture

To summarize, the functionality available in MindMeld includes:

  • advanced Natural Language Processing, consisting of

    • Domain Classification
    • Intent Classification
    • Entity Recognition
    • Entity Role Labeling
    • Entity Resolution
    • Language Parsing
  • versatile dialogue management

  • custom knowledge base creation

  • advanced question answering

  • training data collection and management support

  • large-scale data analytics

The MindMeld Philosophy

MindMeld has been used for applications in dozens of different domains by some of the largest global organizations. Over the course of these production deployments, MindMeld has evolved to be ideally suited for building production-quality, large-vocabulary language understanding capabilities for any custom application domain. This has been achieved by following the architectural philosophy whose guiding principles are expressed in the table below.

Concept Description
Power and Versatility Unlike GUI-based tools typically too rigid to accommodate the functionality required by many applications, MindMeld provides powerful command-line utilities with the flexibility to accommodate nearly any product requirements.
Algorithms and Data In contrast to machine learning toolkits which offer algorithms but little data, MindMeld provides not only state-of-the-art algorithms, but also functionality which streamlines the collection and management of large sets of custom training data.
NLP plus QA and DM While conversational AI platforms available today typically provide natural language processing (NLP) support, few assist with question answering (QA) or dialogue management (DM). MindMeld provides end-to-end functionality including advanced NLP, QA, and DM, all three of which are required for production applications today.
Knowledge-Driven Learning Nearly all production conversational applications rely on a comprehensive knowledge base to enhance intelligence and utility. MindMeld is the only Conversational AI platform available today which supports custom knowledge base creation. This makes MindMeld ideally suited for applications which must demonstrate deep understanding of a large product catalog, content library, or FAQ database, for example.
You Own Your Data Differently from cloud-based NLP services, which require that you forfeit your data, MindMeld was designed from the start to ensure that proprietary training data and models always remain within the control and ownership of your application.

Quick Start

Assuming you have pip installed with Python 3.6 or Python 3.7 and Elasticsearch running in the background:

pip install mindmeld
mindmeld blueprint home_assistant
python -m home_assistant build
python -m home_assistant converse

For detailed installation instructions, see Getting Started. To start with pre-built sample applications, see MindMeld Blueprints.

MindMeld UI

MindMeld UI

You can use our sample web-based chat client interface to interact with any MindMeld application. This web UI also serves as a debugging tool to step through the various stages of query processing by the MindMeld pipeline.

git clone [email protected]:cisco/mindmeld.git
cd mindmeld/mindmeld-ui
npm install
npm start

For detailed installation instructions, see Getting Started for UI.

Note: this web client only works on Chrome browser.

How to contribute to the MindMeld platform:

We are very happy to receive your contributions. We maintain a list of open issues on our GitHub project.

You can also create your own issue and link it to your code in a pull request, which we will promptly review.

To setup local development for MindMeld, first you will need to fork the MindMeld repository from GitHub and follow instructions on Getting Started page to setup the virtual environment.

git clone [email protected]:[username]/mindmeld.git
cd mindmeld
virtualenv -p python3 .
source bin/activate

To develop MindMeld, you need Python 3.6 or Python 3.7. To install and manage different versions of Python, you can checkout pyenv which also works with virtualenv.

Now we can install MindMeld and its dependencies:

pip install -e .
pip install -r dev-requirements.txt
pip install -r test-requirements.txt

Make sure that the numerical parser and Elasticsearch are running in the background. Finally we are ready to run MindMeld static style checks and unit tests.

./lintme
cd tests
pytest .

After making changes and all tests are passing locally, commit the code to your fork and issue a PR against the cisco/mindmeld repo.

Documentation

You can view the documentation for the latest stable release on mindmeld.com/docs and the documentation for the latest master branch version on our Github Page.

You can contribute to the documentation under the source directory.

To generate the documentation, please follow these steps:

pip install -r docs-requirements.txt
make apidoc

Citation

Please cite this paper if you use MindMeld in your work:

Raghuvanshi, A., Carroll, L. and Raghunathan, K., 2018, November. Developing Production-Level Conversational Interfaces with Shallow Semantic Parsing. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations (pp. 157-162)

@inproceedings{raghuvanshi2018developing,
  title={Developing Production-Level Conversational Interfaces with Shallow Semantic Parsing},
  author={Raghuvanshi, Arushi and Carroll, Lucien and Raghunathan, Karthik},
  booktitle={Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing:
             System Demonstrations},
  pages={157--162},
  year={2018}
}

Want to learn more about MindMeld?

Visit the MindMeld website.

Feedback or Support Questions

Please contact us at [email protected].

mindmeld's People

Contributors

17amrut29 avatar alhuang10 avatar angelrev avatar anupamsinghal avatar arushir avatar chadoakley avatar davidmfrey avatar dependabot[bot] avatar jjjacksn avatar jre21 avatar kksharma99 avatar ktick avatar lfiedlerc avatar mattfrey-cisco avatar mhuang2173 avatar minhtuev avatar murali1996 avatar r44 avatar ritvikshrivastava avatar scordature avatar serapio avatar snow0x2d0 avatar tim17x6 avatar tmehlinger avatar vembar avatar vijay120 avatar vrdn-23 avatar vvijayak avatar vvishal-cisco avatar zozman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mindmeld's Issues

Deprecate language argument

Currently, the language argument in the process function is not being used since each processor class is tied to a specific language defined in the configuration file. We should deprecate this param as a part of the larger cleanup of MindMeld API.

#124

issue with num-parser

i am very new at this, please forgive me if you find something odd
mindmeld num-parse --start not working
it is giving error same as mentioned on your page of OS incompatibility of duckling executable
even tried pulling duckling master and also tried running it on port 7151
there's only one halt with the statement as below:
Listening on http://0.0.0.0:7151
and is not responding
can u please help me out with this

A pipe in query text outside of entity label produces cryptic index error

If you have a query entity marked up with a missing open brace, the markup parse ends up with an IndexError and little helpful information.
Example query:

book from now|sys_time} until kingdom come

Output:

...
  File "python3.6/site-packages/mindmeld/markup.py", line 81, in load_query
    markup, query_factory=query_factory, query_options=query_options
  File "python3.6/site-packages/mindmeld/markup.py", line 261, in process_markup
    raw_text, annotations = _parse_tokens(_tokenize_markup(markup))
  File "python3.6/site-packages/mindmeld/markup.py", line 398, in _parse_tokens
    annotation = stack[-1]

We should be catching this error in process_markup and making it a MarkupError with msg like

        msg = "Invalid markup in query {!r}: {}"

Date Not Recognized - Question Answerer Filter

Trying to filter a Date of Birth column 'dob' by comparing it to another date using the Question Answerer filter. There is an error, it seems that mindmeld does not recognize that the 'dob' field is a Date.

Code ==========
s = qa.build_search(index='user_data_3')
s.filter(field='dob', lte='2014-03-03').execute()

Error ===========

ValueError Traceback (most recent call last)
in
----> 1 s.filter(field='dob', lte=kb['doh'][3]).execute()

/anaconda3/envs/mindmeld2/lib/python3.6/site-packages/mindmeld/components/question_answerer.py in filter(self, **kwargs)
484 """
485 new_search = self._clone()
--> 486 new_search._build_clause("filter", **kwargs)
487
488 return new_search

/anaconda3/envs/mindmeld2/lib/python3.6/site-packages/mindmeld/components/question_answerer.py in _build_clause(self, clause_type, **kwargs)
417 self._build_query_clause(**kwargs)
418 elif clause_type == "filter":
--> 419 self._build_filter_clause(**kwargs)
420 elif clause_type == "sort":
421 self._build_sort_clause(**kwargs)

/anaconda3/envs/mindmeld2/lib/python3.6/site-packages/mindmeld/components/question_answerer.py in _build_filter_clause(self, **kwargs)
383 raise ValueError('Invalid knowledge base field '{}''.format(key))
384 clause = Search.FilterClause(field=key, value=value)
--> 385 clause.validate()
386 self._clauses[clause.get_type()].append(clause)
387

/anaconda3/envs/mindmeld2/lib/python3.6/site-packages/mindmeld/components/question_answerer.py in validate(self)
847 elif not self.field_info.is_number_field() and not self.field_info.is_date_field():
848 raise ValueError(
--> 849 'Range filter can only be defined for number or date field.')
850
851 class SortClause(Clause):

ValueError: Range filter can only be defined for number or date field.

Sample Data =========
{ 'money': 42.0,
'dob': '1976-11-15',
'employee_source': 'Other'}

BLueprint installation failed with an error

Created 'kwik_e_mart' app at '/localdisk/Manoj/kwik_e_mart'
Using cached 'kwik_e_mart' kb archive
error: Unexpected error occurred when sending requests to Elasticsearch: mapper_parsing_exception Status code: 400 details: {'error': {'root_cause': [{'type': 'mapper_parsing_exception', 'reason': 'Root mapping definition has unsupported parameters: [document : {dynamic_templates=[{default_text={mapping={analyzer=default_analyzer, type=text, fields={raw={ignore_above=256, type=keyword}, normalized_keyword={analyzer=keyword_match_analyzer, type=text}, char_ngram={analyzer=char_ngram_analyzer, type=text}, processed_text={analyzer=english, type=text}}}, match_mapping_type=string, match=}}], properties={id={type=keyword}}}]'}], 'type': 'mapper_parsing_exception', 'reason': 'Failed to parse mapping [_doc]: Root mapping definition has unsupported parameters: [document : {dynamic_templates=[{default_text={mapping={analyzer=default_analyzer, type=text, fields={raw={ignore_above=256, type=keyword}, normalized_keyword={analyzer=keyword_match_analyzer, type=text}, char_ngram={analyzer=char_ngram_analyzer, type=text}, processed_text={analyzer=english, type=text}}}, match_mapping_type=string, match=}}], properties={id={type=keyword}}}]', 'caused_by': {'type': 'mapper_parsing_exception', 'reason': 'Root mapping definition has unsupported parameters: [document : {dynamic_templates=[{default_text={mapping={analyzer=default_analyzer, type=text, fields={raw={ignore_above=256, type=keyword}, normalized_keyword={analyzer=keyword_match_analyzer, type=text}, char_ngram={analyzer=char_ngram_analyzer, type=text}, processed_text={analyzer=english, type=text}}}, match_mapping_type=string, match=*}}], properties={id={type=keyword}}}]'}}, 'status': 400}

Implement `disallow_intents` argument for `nlp.process` and all other inference APIs

We want to provide developers functionality to mask out certain domains, intents or entities during an inference. For example, certain intents are strictly "follow-up" intents, like "select_number_from_carousel" (for queries like select 1, pick option three etc). In these cases, for the first-turn query, we want to mask out such followup intents and only enable them on the second turn. Since these followup intents always need to masked for most queries and enabled only in a few cases, we need to add functionality to default mask these intents instead of always asking the developer to provide the disallow_intents field.

Why can't I "import py" using python3?

Having trouble building my models for application (viet_kwik_e_mart), even when using python3 virtual env.

Running into ModuleNotFoundError: No module named 'py' due to import py in mindmeld/_util.py. See attached screenshot

Screen Shot 2020-08-23 at 7 10 46 PM

Knowledge Base to return more than 10 items

We want to return more than 10 items from the Knowledge Base

from mindmeld.components import QuestionAnswerer
qa = QuestionAnswerer(app_path='.')
s = qa.build_search(index='products')
list_results = s.query(product='router').execute()

Tokenizer as a configurable service

We want to run the tokenizer as a separate configurable service, similar to Duckling. In this way we can easily switch the tokenizers and have multiple tokenizer services running.

unauthorized: authentication required when pulling mindmeldworkbench,

this happens systematically.
`
G:\Projs\mindmeld\workspace1\Scripts>docker pull mindmeldworkbench/dep

Using default tag: latest

latest: Pulling from mindmeldworkbench/dep

35b42117c431: Pull complete
ad9c569a8d98: Pull complete
293b44f45162: Pull complete
0c175077525d: Pull complete 707de074d2f0: Pull complete
caa35759c29a: Pull complete
0fbaba2dffce: Extracting [==================================================>] 150.1MB/150.1MB
28529adaf9a9: Download complete
c407b55cb678: Download complete
ba8d15137452: Download complete
f8a2e96f96fc: Download complete
c107ad6948ec: Download complete
2e9d2bbcd07b: Download complete
27688e4b1fab: Download complete
079a2c29822f: Download complete
0e67cbe58a46: Download complete
4ee8d6177b99: Download complete
0b267b19de0a: Download complete
806072ae6da4: Download complete
d407d72c834d: Download complete
487b933ae19a: Download complete
ca027e9130e0: Downloading
eda692db0b6d: Downloading
686645cdd58d: Downloading
80e210888d32: Downloading
unauthorized: authentication required`

Fix Step 5 in the documentation (missing id field?)

I was following the tutorial today with mindmeld 4.1.6 and python 3.7.4 on macOS.

The part of Step 5 where it says to type qa.load_kb('my_app', 'stores', './data/stores.json') fails with:

  File "/Users/thobasse/.virtualenvs/mindmeld/lib/python3.7/site-packages/mindmeld/components/question_answerer.py", line 234, in transform
    base = {'_id': doc['id']}
KeyError: 'id'

I suppose that the code now expects our data to contain an id field, which is not the case of the JSON data file given as an example above.

Does mindmeld support pre-defined entity resolver?

Entities in the given sentence are classified after modelling entity recogniser using nlp.build() with a predefined blue-print or with our own data. But, is there a way to evaluate default entity resolver for pre-defined entities like sys_date and sys_number.

--Veera.

Pass all system entity value candidates through

Currently the system entity logic not only select a single entity type for a given span but also selects a single entity value. For example, the raw output from Duckling for "tomorrow at 4" includes both value.value = "2020-07-21T04:00:00.000-07:00" and value.values` a list of 2 candidate values capturing the 4 AM and 4 PM meanings.

{
        "body": "tomorrow at 4",
        "start": 1,
        "value": {
            "values": [
                {
                    "value": "2020-07-21T04:00:00.000-07:00",
                    "grain": "hour",
                    "type": "value"
                },
                {
                    "value": "2020-07-21T16:00:00.000-07:00",
                    "grain": "hour",
                    "type": "value"
                }
            ],
            "value": "2020-07-21T04:00:00.000-07:00",
            "grain": "hour",
            "type": "value"
        },
        "end": 14,
        "dim": "time",
        "latent": false
    }

In cases of many potential meanings, e.g. "Tuesday", the candidates are limited to 3.
MindMeld exposes value to the application as a list of length 1, so it would compatible and more informative to expose the list value.values.

Classifying role to null when there is a single role under an intent

I have an entity x which has two roles x1 and x2 . x1 is used in an intent i1 and x2 is used in an intent i2 . All the expressions in i1 and i2 have single roles mapped in their expressions for an entity. Now, when I do nlp.process(), it classifies the role of that entity to null.

I understand that there is a lazy evaluation happening to avoid role classification, but readability wise it confuses me atleast, that why is my role being shown as null?

Sample response:

{
  "result": {
    "domain": "restaurant",
    "entities": [
      {
        "role": null,
        "span": {
          "end": 8,
          "start": 6
        },
        "text": "one",
        "type": "sys_number",
        "value": [
          {
            "value": 1
          }
        ]
      },
      {
        "role": null,
        "span": {
          "end": 29,
          "start": 10
        },
        "text": "paneer butter masala",
        "type": "dish",
        "value": []
      }
    ],
    "intent": "order",
    "text": "order one paneer butter masala"
  },
  "status": "success"
}

where my query is order one paneer butter masala which is basically order {one|sys_number|no_items} {paneer butter masala|dish}

and sys_number has two roles no_ppl,no_items

training data in intent order looks like:

order {one|sys_number|no_items} {paneer butter masala|dish}
order {3|sys_number|no_items} {taco salads|dish}
order {5|sys_number|no_items} {butter naan|dish}
order {two|sys_number|no_items} {virgin mojito|dish}
order {five|sys_number|no_items} {tomato soup|dish}

Expose language parameter

Not exposing non-English languages--implementing Vietnamese version of Kwik-E-Mart app. Need to expose language parameter in Application and ApplicationManager classes, as well as pass language parameter into nlp.process(). See PR #82

Remove Elasticsearch as hard dependency for Question Answer / Make QA pluggable

Currently the QuestionAnswerer requires Elasticsearch to work but I would like to use something else.
Please make the QuestionAnswerer pluggable so that we choose different implementations.
For example, it would be great to have a "in-memory" implementation for tests or very small QuestionAnswerer. Or use another search engine such as Solr.

Backward incompatibility for entity recognition in mindmeld

When you load the bots built in the pre-4.3 release (4.2.10 for example), we see the below error. The error is related to a change in the EntityLabelEncoder class, where you added self.system_entity_recognizer = SystemEntityRecognizer.get_instance(). This causes old apps to fail since they don't have the field.

Error: EntityLabelEncoder object has no attribute system_entity_recognizer

Implement DialogueFlow.reprocess(...)

Currently, in a flow, there is no way to exit the current flow and re-invoke the dialogue manager (DM) to recompute the flow handler with respect to the current domain, intent, entities, state. DialogueFlow.reprocess should be able to exit the current flow and reinvoke the DM to compute the flow handler and dialogue state.

timestamp parameter has inconsistent behaviour

The timestamp parameter in the params object doesn't behave as I would expect according to the documentation
https://www.mindmeld.com/docs/userguide/dm.html?highlight=timestamp#params
It is listed as a unix timestamp which should be represented in seconds, however the handling of it attempts to differentiate between a seconds and milliseconds measurement.
https://github.com/cisco/mindmeld/blob/master/mindmeld/ser.py#L151
The API definition should include the units and the behaviour should follow the definition.
The current method of checking the number of digits in the timestamp is not robust. This causes confusing behaviour when using timestamps older than 2001.

Time processing capabilities

We should add time processing capabilities to MindMeld.

  1. Helper function for converting Duckling sys_time response into a corresponding Unix timestamp.
  2. Convert a number of seconds into hours and minutes/

Make Tensorflow optional

Tensorflow is not used in the default setting for our classifiers, so it should be made optional since it is a very large package

webex_bot_server is not importable

The examples provided with the blueprints for example hr_assistant try to import with
from mindmeld.bot import WebexBotServer
This fails saying it doesnt exist as a valid init.py needs to be put into the bot folder

Disable Travis CI

Currently, we are moving toward Github Actions. We should disable Travis CI once we are confident that all changes for Github Actions are smooth.

Size Parameter Return Issue

How can I run a query on a QA to get only the answers that satisfy the query but are not limited to 10?

Currently the results are limited to 10. If you set the size parameter of the QA query function to the max number of objects in the json and then run the query you will get all entries in the json not solely the ones that satisfy the query.

Context (Example): I have Question Answerer loaded with a json of 300 employees, 152 of which are Male. I want to run a query that returns me all 152 Males.

If I run the following I get 10 results:
s = qa.build_search(index='user_data_3')
s.query(sex='Male').execute()

So I set the size to the max number of employees, 300 but now I get 300 results, not a truncated 152 results that satisfy the query:
s = qa.build_search(index='user_data_3')
s.query(sex='Male', size=300).execute()

Configure MindMeld tokenizer to preserve special characters

We want to configure the tokenizer so that it can preserve certain special characters (such as "="). Currently the MindMeld Tokenizer will convert most characters to empty strings except for a few special characters that are used in annotation. We want to be able to configure the MindMeld Tokenizer to preserve a certain set of characters.

This is useful because some product IDs might contain special characters in them ("S9500UK9-169=") which will be removed by the Tokenizer. When we train entity recognizer on the final string, it will not be able to recognize the original product ID in the input sequence ("S9500UK9-169" instead of "S9500UK9-169=").

unable to connect to entity system recognizer

i am very new at this, please forgive me if you find something odd
initially
mindmeld num-parse --start not working
it was giving error same as mentioned on your page of OS incompatibility of duckling executable
even tried pulling duckling master and also tried running it on port 7151
there's only one halt with the statement as below:
Listening on http://0.0.0.0:7151
and was not responding
then i installed rasa duckling
and it worked fine
but now the python -m food_ordering build command
is giving me error of not able to connect to entity recognizer, even though my num-parser is working fine with an pid of 8154
its just one more warning for DeprecationWarning: numpy.core.umath_tests is an internal NumPy module

can u please help me out with this

Build failed when there are no entities folder

Steps to reproduce:

  1. Create a new mindmeld blueprint
  2. Add a new intent (e.g domains\food_ordering\greet\train.txt) and populate with training data
  3. Build the blueprint. It should be building as expected
  4. Delete the entities folder
  5. Build the blueprint. It should be failing with unhandled exception

How I found this out is I create a new blueprint, put my intent and put it inside the git repository. As git doesnt push empty folders, when I pull my source into another server, the build failed.

mindmeld) syed@ubuntu:/mindmeld$ python -m appspace-app build
/home/syed/mindmeld/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release.
from numpy.core.umath_tests import inner1d
Numerical parser running, PID 9400
/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/_version.py:64: MindMeldVersionWarning: Current mindmeld (4.1.1) does not satisfy mindmeld==4.1.0 in pip requirements caused by (mindmeld 4.1.1 (/home/syed/mindmeld/lib/python3.6/site-packages), Requirement.parse('mindmeld==4.1.0'))
warnings.warn(error_msg, category=MindMeldVersionWarning)
warning: The application package appspace-app is already imported.
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/syed/mindmeld/appspace-app/main.py", line 8, in
app.cli()
File "/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/app.py", line 166, in cli
app_cli(obj={'app': self})
File "/home/syed/mindmeld/lib/python3.6/site-packages/click/core.py", line 722, in call
return self.main(*args, **kwargs)
File "/home/syed/mindmeld/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/syed/mindmeld/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/syed/mindmeld/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/syed/mindmeld/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/home/syed/mindmeld/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/cli.py", line 163, in build
app.lazy_init()
File "/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/app.py", line 79, in lazy_init
async_mode=self.async_mode)
File "/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/app_manager.py", line 89, in init
self.nlp = nlp or NaturalLanguageProcessor(app_path, resource_loader)
File "/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/components/nlp.py", line 360, in init
self._children[domain] = DomainProcessor(app_path, domain, self.resource_loader)
File "/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/components/nlp.py", line 640, in init
self.resource_loader)
File "/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/components/nlp.py", line 823, in init
self.parser = Parser(self.resource_loader, domain=domain, intent=intent)
File "/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/components/parser.py", line 74, in init
entity_types = path.get_entity_types(app_path) + ['unk']
File "/home/syed/mindmeld/lib/python3.6/site-packages/mindmeld/path.py", line 238, in get_entity_types
return next(os.walk(entities_dir))[1]
StopIteration
(mindmeld) syed@ubuntu:
/mindmeld$

QA on unstructured text

We should add a default QA feature to MindMeld so that our users can experiment with QA for unstructured texts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.