首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  Java

最近遇到一个复杂的需求,不知如何去实现.....

  •  
  •   IfEles · 177 天前 · 4123 次点击
    这是一个创建于 177 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对复杂的一段话(里面的商品或者地点信息,这些都是有数据库基础表维护的)筛选出里面的关键信息,拼装成后端(用的是 java,框架是 springboot)可以解析的一条数据,问题就是出在如何解析这条不规则的话,目前想象到的逻辑是想锤子科技开源的大爆炸 Big Bang 那套逻辑,用 HanLP( https://github.com/hankcs/HanLP)的自然语言处理方案来实现中文分词,然后用户去选择需要的关键词,但是选择后的数据拼成哪种形式给后端始终没想到很好的解决方案.回头想这个需求其实只要一纸固定的模板就能解决,硬是要做成这么复杂😂,各位大佬有啥更好的建议或者解决方案吗?小弟才疏学浅能想到的就这么多.
    26 回复  |  直到 2019-05-28 12:40:36 +08:00
        1
    sagaxu   177 天前 via Android
    年薪百万的也来论坛求助吗?
        2
    TomVista   177 天前
    有个叫 结巴 的开源框框
        3
    TomVista   177 天前
    @sagaxu 你俩有过节吗?还是楼主不干人事?或者暴躁老哥在线?
        4
    lihongjie0209   177 天前
    前端只管把 `话` 传到后端, 后端负责分词
        5
    IfEles   177 天前
    @sagaxu 底层搬砖小码农而已😂
        6
    IfEles   177 天前
    @TomVista 有开源网站,老哥
        7
    IfEles   177 天前
    @lihongjie0209 问题就是出在分词的这个地方,如何筛选出关键有用的信息
        8
    sunstar   177 天前 via iPhone
    stopword
        9
    TomVista   177 天前
    @IfEles 训练一个 ai 识别文字中的某类词语. 结巴是一个开源的分词器.
        10
    IfEles   177 天前
    @TomVista 我看了一下好像,是 Python 的开源项目吧
        11
    LeeSeoung   177 天前
    NLP 领域 了解下 QA 中 是如何筛选出有用信息来回答的。
        12
    TomVista   177 天前
    没见过用 java 搞 ai 的,搭个 Python 服务器完事.
        13
    IfEles   177 天前
    @TomVista 😂
        14
    leafin   177 天前
    “筛选出里面的关键信息”,这个‘关键信息’是什麽呢?
    如果‘关键信息’都已经在你的基础表里面,其实做个简单的正则匹配就行了。
    如果你还想要分析‘商品’和‘地点’的关系,甚至是整句话的情感,又或者你的基础表不能完全包括这些‘关键信息’,那你确实需要 NLP 来进行处理
        15
    magicZ   177 天前
    我们做过类似的, 当时其中情感分析, 关键字处理, 都是 Python 去搞得.
        16
    guyeu   177 天前
    前端分词有点奇怪,应该是后端分词,这个东东应该是后端的一个服务,java 的话可能没什么特别好的轮子,python 的话,结巴分词然后去除停用词就可以。
        17
    IfEles   177 天前
    @guyeu 现在我用的那个 HanLp 的解决方案也是差不多结巴分词的这样的轮子
        18
    guyeu   177 天前
    @IfEles #17 看起来不错,但是分词对多数需求来说只是第一步。。。重新阅读了一下你的问题,感觉是数据结构没有确定?分词结果不是数组么,直接传给后端指定服务,或者更进一步的需求是什么呢?一般而言都是把尽量完整的信息传到后端,然后让后端去做特定的处理。
        19
    seraphv3   177 天前
    java 上分词我用过 IKAnalyzer,可以试下
        20
    IfEles   177 天前
    @guyeu 对的就是数据类型没确定,比如说数据是:x 仔牛奶:5 元 x 师傅方便 3 元,数据库里会维护好商品名称,但是单价可能每次得去这串复杂文字中提取,大概就是这样的需求
        21
    IfEles   177 天前
    @seraphv3 好的,多谢我去了解一下
        22
    guyeu   176 天前
    @IfEles #20 前端要做这个不是难为人么。。。让后端训练一个专门做这件事的模型去做啊。。。不过我觉得不靠谱,模型是有准确率问题的。。或者语法相对固定的话直接字符串匹配吧。
        23
    IfEles   176 天前
    @guyeu 我也觉得模型的准确率不可能百分百,只能用关键词字符串去匹配了
        24
    luw2007   176 天前
    里面的商品或者地点信息,这些都是有数据库基础表维护的
        25
    luw2007   176 天前
    里面的商品或者地点信息,这些都是有数据库基础表维护的。
    这就是简单的一个匹配的问题。
    应该由后端自己处理。前端只管传话就好了。

    匹配关键词的方法很多。分词,双尾后缀树,自动机等等。
        26
    sazima   176 天前
    有个想法, 分词功能使用 python 的结巴, 用 java 调用就好. 比如借助 thrift.
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1341 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 17:31 · PVG 01:31 · LAX 09:31 · JFK 12:31
    ♥ Do have faith in what you're doing.