18. Pre/Post Processors

対話エンジン内にはPre ProcessorsとPost Processorsの2種類のプロセッサがあります。
発話文に対し、対話エンジン内での対話処理前に加工する必要がある場合、対話エンジンからの応答文に対し返却前に加工が必要である場合に用います。
  • Pre Processors は、対話エンジン内部で対話処理を行う前に、文字列の前処理を行うプロセッサです。
  • Post Processors は、対話エンジン内部で対話処理を行った応答文に対し、APIで返却を行う前に文字列の後処理を行うプロセッサです。

18.1. Pre Processors

Pre Processorsは、以下の抽象基本クラスから継承します。

programy.processors.processing.PreProcessor

このクラスには単一のメソッドprocessがあり、入力されたstringに対し前処理を行い、処理された文字列を返却します。 返却された文字列を対話エンジン内で利用し対話を進行します。

class PreProcessor(Processor):

    def __init__(self):
        Processor.__init__(self)

    @abstractmethod
    def process(self, bot, clientid, string):
        pass

18.2. Post Processors

Post Processorsは、以下の抽象基本クラスから継承します。

programy.processors.processing.PostProcessor

このクラスには単一のメソッドprocessがあり、入力されたstringに対し前処理を行い、処理された文字列を返却します。 返却された文字列をエンドユーザに対する応答文として使用します。

class PostProcessor(Processor):
    def __init__(self):
        Processor.__init__(self)

    @abstractmethod
    def process(self, bot, clientid, string):
        pass