mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-31 16:07:41 +03:00 
			
		
		
		
	* Implement new API for {Phrase}Matcher.add (backwards-compatible)
* Update docs
* Also update DependencyMatcher.add
* Update internals
* Rewrite tests to use new API
* Add basic check for common mistake
Raise error with suggestion if user likely passed in a pattern instead of a list of patterns
* Fix typo [ci skip]
		
	
			
		
			
				
	
	
		
			22 lines
		
	
	
		
			792 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			792 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| # coding: utf8
 | |
| from __future__ import unicode_literals
 | |
| 
 | |
| from spacy.matcher import Matcher
 | |
| from spacy.tokens import Doc
 | |
| 
 | |
| 
 | |
| def test_issue3839(en_vocab):
 | |
|     """Test that match IDs returned by the matcher are correct, are in the string """
 | |
|     doc = Doc(en_vocab, words=["terrific", "group", "of", "people"])
 | |
|     matcher = Matcher(en_vocab)
 | |
|     match_id = "PATTERN"
 | |
|     pattern1 = [{"LOWER": "terrific"}, {"OP": "?"}, {"LOWER": "group"}]
 | |
|     pattern2 = [{"LOWER": "terrific"}, {"OP": "?"}, {"OP": "?"}, {"LOWER": "group"}]
 | |
|     matcher.add(match_id, [pattern1])
 | |
|     matches = matcher(doc)
 | |
|     assert matches[0][0] == en_vocab.strings[match_id]
 | |
|     matcher = Matcher(en_vocab)
 | |
|     matcher.add(match_id, [pattern2])
 | |
|     matches = matcher(doc)
 | |
|     assert matches[0][0] == en_vocab.strings[match_id]
 |