Nlp 如何才能最好地确定单词的正确大写字母?
我有一个只包含大写字母的句子数据库。该数据库是技术性的,包含医学术语,我希望对其进行规范化,以便大写字母(接近)符合用户的期望。实现这一目标的最佳方式是什么?是否有免费提供的数据集可用于帮助完成此过程?搜索有关TrueCasting的工作:Nlp 如何才能最好地确定单词的正确大写字母?,nlp,Nlp,我有一个只包含大写字母的句子数据库。该数据库是技术性的,包含医学术语,我希望对其进行规范化,以便大写字母(接近)符合用户的期望。实现这一目标的最佳方式是什么?是否有免费提供的数据集可用于帮助完成此过程?搜索有关TrueCasting的工作: 如果您可以访问具有正常大小写的类似医疗数据,那么生成您自己的数据集将非常容易。将所有内容大写,并使用到原始文本的映射来训练/测试您的算法。一种方法可以是从词性标记推断大写,例如使用Python自然语言工具包(NLTK): 这并不完美,特别是因为我不知道你的数
如果您可以访问具有正常大小写的类似医疗数据,那么生成您自己的数据集将非常容易。将所有内容大写,并使用到原始文本的映射来训练/测试您的算法。一种方法可以是从词性标记推断大写,例如使用Python自然语言工具包(NLTK): 这并不完美,特别是因为我不知道你的数据到底是什么样子的,但也许你可以得到这个想法:
>>> text = "Clonazepam Has Been Approved As An Anticonvulsant To Be Manufactured In 0.5mg, 1mg And 2mg Tablets. It Is The Generic Equivalent Of Roche Laboratories' Klonopin."
>>> truecase(text)
"Clonazepam has been approved as an anticonvulsant to be manufactured in 0.5mg, 1mg and 2mg Tablets. It is the generic Equivalent of Roche Laboratories' Klonopin."
最简单的方法是使用基于ngrams的拼写纠正算法
例如,您可以使用。您可以在word中找到预测空格的源代码,类似于预测大小写 顺便说一句,这是特定语言的。你的数据是英文的吗?你有句子边界吗?也就是说,你知道一句话在哪里结束,下一句话从哪里开始吗?很好的解决方案。您可能会发现这个api也很有趣。请注意,此解决方案将所有名词大写。如果你只想大写专有名词,请使用
[“NNP”,“NNPS”]
。is not CAN CAN not would not==>is not CAN not would not'I LOVE you:)'==>'I LOVE you:)'
>>> text = "Clonazepam Has Been Approved As An Anticonvulsant To Be Manufactured In 0.5mg, 1mg And 2mg Tablets. It Is The Generic Equivalent Of Roche Laboratories' Klonopin."
>>> truecase(text)
"Clonazepam has been approved as an anticonvulsant to be manufactured in 0.5mg, 1mg and 2mg Tablets. It is the generic Equivalent of Roche Laboratories' Klonopin."