业务场景(实时用户交互或 批处理 ) + Corpus语料库/DB数据库 + 自动添加标点符号断句

自动断句:用户实时输入的每个字符/词,计算是断句词的统计概率:
取输入序列向前的 N-Gram长度,统计概率判断。
例如 :[“。”(句号)],[“?”(问号)],[正式,结束],[好了,吗],…,
而这些是可以通过历史交互数据与Corpus/DB,
进行统计学习训练得到的(每个词是断句词的统计概率).

一、业务场景((实时用户交互 OR 周期批处理):

  1. 用户发起新会话Session,初始化交互,恢复Context,等待 用户输入 或 传入任务文档;

  2. 用户实时输入,触发实时交互,设当前输入句子为S:
    当前输入句子 S 长度未定,并且可能是动态字符流式输入:
    因此可以用 Sliding Window滑动窗口, 提取 当前输入单词Word 的context。

  3. 当解析完一个完整的当前输入句子,即刻将其写入输入句子历史记录,
    并初始化启动一个新的输入句子的开始。
    这就需要开头的“自动断句”的功能.

  4. 用户主动结束,或设置超时自动断开当前会话Session,
    将用户的ID/UID, 连同当前结束时的Context上下文、Session会话信息,
    写入ContextHistory、SessionHistory的会话历史记录。

  5. 设置周期性的批处理大数据任务,对所有用户的历史记录,进行周期性的统计更新有:
    5.1 全库用户的Corpus(采样收集部分代表性的用户,建立全库用户Corpus)
    每用户 的Corpus(每个用户的历史记录,过滤,抽样建立每用户的Corpus)
    5.2 按时间段(当天/近一周/近15天/近1个月/近3个月/近半年/近1年/…/全量)
    周期性更新每用户的时间段Corpus
    5.3 按业务分(热门业务/用户兴趣业务/…)

  6. 设置Event-Driving事件驱动的批处理大数据任务,
    当用户触发重要的Event, 对有联系大数据批处理,增量更新(通过Message Queue消息队列近似实时)。

  7. 自动断句:用户输入的每个字符/词,取输入序列向前的 N-Gram长度,计算出是断句词的统计概率:
    例如 :“。”(句号),“?”(问号),[正式,结束],[好了,吗],…,
    而这些是可以通过历史交互数据,与Corpus/DB进行统计学习训练得到的(每个词是断句词的统计概率).

二、Corpus语料库与DB数据库

World Knowledge世界常识库:OALD牛津高阶/Synonyms/Phrases/…, 新华字典/成语词典/辞海, 行业词典,大英百科,Wikipedia,…
全局信息: Corpus语料库、行业通用数据库(例如Springer/Google Scholar/Academia/…学术数据库)/领域库、用户自定义库;
语法信息:输入句子的历史记录;
句法信息:当前动态输入句子;
上下文信息:提取 当前输入词 的 词向量 时用到的长度设为 N 的滑动窗口长度范围的字符序列信息

三、自动添加标点符号与断句

自动断句:用户实时输入的每个字符/词,计算是断句词的统计概率:
取输入序列向前的 N-Gram长度,统计概率判断。
例如 :[“。”(句号)],[“?”(问号)],[正式,结束],[好了,吗],…,
而这些是可以通过历史交互数据与Corpus/DB,
进行统计学习训练得到的(每个词是断句词的统计概率);
甚至一定程度上,可以为用户实时输入,自动判断来添加标点符号。

posted @ 2023-06-11 02:19  abaelhe  阅读(74)  评论(0)    收藏  举报