Hinweis: Spurauswahl- und Rotationsalgorithmus


Dies ist eine Fortsetzung des vorherigen Artikels ĂŒber Smart Radio , der nicht stirbt, wenn das Internet verloren geht. Es scheint, dass der erste Pfannkuchen ziemlich klumpig war: Die meisten Benutzer mochten die Anwendung nicht. Kritik ist grundsĂ€tzlich in zwei Fronten unterteilt:


  1. Dieselben Titel werden sehr oft wiederholt, und neue erscheinen sehr selten.
  2. Es gibt keine Möglichkeit, entweder Ihre Lieblingsgenres oder minus ungeeignete Tracks auszuwĂ€hlen, um sie nicht schmerzhaft ĂŒberspringen zu mĂŒssen.

Das zweite Problem wurde durch das erste stark verschĂ€rft, da Auslassungen sehr oft zu Wiederholungen aller gleichen Spuren fĂŒhrten, wenn auch in einer anderen Reihenfolge.


Ich freue mich, Ihnen mitteilen zu können, dass ich das erste Problem gelöst habe (das Update befindet sich bereits im Play Store). Unter dem Schnitt finden Sie eine Beschreibung des ausgewÀhlten Algorithmus zum AuswÀhlen und Drehen von Spuren sowie die Essenz der Korrektur, die, wie ich erwarte, die Benutzererfahrung dramatisch verbessern sollte.


Die Grundidee, Titel auszuwĂ€hlen, tauchte fast sofort auf: Die Wahrscheinlichkeit, einen Titel zum Spielen auszuwĂ€hlen, ist proportional zu seiner „PrĂ€ferenzbewertung“. Letzteres wird als VerhĂ€ltnis der durchschnittlichen Hörzeit eines Titels zu seiner Dauer berechnet. Diese Auswahlmethode fĂŒhrt zu einer hĂ€ufigen Wiedergabe der Kompositionen, die fĂŒr den Hörer bevorzugter sind. Leider entspricht diese EinschĂ€tzung nicht immer der tatsĂ€chlichen PrĂ€ferenz, sollte aber gut damit korrelieren.


Nach der ursprĂŒnglichen Idee sollte die Drehung der Spuren in dem Moment erfolgen, in dem alle Spuren mindestens zweimal angehört wurden (sobald dies fĂŒr eine zuverlĂ€ssige SchĂ€tzung der Spur nicht ausreichend schien). Zum Zeitpunkt der Drehung wurden Titel gelöscht, deren PrĂ€ferenzwert unter einem bestimmten Wert lag, und ein neuer Teil der Titel wurde geladen.


Dieser Algorithmus fĂŒhrte in der Praxis zu einer sehr seltenen Rotation. TatsĂ€chlich verloren Titel, die schnell ĂŒbersprungen wurden, die FĂ€higkeit, lange Zeit wieder angehört zu werden. Daher musste ich meine PrĂ€ferenz fĂŒr Titel, die ich weniger als zweimal gehört habe, kĂŒnstlich ĂŒberschĂ€tzen, um die Wahrscheinlichkeit zu erhöhen, dass sie abgespielt werden.


Um die Wiederholung der gerade wiedergegebenen Titel auszuschließen, wurde außerdem beschlossen, die PrĂ€ferenzbewertung fĂŒr die letzten zehn gespielten Titel kĂŒnstlich zu senken.


In der Praxis funktionierte dies ziemlich gut, jedoch nur unter der Bedingung eines mehr oder weniger gebildeten PrĂ€ferenzprofils, wenn die ĂŒberwiegende Mehrheit der ersten zwanzig geladenen Spuren keine Ablehnung verursacht. Der neue Benutzer erhielt eine Reihe völlig zufĂ€lliger Titel, die er endlos ĂŒberspringen musste. Im ersten Fall waren LĂŒcken ziemlich selten und verursachten keine Reizung. Im zweiten Fall konnte der Hörer einfach nicht auf die nĂ€chste Rotationsiteration warten.


So war es in der Originalversion der Anwendung, die zum Zeitpunkt des Schreibens des vorherigen Artikels veröffentlicht wurde. Nun zu den Maßnahmen zur Verbesserung der Benutzererfahrung:


  1. FĂŒr die nĂ€chste Iteration reicht die Drehung jetzt aus, damit alle Titel nur einmal angehört werden können (zuvor waren es zwei Mal).
  2. Bei Vorhandensein von unerhörten Kompositionen nimmt ihre PrĂ€ferenzbewertung stark zu, bei allen anderen nimmt sie stark ab (beide um eine GrĂ¶ĂŸenordnung).

Diese Änderungen haben dazu gefĂŒhrt, dass bei einer Internetverbindung die Titel nur noch einmal abgespielt werden (wie im normalen Radio), die gewĂŒnschten Titel jedoch im Cache gespeichert werden und den Rest verdrĂ€ngen. Sobald die Internetverbindung unterbrochen wird, wird der alte Mechanismus aktiviert und die ausgewĂ€hlten Titel werden proportional zu ihrer PrĂ€ferenzbewertung reproduziert.


PS Ein Fehler im Zusammenhang mit der mangelnden Erkennung des angezeigten WLAN wurde ebenfalls behoben.


PPS Release 1.0.2 war defekt. Ich habe die Minimierung und Ressourcenkomprimierung aktiviert . Infolgedessen stĂŒrzt die Anwendung ab, wie von nikita_dol hervorgehoben . Ich entschuldige mich, von nun an werde ich Updates nur noch ĂŒber Beta-Versionen hochladen. Ich hoffe wirklich, dass Version 1.0.3 funktioniert.

Source: https://habr.com/ru/post/de464053/


All Articles