Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TikTok - Analyze Songs used on Keywords Trends #2543

Closed
jravenel opened this issue Jun 19, 2024 · 7 comments · Fixed by #2544
Closed

TikTok - Analyze Songs used on Keywords Trends #2543

jravenel opened this issue Jun 19, 2024 · 7 comments · Fixed by #2544
Assignees
Labels
enhancement New feature or request

Comments

@jravenel
Copy link
Contributor

jravenel commented Jun 19, 2024

Describe the problem you are facing
It's quite a task to stay on top of the dynamic [TREND_KEYWORD == Afrobeat] on TikTok. Manually tracking which songs and artists are trending each day is time-consuming and can lead to missed opportunities for engagement and content creation.

Describe the solution you'd like
I envision a tool that does the following:

  • Input: Automatically pulls daily data on trending TREND_KEYWORD tracks from TikTok.
  • Model: Processes and structures the data efficiently following the ABI datamodel
  • Output: Delivers a daily updated, easy-to-read data table showcasing trending songs, artists, and key performance metrics.

ABI Content Table Data Model

ENTITY: Refers to the specific entity being discussed, usually the song or artist.

SCENARIO: The context in which the data was collected, e.g., 'Trending Afrobeat Songs on TikTok'.

SOURCE: The platform from which the data is sourced, in this scenario, 'TikTok'.

PUBLISHED_DATE: The original date the content was posted.

DATE & TIME: The date and time when the data was extracted.

ID: Unique identifier for the content.

TITLE: Title of the TikTok video or content.

TEXT: Description or text content associated with the TikTok post.

CONCEPT: The main idea or theme identified in the content.

SENTIMENT: The general sentiment (positive, neutral, negative) derived from the content.

TARGET: The target audience or demographic of the content.

OBJECTIVE: The intended goal of the content creator.

VIEWS, LIKES, COMMENTS, SHARES, ENGAGEMENTS: Metrics indicating the performance and reach of the content.

ENGAGEMENT_SCORE: A derived metric to quantify overall engagement.

TYPE: The type of content (video, image, text).

AUTHOR_NAME: Name of the content creator.

AUTHOR_URL: URL to the content creator's TikTok profile.

LENGTH: Duration of the TikTok video.

PEOPLE_MENTIONED: Names of people mentioned in the content.

ORGANIZATION_MENTIONED: Names of any organizations mentioned.

CONTENT_TITLE_SHARED: Title of any shared content within the post.

CONTENT_URL_SHARED: URLs to any shared content.

LINKEDIN_LINKS: Links to LinkedIn profiles or content if mentioned.

IMAGE_SHARED: Any images shared in the post.

TAGS: Hashtags or tags associated with the content.

URL: Direct URL to the TikTok post.

DATE_EXTRACT: The date on which the data was extracted for analysis.

SCENARIO_ORDER: The order or sequence of the content within the given scenario.

Time to turn this blueprint into reality and see what stories the data tells us!

Additional context
This tool is for social media strategists and content creators who need to tap into the pulse of trending TikTok music.

@jravenel
Copy link
Contributor Author

@alexnodeland as discussed, this is the issue we were talking to, so you can put your feet in the door :)

cc @FlorentLvr @Dr0p42

@jravenel jravenel added the enhancement New feature or request label Jun 19, 2024
@FlorentLvr
Copy link
Contributor

@alexnodeland as discussed, this is the issue we were talking to, so you can put your feet in the door :)

cc @FlorentLvr @Dr0p42

@alexnodeland, happy to meet you :) let me know if you have any questions!

@alexnodeland
Copy link
Contributor

alexnodeland commented Jun 20, 2024

Hey, nice to meet you too @FlorentLvr!

A few of the abovementioned attributes require auxiliary analysis, so I would just want to clarify the exact scope, and where some logic would ideally sit, given the system architecture

  • CONCEPT, SENTIMENT, TARGET, and OBJECTIVE could be extracted with a simple prompt to an LLM if these terms are strictly defined
  • I suppose ENGAGEMENT_SCORE is a derived metric from the VIEWS, LIKES, COMMENTS, SHARES, should this be included here?
  • PEOPLE_MENTIONED and ORGANIZATION_MENTIONED would ideally link within the db on naas's side. For now, I leveraged PEOPLE_MENTIONED to include tags to other TikTok accounts
  • CONTENT_TITLE_SHARED and CONTENT_URL_SHARED should also be extracted from the text, if I understand these correctly.
  • LINKEDIN_LINKS can be parsed directly from the post text, should that happen here?

I suppose that the TikTok_Get_videos_stats notebook should be extended to cover some of these, and others like the LLM based analyses could probably leverage other notebooks.

What are your opinions on this?

@alexnodeland
Copy link
Contributor

alexnodeland commented Jun 20, 2024

On another note, the TikTok API does not currently support open-ended search, rather it is limited to the user's data or for specified profiles/posts. We must scrape the data to implement an open-ended search over TikTok programmatically.

I have previously leveraged and would recommend Apify as a solution. They provide actors for TikTok out of the box and handle all the scraping considerations.

@alexnodeland alexnodeland linked a pull request Jun 20, 2024 that will close this issue
@alexnodeland
Copy link
Contributor

I just created a draft PR #2544 that leverages Apify, and leaves blank the abovementioned attributes. Let me know what you think, happy to revisit if needed!

@alexnodeland alexnodeland changed the title TitkTok - Analyze Songs used on Keywords Trends TikTok - Analyze Songs used on Keywords Trends Jun 20, 2024
@jravenel
Copy link
Contributor Author

Hey, nice to meet you too @FlorentLvr!

A few of the abovementioned attributes require auxiliary analysis, so I would just want to clarify the exact scope, and where some logic would ideally sit, given the system architecture

  • CONCEPT, SENTIMENT, TARGET, and OBJECTIVE could be extracted with a simple prompt to an LLM if these terms are strictly defined

  • I suppose ENGAGEMENT_SCORE is a derived metric from the VIEWS, LIKES, COMMENTS, SHARES, should this be included here?

  • PEOPLE_MENTIONED and ORGANIZATION_MENTIONED would ideally link within the db on naas's side. For now, I leveraged PEOPLE_MENTIONED to include tags to other TikTok accounts

  • CONTENT_TITLE_SHARED and CONTENT_URL_SHARED should also be extracted from the text, if I understand these correctly.

  • LINKEDIN_LINKS can be parsed directly from the post text, should that happen here?

I suppose that the TikTok_Get_videos_stats notebook should be extended to cover some of these, and others like the LLM based analyses could probably leverage other notebooks.

What are your opinions on this?

This is the data model used for linkedin in ABI as reference but for sure needs to be adapted.

@alexnodeland
Copy link
Contributor

@jravenel got it. I'll add in an attribute for song info with more metadata about the track itself, right now only the song title is utilized in the schema

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: ✅ Done
Development

Successfully merging a pull request may close this issue.

3 participants