[
https://issues.apache.org/jira/browse/TIKA-5052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18139200#comment-18139200
]
Hudson commented on TIKA-5052:
------------------------------
UNSTABLE: Integrated in Jenkins build Tika ยป tika-main-jdk17 #1778 (See
[https://ci-builds.apache.org/job/Tika/job/tika-main-jdk17/1778/])
TIKA-5052: hashed byte n-gram charset model replaces Naive Bayes; TIKA-5048
UTF-16/UTF-32 fixes (#3550) (github:
[https://github.com/apache/tika/commit/fbcf973274b3998f85009152257049de178a6b6d])
* (edit)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/CharsetConfusables.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/resources/META-INF/services/org.apache.tika.ml.chardetect.StatisticalSpecialist
* (edit) docs/modules/ROOT/pages/configuration/encoding-detectors.adoc
* (edit)
tika-ml/tika-ml-chardetect/src/main/java/org/apache/tika/ml/chardetect/tools/EvalCharsetDetectors.java
* (add)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/HashedNgramEncodingDetector.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/Utf16SpecialistEncodingDetectorTestFixtures.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/resources/org/apache/tika/ml/chardetect/utf16-specialist.bin
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/CalibrateTopK.java
* (edit) CHANGES.txt
* (edit) tika-ml/tika-ml-chardetect/pom.xml
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/SpecialistOutput.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/StatisticalSpecialist.java
* (delete)
tika-ml/tika-ml-chardetect/src/main/java/org/apache/tika/ml/chardetect/tools/TrainNaiveBayesBigram.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/InspectBigramContributions.java
* (edit) tika-encoding-detectors/tika-encoding-detector-mojibuster/pom.xml
* (add)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/HashedNgramModel.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/Utf16ColumnFeatureExtractorTest.java
* (add)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/HashedNgramModelParityTest.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/NaiveBayesBigramEncodingDetector.java
* (add)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/resources/org/apache/tika/ml/chardetect/hashed-ngram-parity.tsv
* (edit)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/ModelResourceUniquenessTest.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/Utf16SpecialistEncodingDetector.java
* (add)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/ShortUtf8ProbeTest.java
* (edit)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/TraceMojibuster.java
* (add)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/HashedNgramEarlyStopTest.java
* (add)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/WideUnicodeDetectionTest.java
* (edit)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/MojibusterEncodingDetector.java
* (edit) docs/modules/ROOT/pages/advanced/charset-detection-design.adoc
* (edit) tika-ml/tika-ml-chardetect/README.md
* (edit)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/StructuralEncodingRules.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/test/java/org/apache/tika/ml/chardetect/Utf16SpecialistEncodingDetectorTest.java
* (edit)
tika-ml/tika-ml-junkdetect/src/test/java/org/apache/tika/ml/junkdetect/Utf16BomDetectionTest.java
* (edit)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/WideUnicodeDetector.java
* (edit)
tika-ml/tika-ml-chardetect/src/main/java/org/apache/tika/ml/chardetect/tools/BuildCharsetTrainingData.java
* (edit)
tika-ml/tika-ml-chardetect/src/main/java/org/apache/tika/ml/chardetect/tools/RebalanceCharsetTraining.java
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/resources/org/apache/tika/ml/chardetect/nb-bigram.bin
* (add)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/resources/org/apache/tika/ml/chardetect/hashed-ngram.hng
* (delete)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java/org/apache/tika/ml/chardetect/Utf16ColumnFeatureExtractor.java
* (add)
tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/resources/org/apache/tika/ml/chardetect/hashed-ngram.hng.provenance
> Update encoding detector
> ------------------------
>
> Key: TIKA-5052
> URL: https://issues.apache.org/jira/browse/TIKA-5052
> Project: Tika
> Issue Type: Task
> Reporter: Tim Allison
> Priority: Major
>
> The recent Arabic ISO issue encouraged me to look again at mojibuster. I've
> spent the last few days curating and improving a train/dev/test corpus
> derived largely from [~jnioche]'s common-crawl html contribution back in
> January 2024(?). The corpus is heavily oversampled for non-ascii and is a
> treasure trove.
> Along the way, I experimented with a hashed byte ngram model, and it seems to
> work much better so far than the earlier naive bayes approach. This model
> also incorporates UTF16 rather than adjudicating a side car wide unicode
> classifier.
> I'll continue to have bots tagging the original html corpus and supplement it
> with other datasets to make training and evaluating new models easier.
> Initial results with a cnn model were promising, but a bit slow without jdk25
> vectorization. I'll likely keep working on that.
> And, of course, we can add more charsets as needed: DOS and ebcdic maybe?
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)