Tools¶
API of ir_axioms.tools
See tools and dependency injection for the default tool bindings and how to replace them.
ir_axioms.tools.tokenizer ¶
TermTokenizer ¶
NltkTermTokenizer
dataclass
¶
Bases: TermTokenizer
terms ¶
Source code in ir_axioms/tools/tokenizer/nltk.py
NltkSentenceTokenizer ¶
Bases: SentenceTokenizer
Source code in ir_axioms/tools/tokenizer/nltk.py
AnseriniTermTokenizer
dataclass
¶
Bases: TermTokenizer
TerrierTermTokenizer
dataclass
¶
TerrierTermTokenizer(
*,
tokeniser: TerrierTokeniser | Any | None = None,
index_location: TerrierIndex
| Path
| str
| Any
| None = None,
)
Bases: TermTokenizer
index_location
class-attribute
instance-attribute
¶
terms ¶
Source code in ir_axioms/tools/tokenizer/pyterrier.py
terms_unordered ¶
Source code in ir_axioms/tools/tokenizer/pyterrier.py
unique_terms ¶
Source code in ir_axioms/tools/tokenizer/pyterrier.py
SpacyTermTokenizer
dataclass
¶
SpacyTermTokenizer(
*,
language_name: str = "en_core_web_sm",
lemmatize: bool = True,
lowercase: bool = True,
remove_punctuation: bool = True,
remove_stopwords: bool = True,
)
Bases: TermTokenizer
SpacySentenceTokenizer
dataclass
¶
Bases: SentenceTokenizer
BlingfireTermTokenizer
dataclass
¶
Bases: TermTokenizer
BlingfireSentenceTokenizer
dataclass
¶
Bases: SentenceTokenizer
TokenizerModule ¶
Bases: Module
configure ¶
Source code in ir_axioms/tools/tokenizer/__init__.py
ir_axioms.tools.contents ¶
TextContents ¶
Bases: Generic[T], Protocol
contents ¶
Source code in ir_axioms/tools/contents/base.py
DocumentQueryTextContents
dataclass
¶
DocumentQueryTextContents(
*,
document_text_contents: TextContents[Document],
query_text_contents: TextContents[Query],
)
Bases: TextContents[Document | Query]
contents ¶
GenerationInputOutputTextContents
dataclass
¶
GenerationInputOutputTextContents(
*,
generation_input_text_contents: TextContents[
GenerationRequest
],
generation_output_text_contents: TextContents[
GenerationResponse
],
)
Bases: TextContents[GenerationRequest | GenerationResponse]
IrdsDocumentTextContents
dataclass
¶
Bases: TextContents[Document]
contents ¶
iter_contents ¶
Source code in ir_axioms/tools/contents/ir_datasets.py
IrdsQueryTextContents
dataclass
¶
Bases: TextContents[Query]
AnseriniDocumentTextContents
dataclass
¶
Bases: TextContents[Document]
contents ¶
Source code in ir_axioms/tools/contents/pyserini.py
TerrierDocumentTextContents
dataclass
¶
TerrierDocumentTextContents(
*,
index_location: TerrierIndex | Path | str | Any,
text_field: str = "text",
)
Bases: TextContents[Document]
SimpleTextContents ¶
ContentsModule ¶
Bases: Module
configure ¶
Source code in ir_axioms/tools/contents/__init__.py
ir_axioms.tools.text_statistics ¶
TextStatistics ¶
DocumentQueryTextStatistics
dataclass
¶
DocumentQueryTextStatistics(
*,
document_text_contents: TextStatistics[Document],
query_text_contents: TextStatistics[Query],
)
Bases: TextStatistics[Document | Query]
GenerationInputOutputTextStatistics
dataclass
¶
GenerationInputOutputTextStatistics(
*,
generation_input_text_statistics: TextStatistics[
GenerationRequest
],
generation_output_text_statistics: TextStatistics[
GenerationResponse
],
)
Bases: TextStatistics[GenerationRequest | GenerationResponse]
generation_input_text_statistics
instance-attribute
¶
generation_output_text_statistics
instance-attribute
¶
term_counts ¶
Source code in ir_axioms/tools/text_statistics/combine.py
term_frequencies ¶
Source code in ir_axioms/tools/text_statistics/combine.py
AnseriniTextStatistics
dataclass
¶
Bases: TextStatistics[DocumentType]
TerrierDocumentTextStatistics
dataclass
¶
Bases: TextStatistics[Document]
term_counts ¶
Source code in ir_axioms/tools/text_statistics/pyterrier.py
SimpleTextStatistics
dataclass
¶
Bases: TextStatistics[T]
term_counts ¶
Source code in ir_axioms/tools/text_statistics/simple.py
TextStatisticsModule ¶
Bases: Module
configure ¶
Source code in ir_axioms/tools/text_statistics/__init__.py
ir_axioms.tools.index_statistics ¶
IndexStatistics ¶
AnseriniIndexStatistics
dataclass
¶
Bases: IndexStatistics
TerrierIndexStatistics
dataclass
¶
Bases: IndexStatistics
document_frequency ¶
Source code in ir_axioms/tools/index_statistics/pyterrier.py
ir_axioms.tools.similarity ¶
TermSimilarity ¶
Bases: Protocol
similarity ¶
Source code in ir_axioms/tools/similarity/base.py
similarities ¶
Source code in ir_axioms/tools/similarity/base.py
similarity_sums ¶
Source code in ir_axioms/tools/similarity/base.py
average_similarity ¶
Source code in ir_axioms/tools/similarity/base.py
max_similarity_pairs ¶
max_similarity_pairs(
terms1: Collection[str], terms2: Collection[str]
) -> tuple[float, Set[tuple[str, str]]]
Most similar pairs of terms from the two collections, along with their similarity (or -inf if there are no pairs).
Source code in ir_axioms/tools/similarity/base.py
max_average_similarity_terms ¶
Source code in ir_axioms/tools/similarity/base.py
min_average_similarity_terms ¶
Source code in ir_axioms/tools/similarity/base.py
SentenceSimilarity ¶
Bases: Protocol
similarity ¶
Source code in ir_axioms/tools/similarity/base.py
similarities ¶
Source code in ir_axioms/tools/similarity/base.py
self_similarities ¶
paired_similarities ¶
Source code in ir_axioms/tools/similarity/base.py
average_similarity ¶
FastTextTermSimilarity
dataclass
¶
Bases: TermSimilarity
similarity ¶
Source code in ir_axioms/tools/similarity/fasttext.py
WordNetSynonymSetTermSimilarity
dataclass
¶
Bases: TermSimilarity
AverageTermSimilaritySentenceSimilarity
dataclass
¶
AverageTermSimilaritySentenceSimilarity(
term_tokenizer: TermTokenizer,
term_similarity: TermSimilarity,
)
Bases: SentenceSimilarity
Sentence similarity based on the mean term similarity of the terms in the sentences.
Note: This is only meant as a fallback if no other sentence similarity model is available.
similarity ¶
Source code in ir_axioms/tools/similarity/simple.py
Model2VecSentenceSimilarity
dataclass
¶
Bases: SentenceSimilarity
similarity ¶
similarities ¶
Source code in ir_axioms/tools/similarity/model2vec.py
paired_similarities ¶
Source code in ir_axioms/tools/similarity/model2vec.py
SentenceTransformersSentenceSimilarity
dataclass
¶
SentenceTransformersSentenceSimilarity(
model_name: str = "sentence-transformers/all-mpnet-base-v2",
)
Bases: SentenceSimilarity
model_name
class-attribute
instance-attribute
¶
similarity ¶
similarities ¶
Source code in ir_axioms/tools/similarity/sentence_transformers.py
paired_similarities ¶
Source code in ir_axioms/tools/similarity/sentence_transformers.py
SimilarityModule ¶
Bases: Module
configure ¶
Source code in ir_axioms/tools/similarity/__init__.py
ir_axioms.tools.aspects ¶
KeyBertAspectExtraction
dataclass
¶
KeyBertAspectExtraction(
model: str = "all-MiniLM-L6-v2",
ngram_range: tuple[int, int] = (1, 3),
top_n: int = 10,
threshold: float = 0.0,
)
Bases: AspectExtraction
aspects ¶
Source code in ir_axioms/tools/aspects/keybert.py
iter_aspects ¶
Source code in ir_axioms/tools/aspects/keybert.py
SpacyNounChunksAspectExtraction
dataclass
¶
SpacyNounChunksAspectExtraction(
language_name: str = "en_core_web_sm",
chunks: Literal["direct", "root", "both"] = "direct",
)
Bases: AspectExtraction
aspects ¶
Source code in ir_axioms/tools/aspects/spacy.py
SpacyEntitiesAspectExtraction
dataclass
¶
SpacyEntitiesAspectExtraction(
language_name: str = "en_core_web_sm",
chunks: Literal["direct", "root", "both"] = "direct",
)
Bases: AspectExtraction
YakeAspectExtraction
dataclass
¶
YakeAspectExtraction(
language_name: str = "en_core_web_sm",
ngram_range: tuple[int, int] = (1, 3),
include_pos: Iterable[str] = ("NOUN", "PROPN", "ADJ"),
top_n: int = 10,
threshold: float = inf,
)
Bases: AspectExtraction
Extract key phrases using YAKE (via textacy) as aspects.
For texts with fewer than two distinct content words (e.g., single-word queries), YAKE cannot score candidates. Then, the (lemmatized) unigram candidates are returned without scoring.
ir_axioms.tools.pivot ¶
PivotSelection ¶
RandomPivotSelection
dataclass
¶
Bases: PivotSelection[Input, Output]
FirstPivotSelection
dataclass
¶
Bases: PivotSelection[Input, Output]
LastPivotSelection
dataclass
¶
Bases: PivotSelection[Input, Output]
MiddlePivotSelection
dataclass
¶
Bases: PivotSelection[Input, Output]