Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
e7b55b6
initiate development of 4.0.4
stephenhky May 26, 2026
61dc3d2
Merge pull request #640 from stephenhky/pyup-update-scikit-learn-1.8.…
stephenhky Jun 2, 2026
0f0b47b
Merge pull request #642 from stephenhky/pyup-update-snowballstemmer-3…
stephenhky Jun 3, 2026
d21c302
Merge pull request #644 from stephenhky/pyup-update-transformers-5.9.…
stephenhky Jun 3, 2026
bedff98
Merge pull request #646 from stephenhky/pyup-update-transformers-5.10…
stephenhky Jun 4, 2026
13b6d03
Merge pull request #648 from stephenhky/pyup-update-transformers-5.10…
stephenhky Jun 10, 2026
669c94c
Merge pull request #650 from stephenhky/pyup-update-transformers-5.11…
stephenhky Jun 12, 2026
36878a8
Merge pull request #652 from stephenhky/pyup-update-transformers-5.12…
stephenhky Jun 15, 2026
5fd1c2f
Merge pull request #654 from stephenhky/pyup-update-torch-2.12.0-to-2…
stephenhky Jun 18, 2026
f93fcce
Merge pull request #656 from stephenhky/pyup-update-scipy-1.17.1-to-1…
stephenhky Jun 19, 2026
f8e106e
Merge pull request #659 from stephenhky/pyup-update-numpy-2.4.6-to-2.5.0
stephenhky Jun 25, 2026
ff76006
Merge pull request #660 from stephenhky/pyup-update-keras-3.14.1-to-3…
stephenhky Jun 25, 2026
bd98a97
Merge pull request #662 from stephenhky/pyup-update-pandas-3.0.3-to-3…
stephenhky Jun 28, 2026
abab07b
Merge pull request #664 from stephenhky/pyup-update-numba-0.65.1-to-0…
stephenhky Jul 1, 2026
63d03c3
Update sparse from 0.18.0 to 0.19.0
pyup-bot Jul 2, 2026
767a52f
debugging regarding new sparse
stephenhky Jul 2, 2026
a801bc6
Merge pull request #668 from stephenhky/develop
stephenhky Jul 2, 2026
0090d2b
Merge pull request #670 from stephenhky/pyup-update-npdict-0.0.10-to-…
stephenhky Jul 2, 2026
6640e4f
Merge pull request #667 from stephenhky/pyup-update-sparse-0.18.0-to-…
stephenhky Jul 2, 2026
1b68e56
use new method is_sparse for npdict
stephenhky Jul 2, 2026
1295e8c
news updated
stephenhky Jul 2, 2026
a6ef5fd
release 4.0.4
stephenhky Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ You can talk to me in advance through e-mails or the [Issues](https://github.com

## News

* 07/02/2026: `shorttext` 4.0.4 released.
* 05/26/2026: `shorttext` 4.0.3 released.
* 05/18/2026: `shorttext` 4.0.2 released.
* 05/14/2026: `shorttext` 4.0.1 released.
Expand Down
7 changes: 7 additions & 0 deletions docs/news.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
News
====

* 07/02/2026: `shorttext` 4.0.4 released.
* 05/26/2026: `shorttext` 4.0.3 released.
* 05/18/2026: `shorttext` 4.0.2 released.
* 05/14/2026: `shorttext` 4.0.1 released.
Expand Down Expand Up @@ -93,6 +94,12 @@ News
What's New
----------

Release 4.0.4 (July 2, 2026)
----------------------------

* Debugging regarding the update of the library `sparse`.
* Refactoring.

Release 4.0.3 (May 26, 2026)
----------------------------

Expand Down
2 changes: 1 addition & 1 deletion docs/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ numba==0.66.0
deprecation==2.1.0
npdict==0.0.11
orjson==3.11.9
sparse==0.18.0
sparse==0.19.0
loguru==0.7.3
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "shorttext"
version = "4.0.3"
version = "4.0.4"
authors = [
{name = "Kwan Yuet Stephen Ho", email = "stephenhky@yahoo.com.hk"}
]
Expand Down Expand Up @@ -40,7 +40,7 @@ dependencies = [
"snowballstemmer>=3.0.0",
"numba>=0.57.0",
"deprecation>=2.0.0",
"npdict>=0.0.10",
"npdict>=0.0.11",
"sparse>=0.10.0",
"orjson>=3.0.0",
"loguru>=0.6.0"
Expand Down
14 changes: 8 additions & 6 deletions src/shorttext/utils/dtm.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ def compute_document_frequency(
Returns:
Array of document frequencies for each token.
"""
if isinstance(npdtm, npdict.SparseArrayWrappedDict):
if npdtm.is_sparse():
return np.sum(npdtm.to_coo() > 0, axis=0).todense()
else:
return np.sum(npdtm.to_numpy() > 0, axis=0)
Expand All @@ -194,7 +194,7 @@ def compute_tfidf_document_term_matrix(
"""
doc_frequencies = compute_document_frequency(npdtm)
nbdocs = npdtm.dimension_sizes[0]
if isinstance(npdtm, npdict.SparseArrayWrappedDict):
if npdtm.is_sparse():
new_dtm_sparray = npdtm.to_coo() * np.log(nbdocs / doc_frequencies)
return npdtm.generate_dict(new_dtm_sparray, dense=not sparse)

Expand Down Expand Up @@ -288,11 +288,13 @@ def get_total_termfreq(self, token: str) -> float:
Total term frequency.
"""
token_index = self.npdtm._keystrings_to_indices[1][token]
if isinstance(self.npdtm, npdict.SparseArrayWrappedDict):
if self.npdtm.is_sparse():
matrix = self.npdtm.to_coo()
array = matrix[:, token_index].todense()
else:
matrix = self.npdtm.to_numpy()
return np.sum(matrix[:, token_index])
array = matrix[:, token_index]
return np.sum(array)

def get_doc_frequency(self, token) -> int:
"""Get document frequency of a token.
Expand All @@ -304,8 +306,8 @@ def get_doc_frequency(self, token) -> int:
Number of documents containing the token.
"""
token_index = self.npdtm._keystrings_to_indices[1][token]
if isinstance(self.npdtm, npdict.SparseArrayWrappedDict):
freq_array = self.npdtm.to_coo()[:, token_index]
if self.npdtm.is_sparse():
freq_array = self.npdtm.to_coo()[:, token_index].todense()
else:
freq_array = self.npdtm.to_numpy()[:, token_index]
return np.sum(freq_array > 0, axis=0)
Expand Down