NLP:句子分割/边界检测

时间:2017-07-14 22:33:33

标签: nlp nltk sentence text-segmentation

如果有图书馆根据内容将句子分成小块,我感兴趣。

E.g。

  

输入:句子:“在我们入住酒店期间,我们有一个洁净室,   非常漂亮的浴室,窗外的壮丽景色和美味   早上吃早餐。“

     

输出:句段列表:[“我们入住酒店期间”,   “我们有一个干净的房间”,“非常漂亮的浴室”,“令人惊叹的景色   窗户“,”和早上的美味早餐。“]

所以基本上我在基于含义的句子边界检测/分割中寻找我的目标是判断一句话,将其分成具有自己“意义”而没有其余句子的部分。

我决不会对句子边界检测感兴趣,因为任何一个人都可以打十几个,但这对句子分割不起作用。

提前谢谢

1 个答案:

答案 0 :(得分:2)

在NLP文献中,从句子中获取短语的问题通常称为“chunking”。

看起来你想要将一个句子分成几个块,这样每个单词都只有一个块。你可以使用解析器来做到这一点,Stanford's是一个很受欢迎的解析器。它的输出称为“解析树”,如下所示:

(ROOT
  (S
    (S
      (NP
        (NP (DT The) (JJS strongest) (NN rain))
        (VP
          (ADVP (RB ever))
          (VBN recorded)
          (PP (IN in)
            (NP (NNP India)))))
      (VP
        (VP (VBD shut)
          (PRT (RP down))
          (NP
            (NP (DT the) (JJ financial) (NN hub))
            (PP (IN of)
              (NP (NNP Mumbai)))))
[rest omitted]

这里的大写字母是Penn Treebank tags。 S表示“句子”,NP“名词短语”,VP“动词短语”,依此类推。通过从解析树中提取像VP和NP这样的短语单元,您可以构建类似于您请求的短语。

这不完全是您所要求的,但根据您的应用,提取关键词短语(如“社会保障”或“外交事务”)可能会有用。这有时称为关键短语提取。我最近在该主题上阅读的一篇好文章是Bag of What?,并且可以实现here。以下是基于美国政治的语料库输出(标记为NPSFT)的示例:

Sample Bag of What? output

有很多技术可以分割这样的句子,具有不同程度的复杂性和准确性,最好的取决于你得到它们后你想要用短语做什么。无论如何,希望这会有所帮助。