Skip to content

v1.0.1

Compare
Choose a tag to compare
@kbrose kbrose released this 14 Feb 04:40
  • BREAKING API changes.
    • Now use tagnews.CrimeTag instead of tagnews.Tagger for type-of-crime tagging (name changed to differentiate crime tagging from geo tagging).
  • Pre-trained model to extract geostrings.
    • Use tagnews.GeoCoder.

Example use:

>>> import tagnews
>>> crimetags = tagnews.CrimeTags()
>>> article_text = 'The homicide occurred at the 1700 block of S. Halsted Ave. It happened just after midnight. Another person was killed at the intersection of 55th and Woodlawn, where a lone gunman'
>>> crimetags.tagtext_proba(article_text)
HOMI     0.739159
VIOL     0.146943
GUNV     0.134798
...
>>> crimetags.tagtext(article_text, prob_thresh=0.5)
['HOMI']
>>> geoextractor = tagnews.GeoCoder()
>>> prob_out = geoextractor.extract_geostring_probs(article_text)
>>> list(zip(*prob_out))
[..., ('at', 0.0044685714), ('the', 0.005466637), ('1700', 0.7173856), ('block', 0.81395197), ('of', 0.82227415), ('S.', 0.7940061), ('Halsted', 0.70529455), ('Ave.', 0.60538065), ...]
>>> geoextractor.extract_geostrings(article_text, prob_thresh=0.5)
[['1700', 'block', 'of', 'S.', 'Halsted', 'Ave.'], ['55th', 'and', 'Woodlawn,']]
>>> import os; import psutil
>>> print('Memory usage: {} MB'.format(psutil.Process(os.getpid()).memory_info().rss / (1024 ** 2)))
Memory usage: 524.7265625 MB

You can pip install from pypi with

pip install tagnews

See the installation guide for more detailed info.