gpt4 book ai didi

python - 处理缩写的通用解决方案

转载 作者:太空宇宙 更新时间:2023-11-04 05:28:02 26 4
gpt4 key购买 nike

问题?

给定输入句子:
你好,安德森先生。

默认的句子分词器(punkt 和 nltk 样本 pickle)将其转换为:
句子 1:Hello, Mr
句子 2:Anderson

当它真正应该保持原样时。

为什么很难找到现有的解决方案?

有通用的解决方案吗?这似乎是一个常见问题,甚至在 nltk python 教程书中也提到过。

句子分割很困难,因为句号用于标记缩写,有些句号同时标记缩写和终止句子,就像美国这样的首字母缩略词经常发生的情况

然而,我见过的所有解决方案要么基于手动输入缩写,例如 this one ;或者训练一个新的泡菜——因为我的搜索不会出现其他人训练过的泡菜(句子边界消歧的第一条规则……)。

手动构建英文缩写列表是一项艰巨的任务;而且我还没有在 nltk 中找到此类列表的任何明确文档。

我目前的方法:我正在尝试编写一个网络爬虫来使用 this列表。我讨厌它。该列表远非完整,我真正希望的最好的是扩展网络抓取程序以合并几个这样的列表。然后我将使用该列表来形成假设的缩写扩展,看看它们是否有意义......我在跟谁开玩笑?我可能会回去 sleep 。

最佳答案

你可以采取反动的、排他性的策略:任何至少有两个字母且不是合法单词的东西,后跟一个句点,必须是缩写。你的文本语料库允许这样做吗?缺点是拼写错误、其他拼写错误、无故使用 SMS、俚语或其他未被“官方”认可的词,以及缩写也是合法词的情况(例如“Ed.note”)。

如果您想要一个全面的解决方案……好吧,机器学习模型在您的应用程序中是否有用?给它提供示例,让它了解“古装”中的哪些项目 [是 |不是] 缩写,并将其合并到您选择的句子切片器中。

关于python - 处理缩写的通用解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38063129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com