我正在尝试制作一个程序来分析大量的推文,并生成关于人们发推文的十大最受欢迎的书籍的报告。问题是我不知道如何识别推文中的书名。如果有人可以为这种类型的工作命名算法,或者至少引导我朝着正确的方向前进,那就太好了。
答案 0 :(得分:2)
您需要一个要搜索的字词列表。然后只需通过推文并检查列表中的图书名称实例。
无法自动提取"预订标题"。例如,你怎么能区分某人谈论"火星人"他们昨晚在他们的后院看到了Andy Weir的书?
答案 1 :(得分:1)
如果您没有书名列表Wikipedia provides some lists。但如果你的目标是比较新书(夏季的畅销书),我猜他们不会在这些名单中。您可以在Internet上找到其他列表...无论如何(为了可靠性)您需要一个列表。
然后,正如@Adam_G告诉ealier:
无法自动提取"预订标题"。例如,你怎么能区分某人谈论"火星人"他们昨晚在他们的后院看到了Andy Weir的书?
让我们想象两本书" The cat"和#34;对绿鲨的恐惧"。 有许多推文包含序列" cat"但在大多数情况下,这些推文并不是关于这本书的。相反,所有的推文都包含了对绿鲨的恐惧"显然是关于这本书的。
所以你应该为每个令牌序列分配一个"概率" P
成为本书的标题。在前面的例子中," cat"有一个非常低的P
和#34;对绿鲨的恐惧"非常高P
。您可以根据标题中的单词数量和这些单词的频率(以及2-gram,3-gram,...)计算P
的值(可以使用大型语料库)
现在考虑一下这条推文:
我读了#34; The Cat"而我喜欢它!!
作为人类,我们理解" The Cat"是一本书因为推文包含" read"。
因此,对于P
低的标题(例如" cat"),您可以尝试使用机器学习算法来了解推文是否真的与该书有关。我们的想法是根据推文中的单词计算包含标题的推文的概率。了解有关机器学习算法的更多信息,例如Naive Bayes分类器。