Add BERTopic.
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
Although topic modeling is typically done by discovering topics in an unsupervised manner, there might be times when you already have a bunch of clusters or classes from which you want to model the topics. For example, the often used [20 NewsGroups dataset](https://scikit-learn.org/0.19/datasets/twenty_newsgroups.html) is already split up into 20 classes. Here, we might want to see how we can transform those 20 classes into 20 topics. Instead of using BERTopic to discover previously unknown topics, we are now going to manually pass them to BERTopic without actually learning them.
|
||||
|
||||
We can view this as a manual topic modeling approach. There is no underlying algorithm for detecting these topics since you already have done that before. Whether that is simply because they are already available, like with the 20 NewsGroups dataset, or maybe because you have created clusters of documents before using packages like [human-learn](https://github.com/koaning/human-learn), [bulk](https://github.com/koaning/bulk), [thisnotthat](https://github.com/TutteInstitute/thisnotthat) or something entirely different.
|
||||
|
||||
In other words, we can pass our labels to BERTopic and it will try to transform those labels into topics by running the c-TF-IDF representations on the set of documents within each label. This process allows us to model the topics themselves and similarly gives us the option to use everything BERTopic has to offer.
|
||||
|
||||
<br>
|
||||
<div class="svg_image">
|
||||
--8<-- "docs/getting_started/manual/pipeline.svg"
|
||||
</div>
|
||||
<br>
|
||||
|
||||
To do so, we need to skip over the dimensionality reduction and clustering steps since we already know the labels for our documents. We can use the documents and labels from the 20 NewsGroups dataset to create topics from those 20 labels:
|
||||
|
||||
|
||||
```python
|
||||
from sklearn.datasets import fetch_20newsgroups
|
||||
|
||||
# Get labeled data
|
||||
data = fetch_20newsgroups(subset='all', remove=('headers', 'footers', 'quotes'))
|
||||
docs = data['data']
|
||||
y = data['target']
|
||||
```
|
||||
|
||||
Then, we make sure to create empty instances of the dimensionality reduction and clustering steps. We pass those to BERTopic to simply skip over them and go to the topic representation process:
|
||||
|
||||
|
||||
```python
|
||||
from bertopic import BERTopic
|
||||
from bertopic.backend import BaseEmbedder
|
||||
from bertopic.cluster import BaseCluster
|
||||
from bertopic.vectorizers import ClassTfidfTransformer
|
||||
from bertopic.dimensionality import BaseDimensionalityReduction
|
||||
|
||||
# Prepare our empty sub-models and reduce frequent words while we are at it.
|
||||
empty_embedding_model = BaseEmbedder()
|
||||
empty_dimensionality_model = BaseDimensionalityReduction()
|
||||
empty_cluster_model = BaseCluster()
|
||||
ctfidf_model = ClassTfidfTransformer(reduce_frequent_words=True)
|
||||
|
||||
# Fit BERTopic without actually performing any clustering
|
||||
topic_model= BERTopic(
|
||||
embedding_model=empty_embedding_model,
|
||||
umap_model=empty_dimensionality_model,
|
||||
hdbscan_model=empty_cluster_model,
|
||||
ctfidf_model=ctfidf_model
|
||||
)
|
||||
topics, probs = topic_model.fit_transform(docs, y=y)
|
||||
```
|
||||
|
||||
Let's take a look at a few topics that we get out of training this way by running `topic_model.get_topic_info()`:
|
||||
|
||||
<br>
|
||||
<div class="svg_image">
|
||||
--8<-- "docs/getting_started/manual/table.svg"
|
||||
</div>
|
||||
<br>
|
||||
|
||||
We can see several interesting topics appearing here. They seem to relate to the 20 classes we had as input. Now, let's map those topics to our original classes to view their relationship:
|
||||
|
||||
```python
|
||||
# Map input `y` to topics
|
||||
mappings = topic_model.topic_mapper_.get_mappings()
|
||||
mappings = {value: data["target_names"][key] for key, value in mappings.items()}
|
||||
|
||||
# Assign original classes to our topics
|
||||
df = topic_model.get_topic_info()
|
||||
df["Class"] = df.Topic.map(mappings)
|
||||
df
|
||||
```
|
||||
|
||||
<br>
|
||||
<div class="svg_image">
|
||||
--8<-- "docs/getting_started/manual/table_classes.svg"
|
||||
</div>
|
||||
<br>
|
||||
|
||||
We can see that the c-TF-IDF representations nicely extract the words that give a nice representation of our input classes. This is all done without actually embedding and clustering the data.
|
||||
|
||||
As a result, the entire "training" process only takes a couple of seconds. Moreover, we can still perform BERTopic-specific features like dynamic topic modeling, topics per class, hierarchical topic modeling, modeling topic distributions, etc.
|
||||
|
||||
!!! note
|
||||
The resulting `topics` may be a different mapping from the `y` labels. To map `y` to `topics`, we can run the following:
|
||||
|
||||
|
||||
```python
|
||||
mappings = topic_model.topic_mapper_.get_mappings()
|
||||
y_mapped = [mappings[val] for val in y]
|
||||
```
|
||||
@@ -0,0 +1,12 @@
|
||||
<svg width="293" height="164" viewBox="0 0 293 164" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="0.5" y="0.5" width="118" height="42" stroke="black"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="12" letter-spacing="0em"><tspan x="22" y="24.7637">Documents</tspan></text>
|
||||
<rect x="53.5" y="121.5" width="65" height="42" stroke="black"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="12" letter-spacing="0em"><tspan x="65" y="145.764">Labels</tspan></text>
|
||||
<rect x="201.5" y="60.5" width="91" height="42" stroke="black"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="12" letter-spacing="0em"><tspan x="223" y="84.7637">c-TF-IDF</tspan></text>
|
||||
<path d="M246.293 52.7071C246.683 53.0976 247.317 53.0976 247.707 52.7071L254.071 46.3431C254.462 45.9526 254.462 45.3195 254.071 44.9289C253.681 44.5384 253.047 44.5384 252.657 44.9289L247 50.5858L241.343 44.9289C240.953 44.5384 240.319 44.5384 239.929 44.9289C239.538 45.3195 239.538 45.9526 239.929 46.3431L246.293 52.7071ZM246 21L246 52L248 52L248 21L246 21Z" fill="black"/>
|
||||
<path d="M247.707 113.293C247.317 112.902 246.683 112.902 246.293 113.293L239.929 119.657C239.538 120.047 239.538 120.681 239.929 121.071C240.319 121.462 240.953 121.462 241.343 121.071L247 115.414L252.657 121.071C253.047 121.462 253.681 121.462 254.071 121.071C254.462 120.681 254.462 120.047 254.071 119.657L247.707 113.293ZM248 145L248 114L246 114L246 145L248 145Z" fill="black"/>
|
||||
<line x1="248" y1="20" x2="130" y2="20" stroke="black" stroke-width="2"/>
|
||||
<line x1="248" y1="145" x2="130" y2="145" stroke="black" stroke-width="2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,52 @@
|
||||
<svg width="387" height="347" viewBox="0 0 387 347" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="387" height="34" fill="white"/>
|
||||
<line y1="35" x2="387" y2="35" stroke="#BDBDBD" stroke-width="2"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="31" y="24.0576">Topic</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="82" y="24.0576">Count </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="338" y="23.0576">Name</tspan></text>
|
||||
<rect y="36" width="387" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="58.0576">0</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="58.0576">0</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="59.0576">999 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="215.92" y="59.0576">0_game_hockey_team_25 </tspan></text>
|
||||
<rect y="70" width="387" height="34" fill="#F5F5F5"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="210.232" y="92.0576">1_god_church_jesus_christ </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="92.0576">997 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="92.0576">1</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="92.0576">1</tspan></text>
|
||||
<rect y="104" width="387" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="126.058">2</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="126.058">2</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="127.058">996 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="236.551" y="127.058">2_bike_dod_ride_bikes </tspan></text>
|
||||
<rect y="138" width="387" height="34" fill="#F5F5F5"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="213.445" y="160.058">3_baseball_game_he_year </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="160.058">994 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="160.058">3</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="160.058">3</tspan></text>
|
||||
<rect y="172" width="387" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="194.058">4</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="194.058">4</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="195.058">991 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="197.545" y="195.058">4_key_encryption_db_clipper </tspan></text>
|
||||
<rect y="206" width="387" height="34" fill="#F5F5F5"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="229.674" y="228.058">5_car_cars_engine_ford </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="228.058">990</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="228.058">5</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="228.058">5</tspan></text>
|
||||
<rect y="240" width="387" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="262.058">6</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="262.058">6</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="263.058">990</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="157.568" y="263.058">6_medical_patients_cancer_disease </tspan></text>
|
||||
<rect y="274" width="387" height="34" fill="#F5F5F5"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="181.781" y="296.058">7_window_server_widget_motif </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="296.058">988 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="296.058">7</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="296.058">7</tspan></text>
|
||||
<rect y="308" width="387" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="330.058">8</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="330.058">8</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="331.058">988 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="207.129" y="331.058">8_space_launch_nasa_orbit </tspan></text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
@@ -0,0 +1,62 @@
|
||||
<svg width="550" height="347" viewBox="0 0 550 347" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="550" height="34" fill="white"/>
|
||||
<line y1="35" x2="547" y2="35" stroke="#BDBDBD" stroke-width="2"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="31" y="24.0576">Topic</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="82" y="24.0576">Count </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="338" y="23.0576">Name</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="498" y="23.0576">Class</tspan></text>
|
||||
<rect y="36" width="550" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="58.0576">0</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="58.0576">0</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="59.0576">999 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="215.92" y="59.0576">0_game_hockey_team_25 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="436.131" y="60.0576">rec.sport.hockey </tspan></text>
|
||||
<rect y="70" width="550" height="34" fill="#F5F5F5"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="210.232" y="92.0576">1_god_church_jesus_christ </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="92.0576">997 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="92.0576">1</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="92.0576">1</tspan></text>
|
||||
<rect y="104" width="550" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="126.058">2</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="126.058">2</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="127.058">996 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="236.551" y="127.058">2_bike_dod_ride_bikes </tspan></text>
|
||||
<rect y="138" width="550" height="34" fill="#F5F5F5"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="213.445" y="160.058">3_baseball_game_he_year </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="160.058">994 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="160.058">3</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="160.058">3</tspan></text>
|
||||
<rect y="172" width="550" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="194.058">4</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="194.058">4</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="195.058">991 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="197.545" y="195.058">4_key_encryption_db_clipper </tspan></text>
|
||||
<rect y="206" width="550" height="34" fill="#F5F5F5"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="229.674" y="228.058">5_car_cars_engine_ford </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="228.058">990</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="228.058">5</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="228.058">5</tspan></text>
|
||||
<rect y="240" width="550" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="262.058">6</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="262.058">6</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="263.058">990</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="157.568" y="263.058">6_medical_patients_cancer_disease </tspan></text>
|
||||
<rect y="274" width="550" height="34" fill="#F5F5F5"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="181.781" y="296.058">7_window_server_widget_motif </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="296.058">988 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="296.058">7</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="296.058">7</tspan></text>
|
||||
<rect y="308" width="550" height="34" fill="white"/>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" font-weight="bold" letter-spacing="0em"><tspan x="7" y="330.058">8</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="57.3574" y="330.058">8</tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="104.072" y="331.058">988 </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="207.129" y="331.058">8_space_launch_nasa_orbit </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="482.67" y="331.058">sci.space </tspan><tspan x="538" y="348.058"> </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="435.652" y="297.058">comp.windows.x </tspan><tspan x="538" y="314.058"> </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="490.982" y="264.058">sci.med </tspan><tspan x="538" y="281.058"> </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="481.18" y="229.058">rec.autos </tspan><tspan x="538" y="246.058"> </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="486.936" y="195.058">sci.crypt </tspan><tspan x="538" y="212.058"> </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="429.117" y="160.058">rec.sport.baseball </tspan><tspan x="538" y="177.058"> </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="441.463" y="127.058">rec.motorcycles </tspan></text>
|
||||
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Tahoma" font-size="14" letter-spacing="0em"><tspan x="412.232" y="92.0576">soc.religion.christian </tspan></text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.7 KiB |
Reference in New Issue
Block a user