wiki:Ideas

Version 43 (modified by kiesel, 13 years ago) (diff)

personalization tasks

Random ideas

  • User interface
    • item page streamlining
      • reviews and notable features (genre, etc.)
        • personalization for notable features (e.g., feature types you often use; any disagreements involving you; any replies to your statements) *
      • list/browse all feature instances instead of recent only *
      • filter negative features in view?
    • improve in feature recommender - generate feature instance overlap *
      • that person seems to disagree wrt feature type X, please give more info
      • this feature type seems important to you but overlap with other people's annotations is low. Please annotate _that_ item.
      • I.e., apply similar techniques to the current annotation wizard on user level. *
      • add discussion/feedback UI features - let user confirm other people's statements, etc. *
      • track items known to the user and show questions/recommendations in some sidebar *
    • item type overview page
      • a kind of personalized recent changes page per domain (for all Story instances, etc.) *
      • rather than filtering by item type probably the search filter API should be used
    • welcome ST page for user *
      • recent features by others for items also annotated by you - aggregate "agreeing" statements? *
      • "Annotations wanted for..." functionality *
      • list interesting changes up to last login/some time ago *
    • speed up adding first item features
      • suggest typical feature types for the current item type *
      • suggest feature types often used by you/in general *
    • advanced search
      • also in comments etc., fields selectable, using Lucene
      • pattern search - i.e., show books written by X
      • search queries should be saveable, changeable, RSSable
      • there is much overlap with the Dojo UI recommendation channels here. Unify.
        • filter by feature(s)... (search)
        • rank by feature match(es)... (recommender)
    • allow some simple HTML in comments (<i>,<a href=... skip=bool>)
    • model Skipforward users
      • create link to user resource when creating new items
        • item1 --descriptionCreatedBy--> user1
        • user1 --type--> SkipforwardUser --subclass--> Person
    • more ajaxy ST UI
      • in place update of filled-in annotation forms on Item pages
      • in place creation of annotation forms (by feature type substring search)
  • Refactoring
    • diff-based syncer
    • use TDB named graphs for SF namespaces?
  • better DBTropes integration/feature type finder
    • full text search in DBTropes labels and comments
    • find feature types in intersection of features of two or more given items
    • immediate import of given feature types from DBTropes
  • similar-to/part-of/connected-to/successor-of feature types (further input for feature type recommender)
  • rules for deducing features (per-user basis, let user confirm generated feature instances)
  • sameAs links to other data sources
  • Similarity Manager tasks
    • handle nb features in Similarity Manager (use FT IDs instead of URIs or just ignore nb FTs)
    • invalidate similarity cache if FT hierarchy changed
    • make sure persistence is done properly
  • Item typing
    • item type represented by nb feature type instead of rdf:type?
    • infer item type by features used, with confidence
    • clustering - use clusters for annotation wizard, too
  • Domain adaptation
  • Metadata sharing
    • optimize synchronization
    • cache and forward data on intermediate nodes in a secure fashion
    • superpeer nodes? Possibly represented within the network? (superpeer3-hasFeature-IsHubForMusic)
    • detect 'hot topics'
  • Trust network - trust as in "peer is competent/peer's metadata is important"
  • Ontology evolution
    • simple skipinions ontology editor
    • update and synchronize ontologies (and facts!) on peers

Implementation details

  • Facts/graph synchronization idea
    • every peer implements
      • String getDiffForNamespace(String namespace, String haveHash, String wantHash)
      • String getMostCurrentHash()
      • String isValid(String hash)
      • String getPubkey()
      • ? subscribe(?)
    • logic: once a day, every machine dumps its 'own' facts to an NTriples file along with a timestamp and the data's hash
    • when peers call getDiffForNamespace(), a diff from haveHash.dat to wantHash.dat is calculated and sent
    • Distributed Storage
      • simple distributed storage (without signatures) with trust can be implemented usind getMostCurrentHash and isValid
      • distributed storage with signatures can be implemented with getPubkey (using a true keyserver might be desirable though)
      • optimized push synchronization could use some subscription mechanism. Integrate with XMPP pubsub?
    • Ontology evolution/rules
      • rules that upgrade existing facts could be added to the diff file

Done

  • use Beans instead of JSON for ST models (fix String vs. HTML escaping ugliness in the process)
  • Internal namespaces for ontologies (xmpp://schwarz@xmpp.km.opendfki.de/ont/ludopinions#UsesDice)
    • this way people can create own ontologies, and ontology management/evolution can be done similar to facts synchronization
  • Play sounds from JavaScript: http://www.schillmania.com/projects/soundmanager/
  • show number of (existing) feature instances for each item (in ItemPane) - metadata certificates
  • show number of feature instances for each feature class (in FeaturePane) and arithmetic mean/standard deviation for applicability - metadata certificates
  • red/green blobs
  • RDF importer that changes namespaces
  • FloriansDiplomaThesis topics (Jul-Dec 2008)
    • related work: Semantic audio - List of publications
    • finish skiptrax ontology (see Music Ontology)
    • metadata importers/exporters (ID3, LastFM, etc.)
    • expert recommender (ask friends about people having knowledge about X/interests in Y)
    • scalable trust metric
    • fast computation of feature summaries
  • User interface
    • Plain HTML pages for item/feature instances, just for browsing and linked data
      • For Person instances: Trust, feature(types) I (dis)agree with, last annotations, list of annotated items (by date/...)
      • For Item instances: Review stats, list of annotators (by degree of agreement), list of feature instances (by date/...)
      • For Feature types: Comment, example positive/negative item instances (by number of annotations), experts for this type, dispute list (for the current item), list of instances (for the current item)
  • Book domain ontology
  • touch compatibility