File size: 569 Bytes
602b5b1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from .tokenizer import SimpleTokenizer
from .intent_extractor import IntentExtractor
from .graph_builder import GraphBuilder

class IntentGraphPipeline:
    def __init__(self):
        self.tokenizer = SimpleTokenizer()
        self.extractor = IntentExtractor()
        self.builder = GraphBuilder()

    def __call__(self, text: str):
        tokens = self.tokenizer.tokenize(text)
        intents = self.extractor.extract(tokens)
        graph = self.builder.build(intents)
        return {'intents': intents, 'nodes': list(graph.nodes), 'edges': list(graph.edges)}