【问题标题】:How to add punctuation marks for the sentences?如何在句子中添加标点符号?
【发布时间】:2019-04-21 20:51:30
【问题描述】:

如何解决构建标点预测器的问题?

可以在link 中找到该问题的工作演示。

输入文字如下:

"its   been   a   little   while   Kirk   tells   me its   actually   been
three   weeks   now   that Ive   been   using   this   device   right   here
that   is   of   course   the   Galaxy   S   ten   I mean   Ive   just   been
living   with   this phone   this   has   been   my   phone   has   the   SIM
card   in   it   I   took   photos I   lived   live   I   sent   tweets whatsapp
slack   email   whatever   other   app   this   was my   smart phone"

【问题讨论】:

  • 也许你可以从创建一个列表开始。第一个元素第一个单词,第二个元素前两个单词,第三个元素前三个单词,第四个元素前四个单词....
  • 我想过,但它不适用于我的情况。根据我正在处理的文件,我将有数千个单词。考虑到我有一个千字文件要处理,而您建议的 N-gram 方法将有 1000 个句子要分析。但如果我划分句子,我只会分析大约 100-200 个句子。
  • 抱歉,您不能只用一个完全不同的问题替换一个问题,尤其是在已经有答案的情况下。我已将帖子回滚到发布的原始问题。不接受答案对他们为回答您的问题所付出的努力尤其不公平。

标签: python nlp stanford-nlp tokenize


【解决方案1】:

预测文本的标点符号(尤其是语音转录)是一个众所周知的问题。

您可以尝试将Punctuator2 与提供的模型一起使用,或者通过为您的域中的文本训练新模型来进行。查看 README 底部的一些相关项目的指针。

Grammarly 开发了一种更简单的方法,只在连续句子之间插入句点,如下所述:

https://www.grammarly.com/blog/nlp-run-on-sentences/

他们用真实和人工训练数据做了一些很好的实验,这很有用,因为很容易从你知道在句子边界有可靠标点符号的文本生成训练数据,比如报纸文本。

【讨论】:

  • 在 Punctuator2 中,他们指定了如何使用他们的模型。不过,要使用它,我们需要训练、测试和创建模型。
  • 它有点隐蔽(而且我也不认为 Europarl 模型对您的数据有好处),但在本节末尾有下载他们的一些模型的链接:github.com/ottokart/punctuator2#how-well-does-it-work
  • 我取消删除了这个,因为这个问题不应该被其他帖子替换,我假设这就是你删除答案的原因。如果有其他原因,请随时重新删除。但是,如果此答案对提出问题的人有所帮助,则可以帮助其他有相同或相似问题的人。我会把答案留给他们去寻找并可能投票。
  • 没关系,谢谢!我很高兴恢复了原来的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-05
  • 1970-01-01
  • 2017-01-12
  • 1970-01-01
  • 2016-06-06
  • 2020-05-24
  • 1970-01-01
相关资源
最近更新 更多