Как смоделировать интерпретации рэп-музыки

В Python 2.6, с помощью chain.from_iterable() :

>>> from itertools import chain
>>> list(chain.from_iterable(mi.image_set.all() for mi in h.get_image_menu()))

Это старается не создавать промежуточного списка.

27
задан Charles 11 October 2012 в 00:32
поделиться

4 ответа

А как насчет того, чтобы представить тексты подобным образом (с благодарностью Народному чемпиону)?

Well it's that [grain grippa][1] from Houston, Tex
That bar sippa, that bar no plex
I'm straight up outta that [Swishahouse][2]
Where G. Dash write all the checks
So [check the neck, check the wrist][3]
I'm balla status from head to toe

[1]Referring to the wood grain steering wheel common to luxury cars
[2]Swisha House is the record label Paul Wall records for
[3]"Look at my watch and necklace because they are expensive"

Просто идея, меня вдохновила разметка, используемая для добавления комментариев на этом сайте.

Итак, для базы данных создайте таблицы Lyric, LyricLine и Annotation. Аннотации имеют значения LyricLineIds, StartChar и EndChar, а также поле «Значение» или «Описание». LyricLines - это текст каждой строки, связанный с Lyric-объектом посредством LyricIds. Тексты песен хранят информацию о песнях, информацию о языке и т. Д.

Этот формат должен быть довольно легко сгенерирован из базы данных, и его преимущество заключается в том, что он более удобочитаемый, чем XML, и редактируемый на месте, поэтому вы можете проверить его Намного проще, прежде чем вам придется разрабатывать весь UI.

Я добавил этот вопрос в избранное, и с нетерпением жду возможности наблюдать за развитием сайта. Интересная работа!

8
ответ дан 28 November 2019 в 05:55
поделиться

Ваш первый инстинкт установить ассоциации с песней, имеющей много аннотаций, определенно сработает. Два возможных подхода к сохранению индексов аннотации начала и конца:

  1. Сохраните начальную и конечную строку, на которой встречается текст (подсчитайте разрывы строк в вашем файле текста)

или

  1. Сохраните границу начала и конца слова ( или просто пробел), обозначающий аннотацию. Это, по крайней мере, позволит вам исправить большинство опечаток без нарушения индекса аннотаций.
0
ответ дан 28 November 2019 в 05:55
поделиться
  1. Обозначить слова, чтобы вы могли идентифицировать слово в тексте, используя, например, строку и номер слова. Другой вариант - использовать позиции символов для аннотаций. В любом случае, как всегда, позаботьтесь о кодировке символов в текстах.
  2. Кроме того, никогда больше не трогайте тексты. Лучше не хранить их как html, а как xml или как обычный текст.
  3. Не комментируйте тексты песен. Используйте модель, в которой вы можете прикрепить позицию в тексте к аннотации. Используйте автономные аннотации.

Независимые аннотации позволят вам со временем добавлять больше функций, например, позволить многим пользователям комментировать одни и те же слова. Генерировать HTML-код, который вы храните в виде большого двоичного объекта, легко из отдельных аннотаций.

Возможно, вас заинтересуют (xml) модели данных инструментов аннотации, которые довольно хорошо известны лингвистам: например, MMAX2 и Callisto. Их легко преобразовать в модели баз данных.

Лучше не хранить их как html, а как xml или как обычный текст.
  • Не комментируйте тексты песен. Используйте модель, в которой вы можете прикрепить позицию в тексте к аннотации. Используйте автономные аннотации.
  • Независимые аннотации позволят вам со временем добавлять больше функций, например, позволить многим пользователям комментировать одни и те же слова. Генерировать HTML-код, который вы храните в виде большого двоичного объекта, легко из отдельных аннотаций.

    Возможно, вас заинтересуют (xml) модели данных инструментов аннотации, которые довольно хорошо известны лингвистам: например, MMAX2 и Callisto. Их легко преобразовать в модели баз данных.

    Лучше не хранить их как html, а как xml или как обычный текст.
  • Не комментируйте тексты песен. Используйте модель, в которой вы можете прикрепить позицию в тексте к аннотации. Используйте автономные аннотации.
  • Независимые аннотации позволят вам со временем добавлять больше функций, например, позволить многим пользователям комментировать одни и те же слова. Генерировать HTML-код, который вы храните в виде большого двоичного объекта, легко из отдельных аннотаций.

    Возможно, вас заинтересуют (xml) модели данных инструментов аннотации, которые довольно хорошо известны лингвистам: например, MMAX2 и Callisto. Их легко преобразовать в модели баз данных.

    Независимые аннотации позволят вам со временем добавлять дополнительные функции, например, позволить многим пользователям комментировать одни и те же слова. Генерировать HTML-код, который вы храните в виде большого двоичного объекта, легко из отдельных аннотаций.

    Возможно, вас заинтересуют (xml) модели данных инструментов аннотации, которые довольно хорошо известны лингвистам: например, MMAX2 и Callisto. Их легко преобразовать в модели баз данных.

    Независимые аннотации позволят вам со временем добавлять больше функций, например, позволить многим пользователям комментировать одни и те же слова. Генерировать HTML-код, который вы храните в виде большого двоичного объекта, легко из отдельных аннотаций.

    Возможно, вас заинтересуют (xml) модели данных инструментов аннотации, которые довольно хорошо известны лингвистам: например, MMAX2 и Callisto. Их легко преобразовать в модели баз данных.

    3
    ответ дан 28 November 2019 в 05:55
    поделиться

    Что касается связывания аннотаций и текстов песен, у вас может быть несколько подходов :

    1. Свяжите предложенные выше аннотации с точными местами в текстах песен (например, номерами строк, словами, символов).

    2. Сделать словарные фразы / слова <-> аннотациями. Непосредственно перед отображением вашего поиска словарь и вставлять в аннотации страницы. Если скорость или специфичность важны для каждой записи в словарь может быть помечен соответствующими песнями. Если вы хотите, чтобы ваши аннотации были устойчивыми к небольшие изменения в текстах, чем при поиске совпадений в текстах для использования аннотированных фраз Показатель самой длинной общей подпоследовательности .

    3. Объедините №1 и №2

    0
    ответ дан 28 November 2019 в 05:55
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: