我有一种Q& A网站(非常近似)用户输入问题以供我们的工作人员回答。我非常担心用户发布非问题,这是一个烦恼。我认为最好的是一个系统来检测文本是否是意大利语(我们的用户的语言),如果是,检查它是不是针对常见copypastas列表的copypasta。
所以,长话短说:用户会输入一些文字,我必须确保这是一个意大利语的正确问题,而不是随机字符。
答案 0 :(得分:1)
不确定您将使用哪种语言
http://www.easywayserver.com/blog/java-string-contains-example/
How do I check if a string contains a specific word in PHP?
检查输入字符串(问题)是否包含任何禁用词是一种方法。
伪码
ListOfForbiddenWords;
if Language = Italian
if Input does not contain any of ListOfForbiddenwords
//It's fine
else
//Don't spam
else
//You're not Italian
不太确定检查字符串是否以特定语言编写的最佳方式
答案 1 :(得分:0)
如果您想要商业选项,可以使用Rosoka的语言检测。 您可以在Rosoka Cloud以每小时1美元的价格试用所有功能。语言ID作为独立库提供。因此,您可以提供您关注的示例输入,以查看它是否回馈您想要的内容。
像“jgujqkwfjpihoujlkfa”这样的随机文本将被标记为ROMANIZATION或基于底层代码块的标记,如果它不是ascii则使用。即不是语言的输入不会被标记为语言。
答案 2 :(得分:0)
有许多免费的语言检测库。一个流行的例子是来自LibreOffice的libexttextcat。如果你不想要一个C库,有很多克隆和端口以及变种;见例如http://odur.let.rug.nl/vannoord/TextCat/competitors.html表示(不完整的,稍微过时的)指针列表。
答案 3 :(得分:-1)
前一段时间问here类似的问题,答案列出了许多语言检测API解决方案。其中一个答案指向detectlanguage.com,提供有限的免费语言检测服务。