1#![allow(clippy::manual_strip)]
2#![allow(clippy::needless_range_loop)]
3#![allow(clippy::if_same_then_else)]
4#![allow(clippy::cloned_ref_to_slice_refs)]
5#![allow(dead_code)]
6#![warn(missing_docs)]
110
111pub mod batch_tokenizer;
113pub mod classification;
114pub mod cleansing;
115pub mod distance;
116pub mod domain_processors;
117pub mod embeddings;
118pub mod enhanced_vectorize;
119pub mod error;
120pub mod evaluation;
121pub mod gpt_bpe;
123pub mod huggingface_compat;
124pub mod information_extraction;
125pub mod language_model;
126pub mod language_models;
128pub mod lemmatization;
129pub mod ml_integration;
130pub mod ml_sentiment;
131pub mod model_registry;
132pub mod multilingual;
133pub mod neural_architectures;
134pub mod parallel;
135pub mod paraphrasing;
136pub mod performance;
137pub mod pipeline;
138pub mod pos_tagging;
139pub mod preprocess;
140pub mod semantic_similarity;
141pub mod sentencepiece;
143pub mod sentiment;
144pub mod simd_ops;
145pub mod sparse;
146pub mod sparse_vectorize;
147pub mod spelling;
148pub mod stemming;
149pub mod streaming;
150pub mod string_metrics;
151pub mod summarization;
152pub mod text_coordinator;
153pub mod text_statistics;
154pub mod token_filter;
155pub mod tokenize;
156pub mod tokenizer;
157pub mod topic_coherence;
158pub mod topic_modeling;
159pub mod transformer;
160pub mod utils;
161pub mod vectorize;
162pub mod visualization;
163pub mod vocabulary;
164pub mod weighted_distance;
165
166pub mod keyword_extraction;
168pub mod language_detection;
169pub mod named_entity_recognition;
170pub mod text_similarity;
171pub mod text_summarization;
172
173pub mod bert_finetune;
175pub mod crosslingual;
177pub mod ctm;
179pub mod dtm;
181pub mod hdp;
183pub mod sentence_embeddings;
185pub mod similarity;
187pub mod tokenization;
189pub mod tokenizers;
191pub mod transliteration;
193pub mod topic;
195
196pub mod abstractive_summary;
198pub mod advanced_classification;
199pub mod advanced_distance;
200pub mod alignment;
201pub mod bpe_tokenizer;
202pub mod coreference;
203pub mod dialog;
204pub mod discourse;
205pub mod doc_similarity;
206pub mod event_extraction;
207pub mod keywords;
208pub mod multilingual_ext;
209pub mod ner;
210pub mod pos_tagging_original;
211pub mod question_answering;
219pub mod regex_lite;
220pub mod segmentation;
221pub mod summarize_advanced;
222pub mod text_classification;
223pub mod text_preprocess;
224pub mod topic_model;
225
226pub use classification::{
228 cross_validate_nb, BernoulliNaiveBayes, CrossValidationResult, FeatureHasher, FoldResult,
229 MultiLabelClassifier, MultiLabelPrediction, MultinomialNaiveBayes, TextClassificationMetrics,
230 TextClassificationPipeline, TextDataset, TextFeatureSelector, TfidfCosineClassifier,
231};
232pub use cleansing::{
233 expand_contractions, normalize_currencies, normalize_numbers, normalize_ordinals,
234 normalize_percentages, normalize_unicode, normalize_whitespace, remove_accents, replace_emails,
235 replace_urls, strip_html_tags, AdvancedTextCleaner,
236};
237pub use distance::{cosine_similarity, jaccard_similarity, levenshtein_distance};
238pub use domain_processors::{
239 Domain, DomainProcessorConfig, FinancialTextProcessor, LegalTextProcessor,
240 MedicalTextProcessor, NewsTextProcessor, PatentTextProcessor, ProcessedDomainText,
241 ScientificTextProcessor, SocialMediaTextProcessor, UnifiedDomainProcessor,
242};
243pub use embeddings::{
244 embedding_cosine_similarity,
245 fasttext::{FastText, FastTextConfig},
246 glove::{CooccurrenceMatrix, GloVe, GloVeTrainer, GloVeTrainerConfig},
247 pairwise_similarity, Word2Vec, Word2VecAlgorithm, Word2VecConfig, WordEmbedding,
248};
249pub use enhanced_vectorize::{EnhancedCountVectorizer, EnhancedTfidfVectorizer};
250pub use error::{Result, TextError};
251pub use huggingface_compat::{
252 ClassificationResult, FeatureExtractionPipeline, FillMaskPipeline, FillMaskResult,
253 FormatConverter, HfConfig, HfEncodedInput, HfHub, HfModelAdapter, HfPipeline, HfTokenizer,
254 HfTokenizerConfig, QuestionAnsweringPipeline, QuestionAnsweringResult,
255 TextClassificationPipeline as HfTextClassificationPipeline, ZeroShotClassificationPipeline,
256};
257pub use information_extraction::{
258 AdvancedExtractedInformation, AdvancedExtractionPipeline, ConfidenceScorer, CoreferenceChain,
259 CoreferenceMention, CoreferenceResolver, DocumentInformationExtractor, DocumentSummary, Entity,
260 EntityCluster, EntityLinker, EntityType, Event, ExtractedInformation,
261 InformationExtractionPipeline, KeyPhraseExtractor, KnowledgeBaseEntry, LinkedEntity,
262 MentionType, PatternExtractor, Relation, RelationExtractor, RuleBasedNER,
263 StructuredDocumentInformation, TemporalExtractor, Topic,
264};
265pub use language_model::{NgramModel, SmoothingMethod};
266pub use lemmatization::{Lemmatizer, RuleBasedLemmatizer, WordNetLemmatizer};
267pub use ml_integration::{
268 BatchTextProcessor, FeatureExtractionMode, MLTextPreprocessor, TextFeatures, TextMLPipeline,
269};
270pub use ml_sentiment::{
271 ClassMetrics, EvaluationMetrics, MLSentimentAnalyzer, MLSentimentConfig, TrainingMetrics,
272};
273pub use model_registry::{
274 ModelMetadata, ModelRegistry, ModelType, PrebuiltModels, RegistrableModel,
275 SerializableModelData,
276};
277pub use multilingual::{
278 is_cjk_char, is_combining_mark, is_cyrillic, Language, LanguageDetectionResult,
279 LanguageDetector, MultilingualProcessor, ProcessedText, ScriptFamily, StopWords,
280 Transliterator as MultilingualTransliterator, UnicodeTokenizer, UnicodeTokenizerConfig,
281};
282pub use neural_architectures::{
283 ActivationFunction, AdditiveAttention, BiLSTM, CNNLSTMHybrid, Conv1D, CrossAttention, Dropout,
284 GRUCell, LSTMCell, LayerNorm as NeuralLayerNorm, MaxPool1D,
285 MultiHeadAttention as NeuralMultiHeadAttention, MultiScaleCNN, PositionwiseFeedForward,
286 ResidualBlock1D, SelfAttention, TextCNN,
287};
288pub use parallel::{
289 ParallelCorpusProcessor, ParallelTextProcessor, ParallelTokenizer, ParallelVectorizer,
290};
291pub use paraphrasing::{ParaphraseConfig, ParaphraseResult, ParaphraseStrategy, Paraphraser};
292pub use performance::{
293 AdvancedPerformanceMonitor, DetailedPerformanceReport, OptimizationRecommendation,
294 PerformanceSummary, PerformanceThresholds,
295};
296pub use pipeline::{
297 basic_pipeline, lemmatization_pipeline, ngram_pipeline, stemming_pipeline, BatchProcessor,
298 NlpPipeline, PipelineBuilder, PipelineStep,
299};
300pub use pos_tagging::{
301 PosAwareLemmatizer, PosTagResult, PosTagger, PosTaggerConfig, PosTaggingResult,
302};
303pub use preprocess::{BasicNormalizer, BasicTextCleaner, TextCleaner, TextNormalizer};
304pub use semantic_similarity::{
305 LcsSimilarity, SemanticSimilarityEnsemble, SoftCosineSimilarity, WeightedJaccard,
306 WordMoversDistance,
307};
308pub use sentiment::{
309 aggregate_sentiment, analyze_and_aggregate, AggregatedSentiment, AspectSentiment,
310 AspectSentimentAnalyzer, LexiconSentimentAnalyzer, NaiveBayesSentiment,
311 RuleBasedSentimentAnalyzer, Sentiment, SentimentLexicon, SentimentResult, SentimentRules,
312 SentimentWordCounts, VaderResult, VaderSentimentAnalyzer,
313};
314pub use simd_ops::{
315 AdvancedSIMDTextProcessor, SimdEditDistance, SimdStringOps, SimdTextAnalyzer,
316 TextProcessingResult,
317};
318pub use sparse::{CsrMatrix, DokMatrix, SparseMatrixBuilder, SparseVector};
319pub use sparse_vectorize::{
320 sparse_cosine_similarity, MemoryStats, SparseCountVectorizer, SparseTfidfVectorizer,
321};
322pub use spelling::{
323 DictionaryCorrector, DictionaryCorrectorConfig, EditOp, ErrorModel, NGramModel,
324 SpellingCorrector, StatisticalCorrector, StatisticalCorrectorConfig,
325};
326pub use stemming::{
327 LancasterStemmer, LemmatizerConfig, PorterStemmer, PosTag, RuleLemmatizer,
328 RuleLemmatizerBuilder, SimpleLemmatizer, SnowballStemmer, Stemmer,
329};
330pub use streaming::{
331 AdvancedStreamingMetrics, AdvancedStreamingProcessor, ChunkedCorpusReader, MemoryMappedCorpus,
332 ProgressTracker, StreamingTextProcessor, StreamingVectorizer,
333};
334pub use string_metrics::{
335 AlignmentResult, DamerauLevenshteinMetric, Metaphone, NeedlemanWunsch, Nysiis,
336 PhoneticAlgorithm, SmithWaterman, Soundex, StringMetric,
337};
338pub use summarization::{CentroidSummarizer, KeywordExtractor, TextRank};
339pub use text_coordinator::{
340 AdvancedBatchClassificationResult, AdvancedSemanticSimilarityResult, AdvancedTextConfig,
341 AdvancedTextCoordinator, AdvancedTextResult, AdvancedTopicModelingResult,
342};
343pub use text_statistics::{ReadabilityMetrics, TextMetrics, TextStatistics};
344pub use token_filter::{
345 CompositeFilter, CustomFilter, FrequencyFilter, LengthFilter, RegexFilter, StopwordsFilter,
346 TokenFilter,
347};
348pub use tokenize::{
349 bpe::{BpeConfig, BpeTokenizer, BpeVocabulary},
350 CharacterTokenizer, NgramTokenizer, RegexTokenizer, SentenceTokenizer, Tokenizer,
351 WhitespaceTokenizer, WordTokenizer,
352};
353pub use tokenizer::{
354 BPETokenizer, SimpleCharTokenizer, SimpleWhitespaceTokenizer, TransformerTokenizer,
355 WordPieceTokenizer,
356};
357pub use topic_coherence::{TopicCoherence, TopicDiversity};
358pub use topic_modeling::{
359 LatentDirichletAllocation, LdaBuilder, LdaConfig, LdaLearningMethod, Topic as LdaTopic,
360};
361pub use transformer::{
362 FeedForward, LayerNorm, MultiHeadAttention, PositionalEncoding, TokenEmbedding,
363 TransformerConfig, TransformerDecoder, TransformerDecoderLayer, TransformerEncoder,
364 TransformerEncoderLayer, TransformerModel,
365};
366pub use vectorize::{CountVectorizer, TfidfVectorizer, Vectorizer};
367pub use visualization::{
368 AttentionVisualizer, Color, ColorScheme, EmbeddingVisualizer, SentimentVisualizer,
369 TextAnalyticsDashboard, TopicVisualizer, VisualizationConfig, WordCloud,
370};
371pub use vocabulary::Vocabulary;
372pub use weighted_distance::{
373 DamerauLevenshteinWeights, LevenshteinWeights, WeightedDamerauLevenshtein, WeightedLevenshtein,
374 WeightedStringMetric,
375};
376
377pub use keyword_extraction::{
379 extract_keywords, Keyword, KeywordMethod, RakeKeywordExtractor, TextRankKeywordExtractor,
380 TfIdfKeywordExtractor,
381};
382pub use language_detection::{
383 detect_language, detect_language_with_strategy, DetectedLanguage, DetectionStrategy,
384 LanguageDetectionOutput,
385};
386pub use named_entity_recognition::{extract_entities, NerEntity, NerEntityType, NerPatternConfig};
387pub use text_similarity::{
388 bm25_score, char_ngram_jaccard_similarity, edit_distance_similarity, jaccard_token_similarity,
389 text_similarity, tfidf_cosine_similarity, Bm25Config, Bm25Scorer, SimilarityMethod,
390 SimilarityResult, TfIdfCosineSimilarity,
391};
392pub use text_summarization::{
393 score_position, score_textrank, score_tfidf, summarize, ScoredSentence, SummarizationMethod,
394};
395
396pub use hdp::{HdpConfig, HdpModel, HdpResult};
398
399pub use sentence_embeddings::{
401 SentenceEncoder, SentenceEncoderConfig, SentenceEncoderPooling, SimCSELoss, SimCSETrainer,
402};
403
404pub use topic::hdp::{
406 Hdp, HdpConfig as HdpAutoConfig, HdpState, HdpTopicConfig, HdpTopicModel, TopicError,
407};
408
409pub use embeddings::sentence_encoder::{
411 PoolingStrategy as SentencePoolingStrategy, SemanticSimilarity as EmbeddingSearch,
412 SentenceEncoder as ProjSentenceEncoder, SimCseConfig, SimCseTrainer as ProjSimCseTrainer,
413};
414
415pub use transliteration::{
417 CyrillicScheme, CyrillicTransliterator, HepburnTransliterator, PinyinStyle,
418 PinyinTransliterator, Transliterator,
419};
420
421pub mod neural_nlp;
423pub use neural_nlp::{
424 AttentionHeatmap, AttentionVisualization, BertClassifier, BertClassifierConfig, NerTag,
425 NeuralNer, NeuralNerConfig, TransformerEncoderConfig as NeuralEncoderConfig,
426 TransformerTextEncoder,
427};