отображение одинаковых текстовых строк между двумя панелями данных панд - PullRequest
0 голосов
/ 13 мая 2018

У меня есть набор данных с именем data_feed, содержащий отзывы, заданные как:

feedback                                                    
Fast Delivery. Always before time.Thanks                     
I have order brown shoe .And I got olive green shoe          
Delivery guy is a decent nd friendly guy                     
Its really good .. my daughter loves it                      
One t shirt was fully crushed rest everything is good        
Superfast delivery! I'm impressed.                           
.........................                                    .
........................                                     .
so on   

и другой набор данных с именем reference как: -

refer_feedback               sub-category           category   sentiment
The delivery was on time.   delivery speed          delivery   positive
he was polite enough        delivery man behaviour  delivery   positive
worst products              product quality         general    negative

Теперь я хочу расширить набор данных datafeed столбцами как: -

feedback  sub-category   category   sentiment

Как сопоставить похожие отзывы, т. Е. Я хочу сопоставить столбец feedback в кадре данных data_feed со столбцом refer_feedback в кадре данных reference и назначить соответствующие метки для подкатегории, категории и настроения.

для первой обратной связи в наборе данных data_feed очень похож на первую обратную связь для набора данных reference, тогда первое наблюдение для data_feed будет:

feedback                                  subcategory     category     sentiment                                   
Fast Delivery. Always before time.Thanks  delivery speed  delivery   positive

1 Ответ

0 голосов
/ 14 мая 2018

Одной из стратегий, которую вы можете использовать, является анализ обратной связи с помощью LDA для выявления общих тем. Затем вы можете использовать темы для сопоставления между двумя таблицами.

LDA анализирует то, что называется «корпусом» документов. Документ используется здесь абстрактно. Каждый пример refer_feedback или feedback может сформировать корпус.

Следуют два разных подхода, которые могут работать:

корпус от refer_feedback

Каждый пример refer_feedback будет документом в вашем корпусе для этого подхода. Количество тем, которые вы ищете, равно количеству уникальных подкатегорий.

Используйте nltk , чтобы удалить стоп-слова и выполнить лемматизация . Используйте gensim , чтобы выполнить LDA для результатов, чтобы получить модель ваших тем. Используйте эту модель тем для классификации feedback по мере поступления.

корпус от feedback

Если вам не хватает refer_feedback примеров или вы пробуете первый подход, и он не работает, попробуйте собрать корпус из большого набора feedback примеров. При таком подходе количество тем определить не так просто, но было бы полезно начать с чего-то, близкого к числу имеющихся у вас подкатегорий.

Снова используйте ntlk, чтобы удалить стоп-слова и выполнить лемматизацию. Постройте модель LDA.

Далее вам нужно вручную сопоставить темы, сгенерированные моделью, с подкатегориями. Сохраните это отображение.

Когда поступит обратная связь в будущем, используйте ldamodel, чтобы найти наиболее вероятные темы, а затем сопоставьте тему с подкатегорией, чтобы назначить соответствующие поля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...