Tôi chỉ mới bắt đầu chơi đùa với NSLinguisticTagger
dựa mã của tôi trên blog này: NSLinguisticTagger @ NSHipster.comObjective-C: NSLinguisticTagger "new york" vs "New York"
NSLinguisticTaggerOptions options = NSLinguisticTaggerOmitWhitespace | NSLinguisticTaggerOmitPunctuation | NSLinguisticTaggerJoinNames;
NSLinguisticTagger *tagger = [[NSLinguisticTagger alloc] initWithTagSchemes: [NSLinguisticTagger availableTagSchemesForLanguage:@"en"] options:options];
tagger.string = question;
[tagger enumerateTagsInRange:NSMakeRange(0, [question length]) scheme:NSLinguisticTagSchemeNameTypeOrLexicalClass options:options usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop) {
NSString *token = [question substringWithRange:tokenRange];
NSLog(@"%@: %@", token, tag); }];
Khi tôi chạy này với question = @"Weekend in New York"
, "New York"
được gắn thẻ như PlaceName
tuyệt vời. Nhưng khi tôi chạy điều này với question = @"Weekend in new york"
, "new"
được gắn thẻ là "Adjective"
và "york"
được gắn thẻ là PlaceName
. Có cách nào để giải quyết vấn đề này sao cho "New York"
và "new york"
cả hai đều được gắn thẻ là PlaceName
?
Tôi hoàn toàn mới đối với ngôn ngữ học này.
"Cuối tuần ở New York" và "Cuối tuần ở New York" thực sự có 2 ý nghĩa khác nhau (York cũng là một thành phố). Các Tagger chọn một trong những ông nghĩ là đúng khi sử dụng "Cuối tuần trong new york". Có lẽ đặt cược tốt nhất của bạn là sửa chính tả chính tả, nếu điều đó là có thể. – Daniel
điều này là không thể, từ quan điểm ngữ pháp "new york" và "New York" là hoàn toàn khác nhau – tkanzakic
Có cách nào để áp dụng tự động sửa hồi tố thành chuỗi không? Ví dụ: nếu tôi nhập "cuối tuần ở new york" trên thiết bị, nó sẽ tự động sửa thành "Cuối tuần ở New York" khi tôi nhấn thanh dấu cách sau "york". –