NamedVectors are not readily identifiable in vectordumper output
----------------------------------------------------------------

                 Key: MAHOUT-402
                 URL: https://issues.apache.org/jira/browse/MAHOUT-402
             Project: Mahout
          Issue Type: Bug
    Affects Versions: 0.4
            Reporter: Drew Farris
            Priority: Minor


When dumping a sequence file of Writable,NamedVector using vectordumper in 
either JSON or standard format, it is not apparent in the output that the 
vectors are indeed sequence files. 

For example, after applying MAHOUT-401 to produce NamedVectors from seq2sparse, 
I run:

{code}
./bin/mahout vectordump -j -p -s 
~/mahout/reuters-out-seqdir-sparse/tf-vectors/part-00000
{code}

And get: 

{code}
Input Path: /home/drew/mahout/reuters-out-seqdir-sparse/tf-vectors/part-00000
/reut2-000.sgm-0.txt    
{"class":"org.apache.mahout.math.RandomAccessSparseVector","vector" [...]
{code}

or when removing the -j argument:

{code}
/reut2-000.sgm-0.txt    elts: {1026:3.0, 16150:1.0, 3338:3.0, 16147:1.0, 
3339:1.0, 12240:1.0, [...]
{code}

The first case, when dumping JSON, is due to the fact that NamedVector simply 
calls its delegate's asFormatString method. Granted the naive approach of 
implementing asFormatString in named vector also produces some nasty output:

{code}
/reut2-001.sgm-468.txt  
{"class":"org.apache.mahout.math.NamedVector","vector":"{\"delegate\":{\"class\":\"org.apache.mahout.math.RandomAccessSparseVector\"
 [...]
{code}

So a little more thought needs to be given to that approach.

For the non-json format, VectorHelper.vectorToString(..) is the culprit. Would 
it be ok to do an instanceof NamedVector here and emit the name?



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to