Ruby 如何检测字符串何时具有通用业务后缀(例如“Inc.”、“LLC&“x27;”、“GmbH”)

Ruby 如何检测字符串何时具有通用业务后缀(例如“Inc.”、“LLC&“x27;”、“GmbH”),ruby,gem,string-matching,names,Ruby,Gem,String Matching,Names,我想找到一个库(Ruby gem)来检测字符串何时包含商业名称中使用的常见后缀(例如,Inc、LLC、LLP、GmbH、PC等)。我的目标是检测我们什么时候有商业名称而不是人名;具体而言,我们不希望将企业名称“Company,Inc”与人名“Last,First”等同对待,例如,我们不希望将企业名称反转为“Inc Company” 我发现了一个似乎记录了各种类型公司的文档,但我没有发现任何宝石或只是一个简单的列表 第一种选择是查找gem,第二种选择是一组正则表达式字符串,最后一种选择是后缀列表。

我想找到一个库(Ruby gem)来检测字符串何时包含商业名称中使用的常见后缀(例如,Inc、LLC、LLP、GmbH、PC等)。我的目标是检测我们什么时候有商业名称而不是人名;具体而言,我们不希望将企业名称“Company,Inc”与人名“Last,First”等同对待,例如,我们不希望将企业名称反转为“Inc Company”

我发现了一个似乎记录了各种类型公司的文档,但我没有发现任何宝石或只是一个简单的列表

第一种选择是查找gem,第二种选择是一组正则表达式字符串,最后一种选择是后缀列表。

一致公司gem有一个“IsCompanyWord”函数,可以识别公司名称中常用的特定单词

你可以去看看


希望这有帮助

这可能有一个宝石。然而,将公司作为数据建模和用户体验问题处理是很正常的,而不是根据“全名”字段的内容自动检测它们。最简单的形式可能是在用户模型上有一个可选字段“company_name”。此外,即使是做一些看似简单的事情,例如“Last,First”来命名字段,也可能会与人名有很大的不同。名字是那些数据中的一部分,你越看越复杂。通常最好的选择是不要查看字符串内部,而是按原样显示。+1@NeilSlater。名称是名称,您无法解析它们以确定首/末或它们是否是类似于企业的实体。如果需要区分,则为用户的“第一”、“最后一个”和“业务”提供单独的字段,不要试图对其进行二次猜测。事后猜测最终总是失败的。感谢您的回复,但我们无法控制这些数据的创建方式。它来自多个源,几乎没有控制或编组。这部分是因为此字段表示实体,可以是真实的人,也可以是虚构的实体。因此,我们别无选择,只能解析并尝试推断实体的类型。