Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用NSLinguisticTagger识别人名_Ios_Text_Nslinguistictagger - Fatal编程技术网

Ios 使用NSLinguisticTagger识别人名

Ios 使用NSLinguisticTagger识别人名,ios,text,nslinguistictagger,Ios,Text,Nslinguistictagger,我正在修补NSLanguagistTagger 识别名词、动词、介词等基本单词类型非常有效 然而,在我的测试中,识别人名NSLinguagisticTagPersonalName几乎不起作用(iOS8)。地名和语言学家TagPlaceName似乎也很有效,但大多数时候人名也被归类为地名 这是我的基本设置(使用NSLinguagisticTagSchemeNameTypeorlexicalClass) 例1 "Meeting with John in Paris" Evaluation

我正在修补NSLanguagistTagger

识别名词、动词、介词等基本单词类型非常有效

然而,在我的测试中,识别人名NSLinguagisticTagPersonalName几乎不起作用(iOS8)。地名和语言学家TagPlaceName似乎也很有效,但大多数时候人名也被归类为地名

这是我的基本设置(使用NSLinguagisticTagSchemeNameTypeorlexicalClass)

例1

 "Meeting with John in Paris"

  Evaluation

 [Verb] Meeting
 [Preposition] with
 [Noun] John
 [Preposition] in
 [PlaceName] Paris
例2

 "Meeting with John"

  Evaluation

 [Verb] Meeting (0,7)
 [Preposition] with (8,4)
 [PlaceName] John (13,4)
你知道我该如何改进人名匹配吗


此外,我还想知道一个名字需要如何被识别。(我假设像“with”这样的介词是一个很好的指标……显然这还不够)。我将非常感谢您对这方面的任何想法或其他见解。这是一个令人兴奋的领域。

显然正确的答案是:“等几年,苹果公司在Swift 4中改进n语言标记器。”

以下是用Xcode 9(测试版)编写和执行的Swift 4代码:

下面是第一个示例字符串的结果:

let entryString = "Meeting with John in Paris"

[Noun] Meeting {0, 7}
[Preposition] with {8, 4}
[PersonalName] John {13, 4}
[Preposition] in {18, 2}
[PlaceName] Paris {21, 5}
let entryString = "Meeting with John"

[Noun] Meeting {0, 7}
[Preposition] with {8, 4}
[PersonalName] John {13, 4}
第二个示例字符串:

let entryString = "Meeting with John in Paris"

[Noun] Meeting {0, 7}
[Preposition] with {8, 4}
[PersonalName] John {13, 4}
[Preposition] in {18, 2}
[PlaceName] Paris {21, 5}
let entryString = "Meeting with John"

[Noun] Meeting {0, 7}
[Preposition] with {8, 4}
[PersonalName] John {13, 4}

嘿,伯纳德!我看到这个问题已经有一段时间没有答案了。我想PM你,但Stack不允许,所以我在这里发表评论,希望你能看到这一点。我现在正在自己修补NSLinguisticTagger,我和你有完全相同的问题。“山姆·史密斯来自香港”被正确地识别(山姆·史密斯作为人名,洪聪作为地名)是毫无意义的,但“我的名字是山姆·史密斯”却没有。如果您能分享任何经验,我们将不胜感激!非常感谢你,祝你有一个美好的一天@borg123我目前的做法是避免使用NSLinguagistTagger中的PlaceName和PersonName标记。那些标签就是不够好用。相反,我宁愿使用介词标记作为线索,并在此基础上创建您自己的标记器。“NameTypeOrExialClass”是什么?忽略前面的评论,我不会得到[PersonalName]列表[Non]与{8,4}[PlaceName]John{13,4}相遇{0,7}[介词]它只承认英语起源的名称,而不承认任何其他名称。这是一种限制还是我们可以通过其他方式实现它。