V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
c4f36e5766583218
V2EX  ›  程序员

有哪些中文断句的类库或者 API 推荐?

  •  
  •   c4f36e5766583218 · 2019-03-05 23:04:10 +08:00 · 4162 次点击
    这是一个创建于 1868 天前的主题,其中的信息可能已经有所发展或是发生改变。

    打了一大段话,各种符号任意使用,换行不换行随意。如何把这一段话断句? (多分享点 java 的最好~

    第 1 条附言  ·  2019-03-05 23:54:06 +08:00
    注意,不是分词,是断句。就是把一大段话分词若干个句子。
    比如“请在确有必要的情况下再使用此功能为原主题补充信息,每个主题至多可以附加 3 条附言,创建附言价格为每千字 20 铜币”断句后可以是:
    1、请在确有必要的情况下再使用此功能为原主题补充信息
    2、每个主题至多可以附加 3 条附言
    3、创建附言价格为每千字 20 铜币
    第 2 条附言  ·  2019-03-06 00:38:22 +08:00
    第 3 条附言  ·  2019-03-06 01:01:57 +08:00
    比如: https://github.com/NLPchina/nlp-lang (和上面的共两个都有一段时间没更新了
    第 4 条附言  ·  2019-03-06 01:10:07 +08:00
    15 条回复    2019-03-14 14:36:34 +08:00
    Mac
        1
    Mac  
       2019-03-05 23:22:48 +08:00 via Android
    去看看锤子大爆炸,好像提过用的谁家的 API
    youngxhui
        2
    youngxhui  
       2019-03-05 23:28:58 +08:00 via Android
    你是说分词吗? hanlp 这个库不错 JAVA 的
    c4f36e5766583218
        3
    c4f36e5766583218  
    OP
       2019-03-05 23:55:03 +08:00
    @Mac 支持断句吗?
    @youngxhui 拆分成句子,不是分词
    c4f36e5766583218
        4
    c4f36e5766583218  
    OP
       2019-03-06 00:07:20 +08:00
    第 1 条附言打错了,是“就是把一大段话分成若干个句子”
    Maboroshii
        5
    Maboroshii  
       2019-03-06 00:28:06 +08:00 via iPad
    枚举所有的标点符号自己写一个不就是了。。
    c4f36e5766583218
        6
    c4f36e5766583218  
    OP
       2019-03-06 00:37:35 +08:00
    @Maboroshii 这很弱吧,(至少得带点语义分析吧。都 9102 年了
    c4f36e5766583218
        7
    c4f36e5766583218  
    OP
       2019-03-06 01:06:09 +08:00
    NLPchina/nlp-lang,就是通过标点符号分句的。剔除!!!
    c4f36e5766583218
        8
    c4f36e5766583218  
    OP
       2019-03-06 01:09:44 +08:00
    xuanwu
        9
    xuanwu  
       2019-03-06 02:08:26 +08:00
    如#5 所言. 先举些不能通过标点分句的例子吧, 否则很难理解你的需求.
    如果有实用目的, 欢迎在这里开 issue: https://github.com/program-in-chinese/house_of_10000_business
    Iamnotfish
        10
    Iamnotfish  
       2019-03-06 02:32:49 +08:00 via iPhone
    结巴断句?
    theks
        11
    theks  
       2019-03-06 02:38:20 +08:00 via iPhone
    只考虑开源的吗?商用的也可以看看。我用过百度的 nlp 处理语义分析,关键词提取之类的,如果需求不复杂是可以用的。
    c4f36e5766583218
        12
    c4f36e5766583218  
    OP
       2019-03-06 10:44:21 +08:00
    @theks 那个好像是提取摘要
    @Iamnotfish 结巴能断句
    @xuanwu 比如发了条微博,一大段话只使用了逗号,需要把它拆分成几个句子(split,至于哪个逗号 split 哪个逗号不 split 由程序处理了)。
    xuanwu
        13
    xuanwu  
       2019-03-06 11:13:16 +08:00
    @c4f36e5766583218 哦, 听起来是要判断哪几段短句是构成一个完整句子, 比如说, 我这句话, 就只有两句?

    1. 哦, 听起来是要判断哪几段短句是构成一个完整句子.
    2. 比如说, 我这句话, 就只有两句?

    感觉比分词来的更主观, 难度估计更大吧.
    c4f36e5766583218
        14
    c4f36e5766583218  
    OP
       2019-03-06 12:14:23 +08:00
    @xuanwu 感觉是,我后来往深了想了想,一段话有上下文联系的,要有语义分析的断句还真蛮复杂的
    c4f36e5766583218
        15
    c4f36e5766583218  
    OP
       2019-03-14 14:36:34 +08:00
    好吧,貌似我搜到的 3 个 github 项目都是通过标点符号断句的~~~~。(散了散了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3271 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:13 · PVG 22:13 · LAX 07:13 · JFK 10:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.