Cofacts multimedia support research

Retrieving file data

https://developers.line.biz/en/reference/messaging-api/#get-content

Search & indexing

Hashed file names

The OpenDream’s approach.

Hash for other file formats

Videos

Audios

Vector / embedding based similarity

Methodologies

Image / video vectors

Text embeddings

Multimodal embeddings (image / text embedding)

Analysis

File storage & hosting

Google drive

The OpenDream’s approach.

Google cloud storage

Database model

Considerations:

[!TIP] Prefer “In separate articles” - discussion

Use articles

The OpenDream’s approach.

Article text does not contain anything but $image__xxx

No surrounding text & text content for full-text search.

In articles.attachments

One article stores:

✅ In separate articles

One article stores:

Another article stores:

Connect related articles together in other ways

Separate MediaEntry index

Article stores only

New index mediaentries stores:

Pros

Cons

Surrounding text (cooccurrence) model

Separate ArticleGroup index

Processing multiple messages on LINE bot

Article group as an article

Common problems

Processor model

Handle in rumors-line-bot

OpenDream’s approach: search logic, hashing is done on line bot

✅ Dedicated multimedia processor

[!TIP] Design doc: Cofacts media manager implementation

input:

output: list of deduped

processing:


Processor implementation

See Cofacts media processor implementation

Other topics

stream file convert

Transcriptions

Crowd-sourced transcription tools & developments

https://crowdsourcingweek.com/blog/decade-in-crowdsourcing-transcription/

https://anjackson.github.io/zombse/062013%20Libraries%20&%20Information%20Science/static/questions/826.html

Amara API - https://apidocs.amara.org/#list-videos

The crowd-sourced project of Library of Congress - https://crowd.loc.gov/ Design principles: https://github.com/LibraryOfCongress/concordia/blob/main/docs/design-principles.md

Crowdsourcing the transcription of digitized archival records - https://ctasc.blog.yorku.ca/2020/04/14/crowdsourcing-the-transcription-of-digitized-archival-records/

Wikipedia rules

OCR

Originally on chatbot:

tesseract.js

MMOCR - python based

Google cloud vision API

When to apply OCR

Metadata extraction

Following up above info, we can extend OCR to other metadata, and further discuss when should we apply these extractions

What to extract

When to extract

How to extract

Google Video Intelligence API

Video summarization for thumbnails

Video summarization / abstraction / skimming

Youtube data API

oembed

schema.org microdata

[!TIP] Should implement this!

  • Store parsed schema.org metadata in hyperlinks as-is
  • Find a way to properly display the metadata
  • Drop oembed if all data is in Microdata?

Crowdsourced metadata

Maybe allow users to manually input things on hyperlinks doc?

Visualizing audio