Having taken a "quick" look over lunch at some of the "programming language" ones, and gone down a rabbit whole... I think at least some of them are as described in TIKA-2419, where our change to the HTML magic priority to fix for HTML-containing formats like email had broken some things.

I've done a quick fix for 1.16, but it'd be good to try the impact of other things, eg dropping the xml priority to match the html one to see if that helps / breaks other things


Otherwise, for anything else (eg that word / graphviz one), please do open up JIRAs!

Thanks
Nick

On 05/07/17 14:10, Allison, Timothy B. wrote:
Why, yes, please!  JIRA with small samples would be fantastic.  I think working 
in desc order of most common to least would be best...php, asp, coldfusion.

I'm about to cut 1.16, but I look forward to improving Tika with this 
tremendously useful data.

Again, many thanks!

Cheers,

            Tim

-----Original Message-----
From: Sebastian Nagel [mailto:[email protected]]
Sent: Wednesday, July 5, 2017 9:03 AM
To: [email protected]
Subject: Re: Tika content detection and crawled "remote" content

Hi Tim,

thanks! Let me know if I should take any actions (e.g., open issue(s) on Jira) 
or whether I can help by compiling smaller test sets.

Best,
Sebastian

On 07/05/2017 02:09 PM, Allison, Timothy B. wrote:
This is FANTASTIC!!!  Thank you, Sebastian!

I suspect that we should try to fix these at the Tika level.  We'll never be 
100%, but most of the problems you describe _should_ be fixable.

  > If anyone is interested in using the detected MIME types or anything else from Common 
Crawl - I'm happy to help!  The URL index [4] contains now a new field 
"mime-detected" which makes it easy to search or grep for confusion pairs.

This is an amazing step forward for our regression corpus.  We used to rely on 
the http headers and/or file suffix to oversample non-html.  This will allow 
far cleaner pulls.

-----Original Message-----
From: Sebastian Nagel [mailto:[email protected]]
Sent: Tuesday, July 4, 2017 6:18 AM
To: [email protected]
Subject: Tika content detection and crawled "remote" content

Hi,

recently I've plugged in Tika's content detection into Common Crawl's crawler 
(modified Nutch) with the target to get clean and correct MIME type - the HTTP 
Content-Type may contain garbage and isn't always correct [1].

For the June 2017 crawl I've prepared a comparison of content types
sent by the server in the HTTP header and as detected by Tika 1.15
[2].  It shows that content types by Tika are definitely clean
(1,400 different content types vs. more than 6,000 content type "strings" from 
HTTP headers).

A look on the "confusions" where Content-Type and Tika differ, shows a mixed 
picture: some pairs are plausible, e.g., if Tika changes the type to a more precise 
subtype or detects the MIME at all:

             Tika-1.15                HTTP-Content-Type
1001968023  application/xhtml+xml    text/html
    2298146  application/rss+xml      text/xml
     617435  application/rss+xml      application/xml
     613525  text/html                unk
     361525  application/xhtml+xml    unk
     297707  application/rdf+xml      application/xml


However, there are a few dubious decisions, esp. the group of web server-side 
scripting languages (ASP, JSP, PHP, ColdFusion, etc.):

          Tika-1.15         HTTP-Content-Type
2047739  text/x-php        text/html
  681629  text/asp          text/html
  193095  text/x-coldfusion text/html
  172318  text/aspdotnet    text/html
  139033  text/x-jsp        text/html
   38415  text/x-cgi        text/html
   32092  text/x-php        text/xml
   18021  text/x-perl       text/html

Of course, due to misconfigurations some servers may deliver the script files 
unmodified but in general I wouldn't expect that this happens for millions of 
pages.  I've checked some of the affected URLs:

- HTML fragment (no declaration of <!DOCTYPE...> or <html> opening
tag)

https://www.projectmanagement.com/profile/profile_contributions.cfm?profileID=46773580&popup=&c_b=0&c_mb=0&c_q=0&c_a=2&c_r=1&c_bc=1&c_wc=0&c_we=0&c_ar=0&c_ack=0&c_v=0&c_d=0&c_ra=2&c_p=0
     http://www.privi.com/product-details.asp?cno=C10910011
     http://mental-ray.de/Root_alt/Default.asp
     http://ekyrs.org/support/index.php?action=profile
     http://cwmorse.eu5.org/lineal/mostrar.php?contador=200

- (overlong) comment block at start of HTML which "masks" the HTML declaration
     http://www.mannheim-virtuell.de/index.php?branchenID=2&rubrikID=24

http://www.exoduschurch.org/bbs/view.php?id=sunday_school&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=6
     
https://www.preventiongenetics.com/About/Resources/disease/MarfansSyndrome.php
     https://de.e-stories.org/categories.php?&lan=nl&art=p

- HTML with some scripting fragments ("<?php?>") present:
     http://www.eco-ani-yao.org/shien/

- others are clearly HTML (looks more like a bug, at least, there is no simple 
explanation)
     http://www.proedinc.com/customer/content.aspx?redid=9
     
http://cball.dyndns.org/wbb2/board.php?boardid=8&sid=bf3b7971faa23413fa1164be0c068f79
     http://eusoma.org/Engx/Info/ContactUs.aspx?cont=contact
http://cball.dyndns.org/wbb2/map.php?sid=bf3b7971faa23413fa1164be0c068
f79


Obviously certain file suffixes (.php, .aspx) should get less weight compared 
to Content-Type sent from the responding server.
Now my question: where's the best place to fix this: in the crawler [3] or in 
Tika?

If anyone is interested in using the detected MIME types or anything else from Common 
Crawl - I'm happy to help!  The URL index [4] contains now a new field 
"mime-detected" which makes it easy to search or grep for confusion pairs.


Thanks and best,
Sebastian


[1] https://github.com/commoncrawl/nutch/issues/3
[2]
s3://commoncrawl-dev/tika-content-type-detection/content-type-diff-tik
a-1.15-cc-main-2017-26.txt.xz

https://commoncrawl-dev.s3.amazonaws.com/tika-content-type-detection/c
ontent-type-diff-tika-1.15-cc-main-2017-26.txt.xz
[3]
https://github.com/apache/nutch/blob/master/src/java/org/apache/nutch/
util/MimeUtil.java#L152 [4]
http://commoncrawl.org/2015/04/announcing-the-common-crawl-index/



Reply via email to