【发布时间】:2020-09-10 16:53:31
【问题描述】:
我正在 Python3 中运行一个抓取和处理例程 - 但我得到的一些句子是垃圾。我想拒绝这些,但不知道该怎么做。
我正在使用 NLTK 的 POS 标记和分块,但这似乎并不能帮助我识别无效的句子。一个垃圾“句子”中的 NN、VB 等的数量似乎与一个好的句子没有任何不同。
我想我只是在寻找一种简单的方法来对句子的语法进行评分并拒绝具有太多“错误”的句子。我尝试使用grammar_check,但AWS Lambda 不喜欢运行它。初始化后,我立即收到“连接被拒绝”错误。 (NLTK 也需要被“欺骗”才能在 AWS Lambda 上运行,但我找到了如何做到这一点)。
示例: 好:曼联主帅何塞·穆里尼奥告诉他的球员要“长大”,以便在他们复出战胜纽卡斯尔伯恩茅斯和尤文图斯后,在比赛中尽早停止失球
垃圾:[最新结果为您带来 42 场平局 8 阿提哈德球场曼彻斯特老特拉福德曼彻斯特阿提哈德球场曼彻斯特老特拉福德曼彻斯特阿提哈德球场曼彻斯特无可用内容曼城德比获胜后恢复训练外部链接城市抽签 fc 巴塞尔ucl 16轮外链战报:曼联1-2城 外链城赢惊险德比移11分
【问题讨论】:
-
你能举一些“好”和“垃圾”句子的例子吗?
-
感谢您的回复。我编辑了我的原始问题以包含示例。
-
不幸的是,一个非常简短的示例可能只会带来非常具体的建议。这个特殊的例子似乎表现出大量的重复。所有的“垃圾”都是这样吗?
-
根据样本,你可以看看单词+词性标签的顺序。例如。连续 5 个 NN 在正常句子中是相当少见的
-
从每个页面抓取的文本似乎是随机的东西以及段落文本,这可能会随着每个网站而变化。而且网站也会发生变化。您对顺序名词提出了很好的看法,但其他“垃圾”可能并非如此。我一直在寻找一个简单的语法检查,希望它在可能被拒绝的语法检查器上得到如此糟糕的“垃圾”。
标签: python-3.x parsing nlp nltk