首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  自然语言处理

有将自然语言转为对应命令的服务或开源项目吗

  •  
  •   bruce00 · 213 天前 · 10233 次点击
    这是一个创建于 213 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就是能把接收到的自然语言处理为命令库中对应的命令。 比如 “帮我搜一下 XXXX ” 和 “ XXXX 是什么意思” 处理为同一个命令,当然 “ XXXX ” 是作为命令的参数

    6 回复  |  直到 2019-10-31 16:35:31 +08:00
        1
    TimePPT   213 天前   ♥ 1
    这种特异性需求通常需要自己按照需求对 NLP 模型进行训练。
    现在市面上的流行架构是对自然语句做 NLU (语义理解),确定 intent (意图),并对意图涉及到的 Slot (槽位)进行抽取确定,之后对 slot value 做 normalize (标准化),生成标准请求字段请求下游资源,返回结果后进行结构化展示或者再 NLG (自然语言生成)到 answer
    上面是提供思路,有没有轮子就不知道了。
        2
    bruce00   213 天前
    @TimePPT 就是感觉学习成本比较高,有可以直接用的就好了,没有的话也只有慢慢学习了。
        3
    TimePPT   213 天前   ♥ 1
    @bruce00 因为需求特异吧,市面上轮子比较多的是一些生活查询类的 bot,比如查个天气啥的,查 man page 这种估计也就程序猿用的多吧 233
    其实这个好的一点是一般 man page 都是索引好的,下游资源不用太多处理,麻烦就麻烦在 NLU 这块,intent 要有数据训练分类器(如果仅仅是一个 domain 直接上过滤器就好),slot 抽取这块也比较麻烦。句式的支持上多样性越高对 NLU 的要求就越高,如果仅仅一种或者有限的几种句式的话可以试试自定义 Pattern 解决。
        4
    TimePPT   213 天前   ♥ 1
    @bruce00 还有就是内容相同或者相似判断,比如你问 参数 a 是什么意思,有可能下游会有多个命令参数都带 a,怎么确定问的是哪个?
    一般这种就涉及多轮询问确定完整意图了,简单的可以用一次检索返回结果后给一个 list 进行选取,复杂的可能就要反问确定。涉及多轮交互的,就有一个对话 session 管理的问题在里面了。

    市面上应该有开源或者封装好的简单 chatbot,支持自定义那种,自己改改也许也能用。
        5
    bruce00   213 天前
    @TimePPT 感谢耐心科普,我现在对于识别不了的消息就是手动在数据库中标记对应命令;对话管理建立之后会轻松些,能做到即时学习;文本相似应该也能解决一部分。其它的处理方法就需要继续学习了
        6
    RingoTC   46 天前
    可以了解一下追一科技发起的 NL2SQL 比赛,现在比赛结束了,高分方案也都分享了出来。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2646 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 34ms · UTC 14:29 · PVG 22:29 · LAX 06:29 · JFK 09:29
    ♥ Do have faith in what you're doing.