Swapping noun cardinals
In a chunk, a cardinal word, tagged as CD
, refers to a number, such as 10. These cardinals often occur before or after a noun. For normalization purposes, it can be useful to always put the cardinal before the noun.
How to do it...
The swap_noun_cardinal()
function is defined in transforms.py
. It swaps any cardinal that occurs immediately after a noun with the noun so that the cardinal occurs immediately before the noun. It uses a helper function, tag_equals()
, which is similar to tag_startswith()
, but in this case, the function it returns does an equality comparison with the given tag:
def tag_equals(tag): def f(wt): return wt[1] == tag return f
Now we can define swap_noun_cardinal()
:
def swap_noun_cardinal(chunk): cdidx = ...
Get Natural Language Processing: Python and NLTK now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.